*
* @param aDataCas
* @param aFeatureMap
*/
public static void remapFeatureTypes(CasData aDataCas, FeatureMap aFeatureMap) {
ConfigurableFeature cf = null;
Iterator it = aDataCas.getFeatureStructures();
while (it.hasNext()) {
Object object = it.next();
if (object instanceof FeatureStructure) {
FeatureStructure fs = (FeatureStructure) object;
if ((cf = aFeatureMap.get(fs.getType())) != null) {
fs.setType(cf.getNewFeatureName());
if (cf.attributeListSize() > 0) {
String[] featureNameList = fs.getFeatureNames();
for (int i = 0; featureNameList != null && i < featureNameList.length; i++) {
if (cf.getOldAttributeValue(featureNameList[i]) != null) {
FeatureValue fv = fs.getFeatureValue(featureNameList[i]);
// fs.removeFeature(featureNameList[i]);
fs.setFeatureValue(cf.getNewAttributeValue(featureNameList[i]), fv);
}
}
}
}
}