You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/09/30 23:29:06 UTC

svn commit: r1177842 [3/3] - in /incubator/jena/Jena2/ARQ/trunk: ./ Grammar/ src/main/java/com/hp/hpl/jena/sparql/expr/ src/main/java/com/hp/hpl/jena/sparql/expr/nodevalue/ src/main/java/com/hp/hpl/jena/sparql/lang/arq/ src/main/java/com/hp/hpl/jena/sp...

Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/sse/Tags.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/sse/Tags.java?rev=1177842&r1=1177841&r2=1177842&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/sse/Tags.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/sse/Tags.java Fri Sep 30 21:29:06 2011
@@ -138,8 +138,8 @@ public class Tags
     public static final String tagBound         = "bound" ;
     public static final String tagCoalesce      = "coalesce" ;
     public static final String tagIf            = "if" ;
-    public static final String tagIRI           = "isIRI" ;
-    public static final String tagURI           = "isURI" ;
+    public static final String tagIsIRI         = "isIRI" ;
+    public static final String tagIsURI         = "isURI" ;
     public static final String tagIsBlank       = "isBlank" ;
     public static final String tagIsLiteral     = "isLiteral" ;
     public static final String tagRegex         = "regex" ;
@@ -155,7 +155,8 @@ public class Tags
     public static final String tagTimezone      = "timezone" ;
     public static final String tagTZ            = "tz" ;
     
-    public static final String tagNow           = "now" ;
+    public static final String tagNow           = "now" ;
+    public static final String tagUUID          = "uuid" ;
     public static final String tagVersion       = "version" ;
 
     public static final String tagMD5           = "md5" ;
@@ -166,7 +167,8 @@ public class Tags
     public static final String tagSHA512        = "sha512" ;
     
     public static final String tagStrlen        = "strlen" ;
-    public static final String tagSubstr        = "substr" ;
+    public static final String tagSubstr        = "substr" ;
+    public static final String tagReplace       = "replace" ;
     public static final String tagStrUppercase  = "ucase" ;
     public static final String tagStrLowercase  = "lcase" ;
     public static final String tagStrEnds       = "strends" ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/sse/builders/BuilderExpr.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/sse/builders/BuilderExpr.java?rev=1177842&r1=1177841&r2=1177842&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/sse/builders/BuilderExpr.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/sse/builders/BuilderExpr.java Fri Sep 30 21:29:06 2011
@@ -18,93 +18,21 @@
 
 package com.hp.hpl.jena.sparql.sse.builders;
 
