/** * Construct an MemoryDataStore around an empty collection of the provided SimpleFeatureType * * @param schema An empty feature collection of this type will be made available */ public MemoryDataStore(SimpleFeatureType featureType) { try { // creates new entry for FeatureType entry(featureType); } catch (IOException e) { LOGGER.log(Level.FINER, e.getMessage(), e); } }
private void addFeatureInternal(SimpleFeature feature) { if (feature == null) { throw new IllegalArgumentException("Provided Feature is empty"); } SimpleFeatureType featureType = feature.getFeatureType(); try { MemoryEntry entry = entry(featureType); entry.addFeature(feature); } catch (IOException e) { LOGGER.log(Level.FINER, e.getMessage(), e); } }
public void testCallingAddFeaturesWithCollectionTwiceAndExtentInitialCollection() throws IOException { MemoryDataStore mds = new MemoryDataStore(); mds.addFeatures(Arrays.asList(roadFeatures)); SimpleFeature road1 = SimpleFeatureBuilder.template(roadType, null); mds.addFeatures(Collections.singletonList(road1)); assertEquals(roadFeatures.length + 1, mds.entry("road").getMemory().size()); }
public void testAddingTwoFeaturesWithSameType() throws IOException { MemoryDataStore mds = new MemoryDataStore(); mds.addFeature(roadFeatures[0]); mds.addFeature(roadFeatures[1]); assertEquals(2, mds.entry("road").getMemory().size()); }
public void testCallingAddFeaturesWithReaderTwiceAndExtentInitialCollection() throws IOException { FeatureReader<SimpleFeatureType, SimpleFeature> reader = DataUtilities.reader(roadFeatures); MemoryDataStore mds = new MemoryDataStore(reader); assertEquals(roadFeatures.length, mds.entry(roadType.getTypeName()).getMemory().size()); FeatureReader<SimpleFeatureType, SimpleFeature> secondReader = DataUtilities.reader( new SimpleFeature[] {SimpleFeatureBuilder.template(roadType, null)}); mds.addFeatures(secondReader); assertEquals(roadFeatures.length + 1, mds.entry("road").getMemory().size()); }
public void testCallingAddFeaturesWithIteratorTwiceAndExtentInitialCollection() throws IOException { FeatureReader<SimpleFeatureType, SimpleFeature> reader = DataUtilities.reader(roadFeatures); MemoryDataStore mds = new MemoryDataStore(reader); assertEquals(roadFeatures.length, mds.entry(roadType.getTypeName()).getMemory().size()); SimpleFeatureIterator featureIterator = DataUtilities.collection( new SimpleFeature[] {SimpleFeatureBuilder.template(roadType, null)}) .features(); mds.addFeatures(featureIterator); assertEquals(roadFeatures.length + 1, mds.entry("road").getMemory().size()); } }
public void testGetFeatureWriterRemove() throws IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer = data.getFeatureWriter("road", Transaction.AUTO_COMMIT); SimpleFeature feature; while (writer.hasNext()) { feature = writer.next(); if (feature.getID().equals("road.rd1")) { writer.remove(); } } assertEquals(roadFeatures.length - 1, data.entry("road").getMemory().size()); }
public void testCallingAddFeaturesWithArrayTwiceAndExtentInitialCollection() throws IOException { MemoryDataStore mds = new MemoryDataStore(); mds.addFeatures(roadFeatures); SimpleFeature road1 = SimpleFeatureBuilder.template(roadType, null); mds.addFeatures(new SimpleFeature[] {road1}); assertEquals(roadFeatures.length + 1, mds.entry("road").getMemory().size()); }
public void testGetFeaturesWriterModify() throws IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer = data.getFeatureWriter("road", Transaction.AUTO_COMMIT); SimpleFeature feature; while (writer.hasNext()) { feature = writer.next(); if (feature.getID().equals("road.rd1")) { feature.setAttribute("name", "changed"); writer.write(); } } feature = data.entry("road").getMemory().get("road.rd1"); assertEquals("changed", feature.getAttribute("name")); }
public void testGetFeaturesWriterAdd() throws IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer = data.getFeatureWriter("road", Transaction.AUTO_COMMIT); SimpleFeature feature; while (writer.hasNext()) { feature = (SimpleFeature) writer.next(); } assertFalse(writer.hasNext()); feature = (SimpleFeature) writer.next(); feature.setAttributes(newRoad.getAttributes()); writer.write(); assertFalse(writer.hasNext()); assertEquals(roadFeatures.length + 1, data.entry("road").getMemory().size()); }