public SimpleFeature convertFeature(SimpleFeature old, SimpleFeatureType targetFeatureType) { SimpleFeatureBuilder fb = new SimpleFeatureBuilder(targetFeatureType); SimpleFeature newFeature = fb.buildFeature(old.getID()); FeatureDataConverter.DEFAULT.convert(old, newFeature); Map<Object, Object> userData = old.getUserData(); Object folderObject = userData.get("Folder"); if (folderObject != null) { String serializedFolders = serializeFolders(folderObject); newFeature.setAttribute("Folder", serializedFolders); } @SuppressWarnings("unchecked") Map<String, String> untypedExtendedData = (Map<String, String>) userData .get("UntypedExtendedData"); if (untypedExtendedData != null) { for (Entry<String, String> entry : untypedExtendedData.entrySet()) { if (targetFeatureType.getDescriptor(entry.getKey()) != null) { newFeature.setAttribute(entry.getKey(), entry.getValue()); } } } return newFeature; }
featureDataConverter.convert(feature, next);
public SimpleFeature convertFeature(SimpleFeature old, SimpleFeatureType targetFeatureType) { SimpleFeatureBuilder fb = new SimpleFeatureBuilder(targetFeatureType); SimpleFeature newFeature = fb.buildFeature(old.getID()); FeatureDataConverter.DEFAULT.convert(old, newFeature); Map<Object, Object> userData = old.getUserData(); Object folderObject = userData.get("Folder"); if (folderObject != null) { String serializedFolders = serializeFolders(folderObject); newFeature.setAttribute("Folder", serializedFolders); } @SuppressWarnings("unchecked") Map<String, String> untypedExtendedData = (Map<String, String>) userData.get("UntypedExtendedData"); if (untypedExtendedData != null) { for (Entry<String, String> entry : untypedExtendedData.entrySet()) { if (targetFeatureType.getDescriptor(entry.getKey()) != null) { newFeature.setAttribute(entry.getKey(), entry.getValue()); } } } return newFeature; }
private Feature attemptNext() { SimpleFeature input = (SimpleFeature) super.next(); SimpleFeature result = featureBuilder.buildFeature(null); featureDataConverter.convert(input, result); // @hack #45678 - mask empty geometry or postgis will complain Geometry geom = (Geometry) result.getDefaultGeometry(); if (geom != null && geom.isEmpty()) { result.setDefaultGeometry(null); } try { result = vectorTransformChain.inline(task, dataStore, input, result); } catch (Exception e) { throw new RuntimeException(e); } task.setNumberProcessed(++cnt); return result; } }
featureDataConverter.convert(feature, next);