@Override public Object visit(Id filter, Object data) { for (Identifier id : filter.getIdentifiers()) { if (id instanceof FeatureId) { FeatureId fid = (FeatureId) id; if (fid.getID() != null) { String[] split = fid.getID().split("\\."); if (split.length > 1) { ResourceInfo r = catalog.getResourceByName(split[0], ResourceInfo.class); if (r != null) { typeNames.add(new QName(r.getNamespace().getURI(), r.getName())); } } } } } return data; }
/** * Given a feature id following the <typename>.<internalId> convention, the original type and * the destination type, this converts the id from <original>.<internalid> to * <target>.<internalid> * * @param id * @param original * @param target */ public static FeatureId reTypeId( FeatureId sourceId, SimpleFeatureType original, SimpleFeatureType target) { final String originalTypeName = original.getName().getLocalPart(); final String destTypeName = target.getName().getLocalPart(); if (destTypeName.equals(originalTypeName)) return sourceId; final String prefix = originalTypeName + "."; if (sourceId.getID().startsWith(prefix)) { return new FeatureIdImpl( destTypeName + "." + sourceId.getID().substring(prefix.length())); } else return sourceId; }
List<FeatureId> ids = store.addFeatures(fc); assertEquals(1, ids.size()); String id = ((FeatureId) ids.iterator().next()).getID(); assertTrue("Id does not start with " + "oaks" + " it's " + id, id.startsWith("oaks"));
static SimpleFeature retype(SimpleFeature source, SimpleFeatureBuilder builder) throws IllegalAttributeException { SimpleFeatureType target = builder.getFeatureType(); for (int i = 0; i < target.getAttributeCount(); i++) { AttributeDescriptor attributeType = target.getDescriptor(i); Object value = null; if (source.getFeatureType().getDescriptor(attributeType.getName()) != null) { value = source.getAttribute(attributeType.getName()); } builder.add(value); } FeatureId id = reTypeId(source.getIdentifier(), source.getFeatureType(), target); SimpleFeature retyped = builder.buildFeature(id.getID()); retyped.getUserData().putAll(source.getUserData()); return retyped; }
List<FeatureId> ids = store.addFeatures(fc); assertEquals(1, ids.size()); String id = ((FeatureId) ids.iterator().next()).getID(); assertTrue("Id does not start with " + "oaks" + " it's " + id, id.startsWith("oaks"));
public Object getProperty(Object object, QName name) throws Exception { if ("fid".equals(name.getLocalPart())) { FeatureId featureId = (FeatureId) object; // <xsd:attribute name="fid" type="xsd:anyURI" use="required"/> if (featureId != null) { return new URI(featureId.getID()); } } return null; } }
public SimpleFeature next() { FeatureId fid = iterator.next(); id = fid.getID(); return idAccessor.getFeature(id); }
@Override public boolean equalsFID(FeatureId id) { if (id == null) return false; return getID().equals(id.getID()); }
protected void queryAdded() { while (addedIterator.hasNext() && next == null) { next = (F) addedIterator.next(); if (encounteredFids.contains(next.getIdentifier().getID()) || !filter.evaluate(next)) { next = null; } } }
public int compare(FeatureId key1, FeatureId key2) { SimpleFeature feature1 = idAccessor.getFeature(key1.getID()); SimpleFeature feature2 = idAccessor.getFeature(key2.getID()); int compare = compare(feature1, feature2, initialOrder); if (compare == 0 && sort.size() > 1) { for (int i = sort.size() - 1; compare == 0 && i >= 0; i--) { compare = compare(feature1, feature2, (SortBy) sort.get(i)); } } return compare; }
@Override public boolean equalsExact(FeatureId id) { if (id instanceof FeatureId) { return fid.equals(id.getID()) && fid.equals(id.getRid()) && id.getPreviousRid() == null && id.getFeatureVersion() == null; } return false; }
@Override public boolean equalsExact(FeatureId id) { if (id instanceof FeatureId) { return fid.equals(id.getID()) && fid.equals(id.getRid()) && id.getPreviousRid() == null && id.getFeatureVersion() == null; } return false; }
protected String extractIdForFeature(Feature feature) { if (mapping.getFeatureIdExpression().equals(Expression.NIL)) { if (feature.getIdentifier() == null) { return null; } else { return feature.getIdentifier().getID(); } } return mapping.getFeatureIdExpression().evaluate(feature, String.class); }
@Override public void visit(Feature feature) { fb.init((SimpleFeature) feature); SimpleFeature f = fb.buildFeature(feature.getIdentifier().getID()); features.add(f); } },
@Test public void testSourcesFeatures() throws Exception { try (Stream<Feature> fstream = FeatureStreams.toFeatureStream(mappedSource.getFeatures())) { List<Feature> flist = fstream.collect(Collectors.toList()); assertTrue(flist.size() == 11); assertTrue(flist.get(2).getIdentifier().getID().equals("st.3")); } } }
public void testParse() throws Exception { FilterMockData.featureId(document, document); FeatureId featureId = (FeatureId) parse(); assertEquals("foo", featureId.getID()); }
/** * Test converting String to FeatureId successful. This is required by feature chaining. * * @throws Exception */ public void testFeatureId() throws Exception { FeatureId id = Converters.convert("blah", FeatureId.class); assertNotNull(id); assertEquals(id.getID(), "blah"); }
public void check(int index, SimpleFeature feature) { assertEquals( tname(features.getSchema().getName().getLocalPart()) + "." + index, feature.getIdentifier().getID()); } });
@Test public void testIndexesSources() throws Exception { try (Stream<SimpleFeature> fstream = FeatureStreams.toFeatureStream( mappedSource.getMapping().getIndexSource().getFeatures())) { assertTrue(fstream.anyMatch(f -> f.getIdentifier().getID().equals("st.1"))); } }
private void assertThreeFeatures(MarkFeatureIterator iterator) { assertTrue(iterator.hasNext()); assertEquals("Line.1", iterator.next().getIdentifier().getID()); assertTrue(iterator.hasNext()); assertEquals("Line.2", iterator.next().getIdentifier().getID()); assertTrue(iterator.hasNext()); assertEquals("Line.3", iterator.next().getIdentifier().getID()); assertFalse(iterator.hasNext()); } }