String wildcardMulti = like.getWildCard(); String wildcardSingle = like.getSingleChar(); String escape = like.getEscape();
return isLike.getEscape();
public Object visit(PropertyIsLike filter, Object extraData) { String wcm = filter.getWildCard(); String wcs = filter.getSingleChar(); String esc = filter.getEscape(); Expression expression = filter.getExpression(); AttributesImpl atts = new AttributesImpl(); atts.addAttribute("", "wildCard", "wildCard", "", wcm); atts.addAttribute("", "singleChar", "singleChar", "", wcs); atts.addAttribute("", "escape", "escape", "", esc); start("PropertyIsLike", atts); expression.accept(this, extraData); element("Literal", filter.getLiteral()); end("PropertyIsLike"); return extraData; }
public Object visit(PropertyIsLike filter, Object arg1) { Expression value = filter.getExpression(); List unrolledValues = (List) value.accept(this, null); String literal = filter.getLiteral(); String wildcard = filter.getWildCard(); String single = filter.getSingleChar(); String escape = filter.getEscape(); boolean matchCase = filter.isMatchingCase(); MatchAction matchAction = filter.getMatchAction(); List combined = new ArrayList(unrolledValues.size()); for (Iterator it = unrolledValues.iterator(); it.hasNext(); ) { Expression sourceValue = (Expression) it.next(); Filter newFilter = ff.like(sourceValue, literal, wildcard, single, escape, matchCase, matchAction); combined.add(newFilter); } Filter unrolled = combineOred(combined); return unrolled; }
char esc = filter.getEscape().charAt(0); char multi = filter.getWildCard().charAt(0); char single = filter.getSingleChar().charAt(0);
lf.getSingleChar()); at.addAttribute( FilterSchema.NAMESPACE.toString(), "escape", null, "string", lf.getEscape());
public Object visit(PropertyIsLike filter, Object extraData) { Expression expr = visit(filter.getExpression(), extraData); String pattern = filter.getLiteral(); String wildcard = filter.getWildCard(); String singleChar = filter.getSingleChar(); String escape = filter.getEscape(); boolean matchCase = filter.isMatchingCase(); return getFactory(extraData) .like( expr, pattern, wildcard, singleChar, escape, matchCase, filter.getMatchAction()); }
public void testParse() throws Exception { FilterMockData.propertyIsLike(document, document); PropertyIsLike isLike = (PropertyIsLike) parse(); assertNotNull(isLike.getExpression()); assertNotNull(isLike.getLiteral()); assertEquals("x", isLike.getWildCard()); assertEquals("y", isLike.getSingleChar()); assertEquals("z", isLike.getEscape()); }
public void testParse() throws Exception { FilterMockData.propertyIsLike(document, document); PropertyIsLike isLike = (PropertyIsLike) parse(); assertNotNull(isLike.getExpression()); assertNotNull(isLike.getLiteral()); assertEquals("x", isLike.getWildCard()); assertEquals("y", isLike.getSingleChar()); assertEquals("z", isLike.getEscape()); assertEquals(false, isLike.isMatchingCase()); }
@Test public void testLikeFilter() throws Exception { final String wildcard = "%"; final String single = "?"; final String escape = "\\"; PropertyIsLike like = ff.like( ff.property("/measurement/determinand_description"), "%n_1_1", wildcard, single, escape, true, MatchAction.ONE); PropertyIsLike unmapped = (PropertyIsLike) like.accept(visitor, null); assertEquals(like.getLiteral(), unmapped.getLiteral()); assertEquals(like.getWildCard(), unmapped.getWildCard()); assertEquals(like.getSingleChar(), unmapped.getSingleChar()); assertEquals(like.getEscape(), unmapped.getEscape()); assertEquals(like.isMatchingCase(), unmapped.isMatchingCase()); assertEquals(like.getMatchAction(), unmapped.getMatchAction()); Expression unmappedExpr = unmapped.getExpression(); assertTrue(unmappedExpr instanceof PropertyName); assertEquals("determinand_description", ((PropertyName) unmappedExpr).getPropertyName()); }
public Object getProperty(Object object, QName name) throws Exception { PropertyIsLike isLike = (PropertyIsLike) object; if (OGC.PropertyName.equals(name)) { return isLike.getExpression(); } if (OGC.Literal.equals(name)) { return isLike.getLiteral(); } if ("wildCard".equals(name.getLocalPart())) { return isLike.getWildCard(); } if ("singleChar".equals(name.getLocalPart())) { return isLike.getSingleChar(); } if ("escape".equals(name.getLocalPart()) || "escapeChar".equals(name.getLocalPart())) { return isLike.getEscape(); } return null; } }
public Object getProperty(Object object, QName name) throws Exception { PropertyIsLike isLike = (PropertyIsLike) object; if (OGC.PropertyName.equals(name)) { return isLike.getExpression(); } if (OGC.Literal.equals(name)) { return isLike.getLiteral() != null ? factory.literal( isLike.getLiteral() ) : null; } if ("wildCard".equals(name.getLocalPart())) { return isLike.getWildCard(); } if ("singleChar".equals(name.getLocalPart())) { return isLike.getSingleChar(); } if ("escape".equals(name.getLocalPart()) || "escapeChar".equals(name.getLocalPart())) { return isLike.getEscape(); } return null; } }
public Object visit(PropertyIsLike filter, Object extraData) { String wcm = filter.getWildCard(); String wcs = filter.getSingleChar(); String esc = filter.getEscape(); Expression expression = filter.getExpression(); AttributesImpl atts = new AttributesImpl(); atts.addAttribute("", "wildCard", "wildCard", "", wcm); atts.addAttribute("", "singleChar", "singleChar", "", wcs); atts.addAttribute("", "escape", "escape", "", esc); start("PropertyIsLike",atts); expression.accept( this, extraData); element("Literal", filter.getLiteral() ); end("PropertyIsLike"); return extraData; }
@Override public Object visit(PropertyIsLike filter, Object extraData) { checkExpressionIsProperty(filter.getExpression()); StringWriter output = asStringWriter(extraData); String pattern = escapeSpecialCharacters(filter.getLiteral(), filter.getEscape()); pattern = pattern.replace(filter.getWildCard(), ".*"); pattern = pattern.replace(filter.getSingleChar(), ".{1,1}"); Expression expr = filter.getExpression(); ExpressionToSolr visitor = new ExpressionToSolr(); expr.accept(visitor, output); output.append(":/"); output.append(pattern); output.append("/ "); return output; }
public Object visit(PropertyIsLike filter, Object arg1) { Expression value = filter.getExpression(); List unrolledValues = (List) value.accept(this, null); String literal = filter.getLiteral(); String wildcard = filter.getWildCard(); String single = filter.getSingleChar(); String escape = filter.getEscape(); boolean matchCase = filter.isMatchingCase(); MatchAction matchAction = filter.getMatchAction(); List combined = new ArrayList(unrolledValues.size()); for (Iterator it = unrolledValues.iterator(); it.hasNext();) { Expression sourceValue = (Expression) it.next(); Filter newFilter = ff.like(sourceValue, literal, wildcard, single, escape, matchCase, matchAction); combined.add(newFilter); } Filter unrolled = combineOred(combined); return unrolled; }
@Override public Object visit(PropertyIsLike filter, Object extraData) { Expression expr = (Expression) filter.getExpression().accept(this, extraData); String pattern = filter.getLiteral(); String wildcard = filter.getWildCard(); String singleChar = filter.getSingleChar(); String escape = filter.getEscape(); return getFactory(extraData).like(expr, pattern, wildcard, singleChar, escape, false); } }
@Override public Object visit(PropertyIsLike filter, Object extraData) { Expression expr = (Expression) filter.getExpression().accept(this, extraData); String pattern = filter.getLiteral(); String wildcard = filter.getWildCard(); String singleChar = filter.getSingleChar(); String escape = filter.getEscape(); return getFactory(extraData).like(expr, pattern, wildcard, singleChar, escape, false); } }
public Object visit(PropertyIsLike filter, Object extraData) { Expression expr=(Expression) filter.getExpression().accept(this, extraData); String pattern=filter.getLiteral(); String wildcard=filter.getWildCard(); String singleChar=filter.getSingleChar(); String escape=filter.getEscape(); return getFactory(extraData).like(expr, pattern, wildcard, singleChar, escape); }
public Object visit(PropertyIsLike filter, Object extraData) { Expression expr= visit(filter.getExpression(), extraData); String pattern=filter.getLiteral(); String wildcard=filter.getWildCard(); String singleChar=filter.getSingleChar(); String escape=filter.getEscape(); boolean matchCase = filter.isMatchingCase(); return getFactory(extraData).like(expr, pattern, wildcard, singleChar, escape, matchCase); }
@Test public void testLikeFilter() throws Exception { final String wildcard = "%"; final String single = "?"; final String escape = "\\"; PropertyIsLike like = ff.like(ff.property("/measurement/determinand_description"), "%n_1_1", wildcard, single, escape, true, MatchAction.ONE); PropertyIsLike unmapped = (PropertyIsLike) like.accept(visitor, null); assertEquals(like.getLiteral(), unmapped.getLiteral()); assertEquals(like.getWildCard(), unmapped.getWildCard()); assertEquals(like.getSingleChar(), unmapped.getSingleChar()); assertEquals(like.getEscape(), unmapped.getEscape()); assertEquals(like.isMatchingCase(), unmapped.isMatchingCase()); assertEquals(like.getMatchAction(), unmapped.getMatchAction()); Expression unmappedExpr = unmapped.getExpression(); assertTrue(unmappedExpr instanceof PropertyName); assertEquals("determinand_description", ((PropertyName) unmappedExpr).getPropertyName()); }