From: <die...@us...> - 2011-08-25 17:47:22
|
Revision: 3634 http://openutils.svn.sourceforge.net/openutils/?rev=3634&view=rev Author: diego_schivo Date: 2011-08-25 17:47:16 +0000 (Thu, 25 Aug 2011) Log Message: ----------- MESSAGES-14 search Modified Paths: -------------- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesEditPage.java Modified: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesEditPage.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesEditPage.java 2011-08-25 17:31:23 UTC (rev 3633) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesEditPage.java 2011-08-25 17:47:16 UTC (rev 3634) @@ -23,6 +23,7 @@ import info.magnolia.cms.core.HierarchyManager; import info.magnolia.cms.core.ItemType; import info.magnolia.cms.core.Path; +import info.magnolia.cms.i18n.Messages; import info.magnolia.context.MgnlContext; import info.magnolia.module.admininterface.TemplatedMVCHandler; @@ -38,11 +39,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem; -import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria; -import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory; -import net.sourceforge.openutils.mgnlcriteria.jcr.query.ResultIterator; -import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions; import net.sourceforge.openutils.mgnlmessages.configuration.MessagesConfigurationManager; import net.sourceforge.openutils.mgnlmessages.lifecycle.MessagesModuleLifecycle; @@ -227,24 +223,36 @@ return JSON_VIEW; } + @SuppressWarnings("unchecked") public String search() { - Criteria criteria = JCRCriteriaFactory.createCriteria().setWorkspace(MessagesModuleLifecycle.REPO); - criteria.add(Restrictions.eq("@jcr:primaryType", ItemType.CONTENTNODE.getSystemName())); - criteria.add(Restrictions.contains(".", text)); - int id = 0; + Messages messages = MgnlContext.getMessages(); + Iterator<String> it = messages.keys(); + keys = new ArrayList<String>(); + while (it.hasNext()) + { + String curKey = it.next(); + String curText = messages.get(curKey); + if (StringUtils.contains(curText, text)) + { + keys.add(curKey); + } + } + Collections.sort(keys); + StringBuilder sb = new StringBuilder("[ "); - for (ResultIterator<AdvancedResultItem> items = criteria.execute().getItems(); items.hasNext();) + int i = 0; + for (String curKey : keys) { - String key = StringUtils.replaceChars(StringUtils.removeStart(items.next().getHandle(), "/"), '/', '.'); - sb.append("{ id: '").append(id++).append("', key: '").append(key).append("' }"); - if (items.hasNext()) + if (i > 0) { sb.append(", "); } + sb.append("{ id: '").append(i++).append("', key: '").append(curKey).append("' }"); } sb.append(" ]"); json = sb.toString(); + return JSON_VIEW; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |