/** * */ package oboannotator.application; import java.io.IOException; import java.util.ArrayList; import oboannotator.util.AppConfig; import oboannotator.util.Util; /** * @author ahmedabdeenhamed * */ public class UserCustomedAEApplication { public static void composePrimitiveAE(String dictName, String addUpdateFlag) throws IOException{ //System.out.println("addUpdateFlag : " + addUpdateFlag); StringBuilder xmlEngineBuilder = new StringBuilder(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" org.apache.uima.java\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" org.apache.uima.conceptMapper.ConceptMapper\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ConceptMapper\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" 1\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" caseMatch\n"); xmlEngineBuilder.append(" desc goes here\n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Stemmer\n"); xmlEngineBuilder.append(" desc goes here\n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ResultingAnnotationName\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Name of the annotation type created by this TAE,\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ResultingEnclosingSpanName\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Name of the feature in the resultingAnnotation to\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" AttributeList\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" List of attribute names for XML dictionary entry\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" FeatureList\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" List of feature names for CAS annotation - must\n"); xmlEngineBuilder.append(" correspond to AttributeList\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenAnnotation\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenClassFeatureName\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Name of feature used when doing lookups against\n"); xmlEngineBuilder.append(" IncludedTokenClasses and ExcludedTokenClasses\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenTextFeatureName\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" SpanFeatureStructure\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Type of annotation which corresponds to spans of\n"); xmlEngineBuilder.append(" oboannotator.resources.data for processing (e.g. a Sentence)\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" OrderIndependentLookup\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" True if should ignore element order during lookup\n"); xmlEngineBuilder.append(" (i.e., \"top box\" would equal \"box top\"). Default is\n"); xmlEngineBuilder.append(" False.\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Boolean\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenTypeFeatureName\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Name of feature used when doing lookups against\n"); xmlEngineBuilder.append(" IncludedTokenTypes and ExcludedTokenTypes\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append( "false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" IncludedTokenTypes\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Type of tokens to include in lookups (if not\n"); xmlEngineBuilder.append(" supplied, then all types are included except those\n"); xmlEngineBuilder.append(" specifically mentioned in ExcludedTokenTypes)\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Integer\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ExcludedTokenTypes\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Integer\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ExcludedTokenClasses\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Class of tokens to exclude from lookups (if not\n"); xmlEngineBuilder.append(" supplied, then all classes are excluded except those\n"); xmlEngineBuilder.append(" specifically mentioned in IncludedTokenClasses,\n"); xmlEngineBuilder.append(" unless IncludedTokenClasses is not supplied, in\n"); xmlEngineBuilder.append(" which case none are excluded)\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" IncludedTokenClasses\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Class of tokens to include in lookups (if not\n"); xmlEngineBuilder.append(" supplied, then all classes are included except those\n"); xmlEngineBuilder.append(" specifically mentioned in ExcludedTokenClasses)\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenClassWriteBackFeatureNames\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" names of features that should be written back to a\n"); xmlEngineBuilder.append(" token, such as a POS tag\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ResultingAnnotationMatchedTextFeature\n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" PrintDictionary\n"); xmlEngineBuilder.append(" Boolean\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" SearchStrategy\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" StopWords\n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" FindAllMatches\n"); xmlEngineBuilder.append(" Boolean\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" MatchedTokensFeatureName\n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ReplaceCommaWithAND\n"); xmlEngineBuilder.append(" Boolean\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenizerDescriptorPath\n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" LanguageID\n"); xmlEngineBuilder.append(" String\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" caseMatch\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ignoreall\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" AttributeList\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" canonical\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" FeatureList\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" DictCanon\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenAnnotation\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.tt.TokenAnnotation\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ResultingAnnotationName\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" org.apache.uima.conceptMapper.DictTerm\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" SpanFeatureStructure\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.tcas.DocumentAnnotation\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" OrderIndependentLookup\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenClassWriteBackFeatureNames\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" IncludedTokenClasses\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" PrintDictionary\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" FindAllMatches\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" StopWords\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ReplaceCommaWithAND\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" TokenizerDescriptorPath\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" " + AppConfig.PRIMITIVE_AE_DIR + "OffsetTokenizer.xml\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ResultingEnclosingSpanName\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" enclosingSpan\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" MatchedTokensFeatureName\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" matchedTokens\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ResultingAnnotationMatchedTextFeature\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" matchedText\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" SearchStrategy\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" ContiguousMatch\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" LanguageID\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" en\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.tt.TokenAnnotation\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.tcas.Annotation\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" SemClass\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" semantic class of token\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.cas.String\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" POS\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" Part of SPeech of term to which this\n"); xmlEngineBuilder.append(" token is a part\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.cas.String\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" frost_TokenType\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.cas.Integer\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.tt.TokenAnnotation\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append("\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" uima.tt.TokenAnnotation\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append("\n"); xmlEngineBuilder.append("\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" DictionaryFile\n"); xmlEngineBuilder.append(" dictionary file loader.\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append("\n"); xmlEngineBuilder.append("\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); if(addUpdateFlag.equals(AppConfig.ADD_NEW_DICTION)){ xmlEngineBuilder.append(" " + Util.removeFileExtension(dictName) +"Dictionary\n"); }else if(addUpdateFlag.equals(AppConfig.UPDATE_DICTION)){ xmlEngineBuilder.append(" " + Util.removeFileExtension(dictName) +"Dictionary\n"); } xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" A file containing the dictionary. Modify this URL to\n"); xmlEngineBuilder.append(" use a different dictionary.\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); if(addUpdateFlag.equals(AppConfig.ADD_NEW_DICTION)){ xmlEngineBuilder.append(" file:" + AppConfig.DICTIONARY_DIR+ dictName + AppConfig.XML_EXTENSION + "\n"); }else if(addUpdateFlag.equals(AppConfig.UPDATE_DICTION)){ //System.out.println("Valid dict name in the descreptor: " + Util.removeString(dictName, "AE.xml")); xmlEngineBuilder.append(" file:" + AppConfig.DICTIONARY_DIR+ Util.removeString(dictName, "AE.xml")+ "\n"); //return; } xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" org.apache.uima.conceptMapper.support.dictionaryResource.DictionaryResource_impl\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" DictionaryFile\n"); if(addUpdateFlag.equals(AppConfig.ADD_NEW_DICTION)){ xmlEngineBuilder.append(" " + Util.removeFileExtension(dictName) +"Dictionary\n"); }else if(addUpdateFlag.equals(AppConfig.UPDATE_DICTION)){ xmlEngineBuilder.append(" " + Util.removeFileExtension(dictName) +"Dictionary\n"); } xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append("\n"); xmlEngineBuilder.append("\n"); //String primitiveEngineXmlContent = xmlEngineBuilder.toString(); //composePrimitiveAE(String dictDir, String dictName, String primAEDir) if(addUpdateFlag.equals(AppConfig.ADD_NEW_DICTION)){ Util.writeStringToFile(xmlEngineBuilder.toString(), AppConfig.DICTIONARY_AE_DIR, dictName+AppConfig.AE_STRING+AppConfig.XML_EXTENSION); }else if(addUpdateFlag.equals(AppConfig.UPDATE_DICTION)){ //System.out.println("Dict name before saving to file: " + dictName); //Util.writeStringToFile(xmlEngineBuilder.toString(), AppConfig.DICTIONARY_AE_DIR, dictName); } } public static void composeAggregateAE(ArrayList dictionariesList) throws IOException{ StringBuilder xmlEngineBuilder = new StringBuilder(); xmlEngineBuilder.append(""); xmlEngineBuilder.append("\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" org.apache.uima.java\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" false\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); for(String currentDictionary: dictionariesList){ xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); } xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" DictMatcher\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" MedlineDocument\n"); xmlEngineBuilder.append(" MedlineField\n"); xmlEngineBuilder.append(" OpenNLPTokenizer\n"); xmlEngineBuilder.append(" Tokenizer\n"); //MedlineDocument //MedlineField //MedlineField for(String dictDescriptor: dictionariesList){ xmlEngineBuilder.append(" " + Util.removeFileExtension(dictDescriptor) + "ConceptMapper" + "\n"); } xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" oboannotator.typesys.MedlineDocument\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" oboannotator.typesys.MedlineField\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" oboannotator.typesys.MedlineDocument\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" oboannotator.typesys.MedlineField\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" org.apache.uima.examples.opennlp.Token\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" org.apache.uima.conceptMapper.DictTerm\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" true\n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append(" \n"); xmlEngineBuilder.append("\n"); //System.out.println("AppConfig.AGGREGATE_AE_DIR: " + AppConfig.AGGREGATE_AE_DIR); //System.out.println("AppConfig.USER_ASSEMBLED_AGGREGATE_AE: " + AppConfig.USER_ASSEMBLED_AGGREGATE_AE); Util.writeStringToFile(xmlEngineBuilder.toString(), AppConfig.AGGREGATE_AE_DIR, AppConfig.USER_ASSEMBLED_AGGREGATE_AE); } /** * @param args */ public static void main(String[] args) { //System.out.println("creating the AE..."); //String aggAEDir = "/Users/ahmedabdeenhamed/Projects/concept-mapper-project/oboannotator.resources.descriptors/analysis_engine/aggregate/"; String dictDir = "src/oboannotator.resources.descriptors/analysis_engine/dictionary/"; ArrayList list = new ArrayList(); list.add("EnvoAE.xml"); //list.add("GazAE.xml"); // String dictDir = "/Users/ahmedabdeenhamed/Projects/concept-mapper-project/oboannotator.resources/dict/"; //String dictName = "testDict.xml"; try { //UserCustomedAEApplication.composePrimitiveAE("newDictionary", "UPDATE_DICTIONARY"); //composeAggregateAE(list, dictDir, aggAEDir, aggAEName) UserCustomedAEApplication.composeAggregateAE(list); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }