ConfigurationParameterDeclarations configurationParameterDeclarations = targetEngine
.getAnalysisEngineMetaData().getConfigurationParameterDeclarations();
Set<Entry<StringExpression, RutaExpression>> entrySet = parameterMap.entrySet();
for (Entry<StringExpression, RutaExpression> entry : entrySet) {
StringExpression key = entry.getKey();
String stringValue = key.getStringValue(element.getParent());
ConfigurationParameter configurationParameter = configurationParameterDeclarations
.getConfigurationParameter(null, stringValue);
if (configurationParameter != null) {
RutaExpression value = entry.getValue();
String type = configurationParameter.getType();
if (type.equals("String")) {
if (configurationParameter.isMultiValued()) {
if (value instanceof StringListExpression) {
StringListExpression sle = (StringListExpression) value;
List<String> list = sle.getList(element.getParent());
targetEngine.setConfigParameterValue(stringValue, list.toArray());
} else if (value instanceof TypeListExpression) {
TypeListExpression tle = (TypeListExpression) value;
List<Type> list = tle.getList(element.getParent());
List<String> stringList = new ArrayList<String>();
for (Type each : list) {
stringList.add(each.getName());
}
targetEngine.setConfigParameterValue(stringValue, stringList.toArray());
}
} else {
if (value instanceof StringExpression) {
StringExpression se = (StringExpression) value;
String string = se.getStringValue(element.getParent());
targetEngine.setConfigParameterValue(stringValue, string);
} else if (value instanceof TypeExpression) {
TypeExpression te = (TypeExpression) value;
Type t = te.getType(element.getParent());
targetEngine.setConfigParameterValue(stringValue, t.getName());