Author: reto
Date: Tue Dec 15 15:42:58 2009
New Revision: 890835
URL: http://svn.apache.org/viewvc?rev=890835&view=rev
Log:
CLEREZZA-33: closing issue
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/
(props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
Propchange:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Dec 15 15:42:58 2009
@@ -1 +1,2 @@
/incubator/clerezza/issues/CLEREZZA-15/org.apache.clerezza.rdf.core:890278-890753
+/incubator/clerezza/issues/CLEREZZA-33/org.apache.clerezza.rdf.core:890770-890809
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java?rev=890835&r1=890834&r2=890835&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/main/java/org/apache/clerezza/rdf/core/sparql/query/impl/SimpleStringQuerySerializer.java
Tue Dec 15 15:42:58 2009
@@ -224,8 +224,13 @@
s.append(name).append("(");
for (Expression e : expr) {
appendExpression(s, e);
+ s.append(",");
+ }
+ if (expr.isEmpty()) {
+ s.append(")");
+ } else {
+ s.setCharAt(s.length()-1, ')');
}
- s.append(")");
}
private void appendLiteralExpression(StringBuffer s, LiteralExpression
le) {
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java?rev=890835&r1=890834&r2=890835&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java
Tue Dec 15 15:42:58 2009
@@ -18,13 +18,17 @@
*/
package org.apache.clerezza.rdf.core.sparql;
+import java.util.ArrayList;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import org.junit.Assert;
import org.junit.Test;
import org.apache.clerezza.rdf.core.LiteralFactory;
import org.apache.clerezza.rdf.core.UriRef;
import org.apache.clerezza.rdf.core.sparql.query.BinaryOperation;
+import org.apache.clerezza.rdf.core.sparql.query.BuiltInCall;
+import org.apache.clerezza.rdf.core.sparql.query.Expression;
import org.apache.clerezza.rdf.core.sparql.query.LiteralExpression;
import org.apache.clerezza.rdf.core.sparql.query.ResourceOrVariable;
import org.apache.clerezza.rdf.core.sparql.query.TriplePattern;
@@ -244,4 +248,35 @@
Assert.assertTrue(selectQuery.toString()
.replaceAll("( |\n)+", "
").trim().equals(queryString));
}
+
+ @Test
+ public void testRegex() {
+
+ final String queryString = "SELECT ?p WHERE { " +
+ "<http://localhost/testitem> ?p ?x . " +
+ "FILTER
REGEX(?x,\".*uni.*\"^^<http://www.w3.org/2001/XMLSchema#string>) }";
+
+ Variable p = new Variable("p");
+ SimpleSelectQuery selectQuery = new SimpleSelectQuery();
+ selectQuery.addSelection(p);
+
+ Variable x = new Variable("x");
+ Set<TriplePattern> triplePatterns = new
HashSet<TriplePattern>();
+ triplePatterns.add(new SimpleTriplePattern(
+ new UriRef("http://localhost/testitem"), p, x));
+
+ SimpleBasicGraphPattern bgp = new
SimpleBasicGraphPattern(triplePatterns);
+ SimpleGroupGraphPattern queryPattern = new
SimpleGroupGraphPattern();
+ queryPattern.addGraphPattern(bgp);
+
+ List<Expression> arguments = new ArrayList<Expression>();
+ arguments.add(x);
+ arguments.add(new
LiteralExpression(LiteralFactory.getInstance().
+ createTypedLiteral(".*uni.*")));
+ BuiltInCall constraint = new BuiltInCall("REGEX", arguments);
+ queryPattern.addConstraint(constraint);
+ selectQuery.setQueryPattern(queryPattern);
+ Assert.assertTrue(selectQuery.toString()
+ .replaceAll("( |\n)+", "
").trim().equals(queryString));
+ }
}