Author: hasan
Date: Fri Apr  9 11:23:48 2010
New Revision: 932360

URL: http://svn.apache.org/viewvc?rev=932360&view=rev
Log:
CLEREZZA-188: added support of UriRefExpression in serializer

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
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core/src/test/java/org/apache/clerezza/rdf/core/sparql/QuerySerializerTest.java

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=932360&r1=932359&r2=932360&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
 Fri Apr  9 11:23:48 2010
@@ -44,6 +44,7 @@ import org.apache.clerezza.rdf.core.spar
 import org.apache.clerezza.rdf.core.sparql.query.SelectQuery;
 import org.apache.clerezza.rdf.core.sparql.query.TriplePattern;
 import org.apache.clerezza.rdf.core.sparql.query.UnaryOperation;
+import org.apache.clerezza.rdf.core.sparql.query.UriRefExpression;
 import org.apache.clerezza.rdf.core.sparql.query.Variable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -217,6 +218,8 @@ public class SimpleStringQuerySerializer
                        appendCall(s, f.getName().getUnicodeString(), 
f.getArguements());
                } else if (e instanceof LiteralExpression) {
                        appendLiteralExpression(s, (LiteralExpression) e);
+               } else if (e instanceof UriRefExpression) {
+                       s.append(((UriRefExpression) e).getUriRef().toString());
                }
        }
 

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=932360&r1=932359&r2=932360&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
 Fri Apr  9 11:23:48 2010
@@ -32,6 +32,7 @@ import org.apache.clerezza.rdf.core.spar
 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;
+import org.apache.clerezza.rdf.core.sparql.query.UriRefExpression;
 import org.apache.clerezza.rdf.core.sparql.query.UriRefOrVariable;
 import org.apache.clerezza.rdf.core.sparql.query.Variable;
 import org.apache.clerezza.rdf.core.sparql.query.impl.SimpleAskQuery;
@@ -183,6 +184,35 @@ public class QuerySerializerTest {
        }
 
        @Test
+       public void testUriRefExpression() {
+
+               final String queryString = "SELECT ?resource WHERE { " +
+                               "?resource 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?myType . " +
+                               "FILTER ((?resource) = 
(<http://example.org/ontology#special>)) " +
+                               "}";
+
+               Variable resource = new Variable("resource");
+               SimpleSelectQuery selectQuery = new SimpleSelectQuery();
+               selectQuery.addSelection(resource);
+
+               Variable myType = new Variable("myType");
+               Set<TriplePattern> triplePatterns = new 
HashSet<TriplePattern>();
+               triplePatterns.add(new SimpleTriplePattern(resource,
+                               new 
UriRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#type";), myType));
+
+               SimpleBasicGraphPattern bgp = new 
SimpleBasicGraphPattern(triplePatterns);
+               SimpleGroupGraphPattern queryPattern = new 
SimpleGroupGraphPattern();
+               queryPattern.addGraphPattern(bgp);
+               BinaryOperation constraint = new BinaryOperation("=",
+                               resource, new UriRefExpression(new 
UriRef("http://example.org/ontology#special";)));
+               queryPattern.addConstraint(constraint);
+               selectQuery.setQueryPattern(queryPattern);
+
+               Assert.assertTrue(selectQuery.toString()
+                               .replaceAll("( |\n)+", " 
").trim().equals(queryString));
+       }
+
+       @Test
        public void testOrderBy() {
 
                final String queryString = "SELECT * WHERE { ?a ?b ?c . } ORDER 
BY DESC(?c)";


Reply via email to