public int compare(Identifier o1, Identifier o2) { String s1 = o1.toString(); String s2 = o2.toString(); if (s1.startsWith(prefix) && s2.startsWith(prefix)) { try { int i1 = Integer.parseInt(s1.substring(prefix.length())); int i2 = Integer.parseInt(s2.substring(prefix.length())); return i1 - i2; } catch (NumberFormatException e) { // it's ok, we want to fall back to string comparison } } return s1.compareTo(s2); } }
public Object get(Object object, String xpath, Class target) { Attribute feature = (Attribute) object; return feature.getIdentifier().toString(); }
public Object visit(Id filter, Object extraData) { Set<Identifier> fids = filter.getIdentifiers(); for (Identifier fid : fids) { AttributesImpl atts = new AttributesImpl(); atts.addAttribute(null, "fid", "fid", null, fid.toString()); element("FeatureId", null, atts); } return extraData; }
protected void queryFidFilter() { Id fidFilter = (Id) filter; if (fids == null) { fids = fidFilter.getIdentifiers().iterator(); } while (fids.hasNext() && next == null) { String fid = fids.next().toString(); if (!encounteredFids.contains(fid)) { next = (F) diff.getModified().get(fid); if (next == null) { next = (F) diff.getAdded().get(fid); } } } }
@Override public Object visit(Id filter, Object extraData) { BasicDBObject output = asDBObject(extraData); Set<Identifier> ids = filter.getIdentifiers(); List<ObjectId> objectIds = new ArrayList<ObjectId>(ids.size()); for (Identifier id : ids) { objectIds.add(new ObjectId(id.toString())); } Object objectIdDBO = (objectIds.size() > 1) ? new BasicDBObject("$in", objectIds) : objectIds.get(0); output.put("_id", objectIdDBO); return output; }
/** builds a ecql id expression: in (id1, id2, ...) */ @Override public Object visit(Id filter, Object extraData) { StringBuilder ecql = FilterToTextUtil.asStringBuilder(extraData); ecql.append("IN ("); Iterator<Identifier> iter = filter.getIdentifiers().iterator(); while (iter.hasNext()) { Identifier identifier = iter.next(); String id = identifier.toString(); boolean needsQuotes = !NUMBER.matcher(id).matches(); if (needsQuotes) { ecql.append('\''); } ecql.append(identifier); if (needsQuotes) { ecql.append('\''); } if (iter.hasNext()) { ecql.append(","); } } ecql.append(")"); return ecql; }
try { Identifier id = (Identifier) i.next(); Object[] attValues = mapper.getPKAttributes(id.toString());
Object[] attValues = mapper.getPKAttributes(id.toString());
Filter comparison = UnmappingFilterVisitor.ff.equals( fidExpression, UnmappingFilterVisitor.ff.literal(fid.toString())); UnmappingFilterVisitor.LOGGER.finest("Adding unmapped fid filter " + comparison); filters.add(comparison);
newUserData.put("gml:id", target.getIdentifier().toString());
def.addField(Long.class); for (Identifier identifier : idsSet) { String fid = identifier.toString(); long recno = reader.findFid(fid); if (recno == -1) {
Attribute att = (Attribute) property; add( att.getIdentifier() == null ? null : att.getIdentifier().toString(), att.getValue(), att.getName());
public Object get(Object object, String xpath, Class target) { Attribute feature = (Attribute) object; return feature.getIdentifier().toString(); }
/** * Encodes an Id filter * * @param filter the * */ public Object visit(Id filter, Object extraData) { final List<String> idList = new ArrayList<>(); for (final Identifier id : filter.getIdentifiers()) { idList.add(id.toString()); } ids = idList; queryBuilder = ImmutableMap.of("ids", ImmutableMap.of("values", ids)); return extraData; }
@Override public Object visit(Id filter, Object extraData) { StringWriter output = asStringWriter(extraData); Set<Identifier> ids = filter.getIdentifiers(); output.append(" ("); for (Iterator<Identifier> i = ids.iterator(); i.hasNext(); ) { Identifier id = i.next(); String fid = decodeFID(id.toString()); output.write(primaryKey.getName() + ":" + "\"" + fid + "\""); if (i.hasNext()) { output.write(" OR "); } } output.append(") "); return output; }
void assertFilter(Filter expected, String filter) throws Exception { filter = filter.substring(1, filter.length() - 1); Filter f = (Filter) new Parser(new FESConfiguration()) .parse(new ByteArrayInputStream(filter.getBytes())); if (expected instanceof Id) { Set s1 = new HashSet(); for (Identifier id : ((Id) expected).getIdentifiers()) { s1.add(id.toString()); } Set s2 = new HashSet(); for (Identifier id : ((Id) f).getIdentifiers()) { s2.add(id.toString()); } assertEquals(s1, s2); } else { assertEquals(expected, f); } }