-import java.util.HashMap ;
-import java.util.Iterator ;
-import java.util.Map ;
-
-import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.sparql.ARQInternalErrorException ;
-import com.hp.hpl.jena.sparql.algebra.Op ;
-import com.hp.hpl.jena.sparql.core.Var ;
-import com.hp.hpl.jena.sparql.core.VarExprList ;
-import com.hp.hpl.jena.sparql.expr.E_Add ;
-import com.hp.hpl.jena.sparql.expr.E_BNode ;
-import com.hp.hpl.jena.sparql.expr.E_Bound ;
-import com.hp.hpl.jena.sparql.expr.E_Coalesce ;
-import com.hp.hpl.jena.sparql.expr.E_Conditional ;
-import com.hp.hpl.jena.sparql.expr.E_Datatype ;
-import com.hp.hpl.jena.sparql.expr.E_DateTimeDay ;
-import com.hp.hpl.jena.sparql.expr.E_DateTimeHours ;
-import com.hp.hpl.jena.sparql.expr.E_DateTimeMinutes ;
-import com.hp.hpl.jena.sparql.expr.E_DateTimeMonth ;
-import com.hp.hpl.jena.sparql.expr.E_DateTimeSeconds ;
-import com.hp.hpl.jena.sparql.expr.E_DateTimeTZ ;
-import com.hp.hpl.jena.sparql.expr.E_DateTimeTimezone ;
-import com.hp.hpl.jena.sparql.expr.E_DateTimeYear ;
-import com.hp.hpl.jena.sparql.expr.E_Divide ;
-import com.hp.hpl.jena.sparql.expr.E_Equals ;
-import com.hp.hpl.jena.sparql.expr.E_Exists ;
-import com.hp.hpl.jena.sparql.expr.E_Function ;
-import com.hp.hpl.jena.sparql.expr.E_GreaterThan ;
-import com.hp.hpl.jena.sparql.expr.E_GreaterThanOrEqual ;
-import com.hp.hpl.jena.sparql.expr.E_IRI ;
-import com.hp.hpl.jena.sparql.expr.E_IsBlank ;
-import com.hp.hpl.jena.sparql.expr.E_IsIRI ;
-import com.hp.hpl.jena.sparql.expr.E_IsLiteral ;
-import com.hp.hpl.jena.sparql.expr.E_IsURI ;
-import com.hp.hpl.jena.sparql.expr.E_Lang ;
-import com.hp.hpl.jena.sparql.expr.E_LangMatches ;
-import com.hp.hpl.jena.sparql.expr.E_LessThan ;
-import com.hp.hpl.jena.sparql.expr.E_LessThanOrEqual ;
-import com.hp.hpl.jena.sparql.expr.E_LogicalAnd ;
-import com.hp.hpl.jena.sparql.expr.E_LogicalNot ;
-import com.hp.hpl.jena.sparql.expr.E_LogicalOr ;
-import com.hp.hpl.jena.sparql.expr.E_MD5 ;
-import com.hp.hpl.jena.sparql.expr.E_Multiply ;
-import com.hp.hpl.jena.sparql.expr.E_NotEquals ;
-import com.hp.hpl.jena.sparql.expr.E_NotExists ;
-import com.hp.hpl.jena.sparql.expr.E_NotOneOf ;
-import com.hp.hpl.jena.sparql.expr.E_Now ;
-import com.hp.hpl.jena.sparql.expr.E_NumAbs ;
-import com.hp.hpl.jena.sparql.expr.E_NumCeiling ;
-import com.hp.hpl.jena.sparql.expr.E_NumFloor ;
-import com.hp.hpl.jena.sparql.expr.E_NumRound ;
-import com.hp.hpl.jena.sparql.expr.E_OneOf ;
-import com.hp.hpl.jena.sparql.expr.E_Random ;
-import com.hp.hpl.jena.sparql.expr.E_Regex ;
-import com.hp.hpl.jena.sparql.expr.E_SHA1 ;
-import com.hp.hpl.jena.sparql.expr.E_SHA224 ;
-import com.hp.hpl.jena.sparql.expr.E_SHA256 ;
-import com.hp.hpl.jena.sparql.expr.E_SHA384 ;
-import com.hp.hpl.jena.sparql.expr.E_SHA512 ;
-import com.hp.hpl.jena.sparql.expr.E_SameTerm ;
-import com.hp.hpl.jena.sparql.expr.E_Str ;
-import com.hp.hpl.jena.sparql.expr.E_StrConcat ;
-import com.hp.hpl.jena.sparql.expr.E_StrContains ;
-import com.hp.hpl.jena.sparql.expr.E_StrDatatype ;
-import com.hp.hpl.jena.sparql.expr.E_StrEncodeForURI ;
-import com.hp.hpl.jena.sparql.expr.E_StrEndsWith ;
-import com.hp.hpl.jena.sparql.expr.E_StrLang ;
-import com.hp.hpl.jena.sparql.expr.E_StrLength ;
-import com.hp.hpl.jena.sparql.expr.E_StrLowerCase ;
-import com.hp.hpl.jena.sparql.expr.E_StrStartsWith ;
-import com.hp.hpl.jena.sparql.expr.E_StrSubstring ;
-import com.hp.hpl.jena.sparql.expr.E_StrUpperCase ;
-import com.hp.hpl.jena.sparql.expr.E_Subtract ;
-import com.hp.hpl.jena.sparql.expr.E_URI ;
-import com.hp.hpl.jena.sparql.expr.E_UnaryMinus ;
-import com.hp.hpl.jena.sparql.expr.E_UnaryPlus ;
-import com.hp.hpl.jena.sparql.expr.E_Version ;
-import com.hp.hpl.jena.sparql.expr.Expr ;
-import com.hp.hpl.jena.sparql.expr.ExprAggregator ;
-import com.hp.hpl.jena.sparql.expr.ExprList ;
-import com.hp.hpl.jena.sparql.expr.ExprVar ;
-import com.hp.hpl.jena.sparql.expr.NodeValue ;
-import com.hp.hpl.jena.sparql.expr.aggregate.Aggregator ;
-import com.hp.hpl.jena.sparql.expr.aggregate.AggregatorFactory ;
-import com.hp.hpl.jena.sparql.sse.Item ;
-import com.hp.hpl.jena.sparql.sse.ItemList ;
-import com.hp.hpl.jena.sparql.sse.Tags ;
+import java.util.HashMap ;
+import java.util.Iterator ;
+import java.util.Map ;
+
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.sparql.ARQInternalErrorException ;
+import com.hp.hpl.jena.sparql.algebra.Op ;
+import com.hp.hpl.jena.sparql.core.Var ;
+import com.hp.hpl.jena.sparql.core.VarExprList ;
+import com.hp.hpl.jena.sparql.expr.* ;
+import com.hp.hpl.jena.sparql.expr.aggregate.Aggregator ;
+import com.hp.hpl.jena.sparql.expr.aggregate.AggregatorFactory ;
+import com.hp.hpl.jena.sparql.sse.Item ;
+import com.hp.hpl.jena.sparql.sse.ItemList ;
+import com.hp.hpl.jena.sparql.sse.Tags ;
 
 public class BuilderExpr
 {
@@ -318,6 +246,7 @@ public class BuilderExpr
         dispatch.put(Tags.tagTZ, buildTZ) ;
         
         dispatch.put(Tags.tagNow, buildNow) ;
+        dispatch.put(Tags.tagUUID, buildUUID) ;
         dispatch.put(Tags.tagVersion, buildVersion) ;
         
         dispatch.put(Tags.tagMD5, buildMD5) ;
@@ -328,7 +257,8 @@ public class BuilderExpr
         dispatch.put(Tags.tagSHA512, buildSHA512) ;
 
         dispatch.put(Tags.tagStrlen, buildStrlen) ;
-        dispatch.put(Tags.tagSubstr, buildSubstr) ;
+        dispatch.put(Tags.tagSubstr, buildSubstr) ;
+        dispatch.put(Tags.tagReplace, buildStrReplace) ;
         dispatch.put(Tags.tagStrUppercase, buildStrUppercase) ;
         dispatch.put(Tags.tagStrLowercase, buildStrLowercase) ;
         dispatch.put(Tags.tagStrEnds, buildStrEnds) ;
@@ -350,8 +280,8 @@ public class BuilderExpr
         dispatch.put(Tags.tagCoalesce, buildCoalesce) ;
         dispatch.put(Tags.tagConcat, buildConcat) ;
         dispatch.put(Tags.tagIf, buildConditional) ;
-        dispatch.put(Tags.tagIRI, buildIsIRI) ;
-        dispatch.put(Tags.tagURI, buildIsURI) ;
+        dispatch.put(Tags.tagIsIRI, buildIsIRI) ;
+        dispatch.put(Tags.tagIsURI, buildIsURI) ;
         dispatch.put(Tags.tagIsBlank, buildIsBlank) ;
         dispatch.put(Tags.tagIsLiteral, buildIsLiteral) ;
         dispatch.put(Tags.tagExists, buildExists) ;
@@ -725,6 +655,15 @@ public class BuilderExpr
         }
     } ;
     
