package org.netevolved.analyzer; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.entermediadb.asset.MediaArchive; import org.openedit.ModuleManager; import org.openedit.data.Searcher; import org.openedit.data.SearcherManager; import org.openedit.page.manage.PageManager; /** * DocumentManager is responsible for managing the documents that require classification * Used by ClassificationManager during the training process * @author shawn * */ public class DocumentManager { private static final Log log = LogFactory.getLog(DocumentManager.class); protected String fieldCatalogId; protected PageManager fieldPageManager; protected MediaArchive fieldMediaArchive; protected ModuleManager fieldModuleManager; protected SearcherManager fieldSearcherManager; public MediaArchive getMediaArchive() { if (fieldMediaArchive == null) { fieldMediaArchive = (MediaArchive) getModuleManager().getBean(getCatalogId() + "/media", "mediaArchive"); } return fieldMediaArchive; } public void setMediaArchive(MediaArchive inMediaArchive) { fieldMediaArchive = inMediaArchive; } public PageManager getPageManager() { return fieldPageManager; } public void setPageManager(PageManager inPageManager) { fieldPageManager = inPageManager; } public String getCatalogId() { return fieldCatalogId; } public void setCatalogId(String inCatalogId) { fieldCatalogId = inCatalogId; } public ModuleManager getModuleManager() { return fieldModuleManager; } public void setModuleManager(ModuleManager inModuleManager) { fieldModuleManager = inModuleManager; } public SearcherManager getSearcherManager() { return fieldSearcherManager; } public void setSearcherManager(SearcherManager searcherManager) { fieldSearcherManager = searcherManager; } protected List getFeatures(Searcher searcher, String inEntry){ return getFeatures(searcher,inEntry," "); } protected List getFeatures(Searcher searcher, String inEntry, String inDelimiters){ StringTokenizer toks = new StringTokenizer(inEntry, inDelimiters); List list = new ArrayList(); while(toks.hasMoreTokens()){ String str = toks.nextToken(); str = str.toLowerCase().trim(); if (searcher.searchByField("name",str) == null && str.matches("^[a-zA-Z]*")) { list.add(str); } } return list; } }