Hello Everyone,
I am currently writing ConceptMapper in code (not using
XML files). Basically I am definitely AnalysisEngineDescriptions and
TypeSystem Description in java code. I create the following 2 parameters
using "ConfigurationParameter" class.
1. AttributeList
2. FeatureList
The problem is both these should be arrays. But ConfigurationParameter only
provide the following types (String, Boolean, Integer, Float). When I pass
these values as string it fails and throws a java.lang.ClassCastException
error. COz it expects an array vs a String. How should I solve this issue?
Below is the AnalysisEngineDescription code.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
primitiveDesc = new AnalysisEngineDescription_impl();
primitiveDesc.setPrimitive(true);
primitiveDesc.getMetaData().setName("Concept Mapper Offset Tokenizer");
primitiveDesc.setAnnotatorImplementationName(
"org.apache.uima.conceptMapper.ConceptMapper");
ConfigurationParameter p1 = new ConfigurationParameter_impl();
p1.setName("AttributeList");
p1.setDescription("Attribute List");
p1.setType(ConfigurationParameter.TYPE_STRING); // Here is the problem
ConfigurationParameter p2 = new ConfigurationParameter_impl();
p2.setName("FeatureList");
p2.setDescription("Feature List");
p2.setType(ConfigurationParameter.TYPE_STRING);
primitiveDesc.getMetaData().getConfigurationParameterDeclarations().setConfigurationParameters(
new ConfigurationParameter[] { p1,p2 });
primitiveDesc.getMetaData().getConfigurationParameterSettings().setParameterSettings(
new NameValuePair[] { new NameValuePair_impl("AttributeList", "canonical"),
new NameValuePair_impl("FeatureList", "DictCanon") });
TypeSystemDescription typeSystem = new TypeSystemDescription_impl();
dicTerm(typeSystem);
conceptMapperTokenizer(typeSystem);
baseTokenizer(typeSystem);
primitiveDesc.getAnalysisEngineMetaData().setTypeSystem(typeSystem);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Also how should I pass the dictionary file in code?
Thanks,
Harshal