You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by afs <gi...@git.apache.org> on 2017/12/17 20:06:21 UTC
[GitHub] jena pull request #331: JENA-1450: Fn error
GitHub user afs opened a pull request:
https://github.com/apache/jena/pull/331
JENA-1450: Fn error
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/afs/jena fn_error
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/jena/pull/331.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #331
----
commit 2d421aa66c2fac8b9317321777768e6ae2acca4f
Author: Andy Seaborne <an...@apache.org>
Date: 2017-12-13T16:34:11Z
Add fn:error.
commit 94921dc0da8650b1cf7472d17ac0b737fcee2d44
Author: Andy Seaborne <an...@apache.org>
Date: 2017-12-13T16:34:24Z
Fix test suite naming.
----
---
[GitHub] jena pull request #331: JENA-1450: fn:error
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/jena/pull/331
---
[GitHub] jena pull request #331: JENA-1450: fn:error
Posted by ajs6f <gi...@git.apache.org>.
Github user ajs6f commented on a diff in the pull request:
https://github.com/apache/jena/pull/331#discussion_r157378417
--- Diff: jena-arq/src/main/java/org/apache/jena/sparql/function/library/FN_Error.java ---
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.sparql.function.library;
+
+import java.util.List ;
+
+import org.apache.jena.atlas.lib.Lib;
+import org.apache.jena.query.QueryBuildException;
+import org.apache.jena.sparql.ARQInternalErrorException;
+import org.apache.jena.sparql.expr.ExprEvalException ;
+import org.apache.jena.sparql.expr.ExprList ;
+import org.apache.jena.sparql.expr.NodeValue ;
+import org.apache.jena.sparql.expr.nodevalue.NodeFunctions;
+import org.apache.jena.sparql.function.FunctionBase;
+
+/** XPath and XQuery Functions and Operators 3.1
+ * <p>
+ * {@code fn:error()}
+ * <br/>
+ * {@code fn:error(message)}
+ */
+public class FN_Error extends FunctionBase {
+
+ @Override
+ public void checkBuild(String uri, ExprList args) {
+ if ( args.size() != 0 && args.size() != 1 )
+ throw new QueryBuildException("Function '"+Lib.className(this)+"' takes zero or one arguments") ;
+ }
+
+ @Override
+ public NodeValue exec(List<NodeValue> args) {
+ if ( args == null )
+ // The contract on the function interface is that this should not happen.
+ throw new ARQInternalErrorException("FunctionBase1: Null args list") ;
+
+ int size = args.size();
--- End diff --
Did you mean to use this `size` var below? It doesn't seem to get used at all...
---