+    final protected Build buildUUID = new Build()
+    {
+        public Expr make(ItemList list)
+        {
+            BuilderLib.checkLength(1, list, "uuid: wanted 0 arguments: got: "+numArgs(list)) ;
+            return new E_UUID() ; 
+        }
+    } ;
+    
     final protected Build buildVersion = new Build()
     {
         public Expr make(ItemList list)
@@ -813,9 +752,24 @@ public class BuilderExpr
             Expr x = buildExpr(list.get(2)) ;
             Expr y = null ;
             if ( list.size() == 4 )
-                y = buildExpr(list.get(2)) ;
+                y = buildExpr(list.get(3)) ;
             return new E_StrSubstring(ex, x, y) ; 
         }
+    } ;
+    
+    final protected Build buildStrReplace = new Build()
+    {
+        public Expr make(ItemList list)
+        {
+            BuilderLib.checkLength(4, 5, list, "replace: wanted 3 or 4 arguments: got: "+numArgs(list)) ;
+            Expr ex = buildExpr(list.get(1)) ;
+            Expr x = buildExpr(list.get(2)) ;
+            Expr y = buildExpr(list.get(3)) ;
+            Expr z = null ;
+            if ( list.size() == 5 )
+                z = buildExpr(list.get(4)) ;
+            return new E_StrReplace(ex, x, y, z) ; 
+        }
     } ;
     
     final protected Build buildStrUppercase = new Build()