You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2015/05/10 15:03:30 UTC
[01/50] [abbrv] jena git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/jena
Repository: jena
Updated Branches:
refs/heads/add-contract-tests 5bc9578fc -> b01950b90
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/jena
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/84d06159
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/84d06159
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/84d06159
Branch: refs/heads/add-contract-tests
Commit: 84d06159088198c727159c6ca53dce80674e8c50
Parents: cfd8706 fe98924
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Apr 30 22:13:46 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Apr 30 22:13:46 2015 +0100
----------------------------------------------------------------------
.../arq/querybuilder/handlers/WhereHandler.java | 3 ++
.../jena/arq/AbstractRegexpBasedTest.java | 1 +
.../querybuilder/handlers/WhereHandlerTest.java | 33 +++++++++++++-------
3 files changed, 26 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
[50/50] [abbrv] jena git commit: Merge branch 'add-contract-tests' of
https://git-wip-us.apache.org/repos/asf/jena into add-contract-tests
Posted by cl...@apache.org.
Merge branch 'add-contract-tests' of https://git-wip-us.apache.org/repos/asf/jena into add-contract-tests
Conflicts:
jena-core/pom.xml
jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java
jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java
jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestException.java
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/b01950b9
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/b01950b9
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/b01950b9
Branch: refs/heads/add-contract-tests
Commit: b01950b9096113761986c4a604103b142e06f342
Parents: 335a761 5bc9578
Author: Claude Warren <cl...@apache.org>
Authored: Sun May 10 14:02:17 2015 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Sun May 10 14:02:17 2015 +0100
----------------------------------------------------------------------
jena-core/pom.xml | 425 +++++++++----------
.../apache/jena/graph/GraphContractTest.java | 7 +
2 files changed, 204 insertions(+), 228 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/b01950b9/jena-core/pom.xml
----------------------------------------------------------------------
diff --cc jena-core/pom.xml
index d64e195,6696660..ab2be30
--- a/jena-core/pom.xml
+++ b/jena-core/pom.xml
@@@ -1,232 -1,200 +1,201 @@@
<?xml version="1.0" encoding="utf-8"?>
- <!--
- 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.
- -->
-
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jena-core</artifactId>
- <packaging>jar</packaging>
- <name>Apache Jena - Core</name>
- <version>3.0.0-SNAPSHOT</version>
-
- <parent>
- <groupId>org.apache.jena</groupId>
- <artifactId>jena-parent</artifactId>
- <version>14-SNAPSHOT</version>
- <relativePath>../jena-parent</relativePath>
- </parent>
-
- <description>Jena is a Java framework for building Semantic Web applications. It provides a programmatic environment for RDF, RDFS and OWL, SPARQL and includes a rule-based inference engine.</description>
-
- <properties>
- <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>
- <build.time.xsd>${maven.build.timestamp}</build.time.xsd>
- </properties>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.jena</groupId>
- <artifactId>jena-base</artifactId>
- <version>3.0.0-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.jena</groupId>
- <artifactId>jena-base</artifactId>
- <version>3.0.0-SNAPSHOT</version>
- <scope>test</scope>
- <classifier>tests</classifier>
- </dependency>
-
- <dependency>
- <groupId>org.apache.jena</groupId>
- <artifactId>jena-iri</artifactId>
- <version>3.0.0-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.xenei</groupId>
- <artifactId>junit-contracts</artifactId>
- <version>0.1.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>1.9.5</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <resources>
-
- <!-- Legacy -->
- <resource>
- <directory>etc</directory>
- <targetPath>etc</targetPath>
- <filtering>false</filtering>
- </resource>
-
- <resource>
- <filtering>false</filtering>
- <directory>src/main/resources</directory>
- </resource>
-
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>org/apache/jena/jena-properties.xml</include>
- </includes>
- <filtering>true</filtering>
- </resource>
-
- </resources>
-
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemProperties>
- <property>
- <name>log4j.configuration</name>
- <value>jena-test-log4j.properties</value>
- </property>
- </systemProperties>
- <includes>
- <include>org/apache/jena/test/TestPackage.java</include>
++
+ <!-- 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. -->
+
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jena-core</artifactId>
+ <packaging>jar</packaging>
+ <name>Apache Jena - Core</name>
+ <version>3.0.0-SNAPSHOT</version>
+
+ <parent>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-parent</artifactId>
+ <version>14-SNAPSHOT</version>
+ <relativePath>../jena-parent</relativePath>
+ </parent>
+
+ <description>Jena is a Java framework for building Semantic Web applications. It provides a programmatic environment for RDF, RDFS and OWL, SPARQL and includes a rule-based inference engine.</description>
+
+ <properties>
+ <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>
+ <build.time.xsd>${maven.build.timestamp}</build.time.xsd>
+ </properties>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-iri</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.xenei</groupId>
+ <artifactId>junit-contracts</artifactId>
+ <version>0.0.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+
+ <resources>
+
+ <!-- Legacy -->
+ <resource>
+ <directory>etc</directory>
+ <targetPath>etc</targetPath>
+ <filtering>false</filtering>
+ </resource>
+
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/resources</directory>
+ </resource>
+
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>org/apache/jena/jena-properties.xml</include>
+ </includes>
+ <filtering>true</filtering>
+ </resource>
+
+ </resources>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>log4j.configuration</name>
+ <value>jena-test-log4j.properties</value>
+ </property>
+ </systemProperties>
+ <includes>
+ <include>com/hp/hpl/jena/test/TestPackage.java</include>
<include>**/*_CS.java</include>
- </includes>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- <execution>
- <id>attach-sources-test</id>
- <phase>package</phase>
- <goals>
- <goal>test-jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <author>true</author>
- <version>true</version>
- <show>public</show>
- <quiet>true</quiet>
- <encoding>UTF-8</encoding>
- <windowtitle>Apache Jena</windowtitle>
- <doctitle>Apache Jena Core ${project.version}</doctitle>
- <bottom>Licenced under the Apache License, Version 2.0</bottom>
- <excludePackageNames>org.apache.jena.shared.*:*.impl:org.apache.jena.assembler.assemblers:*.exceptions:*.regexptrees:org.apache.jena.mem:org.apache.jena.mem.*:org.apache.jena.n3:org.apache.jena.n3.*:org.apache.jena.rdf.arp.*:org.apache.jena.util.*:jena.cmdline:jena.util</excludePackageNames>
- <groups>
- <group>
- <title>API - Application Programming Interface</title>
- <packages>org.apache.jena.db:org.apache.jena.rdf.model:org.apache.jena.rdf.listeners:org.apache.jena.rdf.arp:org.apache.jena.rdf.arp.lang:org.apache.jena.datatypes:org.apache.jena.datatypes.xsd:org.apache.jena.rdql:org.apache.jena.shared:org.apache.jena.vocabulary:org.apache.jena.xmloutput:org.apache.jena.ontology:org.apache.jena.ontology.daml:org.apache.jena.reasoner:org.apache.jena.reasoner.rulesys:org.apache.jena.reasoner.rulesys.builtins:org.apache.jena.reasoner.transitiveReasoner:org.apache.jena.reasoner.dig</packages>
- </group>
- <group>
- <title>SPI - System Programming Interface</title>
- <packages>org.apache.jena.enhanced:org.apache.jena.graph:org.apache.jena.graph.compose:org.apache.jena.graph.query:org.apache.jena.util:org.apache.jena.util.iterator</packages>
- </group>
- <group>
- <title>Command line tools</title>
- <packages>jena</packages>
- </group>
- <group>
- <title>Other Packages</title>
- <packages>org.apache.jena.assembler</packages>
- </group>
- </groups>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <!--
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- </plugin>
- <!- - see: http://maven.apache.org/guides/mini/guide-attached-tests.html - ->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- -->
- </plugins>
- </build>
+ </includes>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>attach-sources-test</id>
+ <phase>package</phase>
+ <goals>
+ <goal>test-jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <author>true</author>
+ <version>true</version>
+ <show>public</show>
+ <quiet>true</quiet>
+ <encoding>UTF-8</encoding>
+ <windowtitle>Apache Jena</windowtitle>
+ <doctitle>Apache Jena Core ${project.version}</doctitle>
+ <bottom>Licenced under the Apache License, Version 2.0</bottom>
+ <excludePackageNames>com.hp.hpl.jena.shared.*:*.impl:com.hp.hpl.jena.assembler.assemblers:*.exceptions:*.regexptrees:com.hp.hpl.jena.mem:com.hp.hpl.jena.mem.*:com.hp.hpl.jena.n3:com.hp.hpl.jena.n3.*:com.hp.hpl.jena.rdf.arp.*:com.hp.hpl.jena.util.*:jena.cmdline:jena.util</excludePackageNames>
+ <groups>
+ <group>
+ <title>API - Application Programming Interface</title>
+ <packages>com.hp.hpl.jena.db:com.hp.hpl.jena.rdf.model:com.hp.hpl.jena.rdf.listeners:com.hp.hpl.jena.rdf.arp:com.hp.hpl.jena.rdf.arp.lang:com.hp.hpl.jena.datatypes:com.hp.hpl.jena.datatypes.xsd:com.hp.hpl.jena.rdql:com.hp.hpl.jena.shared:com.hp.hpl.jena.vocabulary:com.hp.hpl.jena.xmloutput:com.hp.hpl.jena.ontology:com.hp.hpl.jena.ontology.daml:com.hp.hpl.jena.reasoner:com.hp.hpl.jena.reasoner.rulesys:com.hp.hpl.jena.reasoner.rulesys.builtins:com.hp.hpl.jena.reasoner.transitiveReasoner:com.hp.hpl.jena.reasoner.dig</packages>
+ </group>
+ <group>
+ <title>SPI - System Programming Interface</title>
+ <packages>com.hp.hpl.jena.enhanced:com.hp.hpl.jena.graph:com.hp.hpl.jena.graph.compose:com.hp.hpl.jena.graph.query:com.hp.hpl.jena.util:com.hp.hpl.jena.util.iterator</packages>
+ </group>
+ <group>
+ <title>Command line tools</title>
+ <packages>jena</packages>
+ </group>
+ <group>
+ <title>Other Packages</title>
+ <packages>com.hp.hpl.jena.assembler</packages>
+ </group>
+ </groups>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId>
+ </plugin> <!- - see: http://maven.apache.org/guides/mini/guide-attached-tests.html
+ - -> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId>
+ <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution>
+ </executions> </plugin> -->
+ </plugins>
+ </build>
</project>
http://git-wip-us.apache.org/repos/asf/jena/blob/b01950b9/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
----------------------------------------------------------------------
diff --cc jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
index 589f095,55ad955..16bbc26
--- a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
@@@ -1453,10 -1452,10 +1453,17 @@@ public class GraphContractTest<T extend
//
// used to find the object set from the returned set for literal testing
++<<<<<<< HEAD
+ private static final Function<Triple, Node> getObject = new Function<Triple, Node>() {
+ @Override
+ public Node apply(Triple t) {
+ return t.getObject();
++=======
+ private static final Map1<Triple, Node> getObject = new Map1<Triple, Node>() {
+ @Override
+ public Node map1(Triple o) {
+ return o.getObject();
++>>>>>>> 5bc9578fc31fe58017b80d1a15e41b593ee31074
}
};
[39/50] [abbrv] jena git commit: Typo
Posted by cl...@apache.org.
Typo
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1119bf88
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1119bf88
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1119bf88
Branch: refs/heads/add-contract-tests
Commit: 1119bf887fe65849df8880b94dd4eb772a2d09a0
Parents: e15c224
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 8 14:05:10 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 8 14:05:10 2015 +0100
----------------------------------------------------------------------
jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/1119bf88/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
index 09a4467..d580905 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
@@ -72,7 +72,7 @@ public class NodeUtils
return true ;
}
- /** Get lexical for of anythign that looks like a string literal.
+ /** Get lexical for of anything that looks like a string literal.
* Returns the string value of plain literal (simple literal
* or lang string) or XSD string.
*/
[46/50] [abbrv] jena git commit: added comments to contract test
added additional string type tests.
Posted by cl...@apache.org.
added comments to contract test
added additional string type tests.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d12bd572
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d12bd572
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d12bd572
Branch: refs/heads/add-contract-tests
Commit: d12bd572bef6320eb193c946bafafa47a0e489ab
Parents: b293ee8
Author: Claude Warren <cl...@apache.org>
Authored: Sun Apr 26 21:16:14 2015 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Sat May 9 15:27:40 2015 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/graph/GraphContractTest.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/d12bd572/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
index cf79da5..a989bae 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
@@ -1486,12 +1486,14 @@ public class GraphContractTest<T extends Graph> extends
"'simple'xsd:string", true);
testLiteralTypingBasedFind("a P 'simple'", 1, "'simple'xsd:string",
"'simple'", true);
+ // ensure that adding identical strings one with type yields single result
+ // and that querying with or without type works
testLiteralTypingBasedFind("a P 'simple'xsd:string", 1,
"'simple'xsd:string", "'simple'xsd:string", false);
-// testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 2,
-// "'simple'", "'simple' 'simple'xsd:string", true);
-// testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 2,
-// "'simple'xsd:string", "'simple' 'simple'xsd:string", true);
+ testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 1,
+ "'simple'", "'simple'xsd:string", true);
+ testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 1,
+ "'simple'xsd:string", "'simple'", true);
testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 1,
"'simple'", "'simple'", true);
testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 1,
[14/50] [abbrv] jena git commit: Clean javadoc
Posted by cl...@apache.org.
Clean javadoc
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/8dbd7fa6
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/8dbd7fa6
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/8dbd7fa6
Branch: refs/heads/add-contract-tests
Commit: 8dbd7fa66eab844b4d0e43dc9122e51f713e1156
Parents: c334691
Author: Andy Seaborne <an...@apache.org>
Authored: Sat May 2 18:21:29 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat May 2 18:21:29 2015 +0100
----------------------------------------------------------------------
jena-core/src/main/java/org/apache/jena/ontology/OntTools.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/8dbd7fa6/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java b/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java
index bb3b2a3..1f80448 100755
--- a/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java
@@ -136,9 +136,9 @@ public class OntTools
* such that every step on the path is accepted by the given filter. A path is a {@link List}
* of RDF {@link Statement}s. The subject of the first statement in the list is <code>start</code>,
* and the object of the last statement in the list is <code>end</code>.</p>
- * <p>The <code>onPath</code> argument is a {@link Filter}, which accepts a statement and returns
+ * <p>The <code>onPath</code> argument is a {@link Predicate}, which accepts a statement and returns
* true if the statement should be considered to be on the path. To search for an unconstrained
- * path, pass {@link Filter#any} as an argument. To search for a path whose predicates match a
+ * path, pass <code>()->true</code> as an argument. To search for a path whose predicates match a
* fixed restricted set of property names, pass an instance of {@link PredicatesFilter}.</p>
* <p>If there is more than one path of minimal length from <code>start</code> to <code>end</code>,
* this method returns an arbitrary one. The algorithm is blind breadth-first search,
[48/50] [abbrv] jena git commit: file graph test
Posted by cl...@apache.org.
file graph test
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c004d800
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c004d800
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c004d800
Branch: refs/heads/add-contract-tests
Commit: c004d800faa51284954ec353f3266bff6cf7fe67
Parents: 608c2b4
Author: Claude Warren <cl...@apache.org>
Authored: Thu Apr 30 18:17:33 2015 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Sat May 9 16:15:32 2015 +0100
----------------------------------------------------------------------
.../test/java/org/apache/jena/graph/impl/FileGraph_CS.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c004d800/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
index b7bb6c3..1b4d321 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
@@ -30,8 +30,8 @@ import org.xenei.junit.contract.ContractImpl;
import org.xenei.junit.contract.ContractSuite;
import org.xenei.junit.contract.IProducer;
-@RunWith(ContractSuite.class)
-@ContractImpl(FileGraph.class)
+//@RunWith(ContractSuite.class)
+//@ContractImpl(FileGraph.class)
public class FileGraph_CS {
protected IProducer<FileGraph> graphProducer;
@@ -52,10 +52,11 @@ public class FileGraph_CS {
File f;
try {
f = File.createTempFile("fgp", ".ttl" );
+ f.delete();
} catch (IOException e) {
throw new RuntimeException( "Can not create file", e );
}
- return new FileGraph( f, false, true );
+ return new FileGraph( f, true, true );
}
@Override
[22/50] [abbrv] jena git commit: JENA-932: Look for fuseki:Service if
no services list found.
Posted by cl...@apache.org.
JENA-932: Look for fuseki:Service if no services list found.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/22573774
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/22573774
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/22573774
Branch: refs/heads/add-contract-tests
Commit: 2257377413564fb381d1bb1ec8ca8c33c91ce69b
Parents: 547b50a
Author: Andy Seaborne <an...@apache.org>
Authored: Mon May 4 20:04:28 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon May 4 20:04:28 2015 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/fuseki/build/FusekiConfig.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/22573774/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
index c940321..e7cf42b 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java
@@ -124,7 +124,7 @@ public class FusekiConfig {
private static List<DataAccessPoint> servicesAndDatasets(Model model) {
// Old style configuration file : server to services.
// ---- Services
- ResultSet rs = FusekiLib.query("SELECT * { ?s fu:services [ list:member ?member ] }", model) ;
+ ResultSet rs = FusekiLib.query("SELECT * { ?s fu:services [ list:member ?service ] }", model) ;
// If the old config.ttl file becomes just the server configuration file,
// then don't warn here.
// if ( !rs.hasNext() )
@@ -132,12 +132,18 @@ public class FusekiConfig {
List<DataAccessPoint> accessPoints = new ArrayList<>() ;
+ if ( ! rs.hasNext() )
+ // No "fu:services ( .... )" so try looking for services directly.
+ // This means Fuseki2, service configuration files (no server section) work for --conf.
+ rs = FusekiLib.query("SELECT ?service { ?service a fu:Service }", model) ;
+
for ( ; rs.hasNext() ; ) {
QuerySolution soln = rs.next() ;
- Resource svc = soln.getResource("member") ;
+ Resource svc = soln.getResource("service") ;
DataAccessPoint acc = Builder.buildDataAccessPoint(svc) ;
accessPoints.add(acc) ;
}
+
return accessPoints ;
}
[11/50] [abbrv] jena git commit: JENA-930: Remove deprecated Node
statics - use NodeFactory instead.
Posted by cl...@apache.org.
JENA-930: Remove deprecated Node statics - use NodeFactory instead.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/b4b5c1d0
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/b4b5c1d0
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/b4b5c1d0
Branch: refs/heads/add-contract-tests
Commit: b4b5c1d072facc02a1274520aa6fc6fac7ae5566
Parents: 103776e
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 17:58:32 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 18:00:33 2015 +0100
----------------------------------------------------------------------
.../main/java/org/apache/jena/graph/Node.java | 126 -------------------
.../model/impl/SecuredLiteralImpl.java | 15 ++-
2 files changed, 7 insertions(+), 134 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/b4b5c1d0/jena-core/src/main/java/org/apache/jena/graph/Node.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node.java b/jena-core/src/main/java/org/apache/jena/graph/Node.java
index 346e457..023e78a 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/Node.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/Node.java
@@ -18,7 +18,6 @@
package org.apache.jena.graph;
-import org.apache.jena.datatypes.DatatypeFormatException ;
import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.graph.impl.LiteralLabel ;
import org.apache.jena.rdf.model.AnonId ;
@@ -46,131 +45,6 @@ public abstract class Node {
static final String RDFprefix = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
/**
- * @deprecated Use {@link NodeFactory#getType(String)} instead
- */
- @Deprecated
- public static RDFDatatype getType( String s )
- {
- return NodeFactory.getType(s) ;
- }
-
- /** make a blank node with a fresh anon id
- * @deprecated Use {@link NodeFactory#createAnon()} instead*/
- @Deprecated
- public static Node createAnon()
- {
- return NodeFactory.createAnon() ;
- }
-
- /** make a blank node with the specified label
- * @deprecated Use {@link NodeFactory#createAnon(AnonId)} instead*/
- @Deprecated
- public static Node createAnon( AnonId id )
- {
- return NodeFactory.createAnon(id) ;
- }
-
- /** make a literal node with the specified literal value
- * @deprecated Use {@link NodeFactory#createLiteral(LiteralLabel)} instead*/
- @Deprecated
- public static Node createLiteral( LiteralLabel lit )
- {
- return NodeFactory.createLiteral(lit) ;
- }
-
- /** make a URI node with the specified URIref string
- * @deprecated Use {@link NodeFactory#createURI(String)} instead*/
- @Deprecated
- public static Node createURI( String uri )
- {
- return NodeFactory.createURI(uri) ;
- }
-
- /** make a variable node with a given name
- * @deprecated Use {@link NodeFactory#createVariable(String)} instead*/
- @Deprecated
- public static Node createVariable( String name )
- {
- return NodeFactory.createVariable(name) ;
- }
-
- /**
- * @deprecated Use {@link NodeFactory#createLiteral(String)} instead
- */
- @Deprecated
- public static Node createLiteral( String value )
- {
- return NodeFactory.createLiteral(value) ;
- }
-
- /** make a literal with specified language and XMLishness.
- _lit_ must *not* be null.
- @param isXml If true then lit is exclusive canonical XML of type
- rdf:XMLLiteral, and no checking will be invoked.
- * @deprecated Use {@link NodeFactory#createLiteral(String,String,boolean)} instead
- */
- @Deprecated
- public static Node createLiteral( String lit, String lang, boolean isXml )
- {
- return NodeFactory.createLiteral(lit, lang, isXml) ;
- }
-
- /**
- * Build a literal node from its lexical form. The
- * lexical form will be parsed now and the value stored. If
- * the form is not legal this will throw an exception.
- *
- * @param lex the lexical form of the literal
- * @param lang the optional language tag
- * @param dtype the type of the literal, null for old style "plain" literals
- * @throws DatatypeFormatException if lex is not a legal form of dtype
- * @deprecated Use {@link NodeFactory#createLiteral(String,String,RDFDatatype)} instead
- */
- @Deprecated
- public static Node createLiteral( String lex, String lang, RDFDatatype dtype )
- throws DatatypeFormatException
- {
- return NodeFactory.createLiteral(lex, lang, dtype) ;
- }
-
- /**
- * Build a typed literal node from its lexical form. The
- * lexical form will be parsed now and the value stored. If
- * the form is not legal this will throw an exception.
- *
- * @param lex the lexical form of the literal
- * @param dtype the type of the literal, null for old style "plain" literals
- * @throws DatatypeFormatException if lex is not a legal form of dtype
- * @deprecated Use {@link NodeFactory#createLiteral(String,RDFDatatype)} instead
- */
- @Deprecated
- public static Node createLiteral( String lex, RDFDatatype dtype )
- throws DatatypeFormatException
- {
- return NodeFactory.createLiteral(lex, dtype) ;
- }
-
- /**
- * @deprecated Use {@link NodeFactory#createUncachedLiteral(Object,String,RDFDatatype)} instead
- */
- @Deprecated
- public static Node createUncachedLiteral( Object value, String lang, RDFDatatype dtype )
- throws DatatypeFormatException
- {
- return NodeFactory.createUncachedLiteral(value, lang, dtype) ;
- }
-
- /**
- * @deprecated Use {@link NodeFactory#createUncachedLiteral(Object,RDFDatatype)} instead
- */
- @Deprecated
- public static Node createUncachedLiteral( Object value, RDFDatatype dtype )
- throws DatatypeFormatException
- {
- return NodeFactory.createUncachedLiteral(value, dtype) ;
- }
-
- /**
Visit a Node and dispatch on it to the appropriate method from the
NodeVisitor <code>v</code>.
http://git-wip-us.apache.org/repos/asf/jena/blob/b4b5c1d0/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredLiteralImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredLiteralImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredLiteralImpl.java
index c457328..3291bd1 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredLiteralImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredLiteralImpl.java
@@ -18,12 +18,12 @@
package org.apache.jena.permissions.model.impl;
import org.apache.jena.datatypes.RDFDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.permissions.impl.ItemHolder;
-import org.apache.jena.permissions.impl.SecuredItemInvoker;
-import org.apache.jena.permissions.model.SecuredLiteral;
-import org.apache.jena.permissions.model.SecuredModel;
-import org.apache.jena.permissions.model.SecuredResource;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.permissions.impl.ItemHolder ;
+import org.apache.jena.permissions.impl.SecuredItemInvoker ;
+import org.apache.jena.permissions.model.SecuredLiteral ;
+import org.apache.jena.permissions.model.SecuredModel ;
+import org.apache.jena.permissions.model.SecuredResource ;
import org.apache.jena.rdf.model.Literal ;
import org.apache.jena.rdf.model.Model ;
import org.apache.jena.rdf.model.RDFVisitor ;
@@ -118,8 +118,7 @@ public class SecuredLiteralImpl extends SecuredRDFNodeImpl implements
}
else
{
- throw new ResourceRequiredException(
- Node.createLiteral("Can not read"));
+ throw new ResourceRequiredException(NodeFactory.createLiteral("Can not read"));
}
}
[44/50] [abbrv] jena git commit: Added initial contract tests added
testing_framework
Posted by cl...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/RecordingGraphListener.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/RecordingGraphListener.java b/jena-core/src/test/java/org/apache/jena/graph/RecordingGraphListener.java
new file mode 100644
index 0000000..ed94c8f
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/RecordingGraphListener.java
@@ -0,0 +1,92 @@
+/*
+ * 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.graph;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphListener;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.testing_framework.AbstractRecordingListener;
+import org.apache.jena.testing_framework.GraphHelper;
+
+/**
+ * This testing listener records the event names and data, and provides a method
+ * for comparing the actual with the expected history.
+ */
+public class RecordingGraphListener extends AbstractRecordingListener implements
+ GraphListener {
+
+ @Override
+ public void notifyAddTriple(Graph g, Triple t) {
+ record("add", g, t);
+ }
+
+ @Override
+ public void notifyAddArray(Graph g, Triple[] triples) {
+ record("add[]", g, triples);
+ }
+
+ @Override
+ public void notifyAddList(Graph g, List<Triple> triples) {
+ record("addList", g, triples);
+ }
+
+ @Override
+ public void notifyAddIterator(Graph g, Iterator<Triple> it) {
+ record("addIterator", g, GraphHelper.iteratorToList(it));
+ }
+
+ @Override
+ public void notifyAddGraph(Graph g, Graph added) {
+ record("addGraph", g, added);
+ }
+
+ @Override
+ public void notifyDeleteTriple(Graph g, Triple t) {
+ record("delete", g, t);
+ }
+
+ @Override
+ public void notifyDeleteArray(Graph g, Triple[] triples) {
+ record("delete[]", g, triples);
+ }
+
+ @Override
+ public void notifyDeleteList(Graph g, List<Triple> triples) {
+ record("deleteList", g, triples);
+ }
+
+ @Override
+ public void notifyDeleteIterator(Graph g, Iterator<Triple> it) {
+ record("deleteIterator", g, GraphHelper.iteratorToList(it));
+ }
+
+ @Override
+ public void notifyDeleteGraph(Graph g, Graph removed) {
+ record("deleteGraph", g, removed);
+ }
+
+ @Override
+ public void notifyEvent(Graph source, Object event) {
+ record("someEvent", source, event);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java
new file mode 100644
index 0000000..d26d7e9
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java
@@ -0,0 +1,149 @@
+/*
+ * 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.graph;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractTest;
+
+import static org.junit.Assert.*;
+
+import org.apache.jena.graph.TransactionHandler;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.graph.impl.SimpleTransactionHandler;
+import org.apache.jena.shared.Command;
+import org.apache.jena.shared.JenaException;
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.util.CollectionFactory;
+import static org.apache.jena.testing_framework.GraphHelper.*;
+
+/**
+ * AbstractTestGraph provides a bunch of basic tests for something that purports
+ * to be a Graph. The abstract method getGraph must be overridden in subclasses
+ * to deliver a Graph of interest.
+ */
+@Contract(TransactionHandler.class)
+public class TransactionHandlerContractTest {
+
+ private IProducer<TransactionHandler> producer;
+
+ public TransactionHandlerContractTest() {
+// producer = new IProducer<TransactionHandler>() {
+//
+// @Override
+// public TransactionHandler newInstance() {
+// return new SimpleTransactionHandler();
+// }
+//
+// @Override
+// public void cleanUp() {
+//
+// }
+// };
+ }
+
+ @Contract.Inject
+ public void setProducer(IProducer<TransactionHandler> producer) {
+ this.producer = producer;
+ }
+
+ protected IProducer<TransactionHandler> getTransactionHandlerProducer() {
+ return producer;
+ }
+
+ /**
+ * Test that Graphs have transaction support methods, and that if they fail
+ * on some g they fail because they do not support the operation.
+ */
+ @ContractTest
+ public void testTransactionsExistAsPerTransactionSupported() {
+ Command cmd = new Command() {
+ @Override
+ public Object execute() {
+ return null;
+ }
+ };
+
+ TransactionHandler th = getTransactionHandlerProducer().newInstance();
+
+ if (th.transactionsSupported()) {
+ th.begin();
+ th.abort();
+ th.begin();
+ th.commit();
+ th.executeInTransaction(cmd);
+ } else {
+ try {
+ th.begin();
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException x) {
+ }
+
+ try {
+ th.abort();
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException x) {
+ }
+ try {
+ th.commit();
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException x) {
+ }
+ /* */
+ try {
+ th.executeInTransaction(cmd);
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException x) {
+ }
+ }
+ }
+
+ @ContractTest
+ public void testExecuteInTransactionCatchesThrowable() {
+ TransactionHandler th = getTransactionHandlerProducer().newInstance();
+
+ if (th.transactionsSupported()) {
+ Command cmd = new Command() {
+ @Override
+ public Object execute() throws Error {
+ throw new Error();
+ }
+ };
+ try {
+ th.executeInTransaction(cmd);
+ fail("Should have thrown JenaException");
+ } catch (JenaException x) {
+ }
+ }
+ }
+
+ static final Triple[] tripleArray = tripleArray("S P O; Foo R B; X Q Y");
+
+ static final List<Triple> tripleList = Arrays
+ .asList(tripleArray("i lt j; p equals q"));
+
+ static final Triple[] setTriples = tripleArray("scissors cut paper; paper wraps stone; stone breaks scissors");
+
+ static final Set<Triple> tripleSet = CollectionFactory
+ .createHashedSet(Arrays.asList(setTriples));
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/compose/DeltaTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/compose/DeltaTest.java b/jena-core/src/test/java/org/apache/jena/graph/compose/DeltaTest.java
new file mode 100755
index 0000000..a0bf737
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/compose/DeltaTest.java
@@ -0,0 +1,110 @@
+/*
+ * 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.graph.compose;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.ContractTest;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(Delta.class)
+public class DeltaTest {
+
+ protected IProducer<Delta> graphProducer;
+
+ public DeltaTest() {
+ super();
+ graphProducer = new AbstractGraphProducer<Delta>() {
+ private Map<Graph, Graph> map = new HashMap<Graph, Graph>();
+
+ @Override
+ protected Delta createNewGraph() {
+ Graph g = memGraph();
+ Delta d = new Delta(g);
+ map.put(d, g);
+ return d;
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph d) {
+// Delta dl = (Delta)d;
+// Graph g = map.get(d);
+// if (g == null) {
+// throw new IllegalStateException("graph missing from map");
+// }
+// return new Graph[] { g, (Graph)dl.getL(), (Graph)dl.getR() };
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ @Override
+ protected void afterClose(Graph g) {
+ map.remove(g);
+ }
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<Delta> getDeltaTestProducer() {
+ return graphProducer;
+ }
+
+ @ContractTest
+ public void testDelta() {
+ Graph x = graphWith(getDeltaTestProducer().newInstance(), "x R y");
+ assertContains("x", "x R y", x);
+ x.delete(triple("x R y"));
+ assertOmits("x", x, "x R y");
+ /* */
+ Graph base = graphWith("x R y; p S q; I like cheese; pins pop balloons");
+ Delta delta = new Delta(base);
+ assertContainsAll("Delta", delta,
+ "x R y; p S q; I like cheese; pins pop balloons");
+ assertContainsAll("Base", base,
+ "x R y; p S q; I like cheese; pins pop balloons");
+ /* */
+ delta.add(triple("pigs fly winglessly"));
+ delta.delete(triple("I like cheese"));
+ /* */
+ assertContainsAll("changed Delta", delta,
+ "x R y; p S q; pins pop balloons; pigs fly winglessly");
+ assertOmits("changed delta", delta, "I like cheese");
+ assertContains("delta additions", "pigs fly winglessly",
+ delta.getAdditions());
+ assertOmits("delta additions", delta.getAdditions(), "I like cheese");
+ assertContains("delta deletions", "I like cheese", delta.getDeletions());
+ assertOmits("delta deletions", delta.getDeletions(),
+ "pigs fly winglessly");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/compose/DifferenceTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/compose/DifferenceTest.java b/jena-core/src/test/java/org/apache/jena/graph/compose/DifferenceTest.java
new file mode 100755
index 0000000..213ae36
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/compose/DifferenceTest.java
@@ -0,0 +1,97 @@
+/*
+ * 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.graph.compose;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.ContractTest;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.compose.Difference;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(Difference.class)
+public class DifferenceTest {
+
+ protected IProducer<Difference> graphProducer;
+
+ public DifferenceTest() {
+ graphProducer = new AbstractGraphProducer<Difference>() {
+ private Map<Graph, Graph[]> map = new HashMap<Graph, Graph[]>();
+
+ @Override
+ protected Difference createNewGraph() {
+ Graph g1 = memGraph();
+ Graph g2 = memGraph();
+ Difference d = new Difference(g1, g2);
+ map.put(d, new Graph[] { g1, g2 });
+ return d;
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph d) {
+ Graph[] dg = map.get(d);
+ if (dg == null) {
+ throw new IllegalStateException("graph not in map");
+ }
+ return dg;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ @Override
+ protected void afterClose(Graph g) {
+ map.remove(g);
+ }
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<Difference> getDifferenceTestProducer() {
+ return graphProducer;
+ }
+
+ @ContractTest
+ public void testDifference() {
+ Graph g1 = graphWith("x R y; p R q");
+ Graph g2 = graphWith("r Foo s; x R y");
+ Graph d = new Difference(g1, g2);
+ assertOmits("Difference", d, "x R y");
+ assertContains("Difference", "p R q", d);
+ assertOmits("Difference", d, "r Foo s");
+ if (d.size() != 1)
+ fail("oops: size of difference is not 1");
+ d.add(triple("cats eat cheese"));
+ assertContains("Difference.L", "cats eat cheese", g1);
+ assertOmits("Difference.R", g2, "cats eat cheese");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/compose/IntersectionTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/compose/IntersectionTest.java b/jena-core/src/test/java/org/apache/jena/graph/compose/IntersectionTest.java
new file mode 100755
index 0000000..1e6db9b
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/compose/IntersectionTest.java
@@ -0,0 +1,109 @@
+/*
+ * 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.graph.compose;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.ContractTest;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphUtil;
+import org.apache.jena.graph.compose.Intersection;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(Intersection.class)
+public class IntersectionTest {
+
+ protected IProducer<Intersection> graphProducer;
+
+ public IntersectionTest() {
+ super();
+ graphProducer = new AbstractGraphProducer<Intersection>() {
+ private Map<Graph, Graph[]> dependencyGraph = new HashMap<Graph, Graph[]>();
+
+ @Override
+ protected Intersection createNewGraph() {
+ Graph g1 = memGraph();
+ Graph g2 = memGraph();
+ Intersection retval = new Intersection(g1, g2);
+ dependencyGraph.put(retval, new Graph[] { g1, g2 });
+ return retval;
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph g) {
+ Graph[] dg = dependencyGraph.get(g);
+ if (dg == null) {
+ throw new IllegalStateException("graph missing from map");
+ }
+ return dg;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ @Override
+ protected void afterClose(Graph g) {
+ dependencyGraph.remove(g);
+ }
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<Intersection> getIntersectionTestProducer() {
+ return graphProducer;
+ }
+
+ @ContractTest
+ public void testIntersection() {
+ Graph g1 = graphWith( "x R y; p R q");
+ Graph g2 = graphWith( "r Foo s; x R y");
+ Intersection i = new Intersection(g1, g2);
+ assertContains("Intersection", "x R y", i);
+ assertOmits("Intersection", i, "p R q");
+ assertOmits("Intersection", i, "r Foo s");
+ if (i.size() != 1)
+ fail("oops: size of intersection is not 1");
+ i.add(triple("cats eat cheese"));
+ assertContains("Intersection.L", "cats eat cheese", g1);
+ assertContains("Intersection.R", "cats eat cheese", g2);
+ }
+
+ @ContractTest
+ public void testDeleteDoesNotUpdateR() {
+ Graph L = graphWith("a pings b; b pings c; c pings a");
+ Graph R = graphWith("c pings a; b pings c; x captures y");
+ Graph join = new Intersection(L, R);
+ GraphUtil.deleteFrom(L, R);
+ assertIsomorphic("R should not change",
+ graphWith("c pings a; b pings c; x captures y"), R);
+ assertIsomorphic(graphWith("a pings b"), L);
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/compose/UnionTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/compose/UnionTest.java b/jena-core/src/test/java/org/apache/jena/graph/compose/UnionTest.java
new file mode 100755
index 0000000..44bf9fb
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/compose/UnionTest.java
@@ -0,0 +1,185 @@
+/*
+ * 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.graph.compose;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.ContractTest;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphStatisticsHandler;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.graph.compose.Union;
+import org.apache.jena.graph.impl.GraphBase;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.util.iterator.ExtendedIterator;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(Union.class)
+public class UnionTest {
+
+ protected IProducer<Union> graphProducer;
+
+ public UnionTest() {
+ graphProducer = new AbstractGraphProducer<Union>() {
+ private Map<Graph, Graph[]> map = new HashMap<Graph, Graph[]>();
+
+ @Override
+ protected Union createNewGraph() {
+ Graph[] g = { memGraph(), memGraph() };
+ Union u = new Union(g[0], g[1]);
+ map.put(u, g);
+ return u;
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph d) {
+ Graph[] dg = map.get(d);
+ if (dg == null) {
+ throw new IllegalStateException("graph not in map");
+ }
+ return dg;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ @Override
+ protected void afterClose(Graph g) {
+ map.remove(g);
+ }
+ };
+
+ }
+
+ @Contract.Inject
+ public final IProducer<Union> getUnionTestProducer() {
+ return graphProducer;
+ }
+
+ @ContractTest
+ public void testUnion() {
+ Graph g1 = graphWith("x R y; p R q");
+ Graph g2 = graphWith("r Foo s; x R y");
+ Union u = new Union(g1, g2);
+ assertContains("Union", "x R y", u);
+ assertContains("Union", "p R q", u);
+ assertContains("Union", "r Foo s", u);
+ if (u.size() != 3)
+ fail("oops: size of union is not 3");
+ u.add(triple("cats eat cheese"));
+ assertContains("Union", "cats eat cheese", u);
+ if (contains(g1, "cats eat cheese") == false
+ && contains(g2, "cats eat cheese") == false)
+ fail("oops: neither g1 nor g2 contains `cats eat cheese`");
+ }
+
+ static class AnInteger {
+ public int value = 0;
+
+ public AnInteger(int value) {
+ this.value = value;
+ }
+ }
+
+ @ContractTest
+ public void testUnionValues() {
+ testUnion(0, 0, 0, 0);
+ }
+
+ @ContractTest
+ public void testCopiesSingleNonZeroResult() {
+ testUnion(1, 1, 0, 0);
+ testUnion(1, 0, 1, 0);
+ testUnion(1, 0, 0, 1);
+ testUnion(1, 1, 0, 0);
+ testUnion(2, 0, 2, 0);
+ testUnion(4, 0, 0, 4);
+ }
+
+ @ContractTest
+ public void testResultIsSumOfBaseResults() {
+ testUnion(3, 1, 2, 0);
+ testUnion(5, 1, 0, 4);
+ testUnion(6, 0, 2, 4);
+ testUnion(7, 1, 2, 4);
+ testUnion(3, 0, 2, 1);
+ testUnion(5, 4, 1, 0);
+ testUnion(6, 2, 2, 2);
+ testUnion(7, 6, 0, 1);
+ }
+
+ @ContractTest
+ public void testUnknownOverrulesAll() {
+ testUnion(-1, -1, 0, 0);
+ testUnion(-1, 0, -1, 0);
+ testUnion(-1, 0, 0, -1);
+ testUnion(-1, -1, 1, 1);
+ testUnion(-1, 1, -1, 1);
+ testUnion(-1, 1, 1, -1);
+ }
+
+ /**
+ * Asserts that the statistic obtained by probing the three-element union
+ * with statistics <code>av</code>, <code>bv</code>, and <code>cv</code> is
+ * <code>expected</code>.
+ */
+ private void testUnion(int expected, int av, int bv, int cv) {
+ AnInteger a = new AnInteger(av), b = new AnInteger(bv), c = new AnInteger(
+ cv);
+ Graph g1 = graphWithGivenStatistic(a);
+ Graph g2 = graphWithGivenStatistic(b);
+ Graph g3 = graphWithGivenStatistic(c);
+ Graph[] graphs = new Graph[] { g1, g2, g3 };
+ MultiUnion mu = new MultiUnion(graphs);
+ GraphStatisticsHandler gs = new MultiUnion.MultiUnionStatisticsHandler(
+ mu);
+ assertEquals(expected, gs.getStatistic(Node.ANY, Node.ANY, Node.ANY));
+ }
+
+ static Graph graphWithGivenStatistic(final AnInteger x) {
+ return new GraphBase() {
+ @Override
+ protected ExtendedIterator<Triple> graphBaseFind(Triple t) {
+ throw new RuntimeException("should never be called");
+ }
+
+ @Override
+ protected GraphStatisticsHandler createStatisticsHandler() {
+ return new GraphStatisticsHandler() {
+ @Override
+ public long getStatistic(Node S, Node P, Node O) {
+ return x.value;
+ }
+ };
+ }
+ };
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java b/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java
index 3334da7..4d9f40d 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java
@@ -18,22 +18,50 @@
package org.apache.jena.graph.impl;
+import static org.apache.jena.testing_framework.GraphHelper.memGraph;
+
import java.util.HashSet;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.graph.impl.CollectionGraph ;
-import org.apache.jena.graph.test.AbstractTestGraph ;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
-public class TestCollectionGraph extends AbstractTestGraph {
+@RunWith(ContractSuite.class)
+@ContractImpl(CollectionGraph.class)
+public class TestCollectionGraph {
- public TestCollectionGraph(String name) {
- super(name);
+ protected IProducer<CollectionGraph> graphProducer;
+
+ public TestCollectionGraph() {
+ graphProducer = new AbstractGraphProducer<CollectionGraph>() {
+
+ @Override
+ protected CollectionGraph createNewGraph() {
+ return new CollectionGraph( new HashSet<Triple>() );
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph d) {
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ };
}
- @Override
- public Graph getGraph() {
- return new CollectionGraph( new HashSet<Triple>() );
+ @Contract.Inject
+ public final IProducer<CollectionGraph> getDeltaTestProducer() {
+ return graphProducer;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/impl/TestWrappedGraph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/TestWrappedGraph.java b/jena-core/src/test/java/org/apache/jena/graph/impl/TestWrappedGraph.java
new file mode 100644
index 0000000..7910660
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/TestWrappedGraph.java
@@ -0,0 +1,63 @@
+/*
+ * 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.graph.impl;
+
+import static org.apache.jena.testing_framework.GraphHelper.memGraph;
+
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(WrappedGraph.class)
+public class TestWrappedGraph {
+
+ protected IProducer<WrappedGraph> graphProducer;
+
+ public TestWrappedGraph() {
+ graphProducer = new AbstractGraphProducer<WrappedGraph>() {
+
+ @Override
+ protected WrappedGraph createNewGraph() {
+ return new WrappedGraph( memGraph() );
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph d) {
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<WrappedGraph> getDeltaTestProducer() {
+ return graphProducer;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java
new file mode 100644
index 0000000..0b074aa
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java
@@ -0,0 +1,176 @@
+/*
+ * 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.graph.impl;
+
+import org.junit.After;
+import org.junit.Before;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractTest;
+
+import static org.junit.Assert.*;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+import org.apache.jena.mem.GraphTripleStore;
+import org.apache.jena.graph.impl.TripleStore;
+import org.apache.jena.testing_framework.ContractTemplate;
+
+import org.xenei.junit.contract.IProducer;
+
+/**
+ * AbstractTestTripleStore - post-hoc tests for TripleStores.
+ */
+
+@Contract(TripleStore.class)
+public class TripleStoreContractTest<T extends TripleStore> extends
+ ContractTemplate<IProducer<T>> {
+
+ protected TripleStore store;
+
+ public TripleStoreContractTest() {
+ IProducer<TripleStore> producer = new IProducer<TripleStore>() {
+
+ @Override
+ public TripleStore newInstance() {
+ return new GraphTripleStore(memGraph());
+ }
+
+ @Override
+ public void cleanUp() {
+ // TODO Auto-generated method stub
+
+ }
+
+ };
+ setProducer((IProducer<T>) producer);
+ }
+
+ /**
+ * Subclasses must over-ride to return a new empty TripleStore.
+ */
+ @Contract.Inject
+ public final void setTripleStoreContractTestProducer(IProducer<T> producer) {
+ super.setProducer(producer);
+ }
+
+ @Before
+ public final void beforeAbstractTripleStoreTest() {
+ store = getProducer().newInstance();
+ }
+
+ @After
+ public final void afterAbstractTripleStoreTest() {
+ getProducer().cleanUp();
+ }
+
+ @ContractTest
+ public void testEmpty() {
+ testEmpty(store);
+ }
+
+ @ContractTest
+ public void testAddOne() {
+ store.add(triple("x P y"));
+ assertEquals(false, store.isEmpty());
+ assertEquals(1, store.size());
+ assertEquals(true, store.contains(triple("x P y")));
+ assertEquals(nodeSet("x"), iteratorToSet(store.listSubjects()));
+ assertEquals(nodeSet("y"), iteratorToSet(store.listObjects()));
+ assertEquals(tripleSet("x P y"),
+ iteratorToSet(store.find(triple("?? ?? ??"))));
+ }
+
+ @ContractTest
+ public void testListSubjects() {
+ someStatements(store);
+ assertEquals(nodeSet("a x _z r q"), iteratorToSet(store.listSubjects()));
+ }
+
+ @ContractTest
+ public void testListObjects() {
+ someStatements(store);
+ assertEquals(nodeSet("b y i _j _t 17"),
+ iteratorToSet(store.listObjects()));
+ }
+
+ @ContractTest
+ public void testContains() {
+ someStatements(store);
+ assertEquals(true, store.contains(triple("a P b")));
+ assertEquals(true, store.contains(triple("x P y")));
+ assertEquals(true, store.contains(triple("a P i")));
+ assertEquals(true, store.contains(triple("_z Q _j")));
+ assertEquals(true, store.contains(triple("x R y")));
+ assertEquals(true, store.contains(triple("r S _t")));
+ assertEquals(true, store.contains(triple("q R 17")));
+ /* */
+ assertEquals(false, store.contains(triple("a P x")));
+ assertEquals(false, store.contains(triple("a P _j")));
+ assertEquals(false, store.contains(triple("b Z r")));
+ assertEquals(false, store.contains(triple("_a P x")));
+ }
+
+ @ContractTest
+ public void testFind() {
+ someStatements(store);
+ assertEquals(tripleSet(""),
+ iteratorToSet(store.find(triple("no such thing"))));
+ assertEquals(tripleSet("a P b; a P i"),
+ iteratorToSet(store.find(triple("a P ??"))));
+ assertEquals(tripleSet("a P b; x P y; a P i"),
+ iteratorToSet(store.find(triple("?? P ??"))));
+ assertEquals(tripleSet("x P y; x R y"),
+ iteratorToSet(store.find(triple("x ?? y"))));
+ assertEquals(tripleSet("_z Q _j"),
+ iteratorToSet(store.find(triple("?? ?? _j"))));
+ assertEquals(tripleSet("q R 17"),
+ iteratorToSet(store.find(triple("?? ?? 17"))));
+ }
+
+ @ContractTest
+ public void testRemove() {
+ store.add(triple("nothing before ace"));
+ store.add(triple("ace before king"));
+ store.add(triple("king before queen"));
+ store.delete(triple("ace before king"));
+ assertEquals(tripleSet("king before queen; nothing before ace"),
+ iteratorToSet(store.find(triple("?? ?? ??"))));
+ store.delete(triple("king before queen"));
+ assertEquals(tripleSet("nothing before ace"),
+ iteratorToSet(store.find(triple("?? ?? ??"))));
+ }
+
+ protected void someStatements(TripleStore ts) {
+ ts.add(triple("a P b"));
+ ts.add(triple("x P y"));
+ ts.add(triple("a P i"));
+ ts.add(triple("_z Q _j"));
+ ts.add(triple("x R y"));
+ ts.add(triple("r S _t"));
+ ts.add(triple("q R 17"));
+ }
+
+ protected void testEmpty(TripleStore ts) {
+ assertEquals(true, ts.isEmpty());
+ assertEquals(0, ts.size());
+ assertEquals(false, ts.find(triple("?? ?? ??")).hasNext());
+ assertEquals(false, ts.listObjects().hasNext());
+ assertEquals(false, ts.listSubjects().hasNext());
+ assertFalse(ts.contains(triple("x P y")));
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/mem/BunchMapContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/BunchMapContractTest.java b/jena-core/src/test/java/org/apache/jena/mem/BunchMapContractTest.java
new file mode 100644
index 0000000..7807248
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/BunchMapContractTest.java
@@ -0,0 +1,163 @@
+/*
+ * 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.mem;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.After;
+import org.junit.Before;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractTest;
+
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.util.iterator.ExtendedIterator;
+
+/**
+ * Test triple bunch implementations - NOT YET FINISHED
+ */
+@Contract(BunchMap.class)
+public class BunchMapContractTest {
+ private BunchMap map;
+
+ private IProducer<? extends BunchMap> producer;
+
+ @Contract.Inject
+ public final void setBunchMapProducer(IProducer<? extends BunchMap> producer) {
+ this.producer = producer;
+ }
+
+ protected final IProducer<? extends BunchMap> getBunchMapProducer() {
+ return producer;
+ }
+
+ @Before
+ public final void beforeAbstractBunchMapTest() {
+ map = getBunchMapProducer().newInstance();
+ }
+
+ @After
+ public final void afterAbstractBunchMapTest() {
+ getBunchMapProducer().cleanUp();
+ }
+
+ @ContractTest
+ public void testClear() {
+ for (int i = 0; i < 5; i++) {
+ map.put(i, mock(TripleBunch.class));
+ }
+ assertEquals(5, map.size());
+
+ map.clear();
+ assertEquals(0, map.size());
+ }
+
+ @ContractTest
+ public void testSize() {
+ assertEquals(0, map.size());
+ for (int i = 0; i < 5; i++) {
+ map.put(i, mock(TripleBunch.class));
+ assertEquals(i + 1, map.size());
+ }
+ }
+
+ @ContractTest
+ public void testGet() {
+ List<TripleBunch> lst = new ArrayList<TripleBunch>();
+ for (int i = 0; i < 5; i++) {
+ TripleBunch tb = mock(TripleBunch.class);
+ lst.add(tb);
+ map.put(i, tb);
+ }
+ for (int i = 0; i < 5; i++) {
+ assertEquals(lst.get(i), map.get(i));
+ }
+ }
+
+ @ContractTest
+ public void testPut() {
+ List<TripleBunch> lst = new ArrayList<TripleBunch>();
+ for (int i = 0; i < 5; i++) {
+ map.put(i, mock(TripleBunch.class));
+ }
+ for (int i = 0; i < 5; i++) {
+ TripleBunch tb = mock(TripleBunch.class);
+ lst.add(tb);
+ map.put(i, tb);
+ }
+ for (int i = 0; i < 5; i++) {
+ assertEquals(lst.get(i), map.get(i));
+ }
+ }
+
+ @ContractTest
+ public void testRemove() {
+ List<TripleBunch> lst = new ArrayList<TripleBunch>();
+ for (int i = 0; i < 5; i++) {
+ TripleBunch tb = mock(TripleBunch.class);
+ lst.add(tb);
+ map.put(i, tb);
+ }
+
+ map.remove(0);
+ assertNull(map.get(0));
+ for (int i = 1; i < 5; i++) {
+ assertEquals(lst.get(i), map.get(i));
+ }
+ assertEquals(4, map.size());
+
+ map.remove(2);
+ assertNull(map.get(0));
+ assertEquals(lst.get(1), map.get(1));
+ assertNull(map.get(2));
+ assertEquals(lst.get(3), map.get(3));
+ assertEquals(lst.get(4), map.get(4));
+ assertEquals(3, map.size());
+
+ map.remove(4);
+ assertNull(map.get(0));
+ assertEquals(lst.get(1), map.get(1));
+ assertNull(map.get(2));
+ assertEquals(lst.get(3), map.get(3));
+ assertNull(map.get(4));
+ assertEquals(2, map.size());
+
+ }
+
+ @ContractTest
+ public void testKeyIterator() {
+ List<Integer> lst = new ArrayList<Integer>();
+ for (int i = 0; i < 5; i++) {
+ lst.add(i);
+ map.put(i, mock(TripleBunch.class));
+ }
+ ExtendedIterator<Object> iter = map.keyIterator();
+ while (iter.hasNext()) {
+ assertFalse("List is empty", lst.isEmpty());
+ Integer i = (Integer) iter.next();
+ assertTrue("Missing index: " + i, lst.contains(i));
+ lst.remove(i);
+ }
+ assertTrue("List is not empty", lst.isEmpty());
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/mem/GraphMemTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/GraphMemTest.java b/jena-core/src/test/java/org/apache/jena/mem/GraphMemTest.java
new file mode 100644
index 0000000..8fed109
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/GraphMemTest.java
@@ -0,0 +1,115 @@
+/*
+ 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.mem;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+import static org.junit.Assert.*;
+
+import java.util.Iterator;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract.Inject;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.ContractTest;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphStatisticsHandler;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Node_URI;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.shared.JenaException;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.util.iterator.ExtendedIterator;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(GraphMem.class)
+public class GraphMemTest {
+
+ protected IProducer<GraphMem> graphProducer = new AbstractGraphProducer<GraphMem>() {
+
+ @Override
+ protected GraphMem createNewGraph() {
+ return new GraphMem();
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph g) {
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ };
+
+ @Inject
+ public IProducer<GraphMem> getGraphProducer() {
+ return graphProducer;
+ }
+
+ @ContractTest
+ public void testHasStatistics() {
+ GraphStatisticsHandler h = graphProducer.newInstance()
+ .getStatisticsHandler();
+ assertNotNull(h);
+ }
+
+ @ContractTest
+ public void testContainsConcreteDoesntUseFind() {
+ Graph g = new GraphMemWithoutFind();
+ graphAdd(g, "x P y; a Q b");
+ assertTrue(g.contains(triple("x P y")));
+ assertTrue(g.contains(triple("a Q b")));
+ assertFalse(g.contains(triple("a P y")));
+ assertFalse(g.contains(triple("y R b")));
+ }
+
+ protected final class GraphMemWithoutFind extends GraphMem {
+ @Override
+ public ExtendedIterator<Triple> graphBaseFind(Triple t) {
+ throw new JenaException("find is Not Allowed");
+ }
+ }
+
+ @ContractTest
+ public void testUnnecessaryMatches() {
+ Node special = new Node_URI("eg:foo") {
+ @Override
+ public boolean matches(Node s) {
+ fail("Matched called superfluously.");
+ return true;
+ }
+ };
+ Graph g = graphWith(graphProducer.newInstance(), "x p y");
+ g.add(new Triple(special, special, special));
+ exhaust(g.find(special, Node.ANY, Node.ANY));
+ exhaust(g.find(Node.ANY, special, Node.ANY));
+ exhaust(g.find(Node.ANY, Node.ANY, special));
+
+ }
+
+ protected void exhaust(Iterator<?> it) {
+ while (it.hasNext())
+ it.next();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreTest.java b/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreTest.java
new file mode 100644
index 0000000..1f82935
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.mem;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.mem.GraphTripleStore;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(GraphTripleStore.class)
+public class GraphTripleStoreTest {
+
+ private IProducer<GraphTripleStore> producer = new IProducer<GraphTripleStore>() {
+
+ @Override
+ public GraphTripleStore newInstance() {
+ return new GraphTripleStore(Graph.emptyGraph);
+ }
+
+ @Override
+ public void cleanUp() {
+ }
+
+ };
+
+ @Contract.Inject
+ public IProducer<GraphTripleStore> getTripleStore() {
+ return producer;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/mem/TripleBunchContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/TripleBunchContractTest.java b/jena-core/src/test/java/org/apache/jena/mem/TripleBunchContractTest.java
new file mode 100644
index 0000000..505b57f
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/TripleBunchContractTest.java
@@ -0,0 +1,205 @@
+/*
+ * 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.mem;
+
+import static org.junit.Assert.*;
+import static org.apache.jena.testing_framework.GraphHelper.*;
+
+import java.util.ArrayList;
+import java.util.ConcurrentModificationException;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.junit.After;
+import org.junit.Before;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractTest;
+
+import org.apache.jena.graph.Triple;
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.testing_framework.NodeCreateUtils;
+import org.apache.jena.util.iterator.ExtendedIterator;
+
+/**
+ * Test triple bunch implementations - NOT YET FINISHED
+ */
+@Contract(TripleBunch.class)
+public class TripleBunchContractTest {
+ private IProducer<? extends TripleBunch> producer;
+
+ @Contract.Inject
+ public final void setTripleBunchProducer(
+ IProducer<? extends TripleBunch> producer) {
+ this.producer = producer;
+ }
+
+ protected final IProducer<? extends TripleBunch> getTripleBunchProducer() {
+ return producer;
+ }
+
+ public static final TripleBunch EMPTY_BUNCH = new ArrayBunch();
+
+ protected static final Triple tripleSPO = triple("s P o");
+ protected static final Triple tripleXQY = triple("x Q y");
+
+ private TripleBunch testingBunch;
+
+ @Before
+ public final void beforeAbstractTripleBunchTest() {
+ testingBunch = getTripleBunchProducer().newInstance();
+ }
+
+ @After
+ public final void afterAbstractTripleBunchTest() {
+ getTripleBunchProducer().cleanUp();
+ }
+
+ @ContractTest
+ public void testEmptyBunch() {
+ assertEquals(0, testingBunch.size());
+ assertFalse(testingBunch.contains(tripleSPO));
+ assertFalse(testingBunch.contains(tripleXQY));
+ assertFalse(testingBunch.iterator().hasNext());
+ }
+
+ @ContractTest
+ public void testAddElement() {
+ testingBunch.add(tripleSPO);
+ assertEquals(1, testingBunch.size());
+ assertTrue(testingBunch.contains(tripleSPO));
+ assertEquals(listOf(tripleSPO), iteratorToList(testingBunch.iterator()));
+ }
+
+ @ContractTest
+ public void testAddElements() {
+ testingBunch.add(tripleSPO);
+ testingBunch.add(tripleXQY);
+ assertEquals(2, testingBunch.size());
+ assertTrue(testingBunch.contains(tripleSPO));
+ assertTrue(testingBunch.contains(tripleXQY));
+ assertEquals(setOf(tripleSPO, tripleXQY),
+ iteratorToSet(testingBunch.iterator()));
+ }
+
+ @ContractTest
+ public void testRemoveOnlyElement() {
+ testingBunch.add(tripleSPO);
+ testingBunch.remove(tripleSPO);
+ assertEquals(0, testingBunch.size());
+ assertFalse(testingBunch.contains(tripleSPO));
+ assertFalse(testingBunch.iterator().hasNext());
+ }
+
+ @ContractTest
+ public void testRemoveFirstOfTwo() {
+ testingBunch.add(tripleSPO);
+ testingBunch.add(tripleXQY);
+ testingBunch.remove(tripleSPO);
+ assertEquals(1, testingBunch.size());
+ assertFalse(testingBunch.contains(tripleSPO));
+ assertTrue(testingBunch.contains(tripleXQY));
+ assertEquals(listOf(tripleXQY), iteratorToList(testingBunch.iterator()));
+ }
+
+ @ContractTest
+ public void testTableGrows() {
+ testingBunch.add(tripleSPO);
+ testingBunch.add(tripleXQY);
+ testingBunch.add(triple("a I b"));
+ testingBunch.add(triple("c J d"));
+ }
+
+ @ContractTest
+ public void testIterator() {
+ testingBunch.add(triple("a P b"));
+ testingBunch.add(triple("c Q d"));
+ testingBunch.add(triple("e R f"));
+ assertEquals(tripleSet("a P b; c Q d; e R f"), testingBunch.iterator()
+ .toSet());
+ }
+
+ @ContractTest
+ public void testIteratorRemoveOneItem() {
+ testingBunch.add(triple("a P b"));
+ testingBunch.add(triple("c Q d"));
+ testingBunch.add(triple("e R f"));
+ ExtendedIterator<Triple> it = testingBunch.iterator();
+ while (it.hasNext())
+ if (it.next().equals(triple("c Q d")))
+ it.remove();
+ assertEquals(tripleSet("a P b; e R f"), testingBunch.iterator().toSet());
+ }
+
+ @ContractTest
+ public void testIteratorRemoveAlltems() {
+ testingBunch.add(triple("a P b"));
+ testingBunch.add(triple("c Q d"));
+ testingBunch.add(triple("e R f"));
+ ExtendedIterator<Triple> it = testingBunch.iterator();
+ while (it.hasNext())
+ it.removeNext();
+ assertEquals(tripleSet(""), testingBunch.iterator().toSet());
+ }
+
+ protected List<Triple> listOf(Triple x) {
+ List<Triple> result = new ArrayList<Triple>();
+ result.add(x);
+ return result;
+ }
+
+ protected Set<Triple> setOf(Triple x, Triple y) {
+ Set<Triple> result = setOf(x);
+ result.add(y);
+ return result;
+ }
+
+ protected Set<Triple> setOf(Triple x) {
+ Set<Triple> result = new HashSet<Triple>();
+ result.add(x);
+ return result;
+ }
+
+ public void testAddThenNextThrowsCME() {
+ testingBunch.add(NodeCreateUtils.createTriple("a P b"));
+ testingBunch.add(NodeCreateUtils.createTriple("c Q d"));
+ ExtendedIterator<Triple> it = testingBunch.iterator();
+ it.next();
+ testingBunch.add(NodeCreateUtils.createTriple("change its state"));
+ try {
+ it.next();
+ fail("should have thrown ConcurrentModificationException");
+ } catch (ConcurrentModificationException e) {
+ // expected
+ }
+ }
+
+ public void testDeleteThenNextThrowsCME() {
+ testingBunch.add(NodeCreateUtils.createTriple("a P b"));
+ testingBunch.add(NodeCreateUtils.createTriple("c Q d"));
+ ExtendedIterator<Triple> it = testingBunch.iterator();
+ it.next();
+ testingBunch.remove(NodeCreateUtils.createTriple("a P b"));
+ try {
+ it.next();
+ fail("should have thrown ConcurrentModificationException");
+ } catch (ConcurrentModificationException e) {
+ // expected
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractGraphProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractGraphProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractGraphProducer.java
new file mode 100644
index 0000000..29cf9f0
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractGraphProducer.java
@@ -0,0 +1,104 @@
+/*
+ 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.testing_framework;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.xenei.junit.contract.IProducer;
+
+import org.apache.jena.graph.Graph;
+
+/**
+ * An abstract implementation of the GraphProducerInterface.
+ *
+ * This class handles tracking of the created graphs and closing them. It also
+ * provides a callback for the implementing class to perform extra cleanup when
+ * the graph is closed.
+ *
+ */
+public abstract class AbstractGraphProducer<T extends Graph> implements
+ IProducer<T> {
+
+ /**
+ * The list of graphs that have been opened in this test.
+ */
+ protected List<Graph> graphList = new ArrayList<Graph>();
+
+ /**
+ * The method to create a new graph.
+ *
+ * @return a newly constructed graph of type under test.
+ */
+ abstract protected T createNewGraph();
+
+ @Override
+ final public T newInstance() {
+ T retval = createNewGraph();
+ graphList.add(retval);
+ return retval;
+ }
+
+ /**
+ * Method called after the graph is closed. This allows the implementer to
+ * perform extra cleanup activities, like deleting the file associated with
+ * a file based graph.
+ * <p>
+ * By default this does nothing.
+ * </p>
+ *
+ * @param g
+ * The graph that is closed
+ */
+ protected void afterClose(Graph g) {
+ };
+
+ @Override
+ final public void cleanUp() {
+ for (Graph g : graphList) {
+ if (!g.isClosed()) {
+ g.close();
+ }
+ afterClose(g);
+ }
+ graphList.clear();
+ }
+
+ /**
+ * Get a list of graphs that the created graph is dependent upon. The graph
+ * must return true for each call to dependsOn() with one of the returned
+ * graphs. Method may return null to disable the check.
+ *
+ * @param g
+ * The graph we are looking for.
+ * @return
+ */
+ public abstract Graph[] getDependsOn(Graph g);
+
+ /**
+ * Get a list of graphs that the created graph is not dependent upon. The
+ * graph must return false for each call to dependsOn() with one of the
+ * returned graphs. Method may return null to disable the check.
+ *
+ * @param g
+ * The graph we are looking for.
+ * @return
+ */
+ public abstract Graph[] getNotDependsOn(Graph g);
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractInfModelProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractInfModelProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractInfModelProducer.java
new file mode 100644
index 0000000..898503d
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractInfModelProducer.java
@@ -0,0 +1,91 @@
+/*
+ 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.testing_framework;
+
+import org.apache.jena.rdf.model.InfModel;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.Statement;
+import org.apache.jena.reasoner.Reasoner;
+
+/**
+ * An abstract implementation of the ModelProducerInterface.
+ *
+ * This class handles tracking of the created models and closing them. It also
+ * provides a callback for the implementing class to perform extra cleanup when
+ * the model is closed.
+ *
+ */
+public abstract class AbstractInfModelProducer<T extends InfModel> extends
+ AbstractModelProducer<T> {
+
+
+ public boolean canBeEmpty( Model m )
+ {
+ return false;
+ }
+ /**
+ * @return true if the models returned by this poducer are independent,
+ * false otherwise.
+ *
+ */
+ abstract public Reasoner getReasoner();
+
+ /**
+ * Returns the model that was used in the reasoner.bind() call.
+ *
+ * @return
+ */
+ abstract public Model getBoundModel();
+
+ /**
+ * Populate the model with test data for the derivation test.
+ *
+ * @param model
+ */
+ abstract public void populateModel(InfModel model);
+
+ /**
+ * Using the reasoner and the populated model, this statement should return
+ * a derivation iterator when getDerivation() is called.
+ *
+ * This is not a complete test but a simple test to show that the system
+ * works in this specific case. A complete set of tests is left for later
+ * development.
+ *
+ * @return The Statement that should have at least one derivation.
+ */
+ abstract public Statement getDerivationStatement();
+
+ /**
+ * Using the reasoner and the populated model, this statement should return
+ * an EMPTY derivation iterator when getDerivation() is called.
+ *
+ * This is not a complete test but a simple test to show that the system
+ * works in this specific case. A complete set of tests is left for later
+ * development.
+ *
+ * @return The Statement that should have no derivations.
+ */
+ abstract public Statement getNoDerivationStatement();
+
+ /**
+ * @return true if the InfModel supports the getDeductionsModel() call.
+ */
+ abstract public boolean supportsDeductionsModel();
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractModelProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractModelProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractModelProducer.java
new file mode 100644
index 0000000..882e9d3
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractModelProducer.java
@@ -0,0 +1,88 @@
+/*
+ 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.testing_framework;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.rdf.model.Model;
+
+/**
+ * An abstract implementation of the ModelProducerInterface.
+ *
+ * This class handles tracking of the created models and closing them. It also
+ * provides a callback for the implementing class to perform extra cleanup when
+ * the model is closed.
+ *
+ */
+public abstract class AbstractModelProducer<T extends Model> implements
+ IProducer<T> {
+
+ /**
+ * The list of graphs that have been opened in this test.
+ */
+ protected List<Model> modelList = new ArrayList<Model>();
+
+ /**
+ * @return true if the models returned by this poducer are independent,
+ * false otherwise.
+ *
+ */
+ abstract public boolean areIndependent();
+
+ /**
+ * The method to create a new model.
+ *
+ * @return a newly constructed model of type under test.
+ */
+ abstract protected T createNewModel();
+
+ @Override
+ final public T newInstance() {
+ T retval = createNewModel();
+ modelList.add(retval);
+ return retval;
+ }
+
+ /**
+ * Method called after the graph is closed. This allows the implementer to
+ * perform extra cleanup activities, like deleting the file associated with
+ * a file based graph.
+ * <p>
+ * By default this does nothing.
+ * </p>
+ *
+ * @param g
+ * The graph that is closed
+ */
+ protected void afterClose(T g) {
+ };
+
+ @Override
+ final public void cleanUp() {
+ for (Model m : modelList) {
+ if (!m.isClosed()) {
+ m.close();
+ }
+ afterClose((T) m);
+ }
+ modelList.clear();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractRecordingListener.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractRecordingListener.java b/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractRecordingListener.java
new file mode 100644
index 0000000..e9e26a1
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/AbstractRecordingListener.java
@@ -0,0 +1,190 @@
+/*
+ * 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.testing_framework;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.junit.Assert;
+
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.Statement;
+
+/**
+ * This testing listener records the event names and data, and provides a method
+ * for comparing the actual with the expected history.
+ */
+public class AbstractRecordingListener {
+
+ @SuppressWarnings("unchecked")
+ public static boolean checkEquality(final Object o1, final Object o2) {
+ if (o1 == o2) {
+ return true;
+ }
+ if (o1.getClass().isArray() && o2.getClass().isArray()) {
+ final Object[] o1a = (Object[]) o1;
+ final Object[] o2a = (Object[]) o2;
+
+ if (o1a.length == o2a.length) {
+ for (int i = 0; i < o1a.length; i++) {
+ if (!checkEquality(o1a[i], o2a[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+ return false;
+ } else if ((o1 instanceof Collection<?>)
+ && (o2 instanceof Collection<?>)) {
+ return checkEquality(((Collection<Object>) o1).toArray(),
+ ((Collection<Object>) o2).toArray());
+
+ } else if ((o1 instanceof Model) && (o2 instanceof Model)) {
+ return checkEquality(((Model) o1).listStatements().toList(),
+ ((Model) o2).listStatements().toList());
+
+ } else if ((o1 instanceof Statement) && (o2 instanceof Statement)) {
+ return checkEquality(((Statement) o1).asTriple(),
+ ((Statement) o2).asTriple());
+
+ } else {
+ return o1.equals(o2);
+ }
+ }
+
+ private List<Object> history = new ArrayList<Object>();
+
+ protected final void record(String tag, Object x, Object y) {
+ history.add(tag);
+ history.add(x);
+ history.add(y);
+ }
+
+ protected final void record(String tag, Object info) {
+ history.add(tag);
+ history.add(info);
+ }
+
+ public final int differ(Object... things) {
+ for (int i = 0; i < history.size(); i++) {
+ if (!things[i].equals(history.get(i))) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ public final boolean has(Object... things) {
+ return history.equals(Arrays.asList(things));
+ }
+
+ public final void assertHas(Object... things) {
+ if (has(things) == false) {
+ int idx = differ(things);
+ Assert.fail("expected " + Arrays.asList(things) + " but got "
+ + history + " differ at position " + idx);
+ }
+ }
+
+ public final void assertEmpty() {
+ if (history.size() > 0) {
+ Assert.fail("Should be no history but got " + history);
+ }
+ }
+
+ public final int size() {
+ return history.size();
+ }
+
+ public final boolean has(List<?> things) {
+ return history.equals(things);
+ }
+
+ public final boolean hasStart(List<Object> L) {
+ return L.size() <= history.size()
+ && L.equals(history.subList(0, L.size()));
+ }
+
+ public final boolean hasEnd(List<Object> L) {
+ return L.size() <= history.size()
+ && L.equals(history.subList(history.size() - L.size(),
+ history.size()));
+ }
+
+ public final void assertHas(List<?> things) {
+ if (has(things) == false)
+ Assert.fail("expected " + things + " but got " + history);
+ }
+
+ public final void assertContains(Object... things) {
+ if (contains(things) == false)
+ Assert.fail(String.format("expected %s but got %s",
+ Arrays.asList(things), history));
+ }
+
+ public final void assertHasStart(Object... start) {
+ List<Object> L = Arrays.asList(start);
+ if (hasStart(L) == false)
+ Assert.fail("expected " + L + " at the beginning of " + history);
+ }
+
+ public final void assertHasEnd(Object... end) {
+ List<Object> L = Arrays.asList(end);
+ if (hasEnd(L) == false)
+ Assert.fail("expected " + L + " at the end of " + history);
+ }
+
+ public final void clear() {
+ history.clear();
+ }
+
+ public final boolean contains(Object... objects) {
+ for (int i = 0; i < history.size(); i++) {
+ if (history.get(i).equals(objects[0])) {
+ boolean found = true;
+ for (int j = 1; j < objects.length; j++) {
+ if (i + j >= history.size()) {
+ found = false;
+ break;
+ }
+ if (!history.get(i + j).equals(objects[j])) {
+ found = false;
+ break;
+ }
+ }
+ if (found) {
+ return true;
+ }
+ }
+
+ }
+ return false;
+
+ }
+
+ public final Iterator<Object> from(Object start) {
+ Iterator<Object> iter = history.iterator();
+ while (iter.hasNext() && !iter.next().equals(start))
+ ; // loop
+ return iter;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java b/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java
new file mode 100644
index 0000000..f7a16e5
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java
@@ -0,0 +1,17 @@
+package org.apache.jena.testing_framework;
+
+import org.xenei.junit.contract.IProducer;
+
+public class ContractTemplate<P extends IProducer<?>> {
+
+ private P producer;
+
+ public final void setProducer(P producer) {
+ this.producer = producer;
+ }
+
+ protected final P getProducer() {
+ return producer;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphEventManagerProducerInterface.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphEventManagerProducerInterface.java b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphEventManagerProducerInterface.java
new file mode 100644
index 0000000..70e8182
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphEventManagerProducerInterface.java
@@ -0,0 +1,35 @@
+/*
+ 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.testing_framework;
+
+import org.apache.jena.graph.GraphEventManager;
+
+/**
+ * Foo producer for GraphEventManager testing.
+ *
+ */
+public interface GraphEventManagerProducerInterface {
+
+ /**
+ * Returns a GraphEventManager to take part in the test. Must be overridden
+ * in a subclass.
+ *
+ * @return The GraphEventManager implementation to test.
+ */
+ public abstract GraphEventManager newEventManager();
+}
[26/50] [abbrv] jena git commit: Further simplification in jena-base
Posted by cl...@apache.org.
Further simplification in jena-base
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/a664cb6c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/a664cb6c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/a664cb6c
Branch: refs/heads/add-contract-tests
Commit: a664cb6cf9f98a20bee3d37f7df869cfb06950bd
Parents: 6b47534
Author: ajs6f <aj...@virginia.edu>
Authored: Mon May 4 15:15:23 2015 -0400
Committer: ajs6f <aj...@virginia.edu>
Committed: Mon May 4 19:49:52 2015 -0400
----------------------------------------------------------------------
.../sparql/engine/iterator/QueryIterGroup.java | 22 +-
.../sparql/engine/iterator/QueryIterTopN.java | 8 +-
.../org/apache/jena/sparql/util/Context.java | 2 +-
.../org/apache/jena/atlas/iterator/Iter.java | 22 +-
.../jena/atlas/iterator/IteratorArray.java | 3 +-
.../org/apache/jena/atlas/lib/Allocator.java | 28 ---
.../org/apache/jena/atlas/lib/Callback.java | 5 +-
.../java/org/apache/jena/atlas/lib/Cell.java | 99 ---------
.../apache/jena/atlas/lib/CollectionUtils.java | 9 +-
.../java/org/apache/jena/atlas/lib/FileOps.java | 18 +-
.../org/apache/jena/atlas/lib/ListUtils.java | 65 ++----
.../org/apache/jena/atlas/lib/MultiMap.java | 146 -------------
.../apache/jena/atlas/lib/MultiMapToList.java | 43 ----
.../apache/jena/atlas/lib/MultiMapToSet.java | 47 ----
.../org/apache/jena/atlas/lib/MultiSet.java | 218 -------------------
.../apache/jena/atlas/lib/PropertyUtils.java | 4 +-
.../org/apache/jena/atlas/lib/StrUtils.java | 41 +---
.../java/org/apache/jena/atlas/lib/Tuple.java | 8 +-
.../org/apache/jena/atlas/lib/TupleBuilder.java | 50 -----
.../org/apache/jena/atlas/lib/cache/Getter.java | 25 ---
.../java/org/apache/jena/atlas/lib/TS_Lib.java | 1 -
.../org/apache/jena/atlas/lib/TestMultiSet.java | 143 ------------
.../impl/PropertyTableHashMapImpl.java | 19 +-
.../java/org/apache/jena/fuseki/FusekiLib.java | 8 +-
.../jena/fuseki/servlets/SPARQL_Protocol.java | 4 +-
.../java/org/apache/jena/fuseki/FusekiLib.java | 8 +-
.../apache/jena/fuseki/server/DataService.java | 6 +-
.../jena/fuseki/servlets/SPARQL_Protocol.java | 2 +-
.../jena/tdb/base/block/BlockMgrTracker.java | 31 +--
.../jena/query/text/EntityDefinition.java | 5 +-
.../assembler/EntityDefinitionAssembler.java | 19 +-
31 files changed, 112 insertions(+), 997 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java
index e483c58..2b2e194 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java
@@ -25,8 +25,10 @@ import java.util.List ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.iterator.IteratorDelayedInitialization ;
-import org.apache.jena.atlas.lib.MultiMap ;
import org.apache.jena.atlas.lib.Pair ;
+import org.apache.jena.ext.com.google.common.collect.ArrayListMultimap;
+import org.apache.jena.ext.com.google.common.collect.HashMultimap;
+import org.apache.jena.ext.com.google.common.collect.Multimap;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.core.VarExprList ;
@@ -77,12 +79,12 @@ public class QueryIterGroup extends QueryIterPlainWrapper
@Override
protected Iterator<Binding> initializeIterator() {
- boolean noAggregators = ( aggregators == null || aggregators.size() == 0 ) ;
+ boolean noAggregators = ( aggregators == null || aggregators.isEmpty() ) ;
- // Phase 1 : assign bindings to buckets by key and pump through the aggregrators.
- MultiMap<Binding, Pair<Var, Accumulator>> accumulators = MultiMap.createMapList() ;
+ // Phase 1 : assign bindings to buckets by key and pump through the aggregators.
+ Multimap<Binding, Pair<Var, Accumulator>> accumulators = HashMultimap.create() ;
- for ( ; iter.hasNext() ; )
+ while ( iter.hasNext() )
{
Binding b = iter.nextBinding() ;
Binding key = genKey(groupVarExpr, b, execCxt) ;
@@ -94,9 +96,8 @@ public class QueryIterGroup extends QueryIterPlainWrapper
continue ;
}
- Collection<Pair<Var, Accumulator>> accs = accumulators.get(key) ;
// Create if does not exist.
- if ( accs == null )
+ if ( !accumulators.containsKey(key) )
{
for ( ExprAggregator agg : aggregators )
{
@@ -104,11 +105,10 @@ public class QueryIterGroup extends QueryIterPlainWrapper
Var v = agg.getVar() ;
accumulators.put(key, Pair.create(v, x)) ;
}
- accs = accumulators.get(key) ;
}
// Do the per-accumulator calculation.
- for ( Pair<Var, Accumulator> pair : accs )
+ for ( Pair<Var, Accumulator> pair : accumulators.get(key) )
pair.getRight().accumulate(b, execCxt) ;
}
@@ -153,11 +153,11 @@ public class QueryIterGroup extends QueryIterPlainWrapper
if ( noAggregators )
// We used placeholder so there are always the key.
- return accumulators.keys().iterator() ;
+ return accumulators.keySet().iterator() ;
List<Binding> results = new ArrayList<>() ;
- for ( Binding k : accumulators.keys() )
+ for ( Binding k : accumulators.keySet() )
{
Collection<Pair<Var, Accumulator>> accs = accumulators.get(k) ;
BindingMap b = BindingFactory.create(k) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTopN.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTopN.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTopN.java
index 266fd1a..f5a39a9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTopN.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTopN.java
@@ -18,6 +18,8 @@
package org.apache.jena.sparql.engine.iterator;
+import static java.util.Arrays.asList;
+
import java.util.Arrays ;
import java.util.Comparator ;
import java.util.Iterator ;
@@ -25,7 +27,6 @@ import java.util.List ;
import java.util.PriorityQueue ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.IteratorArray ;
import org.apache.jena.atlas.iterator.IteratorDelayedInitialization ;
import org.apache.jena.atlas.lib.ReverseComparator ;
import org.apache.jena.query.Query ;
@@ -87,7 +88,7 @@ public class QueryIterTopN extends QueryIterPlainWrapper
return new IteratorDelayedInitialization<Binding>() {
@Override
protected Iterator<Binding> initializeIterator() {
- for (; qIter.hasNext();) {
+ while ( qIter.hasNext() ) {
Binding binding = qIter.next() ;
if ( heap.size() < limit )
add(binding) ;
@@ -101,8 +102,7 @@ public class QueryIterTopN extends QueryIterPlainWrapper
Binding[] y = heap.toArray(new Binding[]{}) ;
heap = null ;
Arrays.sort(y, comparator) ;
- IteratorArray<Binding> iter = IteratorArray.create(y) ;
- return iter ;
+ return asList(y).iterator() ;
}
} ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-arq/src/main/java/org/apache/jena/sparql/util/Context.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/Context.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/Context.java
index 9107dea..f8c8ed9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/Context.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/Context.java
@@ -273,7 +273,7 @@ public class Context
{
for ( Callback<Symbol> c : callbacks )
{
- c.proc(symbol) ;
+ c.apply(symbol) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
index fc0a534..9cf45a7 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
@@ -267,7 +267,7 @@ public class Iter<T> implements Iterator<T> {
* stream until the first element not passing the filter)
*/
public static <T> boolean every(Iterator<? extends T> stream, Predicate<T> filter) {
- for (; stream.hasNext();) {
+ while ( stream.hasNext() ) {
T item = stream.next() ;
if ( !filter.test(item) )
return false ;
@@ -291,7 +291,7 @@ public class Iter<T> implements Iterator<T> {
* the stream to first element passing the filter)
*/
public static <T> boolean some(Iterator<? extends T> stream, Predicate<T> filter) {
- for (; stream.hasNext();) {
+ while ( stream.hasNext() ) {
T item = stream.next() ;
if ( filter.test(item) )
return true ;
@@ -420,14 +420,14 @@ public class Iter<T> implements Iterator<T> {
// }
public static <T> Iterator<T> removeNulls(Iterator<T> iter) {
- return filter(iter, x -> x != null) ;
+ return filter(iter, Objects::nonNull) ;
}
/** Take the first N elements of an iterator - stop early if too few */
public static <T> List<T> take(Iterator<T> iter, int N) {
iter = new IteratorN<>(iter, N) ;
List<T> x = new ArrayList<>(N) ;
- for (; iter.hasNext();)
+ while ( iter.hasNext() )
x.add(iter.next()) ;
return x ;
}
@@ -611,7 +611,7 @@ public class Iter<T> implements Iterator<T> {
/** Send the elements of the iterator to a sink - consumes the iterator */
public static <T> void sendToSink(Iterator<T> iter, Sink<T> sink) {
- for (; iter.hasNext();) {
+ while ( iter.hasNext() ) {
T thing = iter.next() ;
sink.send(thing) ;
}
@@ -635,11 +635,11 @@ public class Iter<T> implements Iterator<T> {
// { return Iter.iter(Arrays.asList(objects)) ; }
public static <T> Iter<T> iterSingleton(T x) {
- return Iter.iter(SingletonIterator.create(x)) ;
+ return iter(SingletonIterator.create(x)) ;
}
public static <T> Iter<T> iter(Collection<T> collection) {
- return Iter.iter(collection.iterator()) ;
+ return iter(collection.iterator()) ;
}
public static <T> Iter<T> iter(Iterator<T> iterator) {
@@ -667,7 +667,7 @@ public class Iter<T> implements Iterator<T> {
* debugging
*/
public static <T> Iterator<T> materialize(Iterator<T> iter) {
- return Iter.toList(iter).iterator() ;
+ return toList(iter).iterator() ;
}
public static <T> Iter<T> concat(Iter<T> iter1, Iter<T> iter2) {
@@ -683,7 +683,7 @@ public class Iter<T> implements Iterator<T> {
return iter2 ;
if ( iter2 == null )
return iter1 ;
- return Iter.iter(iter1).append(Iter.iter(iter2)) ;
+ return iter(iter1).append(iter(iter2)) ;
}
public static <T> T first(Iterator<T> iter, Predicate<T> filter) {
@@ -790,7 +790,7 @@ public class Iter<T> implements Iterator<T> {
}
public Iter<T> removeNulls() {
- return filter(x -> x != null) ;
+ return iter(removeNulls(this)) ;
}
public <R> Iter<R> map(Function<T, R> converter) {
@@ -823,7 +823,7 @@ public class Iter<T> implements Iterator<T> {
/** Return an Iter that yields at most the first N items */
public Iter<T> take(int N) {
- return Iter.iter(take(iterator, N)) ;
+ return iter(take(iterator, N)) ;
}
/** Count the iterator (this is destructive on the iterator) */
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
index a8cb1b2..70a8f26 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
@@ -25,7 +25,8 @@ import java.util.Spliterator;
/** Iterator over a Java base array */
/**
- * Prefer {@link Arrays#spliterator(Object[])} or {@link Arrays#stream(Object[])}
+ * Prefer {@link Arrays#asList(Object...)} with {@link Iterable#iterator()} or
+ * {@link Arrays#spliterator(Object[])} or {@link Arrays#stream(Object[])}
*/
@Deprecated
public final class IteratorArray<T> implements Iterator<T>
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/Allocator.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Allocator.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Allocator.java
deleted file mode 100644
index 84005de..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Allocator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.atlas.lib;
-
-public interface Allocator<T>
-{
- /** Allocate a new T, different from others allocated */
- public T create() ;
-
-// /** Reset the process of allocation - may cause equivalent objects to be created from before the reset */
-// public void reset() ;
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/Callback.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Callback.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Callback.java
index d2f04f9..647625a 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Callback.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Callback.java
@@ -18,7 +18,8 @@
package org.apache.jena.atlas.lib;
-public interface Callback<T>
+import java.util.function.Function;
+
+public interface Callback<T> extends Function<T, Void>
{
- public void proc(T arg) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/Cell.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Cell.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Cell.java
deleted file mode 100644
index 6910c0c..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Cell.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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.atlas.lib ;
-
-
-/** Key-value slot, with chaining for lookup. */
-public class Cell<K,V>
-{
- private final Cell<K,V> previous ;
- private final K key ;
- private final V value ;
-
- /** Create a slot with no key, value or parent - can be used a slot chain root */
- public Cell() { this(null, null, null); }
-
- public Cell(K key, V value) { this(key, value, null); }
-
- private Cell(K key, V value, Cell<K, V> previous)
- {
- this.key = key ;
- this.value = value ;
- this.previous = previous ;
- }
-
- public Cell<K,V> extend(K key, V value)
- {
- return new Cell<>(key, value, this) ;
- }
-
- public final V find(K k)
- {
- // Java, tail recursion, lack thereof.
- Cell<K,V> slot = this ;
-
- while (slot != null)
- {
- // Defend against null keys (e.g. the root of a slot chain).
- if ( k.equals(slot.key) )
- return slot.value ;
-// if ( previous == null )
-// return null ;
- slot = slot.previous ;
- }
- return null ;
- }
-
- /* As it should be ... */
-// public final V find(K k)
-// {
-// if ( k.equals(key) )
-// return value ;
-// if ( previous == null )
-// return null ;
-// return previous.find(k) ;
-// }
-
- private static final String sep = ", " ;
- private void str(int level, StringBuilder acc)
- {
- if ( key == null && value == null )
- return ;
-
- if ( level != 0 )
- acc.append(sep) ;
- acc.append("(") ;
- acc.append(key.toString()) ;
- acc.append("->") ;
- acc.append(value.toString()) ;
- acc.append(")") ;
- if ( previous != null )
- previous.str(level+1, acc) ;
- }
-
- @Override
- public String toString()
- {
- StringBuilder sb = new StringBuilder() ;
- sb.append("{ ") ;
- str(0, sb) ;
- sb.append(" }") ;
- return sb.toString() ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
index 759e543..9895df8 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
@@ -19,16 +19,11 @@
package org.apache.jena.atlas.lib;
import java.util.Collection ;
-import java.util.Objects;
public class CollectionUtils
-{
- static public <T> void removeNulls(Collection<T> list)
- {
- list.removeIf(Objects::isNull);
- }
-
+{
static public <T> boolean disjoint(Collection<T> c1, Collection<T> c2)
{
return c1.stream().noneMatch(c2::contains);
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java
index 6862f4a..cf2e6ee 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java
@@ -19,11 +19,8 @@
package org.apache.jena.atlas.lib ;
import java.io.File ;
-import java.io.FileInputStream ;
-import java.io.FileOutputStream ;
import java.io.IOException ;
-import java.nio.channels.FileChannel ;
-
+import java.nio.file.Files;
import org.apache.jena.atlas.AtlasException ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.logging.Log ;
@@ -83,9 +80,8 @@ public class FileOps {
if ( ! d.exists() )
return ;
- for ( File f : d.listFiles() ) {
- if ( ".".equals(f.getName()) || "..".equals(f.getName()) )
- continue ;
+ for (File f : d.listFiles(f -> !f.getName().equals(".")
+ && !f.getName().equals(".."))) {
if ( f.isDirectory() )
clearAll(f) ;
f.delete() ;
@@ -215,13 +211,7 @@ public class FileOps {
/** Copy a file */
public static void copyFile(File source, File dest) {
try {
- @SuppressWarnings("resource")
- FileChannel sourceChannel = new FileInputStream(source).getChannel() ;
- @SuppressWarnings("resource")
- FileChannel destChannel = new FileOutputStream(dest).getChannel() ;
- destChannel.transferFrom(sourceChannel, 0, sourceChannel.size()) ;
- sourceChannel.close() ;
- destChannel.close() ;
+ Files.copy(source.toPath(), dest.toPath());
}
catch (IOException ex) {
IO.exception(ex) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
index 8315236..2d1345f 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
@@ -18,13 +18,13 @@
package org.apache.jena.atlas.lib;
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.joining;
+import static java.util.stream.Collectors.toList;
+
import java.util.ArrayList ;
import java.util.List ;
-import java.util.function.Consumer;
-
import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.iterator.FilterUnique ;
-import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.logging.Log ;
/** Various things for lists */
@@ -35,14 +35,13 @@ public class ListUtils
public static <T>
List<T> unique(List<T> list)
{
- Iter<T> iter = Iter.iter(list.iterator()) ;
- return iter.filter(new FilterUnique<T>()).toList() ;
+ return list.stream().distinct().collect(toList());
}
public static
List<Integer> asList(int... values)
{
- List<Integer> x = new ArrayList<>() ;
+ List<Integer> x = new ArrayList<>(values.length) ;
for ( int v : values )
x.add(v) ;
return x ;
@@ -50,47 +49,17 @@ public class ListUtils
public static <T> String str(T[] array)
{
- StringBuilder buff = new StringBuilder() ;
- String sep = "[" ;
-
- for ( T anArray : array )
- {
- buff.append( sep );
- sep = ", ";
- buff.append( anArray );
- }
- buff.append("]") ;
- return buff.toString() ;
+ return stream(array).map(String::valueOf).collect(joining(", ", "[", "]"));
}
public static String str(int[] array)
{
- StringBuilder buff = new StringBuilder() ;
- String sep = "[" ;
-
- for ( int anArray : array )
- {
- buff.append( sep );
- sep = ", ";
- buff.append( anArray );
- }
- buff.append("]") ;
- return buff.toString() ;
+ return stream(array).mapToObj(String::valueOf).collect(joining(", ", "[", "]"));
}
public static String str(long[] array)
{
- StringBuilder buff = new StringBuilder() ;
- String sep = "[" ;
-
- for ( long anArray : array )
- {
- buff.append( sep );
- sep = ", ";
- buff.append( anArray );
- }
- buff.append("]") ;
- return buff.toString() ;
+ return stream(array).mapToObj(String::valueOf).collect(joining(", ", "[", "]"));
}
public static <T> void print(IndentedWriter out, List<T> list)
@@ -98,23 +67,15 @@ public class ListUtils
print(out, list, " ") ;
}
- public static <T> void print(final IndentedWriter out, List<T> list, final String sep)
+ public static <T> void print(final IndentedWriter out, List<T> list, final CharSequence sep)
{
- Consumer<T> output = new Consumer<T>() {
- boolean first = true ;
- @Override
- public void accept(T item)
- {
- if ( ! first ) out.print(sep) ;
- out.print(item.toString()) ;
- first = false ;
- }
- } ;
- Iter.apply(list.iterator(), output) ;
+ out.print(list.stream().map(String::valueOf).collect(joining(sep)));
}
/** Return a list of lists of all the elements of collection in every order
* Easy to run out of heap memory.
+ *
+ * See {@link com.google.common.collect.Collections2#permutations(Collection<E>)}
*/
static public <T> List<List<T>> permute(List<T> c)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMap.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMap.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMap.java
deleted file mode 100644
index 2782ea6..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMap.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * 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.atlas.lib;
-
-import java.util.* ;
-
-import org.apache.jena.atlas.iterator.IteratorConcat ;
-
-/* Map from K to collection of V */
-
-public abstract class MultiMap<K, V>
-{
- private Map<K, Collection<V>> map = new HashMap<>() ;
-
- protected abstract Collection<V> createCollection() ;
-
- public static <K, V> MultiMapToList<K, V> createMapList() { return new MultiMapToList<>() ; }
- public static <K, V> MultiMapToSet<K, V> createMapSet() { return new MultiMapToSet<>() ; }
-
- protected MultiMap() { }
-
- protected Collection<V> getByKey(K key) {
- return map.get(key) ;
- }
-
- public abstract Collection<V> get(K key) ;
-
- public V getOne(K key) {
- Collection<V> c = map.get(key) ;
- if ( c == null || c.size() == 0 )
- return null ;
- return c.iterator().next() ;
- }
-
- public void putAll(K key, @SuppressWarnings("unchecked") V ... values)
- {
- for ( V v : values)
- put(key, v) ;
- }
-
- public void put(K key, V value)
- {
- Collection<V> x = map.get(key) ;
- if ( x == null )
- {
- x = createCollection() ;
- map.put(key, x) ;
- }
- x.add(value) ;
- }
-
- public void remove(K key, V value) {
- if ( map.containsKey(key))
- map.get(key).remove(value) ;
- }
- public void removeKey(K key) { map.remove(key) ; }
-
- protected Collection<V> valuesForKey(K key) { return map.get(key); }
- public abstract Collection<V> values(K key) ;
- public abstract Collection<V> values() ;
-
- public boolean containsKey(K key) { return map.containsKey(key) ; }
-
- public Set<K> keys() { return map.keySet() ; }
-
- public void clear() { map.clear() ; }
-
- public boolean isEmpty() { return map.isEmpty() ; }
-
- /** Does not materialise the contents */
- public Iterator<V> flatten()
- {
- IteratorConcat<V> all = new IteratorConcat<>() ;
- for ( K k : map.keySet() )
- {
- Collection<V> x = map.get(k) ;
- all.add(x.iterator()) ;
- }
- return all ;
- }
-
- @Override
- public boolean equals(Object obj) {
- if ( this == obj )
- return true ;
- if ( obj == null )
- return false ;
- if ( getClass() != obj.getClass() )
- return false ;
- MultiMap<?,?> other = (MultiMap<?,?>)obj ;
- if ( map == null ) {
- if ( other.map != null )
- return false ;
- } else if ( !map.equals(other.map) )
- return false ;
- return true ;
- }
-
- @Override
- public int hashCode() { return map.hashCode()^ 0x01010101 ; }
-
- @Override
- public String toString()
- {
- StringBuilder sb = new StringBuilder() ;
- sb.append("{ ") ;
- boolean firstKey = true ;
- for ( K key : keys() )
- {
- if ( ! firstKey )
- sb.append(", ") ;
- firstKey = false ;
- sb.append(key) ;
- sb.append(" => [") ;
- boolean firstValue = true ;
- for ( V value : values(key) )
- {
- if ( firstValue )
- sb.append(" ") ;
- else
- sb.append(", ") ;
- sb.append(value) ;
- firstValue = false ;
- }
- sb.append(" ] ") ;
- }
- sb.append("}") ;
- return sb.toString() ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMapToList.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMapToList.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMapToList.java
deleted file mode 100644
index ac1ba70..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMapToList.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * 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.atlas.lib;
-
-import java.util.ArrayList ;
-import java.util.Collection ;
-import java.util.List ;
-
-import org.apache.jena.atlas.iterator.Iter ;
-
-public class MultiMapToList<K,V> extends MultiMap<K,V> {
- public static <K, V> MultiMapToList<K, V> create() { return new MultiMapToList<>() ; }
-
- @Override
- protected Collection<V> createCollection() {
- return new ArrayList<>() ;
- }
-
- @Override
- public List<V> get(K key) { return (List<V>)getByKey(key); }
-
- @Override
- public List<V> values(K key) { return (List<V>)valuesForKey(key); }
-
- @Override
- public List<V> values() { return Iter.toList(flatten()) ; }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMapToSet.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMapToSet.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMapToSet.java
deleted file mode 100644
index b89e05b..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiMapToSet.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * 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.atlas.lib;
-
-import java.util.Collection ;
-import java.util.HashSet ;
-import java.util.Set ;
-
-import org.apache.jena.atlas.iterator.Iter ;
-
-public class MultiMapToSet<K,V> extends MultiMap<K,V> {
- public static <K, V> MultiMapToSet<K, V> create() { return new MultiMapToSet<>() ; }
-
- @Override
- protected Collection<V> createCollection()
- {
- return new HashSet<>() ;
- }
-
- @Override
- public Set<V> get(K key) { return (Set<V>)getByKey(key) ; }
-
- @Override
- public Set<V> values(K key) { return (Set<V>)valuesForKey(key); }
-
- @Override
- public Set<V> values() { return Iter.toSet(flatten()) ; }
-
-
-}
-
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiSet.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiSet.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiSet.java
deleted file mode 100644
index 3701042..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/MultiSet.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * 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.atlas.lib;
-
-import java.util.ArrayList ;
-import java.util.HashMap ;
-import java.util.Iterator ;
-import java.util.List ;
-import java.util.Map ;
-import java.util.NoSuchElementException ;
-
-/** A MultiSet - also known as a Bag
- */
-
-public class MultiSet<T> implements Iterable<T>
-{
- private Map<T,RefLong> map = new HashMap<>() ;
- private int multiSetSize = 0 ;
-
- private RefLong _get(T obj)
- {
- RefLong z = map.get(obj) ;
- if ( z == null )
- {
- z = new RefLong(0) ;
- map.put(obj, z) ;
- }
- return z ;
- }
-
- /** Does it contain any elements at all? */
- public boolean isEmpty() { return map.isEmpty() ; }
-
- /** Does it contain the object? */
- public boolean contains(T obj) { return map.containsKey(obj) ; }
-
- /** Yield one object per element (i.e without counts) */
- public Iterator<T> elements() { return map.keySet().iterator() ; }
-
- /** Add an object */
- public void add(T obj) { _get(obj).inc(); multiSetSize++ ; }
-
- /** Add an object, with cardinality n */
- public void add(T obj, long n)
- {
- if ( n <= 0 ) return ;
- _get(obj).add(n) ;
- multiSetSize += n ;
- }
-
- /** Remove one occurrence of the object from the multiset */
- public void remove(T obj)
- {
- RefLong x = map.get(obj) ;
- if ( x == null ) return ;
- x.dec() ;
- multiSetSize-- ;
- if ( x.value() == 0 )
- map.remove(obj) ;
- }
-
- /** Remove N occurrences of the object from the multiset */
- public void remove(T obj, long n)
- {
- RefLong x = map.get(obj) ;
- if ( x == null ) return ;
- long z = x.value() ;
- if ( z < n )
- n = z ;
- x.subtract(n) ;
- multiSetSize -= n ;
- if ( x.value() <= 0 )
- map.remove(obj) ;
- }
-
-
- /** Remove all occurrences of the object in themultiset */
- public void removeAll(T obj)
- {
- RefLong x = map.get(obj) ;
- if ( x == null )
- return ;
- multiSetSize -= x.value() ;
- map.remove(obj) ;
- }
-
- /* Remove everything */
- public void clear() { map.clear() ; multiSetSize = 0 ; }
-
-
- /** Get the count of the number of times the object appears in the multiset - i.e. it's cardinality.
- * Returns zero when not present.
- */
- public long count(T obj)
- {
- if ( ! map.containsKey(obj) ) return 0 ;
- return map.get(obj).value() ;
- }
-
- public int size()
- {
-// int count = 0 ;
-// for ( Map.Entry<T, RefLong> e : map.entrySet() )
-// count += e.getValue().value() ;
-// //return count ;
-// if ( count != multiSetSize )
-// {
-// Log.warn(this, "Mismatch") ;
-// return count ;
-// }
-
- return multiSetSize ;
- }
-
- private Iterator<T> iterator1()
- {
- // CRUDE
- List<T> expanded = new ArrayList<>() ;
- for ( Map.Entry<T, RefLong> e : map.entrySet() )
- {
- for ( int i = 0 ; i < e.getValue().value() ; i++ )
- expanded.add(e.getKey()) ;
- }
-
- return expanded.iterator() ;
- }
-
- @Override
- public Iterator<T> iterator()
- {
- return new Iterator<T>() {
-
- Iterator<T> keys = map.keySet().iterator() ;
- T key = null ;
- long keyCount = 0 ;
- T slot = null ;
-
- @Override
- public boolean hasNext()
- {
- if ( slot != null )
- return true ;
-
- if ( keys == null )
- return false ;
-
- if ( key != null )
- {
- if ( keyCount < count(key) )
- {
- keyCount++ ;
- slot = key ;
- return true ;
- }
- // End of this key.
- key = null ;
- }
-
- if ( keys.hasNext() )
- {
- key = keys.next() ;
- keyCount = 1 ;
- slot = key ;
- return true ;
- }
- keys = null ;
- return false ;
- }
-
- @Override
- public T next()
- {
- if ( ! hasNext() ) throw new NoSuchElementException() ;
- T x = slot ;
- slot = null ;
- return x ;
- }
-
- @Override
- public void remove()
- { throw new UnsupportedOperationException() ; }
- } ;
- }
-
- @Override
- public String toString()
- {
- StringBuilder sb = new StringBuilder() ;
- sb.append("{") ;
- String sep = "" ;
- for ( Map.Entry<T, RefLong> e : map.entrySet() )
- {
- sb.append(sep) ;
- sep = ", " ;
- sb.append(e.getKey().toString()) ;
- sb.append("=") ;
- sb.append(Long.toString(e.getValue().value())) ;
- }
- sb.append("}") ;
- return sb.toString() ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/PropertyUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/PropertyUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/PropertyUtils.java
index d4ac5b7..f9acfc8 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/PropertyUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/PropertyUtils.java
@@ -92,7 +92,7 @@ public class PropertyUtils {
/** Test whether a property has a value. Null tests equal to not present. */
public boolean propertyEquals(Properties properties, String key, String value) {
- return Lib.equal(properties.getProperty(key), value) ;
+ return Objects.equals(properties.getProperty(key), value) ;
}
/** Set property if not already set. */
@@ -130,7 +130,7 @@ public class PropertyUtils {
public void checkMetadata(Properties properties, String key, String expected) {
String value = properties.getProperty(key) ;
- if ( !Lib.equal(value, value) )
+ if ( !Objects.equals(value, value) )
inconsistent(properties, key, value, expected) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java
index 9a9be76..a61af11 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java
@@ -18,10 +18,15 @@
package org.apache.jena.atlas.lib;
+import static java.util.Arrays.stream;
+import static java.util.stream.Collectors.joining;
+import static java.util.stream.Collectors.toList;
+
import java.io.UnsupportedEncodingException ;
import java.util.ArrayList ;
import java.util.List ;
import java.util.Map ;
+import java.util.stream.Collectors;
public class StrUtils //extends StringUtils
@@ -54,27 +59,12 @@ public class StrUtils //extends StringUtils
private static String join(String sep, List<String> a)
{
- return join(sep, a.toArray(new String[0])) ;
+ return a.stream().collect(joining(sep));
}
private static String join(String sep, String...a)
- {
- if ( a.length == 0 )
- return "" ;
-
- if ( a.length == 1)
- return a[0] ;
-
- StringBuilder sbuff = new StringBuilder() ;
- sbuff.append(a[0]) ;
-
- for ( int i = 1 ; i < a.length ; i++ )
- {
- if ( sep != null )
- sbuff.append(sep) ;
- sbuff.append(a[i]) ;
- }
- return sbuff.toString() ;
+ {
+ return stream(a).collect(joining(sep));
}
public static final int CMP_GREATER = +1 ;
@@ -127,12 +117,7 @@ public class StrUtils //extends StringUtils
/** Split but also trim whiespace. */
public static String[] split(String s, String splitStr)
{
- String[] x = s.split(splitStr) ;
- for ( int i = 0 ; i < x.length ; i++ )
- {
- x[i] = x[i].trim() ;
- }
- return x ;
+ return stream(s.split(splitStr)).map(String::trim).toArray(String[]::new);
}
/** Does one string contain another string?
@@ -152,7 +137,7 @@ public class StrUtils //extends StringUtils
public static String substitute(String str, Map<String, String>subs)
{
- for ( Map.Entry<String, String> e : subs.entrySet() )
+ for ( Map.Entry<String, String> e : subs.entrySet() )
{
String param = e.getKey() ;
if ( str.contains(param) )
@@ -182,10 +167,8 @@ public class StrUtils //extends StringUtils
public static List<Character> toCharList(String str)
{
- List<Character> characters = new ArrayList<>(str.length()) ;
- for ( Character ch : str.toCharArray() )
- characters.add(ch) ;
- return characters ;
+ return str.codePoints().mapToObj(i -> (char) i).map(Character::new)
+ .collect(toList());
}
// ==== Encoding and decoding strings based on a marker character (e.g. %)
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
index 35a97a5..f991d65 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
@@ -21,6 +21,7 @@ package org.apache.jena.atlas.lib ;
import java.util.Arrays ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.Objects;
import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
@@ -37,9 +38,6 @@ public class Tuple<T> implements Iterable<T> {
/**
* Create a tuple from an array of elements. The array is not copied and
* should not be modified after this call.
- * <p>
- * There is also a {@link TupleBuilder} which does create an idendent
- * copy, in case that style is preferrable for creating tuples.
*/
public static <X> Tuple<X> create(X[] elements) {
return new Tuple<>(elements) ;
@@ -90,7 +88,7 @@ public class Tuple<T> implements Iterable<T> {
@Override
public Iterator<T> iterator() {
- return Arrays.stream(tuple).iterator() ;
+ return Arrays.asList(tuple).iterator() ;
}
/** Return a tuple with the column mapping applied */
@@ -130,7 +128,7 @@ public class Tuple<T> implements Iterable<T> {
for ( int i = 0 ; i < tuple.length ; i++ ) {
Object obj1 = tuple[i] ;
Object obj2 = x.tuple[i] ;
- if ( !Lib.equal(obj1, obj2) )
+ if ( !Objects.equals(obj1, obj2) )
return false ;
}
return true ;
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/TupleBuilder.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/TupleBuilder.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/TupleBuilder.java
deleted file mode 100644
index 278334d..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/TupleBuilder.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.atlas.lib;
-
-
-import java.util.ArrayList ;
-import java.util.List ;
-
-/** Tuple builder class - tuples are immutable, this is how to create them in the builder style */
-public class TupleBuilder<T>
-{
- private List<T> x = new ArrayList<>() ;
-
- public TupleBuilder() { }
-
- public TupleBuilder<T> add(T element) {
- x.add(element) ;
- return this ;
- }
-
- public TupleBuilder<T> reset() {
- x.clear() ;
- return this ;
- }
-
- public Tuple<T> build() {
- @SuppressWarnings("unchecked")
- T[] elts = (T[])new Object[x.size()] ;
- // Copy contents, should not create a new array because elts
- // is created with the right size so elts == elts2
- T[] elts2 = x.toArray(elts) ;
- return new Tuple<>(elts2) ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Getter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Getter.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Getter.java
deleted file mode 100644
index c9f879c..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Getter.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.atlas.lib.cache;
-
-/** A get interface */
-public interface Getter<K, V>
-{
- public V get(K key) ;
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java
index b91d4ad..ac543c0 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/TS_Lib.java
@@ -46,7 +46,6 @@ import org.junit.runners.Suite ;
, TestReverseComparator.class
, TestTrie.class
, TestFilenameProcessing.class
- , TestMultiSet.class
, TestNumberUtils.class
, TestDateTimeUtils.class
} )
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-base/src/test/java/org/apache/jena/atlas/lib/TestMultiSet.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestMultiSet.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestMultiSet.java
deleted file mode 100644
index 477386b..0000000
--- a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestMultiSet.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * 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.atlas.lib;
-
-import java.util.Arrays ;
-import java.util.Collections ;
-import java.util.List ;
-
-import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.MultiSet ;
-import org.junit.Test ;
-
-
-public class TestMultiSet extends BaseTest
-{
- @Test public void multiSet_01()
- {
- MultiSet<String> x = new MultiSet<>() ;
- assertTrue(x.isEmpty()) ;
- assertEquals(0, x.count("A")) ;
- }
-
- @Test public void multiSet_02()
- {
- MultiSet<String> x = new MultiSet<>() ;
- x.add("A") ;
- assertFalse(x.isEmpty()) ;
- assertEquals(1, x.count("A") ) ;
- x.add("A") ;
- assertEquals(2, x.count("A") ) ;
- }
-
- @Test public void multiSet_03()
- {
- MultiSet<String> x = new MultiSet<>() ;
- x.add("A") ;
- x.add("A") ;
- x.remove("A") ;
- assertEquals(1, x.count("A") ) ;
- assertTrue(x.contains("A")) ;
- x.remove("A") ;
- assertEquals(0, x.count("A") ) ;
- assertFalse(x.contains("A")) ;
- }
-
- @Test public void multiSet_04()
- {
- String[] data = { } ;
- iterTest(data) ;
- }
-
-
- @Test public void multiSet_05()
- {
- String[] data = { "A" } ;
- iterTest(data) ;
- }
-
- @Test public void multiSet_06()
- {
- String[] data = { "A", "B", "C" } ;
- iterTest(data) ;
- }
-
-
- @Test public void multiSet_07()
- {
- String[] data = { "A", "B", "C", "A" } ;
- iterTest(data) ;
- }
-
- @Test public void multiSet_08()
- {
- String[] data = { } ;
- MultiSet<String> x = add(data) ;
- assertEquals(0, x.size()) ;
- }
-
- @Test public void multiSet_09()
- {
- String[] data = { "A", "A" } ;
- MultiSet<String> x = add(data) ;
- assertEquals(2, x.size()) ;
- }
-
- @Test public void multiSet_10()
- {
- String[] data = { "A", "A" } ;
- MultiSet<String> x = add(data) ;
- x.remove("A") ;
- assertEquals(1, x.size()) ;
- x.remove("A") ;
- assertEquals(0, x.size()) ;
- x.remove("A") ;
- assertEquals(0, x.size()) ;
- }
-
- @Test public void multiSet_11()
- {
- String[] data = { "A", "A" } ;
- MultiSet<String> x = add(data) ;
- long c = Iter.count(x.elements()) ;
- assertEquals(1, c) ;
- }
-
- private static MultiSet<String> add(String[] data)
- {
- MultiSet<String> x = new MultiSet<>() ;
- for ( String str : data )
- x.add(str) ;
- return x ;
- }
-
- private static void iterTest(String[] data)
- {
- List<String> expected = Arrays.asList(data) ;
- MultiSet<String> x = new MultiSet<>() ;
- for ( String str : data )
- x.add(str) ;
- List<String> actual = Iter.toList(x.iterator()) ;
- Collections.sort(expected) ;
- Collections.sort(actual) ;
- assertEquals(expected, actual) ;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
index cee257f..622b3f1 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/impl/PropertyTableHashMapImpl.java
@@ -19,11 +19,12 @@
package org.apache.jena.propertytable.impl;
import java.util.* ;
-import java.util.Map.Entry ;
+import java.util.Map.Entry;
import org.apache.jena.atlas.iterator.Iter;
import org.apache.jena.atlas.iterator.IteratorConcat;
-import org.apache.jena.atlas.lib.MultiMapToSet ;
+import org.apache.jena.ext.com.google.common.collect.HashMultimap;
+import org.apache.jena.ext.com.google.common.collect.SetMultimap ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.propertytable.Column;
@@ -50,7 +51,7 @@ public class PropertyTableHashMapImpl implements PropertyTable {
private Map<Node, Map<Node, Node>> valueIndex;
// POS index
// Maps column Node to (value, subject Node) pairs
- private Map<Node, MultiMapToSet<Node, Node>> valueReverseIndex;
+ private Map<Node, SetMultimap<Node, Node>> valueReverseIndex;
PropertyTableHashMapImpl() {
columnIndex = new HashMap<Node, Column>();
@@ -58,7 +59,7 @@ public class PropertyTableHashMapImpl implements PropertyTable {
rowIndex = new HashMap<Node, Row>();
rowList = new ArrayList<Row>();
valueIndex = new HashMap<Node, Map<Node, Node>>();
- valueReverseIndex = new HashMap<Node, MultiMapToSet<Node, Node>>();
+ valueReverseIndex = new HashMap<Node, SetMultimap<Node, Node>>();
}
@Override
@@ -120,7 +121,7 @@ public class PropertyTableHashMapImpl implements PropertyTable {
Node p = column.getColumnKey();
- final MultiMapToSet<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
+ final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
if ( valueToSubjectMap == null )
return NullIterator.instance() ;
final Set<Node> subjects = valueToSubjectMap.get(value);
@@ -171,7 +172,7 @@ public class PropertyTableHashMapImpl implements PropertyTable {
columnIndex.put(p, new ColumnImpl(this, p));
columnList.add(columnIndex.get(p));
valueIndex.put(p, new HashMap<Node, Node>());
- valueReverseIndex.put(p, MultiMapToSet.<Node, Node> create());
+ valueReverseIndex.put(p, HashMultimap.create());
return getColumn(p);
}
@@ -226,7 +227,7 @@ public class PropertyTableHashMapImpl implements PropertyTable {
Node p = column.getColumnKey();
- final MultiMapToSet<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
+ final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
if ( valueToSubjectMap == null )
return Collections.emptyList() ;
final Set<Node> subjects = valueToSubjectMap.get(value);
@@ -257,7 +258,7 @@ public class PropertyTableHashMapImpl implements PropertyTable {
private void addToReverseMap(final Node p, final Node s, final Node oldValue, final Node value) {
- final MultiMapToSet<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
+ final SetMultimap<Node, Node> valueToSubjectMap = valueReverseIndex.get(p);
if ( valueToSubjectMap == null )
return ;
valueToSubjectMap.remove(oldValue, s);
@@ -281,7 +282,7 @@ public class PropertyTableHashMapImpl implements PropertyTable {
private void removeFromReverseMap(final Node p, final Node s,
final Node value) {
- final MultiMapToSet<Node, Node> valueTokeysMap = valueReverseIndex.get(p);
+ final SetMultimap<Node, Node> valueTokeysMap = valueReverseIndex.get(p);
if ( valueTokeysMap == null )
return ;
valueTokeysMap.remove(s, value);
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiLib.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiLib.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiLib.java
index ca216f3..e06d692 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiLib.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiLib.java
@@ -23,9 +23,9 @@ import java.util.Iterator ;
import javax.servlet.http.HttpServletRequest ;
import org.apache.commons.lang.StringUtils ;
-import org.apache.jena.atlas.lib.MultiMap ;
-import org.apache.jena.atlas.lib.MultiMapToList ;
import org.apache.jena.atlas.web.ContentType ;
+import org.apache.jena.ext.com.google.common.collect.ArrayListMultimap;
+import org.apache.jena.ext.com.google.common.collect.Multimap;
import org.apache.jena.fuseki.servlets.HttpAction ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
@@ -87,8 +87,8 @@ public class FusekiLib {
}
/** Parse the query string - do not process the body even for a form */
- public static MultiMap<String, String> parseQueryString(HttpServletRequest req) {
- MultiMap<String, String> map = MultiMapToList.create() ;
+ public static Multimap<String, String> parseQueryString(HttpServletRequest req) {
+ Multimap<String, String> map = ArrayListMultimap.create() ;
// Don't use ServletRequest.getParameter or getParamterNames
// as that reads form data. This code parses just the query string.
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
index 84bb858..ed106d8 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
@@ -24,6 +24,8 @@ import static org.apache.jena.fuseki.HttpNames.paramNamedGraphURI ;
import java.util.Arrays ;
import java.util.Collections ;
import java.util.List ;
+import java.util.Objects;
+
import javax.servlet.http.HttpServletRequest ;
import org.apache.jena.atlas.iterator.Iter ;
@@ -74,7 +76,7 @@ public abstract class SPARQL_Protocol extends SPARQL_ServletBase
private static List<String> removeEmptyValues(List<String> list)
{
- return Iter.iter(list).filter(item -> item != null && item.length() != 0).toList() ;
+ return Iter.iter(list).filter(Objects::nonNull).filter(item -> !item.isEmpty()).toList() ;
}
protected static int countParamOccurences(HttpServletRequest request, String param)
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
index 3a2a409..1138260 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
@@ -22,9 +22,9 @@ import java.util.Iterator ;
import javax.servlet.http.HttpServletRequest ;
-import org.apache.jena.atlas.lib.MultiMap ;
-import org.apache.jena.atlas.lib.MultiMapToList ;
import org.apache.jena.atlas.web.ContentType ;
+import org.apache.jena.ext.com.google.common.collect.ArrayListMultimap;
+import org.apache.jena.ext.com.google.common.collect.Multimap;
import org.apache.jena.fuseki.server.SystemState ;
import org.apache.jena.fuseki.servlets.HttpAction ;
import org.apache.jena.graph.Graph ;
@@ -95,8 +95,8 @@ public class FusekiLib {
}
/** Parse the query string - do not process the body even for a form */
- public static MultiMap<String, String> parseQueryString(HttpServletRequest req) {
- MultiMap<String, String> map = MultiMapToList.create() ;
+ public static Multimap<String, String> parseQueryString(HttpServletRequest req) {
+ Multimap<String, String> map = ArrayListMultimap.create() ;
// Don't use ServletRequest.getParameter or getParamterNames
// as that reads form data. This code parses just the query string.
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/DataService.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/DataService.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/DataService.java
index 1037390..e4b8793 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/DataService.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/DataService.java
@@ -25,8 +25,8 @@ import java.util.* ;
import java.util.concurrent.atomic.AtomicBoolean ;
import java.util.concurrent.atomic.AtomicLong ;
-import org.apache.jena.atlas.lib.MultiMap ;
-import org.apache.jena.atlas.lib.MultiMapToList ;
+import org.apache.jena.ext.com.google.common.collect.ArrayListMultimap;
+import org.apache.jena.ext.com.google.common.collect.ListMultimap;
import org.apache.jena.fuseki.DEF ;
import org.apache.jena.fuseki.Fuseki ;
import org.apache.jena.fuseki.build.DataServiceDesc ;
@@ -54,7 +54,7 @@ public class DataService { //implements DatasetMXBean {
private final DataServiceDesc svcDesc ;
private DatasetGraph dataset = null ; // Only valid if active.
- private MultiMapToList<OperationName, Endpoint> operations = MultiMap.createMapList() ;
+ private ListMultimap<OperationName, Endpoint> operations = ArrayListMultimap.create() ;
private Map<String, Endpoint> endpoints = new HashMap<>() ;
private volatile DatasetStatus state = UNINITIALIZED ;
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
index 2a19d03..0be8b6c 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
@@ -79,7 +79,7 @@ public abstract class SPARQL_Protocol extends ActionSPARQL
return Iter.iter(list).filter(acceptNonEmpty).toList() ;
}
- private static Predicate<String> acceptNonEmpty = item -> item != null && item.length() != 0;
+ private static Predicate<String> acceptNonEmpty = item -> item != null && !item.isEmpty();
protected static int countParamOccurences(HttpServletRequest request, String param)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrTracker.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrTracker.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrTracker.java
index 0173261..9d2f9ee 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrTracker.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrTracker.java
@@ -24,7 +24,8 @@ import java.util.ArrayList ;
import java.util.Iterator ;
import java.util.List ;
-import org.apache.jena.atlas.lib.MultiSet ;
+import org.apache.jena.ext.com.google.common.collect.HashMultiset;
+import org.apache.jena.ext.com.google.common.collect.Multiset;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.tdb.TDBException ;
import org.slf4j.Logger ;
@@ -42,9 +43,9 @@ public class BlockMgrTracker /*extends BlockMgrWrapper*/ implements BlockMgr
// ---- State for tracking
// Track and count block references and releases
// No - the page is dirty.
- protected final MultiSet<Long> activeReadBlocks = new MultiSet<>() ;
- protected final MultiSet<Long> activeWriteBlocks = new MultiSet<>() ;
- protected final MultiSet<Long> activeIterBlocks = new MultiSet<>() ;
+ protected final Multiset<Long> activeReadBlocks = HashMultiset.create() ;
+ protected final Multiset<Long> activeWriteBlocks = HashMultiset.create() ;
+ protected final Multiset<Long> activeIterBlocks = HashMultiset.create() ;
// Track the operations
protected final List<Pair<Action, Long>> actions = new ArrayList<>() ;
protected final List<Iterator<?>> activeIterators = new ArrayList<>() ;
@@ -59,13 +60,6 @@ public class BlockMgrTracker /*extends BlockMgrWrapper*/ implements BlockMgr
actions.clear() ;
}
- private void clearInternalIter()
- {
- clearInternalRW() ;
- activeIterators.clear() ;
- activeIterBlocks.clear() ;
- }
-
private int inRead = 0 ;
private int inIterator = 0 ;
private boolean inUpdate = false ;
@@ -79,11 +73,6 @@ public class BlockMgrTracker /*extends BlockMgrWrapper*/ implements BlockMgr
return new BlockMgrTracker(label, blkMgr) ;
}
- private BlockMgrTracker(BlockMgr blockMgr)
- {
- this(LoggerFactory.getLogger(BlockMgrTracker.class), blockMgr.getLabel(), blockMgr) ;
- }
-
private BlockMgrTracker(String label, BlockMgr blockMgr)
{
this(loggerDefault, label, blockMgr) ;
@@ -411,7 +400,7 @@ public class BlockMgrTracker /*extends BlockMgrWrapper*/ implements BlockMgr
}
- private void checkEmpty(String string, MultiSet<Long> blocks)
+ private void checkEmpty(String string, Multiset<Long> blocks)
{
if ( ! blocks.isEmpty() )
{
@@ -440,11 +429,6 @@ public class BlockMgrTracker /*extends BlockMgrWrapper*/ implements BlockMgr
log.warn(msg(string)) ;
}
- private void warn(Action action, String string)
- {
- warn(action + ": " + string) ;
- }
-
private void error(String string)
{
log.error(msg(string)) ;
@@ -461,9 +445,6 @@ public class BlockMgrTracker /*extends BlockMgrWrapper*/ implements BlockMgr
//debugPoint() ;
}
- // Do nothing - but use a a breakpoint point.
- private void debugPoint() {}
-
private void history()
{
info("History") ;
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java b/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java
index 1eb97b9..2f15ffb 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/EntityDefinition.java
@@ -23,7 +23,8 @@ import java.util.Collections ;
import java.util.HashMap ;
import java.util.Map ;
-import org.apache.jena.atlas.lib.MultiMap ;
+import org.apache.jena.ext.com.google.common.collect.ArrayListMultimap;
+import org.apache.jena.ext.com.google.common.collect.ListMultimap;
import org.apache.jena.graph.Node ;
import org.apache.jena.rdf.model.Resource ;
import org.apache.lucene.analysis.Analyzer ;
@@ -34,7 +35,7 @@ import org.apache.lucene.analysis.Analyzer ;
public class EntityDefinition {
private final Map<Node, String> predicateToField = new HashMap<>() ;
private final Map<String, Analyzer> fieldToAnalyzer = new HashMap<>();
- private final MultiMap<String, Node> fieldToPredicate = MultiMap.createMapList() ;
+ private final ListMultimap<String, Node> fieldToPredicate = ArrayListMultimap.create() ;
private final Collection<String> fields = Collections.unmodifiableCollection(fieldToPredicate.keys()) ;
// private final Collection<String> fields =
// Collections.unmodifiableCollection(fieldToPredicate.keySet()) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/a664cb6c/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
index f677778..a54fc92 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
@@ -28,9 +28,11 @@ import java.util.Map;
import org.apache.jena.assembler.Assembler ;
import org.apache.jena.assembler.Mode ;
import org.apache.jena.assembler.assemblers.AssemblerBase ;
-import org.apache.jena.atlas.lib.MultiMap ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.atlas.logging.Log ;
+import org.apache.jena.ext.com.google.common.collect.HashMultimap;
+import org.apache.jena.ext.com.google.common.collect.Multimap;
+import org.apache.jena.ext.com.google.common.collect.Multimaps;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.* ;
import org.apache.jena.query.text.EntityDefinition ;
@@ -88,7 +90,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
String graphField = qsol1.contains("graphField") ? qsol1.getLiteral("graphField").getLexicalForm() : null;
String defaultField = qsol1.contains("dftField") ? qsol1.getLiteral("dftField").getLexicalForm() : null ;
- MultiMap<String, Node> mapDefs = MultiMap.createMapList() ;
+ Multimap<String, Node> mapDefs = HashMultimap.create() ;
Map<String, Analyzer> analyzerDefs = new HashMap<>();
Statement listStmt = root.getProperty(TextVocab.pMap);
@@ -97,7 +99,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
if (! n.isResource()) {
throw new TextIndexException("Text list node is not a resource : " + n);
}
- Resource listResource = (Resource) n;
+ Resource listResource = n.asResource();
if (listResource.equals(RDF.nil)) {
break; // end of the list
}
@@ -110,7 +112,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
if (! n.isResource()) {
throw new TextIndexException("Text map list entry is not a resource : " + n);
}
- Resource listEntry = (Resource) n;
+ Resource listEntry = n.asResource();
Statement fieldStatement = listEntry.getProperty(TextVocab.pField);
if (fieldStatement == null) {
@@ -120,7 +122,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
if (! n.isLiteral()) {
throw new TextIndexException("Text map entry field property has no literal value : " + n);
}
- String field = ((Literal)n).getLexicalForm();
+ String field = n.asLiteral().getLexicalForm();
Statement predicateStatement = listEntry.getProperty(TextVocab.pPredicate);
if (predicateStatement == null) {
@@ -130,8 +132,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
if (! n.isURIResource()) {
throw new TextIndexException("Text map entry predicate property has non resource value : " + n);
}
- Resource predicate = (Resource) n;
- mapDefs.put(field, predicate.asNode()) ;
+ mapDefs.put(field, n.asNode()) ;
Statement analyzerStatement = listEntry.getProperty(TextVocab.pAnalyzer);
if (analyzerStatement != null) {
@@ -139,7 +140,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
if (! n.isResource()) {
throw new TextIndexException("Text map entry analyzer property is not a resource : " + n);
}
- Resource analyzerResource = (Resource) n;
+ Resource analyzerResource = n.asResource();
Analyzer analyzer = (Analyzer) a.open(analyzerResource);
analyzerDefs.put(field, analyzer);
}
@@ -151,7 +152,7 @@ public class EntityDefinitionAssembler extends AssemblerBase implements Assemble
// Primary field/predicate
if ( defaultField != null ) {
Collection<Node> c = mapDefs.get(defaultField) ;
- if ( c == null )
+ if ( c.isEmpty() )
throw new TextIndexException("No definition of primary field '"+defaultField+"'") ;
}
[19/50] [abbrv] jena git commit: Update test to use all list values
created for testing
Posted by cl...@apache.org.
Update test to use all list values created for testing
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/26c97e6e
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/26c97e6e
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/26c97e6e
Branch: refs/heads/add-contract-tests
Commit: 26c97e6ea3a77dccb247f3f85bd80e535119c65a
Parents: ada26f2
Author: Bruno P. Kinoshita <br...@yahoo.com.br>
Authored: Mon May 4 22:01:13 2015 +1200
Committer: Bruno P. Kinoshita <br...@yahoo.com.br>
Committed: Mon May 4 22:01:13 2015 +1200
----------------------------------------------------------------------
.../org/apache/jena/util/iterator/test/TestResourceUtils.java | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/26c97e6e/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestResourceUtils.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestResourceUtils.java b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestResourceUtils.java
index c6308b0..18cb0e6 100644
--- a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestResourceUtils.java
+++ b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestResourceUtils.java
@@ -197,12 +197,14 @@ public class TestResourceUtils
in.addAll( abcde );
List<Resource> out = null;
assertTrue( in.equals( abcde ) );
+ assertFalse( in.equals(abde) );
assertFalse( in.equals( cde ));
assertNull( out );
out = ResourceUtils.removeEquiv( in, RDFS.subClassOf, a );
assertFalse( in.equals( abcde ) );
+ assertFalse( in.equals(abde) );
assertTrue( in.equals( cde ));
assertNotNull( out );
assertEquals( out, ab );
@@ -210,6 +212,7 @@ public class TestResourceUtils
out = ResourceUtils.removeEquiv( in, RDFS.subClassOf, e );
assertFalse( in.equals( abcde ) );
+ assertFalse( in.equals(abde) );
assertTrue( in.equals( Collections.singletonList( c ) ));
assertNotNull( out );
assertEquals( out, de );
[05/50] [abbrv] jena git commit: This closes #54
Posted by cl...@apache.org.
This closes #54
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/5b557956
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/5b557956
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/5b557956
Branch: refs/heads/add-contract-tests
Commit: 5b557956f5ee69c51022ce21edab1afabd104c31
Parents: 3573bd7 65ce6b5
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 14:12:19 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 14:12:19 2015 +0100
----------------------------------------------------------------------
jena-core/src/main/java/jena/schemagen.java | 8 +-
.../assembler/assemblers/AssemblerBase.java | 17 +---
.../assembler/assemblers/ModelAssembler.java | 26 ++----
.../java/org/apache/jena/graph/GraphUtil.java | 30 +------
.../main/java/org/apache/jena/graph/Triple.java | 12 +--
.../apache/jena/mem/GraphTripleStoreBase.java | 6 +-
.../jena/ontology/impl/AllDifferentImpl.java | 7 +-
.../impl/BooleanClassDescriptionImpl.java | 2 +-
.../jena/ontology/impl/DataRangeImpl.java | 2 +-
.../jena/ontology/impl/EnumeratedClassImpl.java | 2 +-
.../jena/ontology/impl/IndividualImpl.java | 2 +-
.../apache/jena/ontology/impl/OntClassImpl.java | 4 +-
.../apache/jena/ontology/impl/OntModelImpl.java | 44 ++--------
.../jena/ontology/impl/OntPropertyImpl.java | 4 +-
.../jena/ontology/impl/OntResourceImpl.java | 91 +++-----------------
.../java/org/apache/jena/rdf/model/RDFList.java | 5 +-
.../org/apache/jena/rdf/model/Statement.java | 20 +----
.../jena/rdf/model/impl/IteratorFactory.java | 15 +---
.../apache/jena/rdf/model/impl/ModelCom.java | 13 +--
.../jena/rdf/model/impl/ModelReifier.java | 15 +---
.../apache/jena/rdf/model/impl/RDFListImpl.java | 3 +-
.../jena/rdfxml/xmloutput/impl/Relation.java | 27 +-----
.../jena/rdfxml/xmloutput/impl/Unparser.java | 12 +--
.../jena/util/iterator/ExtendedIterator.java | 3 +-
.../apache/jena/util/iterator/LazyIterator.java | 4 +-
.../org/apache/jena/util/iterator/Map1.java | 17 ++--
.../apache/jena/util/iterator/Map1Iterator.java | 7 +-
.../apache/jena/util/iterator/NiceIterator.java | 3 +-
.../jena/graph/test/TestFindLiterals.java | 9 +-
.../org/apache/jena/graph/test/TestTriple.java | 6 +-
.../apache/jena/rdf/model/test/TestList.java | 9 +-
.../jena/rdf/model/test/TestStatements.java | 6 +-
.../util/iterator/test/TestMapIterators.java | 8 +-
.../model/impl/SecuredContainerImpl.java | 23 +----
.../model/impl/SecuredNodeIterator.java | 8 +-
.../model/impl/SecuredRDFListImpl.java | 29 +++----
.../model/impl/SecuredRSIterator.java | 9 +-
.../model/impl/SecuredResIterator.java | 8 +-
.../model/impl/SecuredStatementIterator.java | 8 +-
39 files changed, 124 insertions(+), 400 deletions(-)
----------------------------------------------------------------------
[02/50] [abbrv] jena git commit: JENA-904: Fix for LPBRuleEngine
leaking activeInterpreters
Posted by cl...@apache.org.
JENA-904: Fix for LPBRuleEngine leaking activeInterpreters
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/4edc6d38
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/4edc6d38
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/4edc6d38
Branch: refs/heads/add-contract-tests
Commit: 4edc6d38613970894165565000f9d1f1a50a6e4c
Parents: 84d0615
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 12:56:24 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 12:56:24 2015 +0100
----------------------------------------------------------------------
.../rulesys/impl/ConsumerChoicePointFrame.java | 11 ++
.../jena/reasoner/rulesys/impl/FrameObject.java | 5 +-
.../reasoner/rulesys/impl/LPInterpreter.java | 3 +-
.../rulesys/impl/LPTopGoalIterator.java | 1 +
.../rulesys/impl/TopLevelTripleMatchFrame.java | 2 +
.../reasoner/rulesys/impl/TripleMatchFrame.java | 1 +
.../rulesys/impl/TestLPBRuleEngineLeak.java | 171 +++++++++++++++++++
.../jena/reasoner/rulesys/test/TestPackage.java | 4 +
8 files changed, 196 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/4edc6d38/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/ConsumerChoicePointFrame.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/ConsumerChoicePointFrame.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/ConsumerChoicePointFrame.java
index e0d0b85..a1c2c26 100644
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/ConsumerChoicePointFrame.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/ConsumerChoicePointFrame.java
@@ -161,6 +161,17 @@ public class ConsumerChoicePointFrame extends GenericTripleMatchFrame
context.setReady(this);
}
+ @Override
+ public void close() {
+ super.close();
+ if (generator != null && generator.interpreter != null) {
+ generator.interpreter.close();
+ // .. but NOT
+ //generator.setComplete();
+ // as it seems to cause other tests to fail
+ }
+ }
+
/**
* Notify that this consumer choice point has finished consuming all
* the results of a closed generator.
http://git-wip-us.apache.org/repos/asf/jena/blob/4edc6d38/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/FrameObject.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/FrameObject.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/FrameObject.java
index 39ccc52..4128d36 100644
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/FrameObject.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/FrameObject.java
@@ -54,7 +54,10 @@ public class FrameObject {
* Close the frame actively. This frees any internal resources, frees this frame and
* frees the frame to which this is linked.
*/
- public void close() {
+ public void close() {
+ if (link != null) {
+ link.close();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4edc6d38/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPInterpreter.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPInterpreter.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPInterpreter.java
index 3edbb6d..fee6c97 100644
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPInterpreter.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPInterpreter.java
@@ -164,8 +164,9 @@ public class LPInterpreter {
*/
public void close() {
isComplete = true;
- engine.detach(this);
if (cpFrame != null) cpFrame.close();
+ engine.detach(this);
+
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/4edc6d38/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPTopGoalIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPTopGoalIterator.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPTopGoalIterator.java
index cb14070..d4d471b 100644
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPTopGoalIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/LPTopGoalIterator.java
@@ -197,6 +197,7 @@ public class LPTopGoalIterator implements ClosableIterator<Triple>, LPInterprete
// Check for any dangling generators which are complete
interpreter.getEngine().checkForCompletions();
+ interpreter.close();
// Close this top goal
lookAhead = null;
//LogFactory.getLog( getClass() ).debug( "Nulling and closing LPTopGoalIterator " + interpreter );
http://git-wip-us.apache.org/repos/asf/jena/blob/4edc6d38/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TopLevelTripleMatchFrame.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TopLevelTripleMatchFrame.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TopLevelTripleMatchFrame.java
index 80a718d..0caf8b2 100644
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TopLevelTripleMatchFrame.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TopLevelTripleMatchFrame.java
@@ -66,6 +66,8 @@ public class TopLevelTripleMatchFrame extends GenericChoiceFrame {
@Override
public void close() {
if (matchIterator != null) matchIterator.close();
+ super.close();
+
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4edc6d38/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TripleMatchFrame.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TripleMatchFrame.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TripleMatchFrame.java
index 8d4891d..74b1a1b 100644
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TripleMatchFrame.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/TripleMatchFrame.java
@@ -73,6 +73,7 @@ public class TripleMatchFrame extends GenericTripleMatchFrame {
*/
@Override public void close() {
if (matchIterator != null) matchIterator.close();
+ super.close();
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/4edc6d38/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/impl/TestLPBRuleEngineLeak.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/impl/TestLPBRuleEngineLeak.java b/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/impl/TestLPBRuleEngineLeak.java
new file mode 100644
index 0000000..58e0afb
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/impl/TestLPBRuleEngineLeak.java
@@ -0,0 +1,171 @@
+/*
+ * 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.reasoner.rulesys.impl;
+
+import java.lang.reflect.Field;
+import java.util.List;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.junit.Test;
+
+import org.apache.jena.graph.Factory;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.reasoner.rulesys.FBRuleInfGraph;
+import org.apache.jena.reasoner.rulesys.FBRuleReasoner;
+import org.apache.jena.reasoner.rulesys.Rule;
+import org.apache.jena.util.iterator.ExtendedIterator;
+import org.apache.jena.vocabulary.RDF;
+import org.apache.jena.vocabulary.RDFS;
+
+public class TestLPBRuleEngineLeak extends TestCase {
+ public static TestSuite suite() {
+ return new TestSuite(TestLPBRuleEngineLeak.class, "TestLPBRuleEngineLeak");
+ }
+
+ protected Node a = NodeFactory.createURI("a");
+ protected Node b = NodeFactory.createURI("b");
+ protected Node nohit = NodeFactory.createURI("nohit");
+ protected Node p = NodeFactory.createURI("p");
+ protected Node C1 = NodeFactory.createURI("C1");
+ protected Node C2 = NodeFactory.createURI("C2");
+ protected Node ty = RDF.Nodes.type;
+
+ public FBRuleReasoner createReasoner(List<Rule> rules) {
+ FBRuleReasoner reasoner = new FBRuleReasoner(rules);
+ reasoner.tablePredicate(RDFS.Nodes.subClassOf);
+ reasoner.tablePredicate(RDF.Nodes.type);
+ reasoner.tablePredicate(p);
+ return reasoner;
+ }
+
+ @Test
+ public void testNotLeakingActiveInterpreters() throws Exception {
+ Graph data = Factory.createGraphMem();
+ data.add(new Triple(a, ty, C1));
+ data.add(new Triple(b, ty, C1));
+ List<Rule> rules = Rule
+ .parseRules("[r1: (?x p ?t) <- (?x rdf:type C1), makeInstance(?x, p, C2, ?t)]"
+ + "[r2: (?t rdf:type C2) <- (?x rdf:type C1), makeInstance(?x, p, C2, ?t)]");
+
+ FBRuleInfGraph infgraph = (FBRuleInfGraph) createReasoner(rules).bind(
+ data);
+
+ LPBRuleEngine engine = getEngineForGraph(infgraph);
+ assertEquals(0, engine.activeInterpreters.size());
+ assertEquals(0, engine.tabledGoals.size());
+
+ // we ask for a non-hit -- it works, but only because we call it.hasNext()
+ ExtendedIterator<Triple> it = infgraph.find(nohit, ty, C1);
+ assertFalse(it.hasNext());
+ it.close();
+ assertEquals(0, engine.activeInterpreters.size());
+
+ // and again.
+ // Ensure this is not cached by asking for a different triple pattern
+ ExtendedIterator<Triple> it2 = infgraph.find(nohit, ty, C2);
+ // uuups, forgot to call it.hasNext(). But .close() should tidy
+ it2.close();
+ assertEquals(0, engine.activeInterpreters.size());
+
+
+ // OK, let's ask for something that is in the graph
+
+ ExtendedIterator<Triple> it3 = infgraph.find(a, ty, C1);
+ assertTrue(it3.hasNext());
+ assertEquals(a, it3.next().getMatchSubject());
+
+ // .. and what if we forget to call next() to consume b?
+ // (e.g. return from a method with the first hit)
+
+ // this should be enough
+ it3.close();
+ // without leaks of activeInterpreters
+ assertEquals(0, engine.activeInterpreters.size());
+ }
+
+ @Test
+ public void testTabledGoalsCacheHits() throws Exception {
+ Graph data = Factory.createGraphMem();
+ data.add(new Triple(a, ty, C1));
+ List<Rule> rules = Rule
+ .parseRules("[r1: (?x p ?t) <- (?x rdf:type C1), makeInstance(?x, p, C2, ?t)]"
+ + "[r2: (?t rdf:type C2) <- (?x rdf:type C1), makeInstance(?x, p, C2, ?t)]");
+
+ FBRuleInfGraph infgraph = (FBRuleInfGraph) createReasoner(rules).bind(
+ data);
+
+ LPBRuleEngine engine = getEngineForGraph(infgraph);
+ assertEquals(0, engine.activeInterpreters.size());
+ assertEquals(0, engine.tabledGoals.size());
+
+ ExtendedIterator<Triple> it = infgraph.find(a, ty, C1);
+ while (it.hasNext()) {
+ it.next();
+ // FIXME: Why do I need to consume all from the iterator
+ // to avoid leaking activeInterpreters? Calling .close()
+ // below should have been enough.
+ }
+ it.close();
+ // how many were cached
+ assertEquals(1, engine.tabledGoals.size());
+ // and no leaks of activeInterpreters
+ assertEquals(0, engine.activeInterpreters.size());
+
+ // Now ask again:
+ it = infgraph.find(a, ty, C1);
+ while (it.hasNext()) {
+ it.next();
+ }
+ it.close();
+ // if it was a cache hit, no change here:
+ assertEquals(1, engine.tabledGoals.size());
+ assertEquals(0, engine.activeInterpreters.size());
+ }
+
+ /**
+ * Use introspection to get to the LPBRuleEngine.
+ * <p>
+ * We are crossing package boundaries and therefore this test would always
+ * be in the wrong package for either FBRuleInfGraph or LPBRuleEngine.
+ * <p>
+ * <strong>This method should only be used for test purposes.</strong>
+ *
+ * @param infgraph
+ * @return
+ * @throws SecurityException
+ * @throws NoSuchFieldException
+ * @throws IllegalArgumentException
+ * @throws IllegalAccessException
+ */
+ private LPBRuleEngine getEngineForGraph(FBRuleInfGraph infgraph)
+ throws NoSuchFieldException, SecurityException,
+ IllegalArgumentException, IllegalAccessException {
+ Field bEngine = FBRuleInfGraph.class.getDeclaredField("bEngine");
+ bEngine.setAccessible(true);
+ LPBRuleEngine engine = (LPBRuleEngine) bEngine.get(infgraph);
+ return engine;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/4edc6d38/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/test/TestPackage.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/test/TestPackage.java b/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/test/TestPackage.java
index af51f6d..1a25ae7 100755
--- a/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/test/TestPackage.java
+++ b/jena-core/src/test/java/org/apache/jena/reasoner/rulesys/test/TestPackage.java
@@ -20,9 +20,12 @@ package org.apache.jena.reasoner.rulesys.test;
import junit.framework.TestSuite ;
+
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
+import org.apache.jena.reasoner.rulesys.impl.TestLPBRuleEngineLeak;
+
/**
* Aggregate tester that runs all the test associated with the rulesys package.
*/
@@ -49,6 +52,7 @@ public class TestPackage extends TestSuite {
addTest( "TestGenericRules", TestGenericRules.suite() );
addTest( "TestRETE", TestRETE.suite() );
addTest( TestSetRules.suite() );
+ addTest( TestLPBRuleEngineLeak.suite() );
addTest( "OWLRuleUnitTests", OWLUnitTest.suite() );
addTest( "TestBugs", TestBugs.suite() );
addTest( "TestOWLMisc", TestOWLMisc.suite() );
[45/50] [abbrv] jena git commit: Added initial contract tests added
testing_framework
Posted by cl...@apache.org.
Added initial contract tests
added testing_framework
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/b293ee8a
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/b293ee8a
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/b293ee8a
Branch: refs/heads/add-contract-tests
Commit: b293ee8a928fc8a4f84810f41f3235e5a547c23b
Parents: eb7760d
Author: Claude Warren <cl...@apache.org>
Authored: Sun Apr 26 20:41:15 2015 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Sat May 9 15:27:19 2015 +0100
----------------------------------------------------------------------
jena-core/pom.xml | 14 +
.../apache/jena/graph/GraphContractTest.java | 1720 ++++++++++++++++++
.../graph/GraphEventManagerContractTest.java | 514 ++++++
.../jena/graph/GraphMakerContractTest.java | 314 ++++
.../graph/GraphWithPerformContractTest.java | 86 +
.../jena/graph/RecordingGraphListener.java | 92 +
.../graph/TransactionHandlerContractTest.java | 149 ++
.../apache/jena/graph/compose/DeltaTest.java | 110 ++
.../jena/graph/compose/DifferenceTest.java | 97 +
.../jena/graph/compose/IntersectionTest.java | 109 ++
.../apache/jena/graph/compose/UnionTest.java | 185 ++
.../jena/graph/impl/TestCollectionGraph.java | 42 +-
.../jena/graph/impl/TestWrappedGraph.java | 63 +
.../graph/impl/TripleStoreContractTest.java | 176 ++
.../apache/jena/mem/BunchMapContractTest.java | 163 ++
.../java/org/apache/jena/mem/GraphMemTest.java | 115 ++
.../apache/jena/mem/GraphTripleStoreTest.java | 51 +
.../jena/mem/TripleBunchContractTest.java | 205 +++
.../AbstractGraphProducer.java | 104 ++
.../AbstractInfModelProducer.java | 91 +
.../AbstractModelProducer.java | 88 +
.../AbstractRecordingListener.java | 190 ++
.../testing_framework/ContractTemplate.java | 17 +
.../GraphEventManagerProducerInterface.java | 35 +
.../jena/testing_framework/GraphHelper.java | 508 ++++++
.../GraphProducerInterface.java | 41 +
.../testing_framework/IContainerProducer.java | 19 +
.../testing_framework/IIteratorProducer.java | 42 +
.../jena/testing_framework/INodeProducer.java | 39 +
.../testing_framework/IResourceProducer.java | 10 +
.../testing_framework/IStatementProducer.java | 45 +
.../testing_framework/ITripleStoreProducer.java | 35 +
.../jena/testing_framework/ModelHelper.java | 409 +++++
.../jena/testing_framework/NodeCreateUtils.java | 177 ++
.../NodeProducerInterface.java | 32 +
.../jena/testing_framework/TestFileData.java | 380 ++++
.../jena/testing_framework/TestUtils.java | 320 ++++
.../testing_framework/manifest/Manifest.java | 228 +++
.../manifest/ManifestException.java | 48 +
.../manifest/ManifestFile.java | 38 +
.../manifest/ManifestItem.java | 53 +
.../manifest/ManifestItemHandler.java | 35 +
.../manifest/ManifestSuite.java | 143 ++
.../manifest/ManifestTest.java | 13 +
.../manifest/ManifestTestRunner.java | 75 +
.../jena/testing_framework/package-info.java | 109 ++
.../testing_framework/tuples/TupleItem.java | 84 +
.../jena/testing_framework/tuples/TupleSet.java | 274 +++
48 files changed, 7880 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/pom.xml
----------------------------------------------------------------------
diff --git a/jena-core/pom.xml b/jena-core/pom.xml
index 6cb0722..a29e559 100644
--- a/jena-core/pom.xml
+++ b/jena-core/pom.xml
@@ -75,6 +75,20 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.xenei</groupId>
+ <artifactId>junit-contracts</artifactId>
+ <version>0.0.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
new file mode 100644
index 0000000..cf79da5
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
@@ -0,0 +1,1720 @@
+/*
+ * 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.graph;
+
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import org.junit.After;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractTest;
+
+import static org.junit.Assert.*;
+
+import org.apache.jena.graph.Capabilities;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphStatisticsHandler;
+import org.apache.jena.graph.GraphUtil;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.graph.impl.LiteralLabelFactory;
+import org.apache.jena.mem.TrackingTripleIterator;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.impl.ReifierStd;
+import org.apache.jena.shared.ClosedException;
+import org.apache.jena.shared.DeleteDeniedException;
+import org.apache.jena.shared.PrefixMapping;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.apache.jena.testing_framework.ContractTemplate;
+import org.apache.jena.testing_framework.NodeCreateUtils;
+import org.apache.jena.util.iterator.ClosableIterator;
+import org.apache.jena.util.iterator.ExtendedIterator;
+import org.apache.jena.util.iterator.Map1;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+
+/**
+ * AbstractTestGraph provides a bunch of basic tests for something that purports
+ * to be a Graph. The abstract method getGraph must be overridden in subclasses
+ * to deliver a Graph of interest.
+ */
+@Contract(Graph.class)
+public class GraphContractTest<T extends Graph> extends
+ ContractTemplate<AbstractGraphProducer<T>> {
+
+ private static final Logger LOG = LoggerFactory
+ .getLogger(GraphContractTest.class);
+
+ protected RecordingGraphListener GL = new RecordingGraphListener();
+
+ @Contract.Inject
+ public final void setGraphContractTestProducer(
+ AbstractGraphProducer<T> graphProducer) {
+ super.setProducer(graphProducer);
+ }
+
+ @After
+ public final void afterGraphContractTest() {
+ getProducer().cleanUp();
+ GL.clear();
+ }
+
+ @ContractTest
+ public void testAdd_Triple() {
+ Graph graph = getProducer().newInstance();
+ graph.getEventManager().register(GL);
+ txnBegin(graph);
+ graph.add(triple("S P O"));
+ txnCommit(graph);
+ GL.assertHasStart("add", graph, triple("S P O"));
+ assertTrue("Graph should contain <S P O>",
+ graph.contains(triple("S P O")));
+ }
+
+ /**
+ * Inference graphs can not be truly empty.
+ *
+ * @param g
+ * @param b
+ */
+ private void assertEmpty(Graph g, Graph b) {
+ if (b.isEmpty()) {
+ assertTrue("Graph should be empty", g.isEmpty());
+ } else {
+ assertEquals("Graph should be in base state", b.find(Triple.ANY)
+ .toList(), g.find(Triple.ANY).toList());
+ }
+ }
+
+ /**
+ * Inference graphs can not be truly empty
+ *
+ * @param g
+ * @param b
+ */
+ private void assertNotEmpty(Graph g, Graph b) {
+ if (b.isEmpty()) {
+ assertFalse("Graph not should be empty", g.isEmpty());
+ } else {
+ assertNotEquals("Graph should not be in base state",
+ b.find(Triple.ANY).toList(), g.find(Triple.ANY).toList());
+ }
+ }
+
+ /**
+ * Test that clear works, in the presence of inferencing graphs that mean
+ * emptyness isn't available. This is why we go round the houses and test
+ * that expected ~= initialContent + addedStuff - removed - initialContent.
+ */
+ @ContractTest
+ public void testClear() {
+ Graph graph = getProducer().newInstance();
+ Graph base = copy(graph);
+
+ graph.getEventManager().register(GL);
+ txnBegin(graph);
+ graph.clear();
+ txnCommit(graph);
+ assertEmpty(graph, base);
+ GL.assertHasStart("someEvent", graph, GraphEvents.removeAll);
+ GL.clear();
+
+ // test after adding
+ graph = graphWith(getProducer().newInstance(),
+ "S P O; S e:ff 27; _1 P P3; S4 P4 'en'");
+ graph.getEventManager().register(GL);
+ txnBegin(graph);
+ graph.clear();
+ txnCommit(graph);
+ assertEmpty(graph, base);
+ if (GL.contains("delete")) {
+ // deletes are listed -- ensure all deletes are listed
+ GL.assertContains("delete", graph, triple("S P O"));
+ GL.assertContains("delete", graph, triple("S e:ff 27"));
+ GL.assertContains("delete", graph, triple("_1 P P3"));
+ GL.assertContains("delete", graph, triple("S4 P4 'en'"));
+ }
+ GL.assertHasEnd("someEvent", graph, GraphEvents.removeAll);
+ GL.clear();
+
+ }
+
+ @ContractTest
+ public void testClose() {
+ Graph graph = graphWith(getProducer().newInstance(),
+ "S P O; S P2 O2; S3 P P3");
+ graph.getEventManager().register(GL);
+ assertFalse("Graph was constructed closed", graph.isClosed());
+
+ graph.close();
+ assertTrue("Graph should be closed", graph.isClosed());
+
+ // exception may be thrown on begin or on execution.
+ try {
+ txnBegin(graph);
+ try {
+ graph.add(triple("S P O"));
+ fail("added when closed");
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ } finally {
+ txnRollback(graph);
+ }
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ }
+
+ try {
+ txnBegin(graph);
+ try {
+ graph.delete(triple("x R y"));
+ fail("delete when closed");
+ } catch (ClosedException c) {
+ // Expected
+ } finally {
+ txnRollback(graph);
+ GL.assertEmpty();
+ }
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ }
+
+ try {
+ txnBegin(graph);
+
+ try {
+ graph.add(triple("x R y"));
+ fail("add when closed");
+ } catch (ClosedException c) { /* as required */
+ } finally {
+ txnRollback(graph);
+ GL.assertEmpty();
+ }
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ }
+
+ try {
+ txnBegin(graph);
+ try {
+ graph.contains(triple("x R y"));
+ fail("contains[triple] when closed");
+ } catch (ClosedException c) { /* as required */
+ } finally {
+ txnRollback(graph);
+ GL.assertEmpty();
+ }
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ }
+
+ try {
+ txnBegin(graph);
+ try {
+ graph.contains(Node.ANY, Node.ANY, Node.ANY);
+ fail("contains[SPO] when closed");
+ } catch (ClosedException c) { /* as required */
+ } finally {
+ txnRollback(graph);
+ GL.assertEmpty();
+ }
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ }
+
+ try {
+ txnBegin(graph);
+ try {
+ graph.find(triple("x R y"));
+ fail("find [triple] when closed");
+ } catch (ClosedException c) { /* as required */
+ } finally {
+ txnRollback(graph);
+ GL.assertEmpty();
+ }
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ }
+
+ try {
+ txnBegin(graph);
+ try {
+ graph.find(Node.ANY, Node.ANY, Node.ANY);
+ fail("find[SPO] when closed");
+ } catch (ClosedException c) { /* as required */
+ } finally {
+ txnRollback(graph);
+ GL.assertEmpty();
+ }
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ }
+
+ try {
+ txnBegin(graph);
+ try {
+ graph.size();
+ fail("size when closed (" + this.getClass() + ")");
+ } catch (ClosedException c) { /* as required */
+ } finally {
+ txnRollback(graph);
+ GL.assertEmpty();
+ }
+ } catch (Exception expected) {
+ GL.assertEmpty();
+ // expected
+ }
+ }
+
+ @ContractTest
+ public void testContains_Node_Node_Node() {
+ Graph graph = graphWith(getProducer().newInstance(),
+ "S P O; S2 P2 O2; S3 P3 O3");
+
+ assertTrue(graph.contains(node("S"), node("P"), node("O")));
+ assertFalse(graph.contains(node("S"), node("P"), node("O2")));
+ assertFalse(graph.contains(node("S"), node("P2"), node("O")));
+ assertFalse(graph.contains(node("S2"), node("P"), node("O")));
+ assertTrue(graph.contains(Node.ANY, Node.ANY, Node.ANY));
+ assertTrue(graph.contains(Node.ANY, Node.ANY, node("O")));
+ assertTrue(graph.contains(Node.ANY, node("P"), Node.ANY));
+ assertTrue(graph.contains(node("S"), Node.ANY, Node.ANY));
+ }
+
+ @ContractTest
+ public void testContains_Node_Node_Node_RepeatedSubjectDoesNotConceal() {
+
+ Graph g = graphWith(getProducer().newInstance(), "s P o; s Q r");
+ Node s = node("s");
+ Node P = node("P");
+ Node o = node("o");
+ Node Q = node("Q");
+ Node r = node("r");
+ Node any = node("??");
+ assertTrue(g.contains(s, P, o));
+ assertTrue(g.contains(s, Q, r));
+ assertTrue(g.contains(any, P, o));
+ assertTrue(g.contains(any, Q, r));
+ assertTrue(g.contains(any, P, any));
+ assertTrue(g.contains(any, Q, any));
+ }
+
+ @ContractTest
+ public void testContains_Node_Node_Node_ByValue() {
+ Node x = node("x");
+ Node P = node("P");
+ if (getProducer().newInstance().getCapabilities()
+ .handlesLiteralTyping()) {
+ Graph g1 = graphWith(getProducer().newInstance(),
+ "x P '1'xsd:integer");
+ assertTrue(
+ String.format(
+ "literal type equality failed, does %s really implement literal typing",
+ g1.getClass()), g1.contains(x, P,
+ node("'01'xsd:int")));
+ //
+ Graph g2 = graphWith(getProducer().newInstance(), "x P '1'xsd:int");
+ assertTrue("Literal equality with '1'xsd:integer failed",
+ g2.contains(x, P, node("'1'xsd:integer")));
+ //
+ Graph g3 = graphWith(getProducer().newInstance(),
+ "x P '123'xsd:string");
+ assertTrue("Literal equality with '123' failed",
+ g3.contains(x, P, node("'123'")));
+ }
+ }
+
+ @ContractTest
+ public void testContains_Node_Node_Node_Concrete() {
+ Node s = node("s");
+ Node P = node("P");
+ Node o = node("o");
+
+ Node _x = node("_x");
+ Node _R = node("_R");
+ Node _y = node("_y");
+
+ Node x = node("x");
+ Node S = node("S");
+
+ Graph g = graphWith(getProducer().newInstance(),
+ "s P o; _x _R _y; x S 0");
+ assertTrue("Graph should have contained s P o", g.contains(s, P, o));
+ assertTrue("Graph should have contained _x _R _y",
+ g.contains(_x, _R, _y));
+ assertTrue("Graph should have contained x S 'O'",
+ g.contains(x, S, node("0")));
+ /* */
+ assertFalse(g.contains(s, P, node("Oh")));
+ assertFalse(g.contains(S, P, node("O")));
+ assertFalse(g.contains(s, node("p"), o));
+ assertFalse(g.contains(_x, node("_r"), _y));
+ assertFalse(g.contains(x, S, node("1")));
+ }
+
+ @ContractTest
+ public void testContains_Node_Node_Node_Fluid() {
+ Node x = node("x");
+ Node R = node("R");
+ Node P = node("P");
+ Node y = node("y");
+ Node a = node("a");
+ Node b = node("b");
+ Graph g = graphWith(getProducer().newInstance(), "x R y; a P b");
+ assertTrue(g.contains(Node.ANY, R, y));
+ assertTrue(g.contains(x, Node.ANY, y));
+ assertTrue(g.contains(x, R, Node.ANY));
+ assertTrue(g.contains(Node.ANY, P, b));
+ assertTrue(g.contains(a, Node.ANY, b));
+ assertTrue(g.contains(a, P, Node.ANY));
+ assertTrue(g.contains(Node.ANY, R, y));
+ /* */
+ assertFalse(g.contains(Node.ANY, R, b));
+ assertFalse(g.contains(a, Node.ANY, y));
+ assertFalse(g.contains(x, P, Node.ANY));
+ assertFalse(g.contains(Node.ANY, R, x));
+ assertFalse(g.contains(x, Node.ANY, R));
+ assertFalse(g.contains(a, node("S"), Node.ANY));
+ }
+
+ @ContractTest
+ public void testContains_Triple() {
+ Graph graph = graphWith(getProducer().newInstance(),
+ "S P O; S2 P2 O2; S3 P3 O3");
+
+ assertTrue(graph.contains(triple("S P O")));
+ assertFalse(graph.contains(triple("S P O2")));
+ assertFalse(graph.contains(triple("S P2 O")));
+ assertFalse(graph.contains(triple("S2 P O")));
+ assertTrue(graph.contains(Triple.ANY));
+ assertTrue(graph.contains(new Triple(Node.ANY, Node.ANY, node("O"))));
+ assertTrue(graph.contains(new Triple(Node.ANY, node("P"), Node.ANY)));
+ assertTrue(graph.contains(new Triple(node("S"), Node.ANY, Node.ANY)));
+
+ }
+
+ @ContractTest
+ public void testContains_Triple_RepeatedSubjectDoesNotConceal() {
+
+ Graph g = graphWith(getProducer().newInstance(), "s P o; s Q r");
+ assertTrue(g.contains(triple("s P o")));
+ assertTrue(g.contains(triple("s Q r")));
+ assertTrue(g.contains(triple("?? P o")));
+ assertTrue(g.contains(triple("?? Q r")));
+ assertTrue(g.contains(triple("?? P ??")));
+ assertTrue(g.contains(triple("?? Q ??")));
+ }
+
+ @ContractTest
+ public void testContains_Triple_ByValue() {
+
+ if (getProducer().newInstance().getCapabilities()
+ .handlesLiteralTyping()) {
+ Graph g1 = graphWith(getProducer().newInstance(),
+ "x P '1'xsd:integer");
+ assertTrue(
+ String.format(
+ "did not find x P '01'xsd:int, does %s really implement literal typing",
+ g1.getClass()),
+ g1.contains(triple("x P '01'xsd:int")));
+ //
+ Graph g2 = graphWith(getProducer().newInstance(), "x P '1'xsd:int");
+ assertTrue("did not find x P '1'xsd:integer",
+ g2.contains(triple("x P '1'xsd:integer")));
+ //
+ Graph g3 = graphWith(getProducer().newInstance(),
+ "x P '123'xsd:string");
+ assertTrue("did not find x P '123'xsd:string",
+ g3.contains(triple("x P '123'")));
+ }
+ }
+
+ @ContractTest
+ public void testContains_Triple_Concrete() {
+ Graph g = graphWith(getProducer().newInstance(),
+ "s P o; _x _R _y; x S 0");
+ assertTrue(g.contains(triple("s P o")));
+ assertTrue(g.contains(triple("_x _R _y")));
+ assertTrue(g.contains(triple("x S 0")));
+ /* */
+ assertFalse(g.contains(triple("s P Oh")));
+ assertFalse(g.contains(triple("S P O")));
+ assertFalse(g.contains(triple("s p o")));
+ assertFalse(g.contains(triple("_x _r _y")));
+ assertFalse(g.contains(triple("x S 1")));
+ }
+
+ @ContractTest
+ public void testContains_Triple_Fluid() {
+ Graph g = graphWith(getProducer().newInstance(), "x R y; a P b");
+ assertTrue(g.contains(triple("?? R y")));
+ assertTrue(g.contains(triple("x ?? y")));
+ assertTrue(g.contains(triple("x R ??")));
+ assertTrue(g.contains(triple("?? P b")));
+ assertTrue(g.contains(triple("a ?? b")));
+ assertTrue(g.contains(triple("a P ??")));
+ assertTrue(g.contains(triple("?? R y")));
+ /* */
+ assertFalse(g.contains(triple("?? R b")));
+ assertFalse(g.contains(triple("a ?? y")));
+ assertFalse(g.contains(triple("x P ??")));
+ assertFalse(g.contains(triple("?? R x")));
+ assertFalse(g.contains(triple("x ?? R")));
+ assertFalse(g.contains(triple("a S ??")));
+ }
+
+ /**
+ * Inference graphs can not be empty
+ */
+ @ContractTest
+ public void testDelete_Triple() {
+ Graph graph = graphWith(getProducer().newInstance(),
+ "S P O; S2 P2 O2; S3 P3 O3");
+ Graph base = getProducer().newInstance();
+ graph.getEventManager().register(GL);
+ txnBegin(graph);
+ graph.delete(triple("S P O"));
+ txnCommit(graph);
+ GL.assertContains("delete", graph, triple("S P O"));
+ assertFalse("Graph should not contain <S P O>",
+ graph.contains(triple("S P O")));
+ assertNotEmpty(graph, base);
+ assertTrue("Graph should contain <S2 P2 O2>",
+ graph.contains(triple("S2 P2 O2")));
+ assertTrue("Graph should contain <S3 P3 O3>",
+ graph.contains(triple("S3 P3 O3")));
+
+ // should not modify anything on wildcard delete
+ GL.clear();
+ try {
+ txnBegin(graph);
+ graph.delete(new Triple(node("S2"), node("P2"), Node.ANY));
+ txnCommit(graph);
+ } catch (DeleteDeniedException expected) {
+ txnRollback(graph);
+ }
+ assertTrue("Graph should contain <S2 P2 O2>",
+ graph.contains(triple("S2 P2 O2")));
+ assertTrue("Graph should contain <S3 P3 O3>",
+ graph.contains(triple("S3 P3 O3")));
+ GL.assertHas("delete", graph, new Triple(node("S2"), node("P2"),
+ Node.ANY));
+ }
+
+ @ContractTest
+ public void testDelete_Triple_FromNothing() {
+ Graph g = getProducer().newInstance();
+ g.getEventManager().register(GL);
+ txnBegin(g);
+ g.delete(triple("quint rdf:subject S"));
+ txnCommit(g);
+ GL.assertContains("delete", g, triple("quint rdf:subject S"));
+ }
+
+ @ContractTest
+ public void testDependsOn() {
+ Graph g = getProducer().newInstance();
+ Graph[] depGraphs = getProducer().getDependsOn(g);
+ if (depGraphs != null) {
+ for (Graph dg : depGraphs) {
+ assertTrue(
+ String.format("Graph %s should depend upon %s", g, dg),
+ g.dependsOn(dg));
+ }
+ }
+ depGraphs = getProducer().getNotDependsOn(g);
+ if (depGraphs != null) {
+ for (Graph dg : depGraphs) {
+ assertFalse(String.format("Graph %s should not depend upon %s",
+ g, dg), g.dependsOn(dg));
+ }
+ }
+ }
+
+ @ContractTest
+ public void testFind_Node_Node_Node() {
+ Graph graph = graphWith(getProducer().newInstance(),
+ "S P O; S2 P2 O2; S3 P3 O3");
+ List<Triple> s = graph.find(Node.ANY, Node.ANY, Node.ANY).toList();
+ assertEquals(3, s.size());
+ List<Triple> expected = Arrays.asList(new Triple[] { triple("S P O"),
+ triple("S2 P2 O2"), triple("S3 P3 O3") });
+ assertTrue("Missing some values",
+ expected.containsAll(s) && s.containsAll(expected));
+
+ s = graph.find(node("S"), Node.ANY, Node.ANY).toList();
+ assertEquals(1, s.size());
+ assertTrue("Missing some values", s.contains(triple("S P O")));
+
+ s = graph.find(Node.ANY, node("P"), Node.ANY).toList();
+ assertEquals(1, s.size());
+ assertTrue("Missing some values", s.contains(triple("S P O")));
+
+ s = graph.find(Node.ANY, Node.ANY, node("O")).toList();
+ assertEquals(1, s.size());
+ assertTrue("Missing some values", s.contains(triple("S P O")));
+
+ s = graph.find(node("S2"), node("P2"), node("O2")).toList();
+ assertEquals(1, s.size());
+ assertTrue("Missing some values", s.contains(triple("S2 P2 O2")));
+
+ s = graph.find(node("S2"), node("P3"), node("O2")).toList();
+ assertEquals(0, s.size());
+
+ s = graph.find(Node.ANY, node("P3"), node("O2")).toList();
+ assertEquals(0, s.size());
+
+ s = graph.find(node("S3"), Node.ANY, node("O2")).toList();
+ assertEquals(0, s.size());
+
+ s = graph.find(node("S3"), node("P2"), Node.ANY).toList();
+ assertEquals(0, s.size());
+
+ }
+
+ @ContractTest
+ public void testFind_Node_Node_Node_ByFluidTriple() {
+ Node x = node("x");
+ Node y = node("y");
+ Node z = node("z");
+ Graph g = graphWith(getProducer().newInstance(), "x y z ");
+ Set<Triple> expect = tripleSet("x y z");
+ assertEquals(expect, g.find(Node.ANY, y, z).toSet());
+ assertEquals(expect, g.find(x, Node.ANY, z).toSet());
+ assertEquals(expect, g.find(x, y, Node.ANY).toSet());
+ }
+
+ @ContractTest
+ public void testFind_Node_Node_Node_ProgrammaticValues() {
+ Graph g = getProducer().newInstance();
+ if (g.getCapabilities().handlesLiteralTyping()) {
+ Node ab = NodeFactory.createLiteral(LiteralLabelFactory
+ .createTypedLiteral(new Byte((byte) 42)));
+ Node as = NodeFactory.createLiteral(LiteralLabelFactory
+ .createTypedLiteral(new Short((short) 42)));
+ Node ai = NodeFactory.createLiteral(LiteralLabelFactory
+ .createTypedLiteral(new Integer(42)));
+ Node al = NodeFactory.createLiteral(LiteralLabelFactory
+ .createTypedLiteral(new Long(42)));
+
+ Node SB = NodeCreateUtils.create("SB");
+ Node SS = NodeCreateUtils.create("SS");
+ Node SI = NodeCreateUtils.create("SI");
+ Node SL = NodeCreateUtils.create("SL");
+ Node P = NodeCreateUtils.create("P");
+
+ txnBegin(g);
+ try {
+ g.add(Triple.create(SB, P, ab));
+ g.add(Triple.create(SS, P, as));
+ g.add(Triple.create(SI, P, ai));
+ g.add(Triple.create(SL, P, al));
+ } catch (Exception e) {
+ txnRollback(g);
+ fail(e.getMessage());
+ }
+ txnCommit(g);
+ assertEquals(
+ String.format(
+ "Should have found 4 elements, does %s really implement literal typing",
+ g.getClass()),
+ 4,
+ iteratorToSet(
+ g.find(Node.ANY, P, NodeCreateUtils.create("42")))
+ .size());
+ }
+ }
+
+ @ContractTest
+ public void testFind_Node_Node_Node_MatchLanguagedLiteralCaseInsensitive() {
+ Graph m = graphWith(getProducer().newInstance(), "a p 'chat'en");
+ if (m.getCapabilities().handlesLiteralTyping()) {
+ Node chaten = node("'chat'en"), chatEN = node("'chat'EN");
+ assertDiffer(chaten, chatEN);
+ assertTrue(chaten.sameValueAs(chatEN));
+ assertEquals(chaten.getIndexingValue(), chatEN.getIndexingValue());
+ assertEquals(1, m.find(Node.ANY, Node.ANY, chaten).toList().size());
+ assertEquals(1, m.find(Node.ANY, Node.ANY, chatEN).toList().size());
+ }
+ }
+
+ @ContractTest
+ public void testFind_Node_Node_Node_NoMatchAgainstUnlanguagesLiteral() {
+ Graph m = graphWith(getProducer().newInstance(),
+ "a p 'chat'en; a p 'chat'");
+ if (m.getCapabilities().handlesLiteralTyping()) {
+ Node chaten = node("'chat'en"), chatEN = node("'chat'EN");
+ assertDiffer(chaten, chatEN);
+ assertTrue(chaten.sameValueAs(chatEN));
+ assertEquals(chaten.getIndexingValue(), chatEN.getIndexingValue());
+ assertEquals(1, m.find(Node.ANY, Node.ANY, chaten).toList().size());
+ assertEquals(1, m.find(Node.ANY, Node.ANY, chatEN).toList().size());
+ }
+ }
+
+ @ContractTest
+ public void testFind_Triple() {
+ Graph graph = graphWith(getProducer().newInstance(),
+ "S P O; S2 P2 O2; S3 P3 O3");
+ List<Triple> s = graph.find(Triple.ANY).toList();
+ assertEquals(3, s.size());
+ List<Triple> expected = Arrays.asList(new Triple[] { triple("S P O"),
+ triple("S2 P2 O2"), triple("S3 P3 O3") });
+ assertTrue("Missing some values", expected.containsAll(s));
+
+ s = graph.find(new Triple(node("S"), Node.ANY, Node.ANY)).toList();
+ assertEquals(1, s.size());
+ assertTrue("Missing some values", s.contains(triple("S P O")));
+
+ s = graph.find(new Triple(Node.ANY, node("P"), Node.ANY)).toList();
+ assertEquals(1, s.size());
+ assertTrue("Missing some values", s.contains(triple("S P O")));
+
+ s = graph.find(new Triple(Node.ANY, Node.ANY, node("O"))).toList();
+ assertEquals(1, s.size());
+ assertTrue("Missing some values", s.contains(triple("S P O")));
+
+ s = graph.find(new Triple(node("S2"), node("P2"), node("O2"))).toList();
+ assertEquals(1, s.size());
+ assertTrue("Missing some values", s.contains(triple("S2 P2 O2")));
+
+ s = graph.find(new Triple(node("S2"), node("P3"), node("O2"))).toList();
+ assertEquals(0, s.size());
+
+ s = graph.find(new Triple(Node.ANY, node("P3"), node("O2"))).toList();
+ assertEquals(0, s.size());
+
+ s = graph.find(new Triple(node("S3"), Node.ANY, node("O2"))).toList();
+ assertEquals(0, s.size());
+
+ s = graph.find(new Triple(node("S3"), node("P2"), Node.ANY)).toList();
+ assertEquals(0, s.size());
+
+ }
+
+ @ContractTest
+ public void testFind_Triple_ByFluidTriple() {
+ Graph g = graphWith(getProducer().newInstance(), "x y z ");
+ Set<Triple> expect = tripleSet("x y z");
+ assertEquals(expect, g.find(triple("?? y z")).toSet());
+ assertEquals(expect, g.find(triple("x ?? z")).toSet());
+ assertEquals(expect, g.find(triple("x y ??")).toSet());
+ }
+
+ @ContractTest
+ public void testFind_Triple_ProgrammaticValues() {
+ Graph g = getProducer().newInstance();
+ if (g.getCapabilities().handlesLiteralTyping()) {
+ Node ab = NodeFactory.createLiteral(LiteralLabelFactory
+ .createTypedLiteral(new Byte((byte) 42)));
+ Node as = NodeFactory.createLiteral(LiteralLabelFactory
+ .createTypedLiteral(new Short((short) 42)));
+ Node ai = NodeFactory.createLiteral(LiteralLabelFactory
+ .createTypedLiteral(new Integer(42)));
+ Node al = NodeFactory.createLiteral(LiteralLabelFactory
+ .createTypedLiteral(new Long(42)));
+
+ Node SB = NodeCreateUtils.create("SB");
+ Node SS = NodeCreateUtils.create("SS");
+ Node SI = NodeCreateUtils.create("SI");
+ Node SL = NodeCreateUtils.create("SL");
+ Node P = NodeCreateUtils.create("P");
+
+ txnBegin(g);
+ try {
+ g.add(Triple.create(SB, P, ab));
+ g.add(Triple.create(SS, P, as));
+ g.add(Triple.create(SI, P, ai));
+ g.add(Triple.create(SL, P, al));
+ } catch (Exception e) {
+ txnRollback(g);
+ fail(e.getMessage());
+ }
+ txnCommit(g);
+ assertEquals(
+ String.format(
+ "Should have found 4 elements, does %s really implement literal typing",
+ g.getClass()),
+ 4,
+ iteratorToSet(
+ g.find(new Triple(Node.ANY, P, NodeCreateUtils
+ .create("42")))).size());
+ }
+ }
+
+ @ContractTest
+ public void testFind_Triple_MatchLanguagedLiteralCaseInsensitive() {
+ Graph m = graphWith(getProducer().newInstance(), "a p 'chat'en");
+ //if (m.getCapabilities().handlesLiteralTyping()) {
+ Node chaten = node("'chat'en"), chatEN = node("'chat'EN");
+ assertDiffer(chaten, chatEN);
+ assertTrue(chaten.sameValueAs(chatEN));
+ assertEquals(chaten.getIndexingValue(), chatEN.getIndexingValue());
+ assertEquals(1, m.find(new Triple(Node.ANY, Node.ANY, chaten))
+ .toList().size());
+ assertEquals(1, m.find(new Triple(Node.ANY, Node.ANY, chatEN))
+ .toList().size());
+ //}
+ }
+
+ @ContractTest
+ public void testFind_Triple_NoMatchAgainstUnlanguagesLiteral() {
+ Graph m = graphWith(getProducer().newInstance(),
+ "a p 'chat'en; a p 'chat'");
+ //if (m.getCapabilities().handlesLiteralTyping()) {
+ Node chaten = node("'chat'en"), chatEN = node("'chat'EN");
+ assertDiffer(chaten, chatEN);
+ assertTrue(chaten.sameValueAs(chatEN));
+ assertEquals(chaten.getIndexingValue(), chatEN.getIndexingValue());
+ assertEquals(1, m.find(new Triple(Node.ANY, Node.ANY, chaten))
+ .toList().size());
+ assertEquals(1, m.find(new Triple(Node.ANY, Node.ANY, chatEN))
+ .toList().size());
+ //}
+ }
+
+ @ContractTest
+ public void testGetCapabilities() {
+ Graph g = getProducer().newInstance();
+ Capabilities c = g.getCapabilities();
+ assertNotNull("Capabilities are not returned", c);
+ try {
+ c.sizeAccurate();
+ } catch (Exception e) {
+ fail("sizeAccurate() threw Exception: " + e.toString());
+ }
+ try {
+ c.addAllowed();
+ } catch (Exception e) {
+ fail("addAllowed() threw Exception: " + e.toString());
+ }
+ try {
+ c.addAllowed(true);
+ } catch (Exception e) {
+ fail("addAllowed( boolean ) threw Exception: " + e.toString());
+ }
+ try {
+ c.deleteAllowed();
+ } catch (Exception e) {
+ fail("deleteAllowed() threw Exception: " + e.toString());
+ }
+ try {
+ c.deleteAllowed(true);
+ } catch (Exception e) {
+ fail("deleteAllowed( boolean ) threw Exception: " + e.toString());
+ }
+ try {
+ c.canBeEmpty();
+ } catch (Exception e) {
+ fail("canBeEmpty() threw Exception: " + e.toString());
+ }
+ }
+
+ @ContractTest
+ public void testGetEventManager() {
+ assertNotNull("Must return an EventManager", getProducer()
+ .newInstance().getEventManager());
+ }
+
+ @ContractTest
+ public void testGetPrefixMapping() {
+ Graph g = getProducer().newInstance();
+ PrefixMapping pm = g.getPrefixMapping();
+ assertNotNull("Must return prefix mapping", pm);
+ assertSame("getPrefixMapping must always return the same object", pm,
+ g.getPrefixMapping());
+
+
+ pm.setNsPrefix("pfx1", "http://example.com/");
+ pm.setNsPrefix("pfx2", "scheme:rope/string#");
+
+ // assert same after adding to other mapl
+ assertSame("getPrefixMapping must always return the same object", pm,
+ g.getPrefixMapping());
+
+ }
+
+ @ContractTest
+ public void testGetStatisticsHandler() {
+ Graph g = getProducer().newInstance();
+ GraphStatisticsHandler sh = g.getStatisticsHandler();
+ if (sh != null) {
+ assertSame(
+ "getStatisticsHandler must always return the same object",
+ sh, g.getStatisticsHandler());
+ }
+ }
+
+ @ContractTest
+ public void testGetTransactionHandler() {
+ Graph g = getProducer().newInstance();
+ assertNotNull("Must return a Transaction handler",
+ g.getTransactionHandler());
+ }
+
+ @ContractTest
+ public void testIsClosed() {
+ Graph g = getProducer().newInstance();
+ assertFalse("Graph created in closed state", g.isClosed());
+ g.close();
+ assertTrue("Graph does not report closed state after close called",
+ g.isClosed());
+ }
+
+ @ContractTest
+ public void testIsEmpty() {
+ Graph g = getProducer().newInstance();
+ if (!g.isEmpty()) {
+ LOG.warn(String.format(
+ "Graph type %s can not be empty (Empty test skipped)",
+ g.getClass()));
+ } else {
+ graphAddTxn(g, "S P O");
+ assertFalse("Graph reports empty after add", g.isEmpty());
+ txnBegin(g);
+ g.add(NodeCreateUtils.createTriple("Foo B C"));
+ g.delete(NodeCreateUtils.createTriple("S P O"));
+ txnCommit(g);
+ assertFalse("Should not report empty", g.isEmpty());
+ txnBegin(g);
+ g.delete(NodeCreateUtils.createTriple("Foo B C"));
+ txnCommit(g);
+ assertTrue("Should report empty after all entries deleted",
+ g.isEmpty());
+ }
+ }
+
+ @ContractTest
+ public void testIsIsomorphicWith_Graph() {
+ Graph graph = getProducer().newInstance();
+ Graph g2 = memGraph();
+ assertTrue("Empty graphs should be isomorphic",
+ graph.isIsomorphicWith(g2));
+
+ graph = graphWith(getProducer().newInstance(),
+ "S P O; S2 P2 O2; S3 P3 O3");
+ g2 = graphWith("S3 P3 O3; S2 P2 O2; S P O");
+ assertTrue("Should be isomorphic", graph.isIsomorphicWith(g2));
+ txnBegin(graph);
+ graph.add(triple("_1, P4 S4"));
+ txnCommit(graph);
+
+ txnBegin(g2);
+ g2.add(triple("_2, P4 S4"));
+ txnCommit(g2);
+ assertTrue("Should be isomorphic after adding anonymous nodes",
+ graph.isIsomorphicWith(g2));
+
+ txnBegin(graph);
+ graph.add(triple("_1, P3 S4"));
+ txnCommit(graph);
+
+ txnBegin(g2);
+ g2.add(triple("_2, P4 S4"));
+ txnCommit(g2);
+ assertFalse("Should not be isomorphic", graph.isIsomorphicWith(g2));
+ }
+
+ private Graph copy(Graph g) {
+ Graph result = getProducer().newInstance();
+ txnBegin(result);
+ GraphUtil.addInto(result, g);
+ txnCommit(result);
+ return result;
+ }
+
+ private Graph remove(Graph toUpdate, Graph toRemove) {
+ txnBegin(toUpdate);
+ GraphUtil.deleteFrom(toUpdate, toRemove);
+ txnCommit(toUpdate);
+ return toUpdate;
+ }
+
+ /**
+ * Test that remove(s, p, o) works, in the presence of inferencing graphs
+ * that mean emptyness isn't available. This is why we go round the houses
+ * and test that expected ~= initialContent + addedStuff - removed -
+ * initialContent.
+ */
+ @ContractTest
+ public void testRemove_Node_Node_Node() {
+ for (int i = 0; i < cases.length; i += 1)
+ for (int j = 0; j < 3; j += 1) {
+ Graph content = getProducer().newInstance();
+
+ Graph baseContent = copy(content);
+ graphAddTxn(content, cases[i][0]);
+ Triple remove = triple(cases[i][1]);
+ Graph expected = graphWith(cases[i][2]);
+ Triple[] removed = tripleArray(cases[i][3]);
+ content.getEventManager().register(GL);
+ GL.clear();
+ txnBegin(content);
+ content.remove(remove.getSubject(), remove.getPredicate(),
+ remove.getObject());
+ txnCommit(content);
+
+ // check for optional delete notifications
+ if (GL.contains("delete")) {
+ // if it contains any it must contain all.
+ for (Triple t : removed) {
+ GL.assertContains("delete", content, t);
+ }
+ }
+ GL.assertHasEnd(
+ "someEvent",
+ content,
+ GraphEvents.remove(remove.getSubject(),
+ remove.getPredicate(), remove.getObject()));
+
+ content.getEventManager().unregister(GL);
+ Graph finalContent = remove(copy(content), baseContent);
+ assertIsomorphic(cases[i][1], expected, finalContent);
+ }
+ }
+
+ @ContractTest
+ public void testRemove_ByIterator() {
+ testRemove("?? ?? ??", "?? ?? ??");
+ testRemove("S ?? ??", "S ?? ??");
+ testRemove("S ?? ??", "?? P ??");
+ testRemove("S ?? ??", "?? ?? O");
+ testRemove("?? P ??", "S ?? ??");
+ testRemove("?? P ??", "?? P ??");
+ testRemove("?? P ??", "?? ?? O");
+ testRemove("?? ?? O", "S ?? ??");
+ testRemove("?? ?? O", "?? P ??");
+ testRemove("?? ?? O", "?? ?? O");
+ }
+
+ private void testRemove(String findRemove, String findCheck) {
+ Graph g = graphWith(getProducer().newInstance(), "S P O");
+ ExtendedIterator<Triple> it = g.find(NodeCreateUtils
+ .createTriple(findRemove));
+ try {
+ it.next();
+ it.remove();
+ it.close();
+ assertEquals("remove with " + findRemove + ":", 0, g.size());
+ assertFalse(g.contains(NodeCreateUtils.createTriple(findCheck)));
+ } catch (UnsupportedOperationException e) {
+ it.close();
+ assertFalse(
+ "delete failed but capailities indicates it should work", g
+ .getCapabilities().iteratorRemoveAllowed());
+ }
+ }
+
+ /**
+ * This test case was generated by Ian and was caused by GraphMem not
+ * keeping up with changes to the find interface.
+ */
+ @ContractTest
+ public void testFindAndContains() {
+ Graph g = getProducer().newInstance();
+ Node r = NodeCreateUtils.create("r"), s = NodeCreateUtils.create("s"), p = NodeCreateUtils
+ .create("P");
+ txnBegin(g);
+ try {
+ g.add(Triple.create(r, p, s));
+ txnCommit(g);
+ assertTrue(g.contains(r, p, Node.ANY));
+ assertEquals(1, g.find(r, p, Node.ANY).toList().size());
+ } catch (Exception e) {
+ txnRollback(g);
+ fail(e.getMessage());
+ }
+ }
+
+ /**
+ * Check that contains respects by-value semantics.
+ */
+
+ @ContractTest
+ public void testAGraph() {
+ String title = this.getClass().getName();
+ Graph g = getProducer().newInstance();
+ int baseSize = g.size();
+ graphAddTxn(g, "x R y; p S q; a T b");
+ /* */
+ assertContainsAll(title + ": simple graph", g, "x R y; p S q; a T b");
+ assertEquals(title + ": size", baseSize + 3, g.size());
+
+ graphAddTxn(g,
+ "spindizzies lift cities; Diracs communicate instantaneously");
+ assertEquals(title + ": size after adding", baseSize + 5, g.size());
+ txnBegin(g);
+ g.delete(triple("x R y"));
+ g.delete(triple("a T b"));
+ txnCommit(g);
+ assertEquals(title + ": size after deleting", baseSize + 3, g.size());
+ assertContainsAll(title + ": modified simple graph", g,
+ "p S q; spindizzies lift cities; Diracs communicate instantaneously");
+ assertOmitsAll(title + ": modified simple graph", g, "x R y; a T b");
+ /* */
+ ClosableIterator<Triple> it = g.find(Node.ANY, node("lift"), Node.ANY);
+ assertTrue(title + ": finds some triple(s)", it.hasNext());
+ assertEquals(title + ": finds a 'lift' triple",
+ triple("spindizzies lift cities"), it.next());
+ assertFalse(title + ": finds exactly one triple", it.hasNext());
+ it.close();
+ }
+
+ // public void testStuff()
+ // {
+ // // testAGraph( "StoreMem", new GraphMem() );
+ // // testAGraph( "StoreMemBySubject", new GraphMem() );
+ // // String [] empty = new String [] {};
+ // // Graph g = graphWith( "x R y; p S q; a T b" );
+ // // /* */
+ // // assertContainsAll( "simple graph", g, "x R y; p S q; a T b" );
+ // // graphAdd( g,
+ // "spindizzies lift cities; Diracs communicate instantaneously" );
+ // // g.delete( triple( "x R y" ) );
+ // // g.delete( triple( "a T b" ) );
+ // // assertContainsAll( "modified simple graph", g,
+ // "p S q; spindizzies lift cities; Diracs communicate instantaneously" );
+ // // assertOmitsAll( "modified simple graph", g, "x R y; a T b" );
+ // }
+
+ // /**
+ // Test that Graphs have transaction support methods, and that if they fail
+ // on some g they fail because they do not support the operation.
+ // */
+ // @ContractTest
+ // public void testHasTransactions()
+ // {
+ // Graph g = getProducer().newInstance();
+ // TransactionHandler th = g.getTransactionHandler();
+ // th.transactionsSupported();
+ // try { th.begin(); } catch (UnsupportedOperationException x) {}
+ // try { th.abort(); } catch (UnsupportedOperationException x) {}
+ // try { th.begin(); th.commit(); } catch (UnsupportedOperationException x)
+ // {}
+ // /* */
+ // Command cmd = new Command()
+ // { @Override
+ // public Object execute() { return null; } };
+ // try { th.executeInTransaction( cmd ); }
+ // catch (UnsupportedOperationException x) {}
+ // }
+ //
+ // @ContractTest
+ // public void testExecuteInTransactionCatchesThrowable()
+ // {Graph g = getProducer().newInstance();
+ // TransactionHandler th = g.getTransactionHandler();
+ // if (th.transactionsSupported())
+ // {
+ // Command cmd = new Command()
+ // { @Override
+ // public Object execute() throws Error { throw new Error(); } };
+ // try { th.executeInTransaction( cmd ); }
+ // catch (JenaException x) {}
+ // }
+ // }
+
+ @ContractTest
+ public void testAddWithReificationPreamble() {
+ Graph g = getProducer().newInstance();
+ txnBegin(g);
+ xSPO(g);
+ txnCommit(g);
+ assertFalse(g.isEmpty());
+ }
+
+ protected void xSPOyXYZ(Graph g) {
+ xSPO(g);
+ ReifierStd.reifyAs(g, NodeCreateUtils.create("y"),
+ NodeCreateUtils.createTriple("X Y Z"));
+ }
+
+ protected void aABC(Graph g) {
+ ReifierStd.reifyAs(g, NodeCreateUtils.create("a"),
+ NodeCreateUtils.createTriple("Foo B C"));
+ }
+
+ protected void xSPO(Graph g) {
+ ReifierStd.reifyAs(g, NodeCreateUtils.create("x"),
+ NodeCreateUtils.createTriple("S P O"));
+ }
+
+ @ContractTest
+ public void failingTestDoubleRemoveAll() {
+ final Graph g = getProducer().newInstance();
+ if (g.getCapabilities().iteratorRemoveAllowed()) {
+ try {
+ graphAddTxn(g, "c S d; e:ff GGG hhhh; _i J 27; Ell Em 'en'");
+ Iterator<Triple> it = new TrackingTripleIterator(
+ g.find(Triple.ANY)) {
+ @Override
+ public void remove() {
+ super.remove(); // removes current
+ g.delete(current); // no-op.
+ }
+ };
+ while (it.hasNext()) {
+ it.next();
+ it.remove();
+ }
+ assertTrue(g.isEmpty());
+ } catch (UnsupportedOperationException e) {
+ fail("Error attempting to remove nodes " + e.getMessage());
+ }
+ }
+ }
+
+ /**
+ * Test cases for RemoveSPO(); each entry is a triple (add, remove, result).
+ * <ul>
+ * <li>add - the triples to add to the graph to start with
+ * <li>remove - the pattern to use in the removal
+ * <li>result - the triples that should remain in the graph
+ * </ul>
+ */
+ protected static String[][] cases = { { "x R y", "x R y", "", "x R y" },
+ { "x R y; a P b", "x R y", "a P b", "x R y" },
+ { "x R y; a P b", "?? R y", "a P b", "x R y" },
+ { "x R y; a P b", "x R ??", "a P b", "x R y" },
+ { "x R y; a P b", "x ?? y", "a P b", "x R y" },
+ { "x R y; a P b", "?? ?? ??", "", "x R y; a P b" },
+ { "x R y; a P b; c P d", "?? P ??", "x R y", "a P b; c P d" },
+ { "x R y; a P b; x S y", "x ?? ??", "a P b", "x R y; x S y" }, };
+
+ /**
+ * testIsomorphism from file data
+ *
+ * @throws FileNotFoundException
+ */
+ @ContractTest
+ public void testIsomorphismFile() throws URISyntaxException,
+ MalformedURLException {
+ testIsomorphismXMLFile(1, true);
+ testIsomorphismXMLFile(2, true);
+ testIsomorphismXMLFile(3, true);
+ testIsomorphismXMLFile(4, true);
+ testIsomorphismXMLFile(5, false);
+ testIsomorphismXMLFile(6, false);
+ testIsomorphismNTripleFile(7, true);
+ testIsomorphismNTripleFile(8, false);
+
+ }
+
+ private void testIsomorphismNTripleFile(int i, boolean result)
+ throws URISyntaxException, MalformedURLException {
+ testIsomorphismFile(i, "N-TRIPLE", "nt", result);
+ }
+
+ private void testIsomorphismXMLFile(int i, boolean result)
+ throws URISyntaxException, MalformedURLException {
+ testIsomorphismFile(i, "RDF/XML", "rdf", result);
+
+ }
+
+ private InputStream getInputStream(int n, int n2, String suffix)
+ throws URISyntaxException, MalformedURLException {
+ String urlStr = String.format("regression/testModelEquals/%s-%s.%s", n,
+ n2, suffix);
+ return GraphContractTest.class.getClassLoader().getResourceAsStream(
+ urlStr);
+ }
+
+ private void testIsomorphismFile(int n, String lang, String suffix,
+ boolean result) throws URISyntaxException, MalformedURLException {
+
+ Graph g1 = getProducer().newInstance();
+ Graph g2 = getProducer().newInstance();
+ Model m1 = ModelFactory.createModelForGraph(g1);
+ Model m2 = ModelFactory.createModelForGraph(g2);
+
+ m1.read(getInputStream(n, 1, suffix), "http://www.example.org/", lang);
+
+ m2.read(getInputStream(n, 2, suffix), "http://www.example.org/", lang);
+
+ boolean rslt = g1.isIsomorphicWith(g2) == result;
+ if (!rslt) {
+ System.out.println("g1:");
+ m1.write(System.out, "N-TRIPLE");
+ System.out.println("g2:");
+ m2.write(System.out, "N-TRIPLE");
+ }
+ assertTrue("Isomorphism test failed", rslt);
+ }
+
+ protected Graph getClosed() {
+ Graph result = getProducer().newInstance();
+ result.close();
+ return result;
+ }
+
+ // @ContractTest
+ // public void testTransactionCommit()
+ // {
+ // Graph g = getProducer().newInstance();
+ // if (g.getTransactionHandler().transactionsSupported())
+ // {
+ // Graph initial = graphWithTxn( "initial hasValue 42; also hasURI hello" );
+ // Graph extra = graphWithTxn( "extra hasValue 17; also hasURI world" );
+ // //File foo = FileUtils.tempFileName( "fileGraph", ".nt" );
+ //
+ // //Graph g = new FileGraph( foo, true, true );
+ //
+ // GraphUtil.addInto( g, initial );
+ // g.getTransactionHandler().begin();
+ // GraphUtil.addInto( g, extra );
+ // g.getTransactionHandler().commit();
+ // Graph union = graphWithTxn( "" );
+ // GraphUtil.addInto(union, initial );
+ // GraphUtil.addInto(union, extra );
+ // assertIsomorphic( union, g );
+ // //Model inFile = ModelFactory.createDefaultModel();
+ // //inFile.read( "file:///" + foo, "N-TRIPLES" );
+ // //assertIsomorphic( union, inFile.getGraph() );
+ // }
+ // }
+ //
+ // @ContractTest
+ // public void testTransactionAbort()
+ // {
+ // Graph g = getProducer().newInstance();
+ // if (g.getTransactionHandler().transactionsSupported())
+ // {
+ // Graph initial = graphWithTxn( "initial hasValue 42; also hasURI hello" );
+ // Graph extra = graphWithTxn( "extra hasValue 17; also hasURI world" );
+ // File foo = FileUtils.tempFileName( "fileGraph", ".n3" );
+ // //Graph g = new FileGraph( foo, true, true );
+ // GraphUtil.addInto( g, initial );
+ // g.getTransactionHandler().begin();
+ // GraphUtil.addInto( g, extra );
+ // g.getTransactionHandler().abort();
+ // assertIsomorphic( initial, g );
+ // }
+ // }
+ //
+ // @ContractTest
+ // public void testTransactionCommitThenAbort()
+ // {
+ // Graph g = getProducer().newInstance();
+ // if (g.getTransactionHandler().transactionsSupported())
+ // {
+ // Graph initial = graphWithTxn( "Foo pings B; B pings C" );
+ // Graph extra = graphWithTxn( "C pingedBy B; fileGraph rdf:type Graph" );
+ // //Graph g = getProducer().newInstance();
+ // //File foo = FileUtils.tempFileName( "fileGraph", ".nt" );
+ // //Graph g = new FileGraph( foo, true, true );
+ // g.getTransactionHandler().begin();
+ // GraphUtil.addInto( g, initial );
+ // g.getTransactionHandler().commit();
+ // g.getTransactionHandler().begin();
+ // GraphUtil.addInto( g, extra );
+ // g.getTransactionHandler().abort();
+ // assertIsomorphic( initial, g );
+ // //Model inFile = ModelFactory.createDefaultModel();
+ // // inFile.read( "file:///" + foo, "N-TRIPLES" );
+ // //assertIsomorphic( initial, inFile.getGraph() );
+ // }
+ // }
+
+ /**
+ * This test exposed that the update-existing-graph functionality was broken
+ * if the target graph already contained any statements with a subject S
+ * appearing as subject in the source graph - no further Spo statements were
+ * added.
+ */
+ @ContractTest
+ public void testPartialUpdate() {
+ Graph source = graphWith(getProducer().newInstance(), "a R b; b S e");
+ Graph dest = graphWith(getProducer().newInstance(), "b R d");
+ GraphExtract e = new GraphExtract(TripleBoundary.stopNowhere);
+ e.extractInto(dest, node("a"), source);
+ assertIsomorphic(
+ graphWith(getProducer().newInstance(), "a R b; b S e; b R d"),
+ dest);
+ }
+
+ /**
+ * Ensure that triples removed by calling .remove() on the iterator returned
+ * by a find() will generate deletion notifications.
+ */
+ @ContractTest
+ public void testIterator_Remove() {
+ Graph graph = graphWith(getProducer().newInstance(), "a R b; b S e");
+ if (graph.getCapabilities().iteratorRemoveAllowed()) {
+ try {
+ graph.getEventManager().register(GL);
+ txnBegin(graph);
+
+ Triple toRemove = triple("a R b");
+ ExtendedIterator<Triple> rtr = graph.find(toRemove);
+ assertTrue("ensure a(t least) one triple", rtr.hasNext());
+ rtr.next();
+ rtr.remove();
+ rtr.close();
+ GL.assertHas("delete", graph, toRemove);
+ } catch (UnsupportedOperationException e) {
+ fail("Error attempting to remove nodes " + e.getMessage());
+ }
+
+ }
+ }
+
+ @ContractTest
+ public void testTransactionHandler_Commit() {
+ Graph g = getProducer().newInstance();
+ if (g.getTransactionHandler().transactionsSupported()) {
+ Graph initial = graphWith(getProducer().newInstance(),
+ "initial hasValue 42; also hasURI hello");
+ Graph extra = graphWith(getProducer().newInstance(),
+ "extra hasValue 17; also hasURI world");
+
+ GraphUtil.addInto(g, initial);
+ g.getTransactionHandler().begin();
+ GraphUtil.addInto(g, extra);
+ g.getTransactionHandler().commit();
+ Graph union = memGraph();
+ GraphUtil.addInto(union, initial);
+ GraphUtil.addInto(union, extra);
+ assertIsomorphic(union, g);
+ // Model inFiIProducer<TransactionHandler>le =
+ // ModelFactory.createDefaultModel();
+ // inFile.read( "file:///" + foo, "N-TRIPLES" );
+ // assertIsomorphic( union, inFile.getGraph() );
+ }
+ }
+
+ @ContractTest
+ public void testTransactionHandler_Abort() {
+ Graph g = getProducer().newInstance();
+ if (g.getTransactionHandler().transactionsSupported()) {
+ Graph initial = graphWith(getProducer().newInstance(),
+ "initial hasValue 42; also hasURI hello");
+ Graph extra = graphWith(getProducer().newInstance(),
+ "extra hasValue 17; also hasURI world");
+ GraphUtil.addInto(g, initial);
+ g.getTransactionHandler().begin();
+ GraphUtil.addInto(g, extra);
+ g.getTransactionHandler().abort();
+ assertIsomorphic(initial, g);
+ }
+ }
+
+ @ContractTest
+ public void testTransactionHandler_CommitThenAbort() {
+ Graph g = getProducer().newInstance();
+ if (g.getTransactionHandler().transactionsSupported()) {
+ Graph initial = graphWith(getProducer().newInstance(),
+ "Foo pings B; B pings C");
+ Graph extra = graphWith(getProducer().newInstance(),
+ "C pingedBy B; fileGraph rdf:type Graph");
+ g.getTransactionHandler().begin();
+ GraphUtil.addInto(g, initial);
+ g.getTransactionHandler().commit();
+ g.getTransactionHandler().begin();
+ GraphUtil.addInto(g, extra);
+ g.getTransactionHandler().abort();
+ assertIsomorphic(initial, g);
+ // Model inFile = ModelFactory.createDefaultModel();
+ // inFile.read( "file:///" + foo, "N-TRIPLES" );
+ // assertIsomorphic( initial, inFile.getGraph() );
+ }
+ }
+
+ //
+ // Test that literal typing works when supported
+ //
+
+ // used to find the object set from the returned set for literal testing
+ private static final Map1<Triple, Node> getObject = new Map1<Triple, Node>() {
+ @Override
+ public Node map1(Triple o) {
+ return o.getObject();
+ }
+ };
+
+ private void testLiteralTypingBasedFind(final String data, final int size,
+ final String search, final String results, boolean reqLitType) {
+
+ Graph g = getProducer().newInstance();
+
+ if (!reqLitType || g.getCapabilities().handlesLiteralTyping()) {
+ graphWith(g, data);
+
+ Node literal = NodeCreateUtils.create(search);
+ //
+ assertEquals("graph has wrong size", size, g.size());
+ Set<Node> got = g.find(Node.ANY, Node.ANY, literal)
+ .mapWith(getObject).toSet();
+ assertEquals(nodeSet(results), got);
+ }
+ }
+
+ @ContractTest
+ public void testLiteralTypingBasedFind() {
+ testLiteralTypingBasedFind("a P 'simple'", 1, "'simple'", "'simple'",
+ false);
+ testLiteralTypingBasedFind("a P 'simple'xsd:string", 1, "'simple'",
+ "'simple'xsd:string", true);
+ testLiteralTypingBasedFind("a P 'simple'", 1, "'simple'xsd:string",
+ "'simple'", true);
+ testLiteralTypingBasedFind("a P 'simple'xsd:string", 1,
+ "'simple'xsd:string", "'simple'xsd:string", false);
+// testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 2,
+// "'simple'", "'simple' 'simple'xsd:string", true);
+// testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 2,
+// "'simple'xsd:string", "'simple' 'simple'xsd:string", true);
+ testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 1,
+ "'simple'", "'simple'", true);
+ testLiteralTypingBasedFind("a P 'simple'; a P 'simple'xsd:string", 1,
+ "'simple'xsd:string", "'simple'xsd:string", true);
+ testLiteralTypingBasedFind("a P 1", 1, "1", "1", false);
+ testLiteralTypingBasedFind("a P '1'xsd:float", 1, "'1'xsd:float",
+ "'1'xsd:float", false);
+ testLiteralTypingBasedFind("a P '1'xsd:double", 1, "'1'xsd:double",
+ "'1'xsd:double", false);
+ testLiteralTypingBasedFind("a P '1'xsd:float", 1, "'1'xsd:float",
+ "'1'xsd:float", false);
+ testLiteralTypingBasedFind("a P '1.1'xsd:float", 1, "'1'xsd:float", "",
+ false);
+ testLiteralTypingBasedFind("a P '1'xsd:double", 1, "'1'xsd:int", "",
+ false);
+ testLiteralTypingBasedFind("a P 'abc'rdf:XMLLiteral", 1, "'abc'", "",
+ false);
+ testLiteralTypingBasedFind("a P 'abc'", 1, "'abc'rdf:XMLLiteral", "",
+ false);
+ //
+ // floats & doubles are not compatible
+ //
+ testLiteralTypingBasedFind("a P '1'xsd:float", 1, "'1'xsd:double", "",
+ false);
+ testLiteralTypingBasedFind("a P '1'xsd:double", 1, "'1'xsd:float", "",
+ false);
+ testLiteralTypingBasedFind("a P 1", 1, "'1'", "", false);
+ testLiteralTypingBasedFind("a P 1", 1, "'1'xsd:integer",
+ "'1'xsd:integer", false);
+ testLiteralTypingBasedFind("a P 1", 1, "'1'", "", false);
+ testLiteralTypingBasedFind("a P '1'xsd:short", 1, "'1'xsd:integer",
+ "'1'xsd:short", true);
+ testLiteralTypingBasedFind("a P '1'xsd:int", 1, "'1'xsd:integer",
+ "'1'xsd:int", true);
+ }
+
+ @ContractTest
+ public void testQuadRemove() {
+ Graph g = getProducer().newInstance();
+ assertEquals(0, g.size());
+ Triple s = triple("x rdf:subject s");
+ Triple p = triple("x rdf:predicate p");
+ Triple o = triple("x rdf:object o");
+ Triple t = triple("x rdf:type rdf:Statement");
+ txnBegin(g);
+ g.add(s);
+ g.add(p);
+ g.add(o);
+ g.add(t);
+ txnCommit(g);
+ assertEquals(4, g.size());
+ txnBegin(g);
+ g.delete(s);
+ g.delete(p);
+ g.delete(o);
+ g.delete(t);
+ txnCommit(g);
+ assertEquals(0, g.size());
+ }
+
+ @ContractTest
+ public void testSizeAfterRemove() {
+ Graph g = graphWith(getProducer().newInstance(), "x p y");
+ if (g.getCapabilities().iteratorRemoveAllowed()) {
+ try {
+ ExtendedIterator<Triple> it = g.find(triple("x ?? ??"));
+ it.removeNext();
+ assertEquals(0, g.size());
+ } catch (UnsupportedOperationException e) {
+ fail("Error attempting to remove nodes " + e.getMessage());
+ }
+ }
+ }
+
+ @ContractTest
+ public void testSingletonStatisticsWithSingleTriple() {
+
+ Graph g = graphWith(getProducer().newInstance(), "a P b");
+ GraphStatisticsHandler h = g.getStatisticsHandler();
+ if (h != null) {
+ assertEquals(1L, h.getStatistic(node("a"), Node.ANY, Node.ANY));
+ assertEquals(0L, h.getStatistic(node("x"), Node.ANY, Node.ANY));
+ //
+ assertEquals(1L, h.getStatistic(Node.ANY, node("P"), Node.ANY));
+ assertEquals(0L, h.getStatistic(Node.ANY, node("Q"), Node.ANY));
+ //
+ assertEquals(1L, h.getStatistic(Node.ANY, Node.ANY, node("b")));
+ assertEquals(0L, h.getStatistic(Node.ANY, Node.ANY, node("y")));
+ }
+ }
+
+ @ContractTest
+ public void testSingletonStatisticsWithSeveralTriples() {
+
+ Graph g = graphWith(getProducer().newInstance(),
+ "a P b; a P c; a Q b; x S y");
+ GraphStatisticsHandler h = g.getStatisticsHandler();
+ if (h != null) {
+ assertEquals(3L, h.getStatistic(node("a"), Node.ANY, Node.ANY));
+ assertEquals(1L, h.getStatistic(node("x"), Node.ANY, Node.ANY));
+ assertEquals(0L, h.getStatistic(node("y"), Node.ANY, Node.ANY));
+ //
+ assertEquals(2L, h.getStatistic(Node.ANY, node("P"), Node.ANY));
+ assertEquals(1L, h.getStatistic(Node.ANY, node("Q"), Node.ANY));
+ assertEquals(0L, h.getStatistic(Node.ANY, node("R"), Node.ANY));
+ //
+ assertEquals(2L, h.getStatistic(Node.ANY, Node.ANY, node("b")));
+ assertEquals(1L, h.getStatistic(Node.ANY, Node.ANY, node("c")));
+ assertEquals(0L, h.getStatistic(Node.ANY, Node.ANY, node("d")));
+ }
+ }
+
+ @ContractTest
+ public void testDoubletonStatisticsWithTriples() {
+
+ Graph g = graphWith(getProducer().newInstance(),
+ "a P b; a P c; a Q b; x S y");
+ GraphStatisticsHandler h = g.getStatisticsHandler();
+ if (h != null) {
+ assertEquals(-1L, h.getStatistic(node("a"), node("P"), Node.ANY));
+ assertEquals(-1L, h.getStatistic(Node.ANY, node("P"), node("b")));
+ assertEquals(-1L, h.getStatistic(node("a"), Node.ANY, node("b")));
+ //
+ assertEquals(0L, h.getStatistic(node("no"), node("P"), Node.ANY));
+ }
+ }
+
+ @ContractTest
+ public void testStatisticsWithOnlyVariables() {
+ testStatsWithAllVariables("");
+ testStatsWithAllVariables("a P b");
+ testStatsWithAllVariables("a P b; a P c");
+ testStatsWithAllVariables("a P b; a P c; a Q b; x S y");
+ }
+
+ private void testStatsWithAllVariables(String triples) {
+ Graph g = graphWith(getProducer().newInstance(), triples);
+ GraphStatisticsHandler h = g.getStatisticsHandler();
+ if (h != null) {
+ assertEquals(g.size(), h.getStatistic(Node.ANY, Node.ANY, Node.ANY));
+ }
+ }
+
+ @ContractTest
+ public void testStatsWithConcreteTriple() {
+ testStatsWithConcreteTriple(0, "x P y", "");
+ }
+
+ private void testStatsWithConcreteTriple(int expect, String triple,
+ String graph) {
+ Graph g = graphWith(getProducer().newInstance(), graph);
+ GraphStatisticsHandler h = g.getStatisticsHandler();
+ if (h != null) {
+ Triple t = triple(triple);
+ assertEquals(
+ expect,
+ h.getStatistic(t.getSubject(), t.getPredicate(),
+ t.getObject()));
+ }
+ }
+
+ @ContractTest
+ public void testBrokenIndexes() {
+ Graph g = graphWith(getProducer().newInstance(), "x R y; x S z");
+ if (g.getCapabilities().iteratorRemoveAllowed()) {
+ try {
+ ExtendedIterator<Triple> it = g.find(Node.ANY, Node.ANY,
+ Node.ANY);
+ it.removeNext();
+ it.removeNext();
+ assertFalse(g.find(node("x"), Node.ANY, Node.ANY).hasNext());
+ assertFalse(g.find(Node.ANY, node("R"), Node.ANY).hasNext());
+ assertFalse(g.find(Node.ANY, Node.ANY, node("y")).hasNext());
+ } catch (UnsupportedOperationException e) {
+ fail("Error attempting to remove nodes " + e.getMessage());
+ }
+ }
+ }
+
+ @ContractTest
+ public void testBrokenSubject() {
+ Graph g = graphWith(getProducer().newInstance(), "x brokenSubject y");
+ if (g.getCapabilities().iteratorRemoveAllowed()) {
+ try {
+ ExtendedIterator<Triple> it = g.find(node("x"), Node.ANY,
+ Node.ANY);
+ it.removeNext();
+ assertFalse(g.find(Node.ANY, Node.ANY, Node.ANY).hasNext());
+ } catch (UnsupportedOperationException e) {
+ fail("Error attempting to remove nodes " + e.getMessage());
+ }
+ }
+ }
+
+ @ContractTest
+ public void testBrokenPredicate() {
+ Graph g = graphWith(getProducer().newInstance(), "x brokenPredicate y");
+ if (g.getCapabilities().iteratorRemoveAllowed()) {
+ try {
+ ExtendedIterator<Triple> it = g.find(Node.ANY,
+ node("brokenPredicate"), Node.ANY);
+ it.removeNext();
+ assertFalse(g.find(Node.ANY, Node.ANY, Node.ANY).hasNext());
+ } catch (UnsupportedOperationException e) {
+ fail("Error attempting to remove nodes " + e.getMessage());
+ }
+ }
+ }
+
+ @ContractTest
+ public void testBrokenObject() {
+ Graph g = graphWith(getProducer().newInstance(), "x brokenObject y");
+ if (g.getCapabilities().iteratorRemoveAllowed()) {
+ try {
+ ExtendedIterator<Triple> it = g.find(Node.ANY, Node.ANY,
+ node("y"));
+ it.removeNext();
+ assertFalse(g.find(Node.ANY, Node.ANY, Node.ANY).hasNext());
+
+ } catch (UnsupportedOperationException e) {
+ fail("Error attempting to remove nodes " + e.getMessage());
+ }
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java
new file mode 100644
index 0000000..426002d
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java
@@ -0,0 +1,514 @@
+/*
+ * 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.graph;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.junit.After;
+import org.junit.Before;
+import org.mockito.Mockito;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractTest;
+
+import static org.junit.Assert.*;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphEventManager;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.graph.Factory;
+import org.apache.jena.testing_framework.ContractTemplate;
+import org.apache.jena.testing_framework.GraphHelper;
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.testing_framework.NodeCreateUtils;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+
+/**
+ * An abstract test that tests EventManager implementations to ensure they
+ * comply with the EventManager contract.
+ *
+ * Subclasses of this class must implement the getEventManagerProducer() method
+ * to create a new instance of the EventManager for testing.
+ */
+
+@Contract(GraphEventManager.class)
+public class GraphEventManagerContractTest<T extends GraphEventManager> extends
+ ContractTemplate<IProducer<T>> {
+
+ protected static final Triple[] tripleArray = tripleArray("S P O; Foo R B; X Q Y");
+
+ // the graph that is used as the source of the events.
+ private Graph mockGraph;
+ // The event manager we are working with.
+ private GraphEventManager gem;
+
+ public GraphEventManagerContractTest() {
+// setProducer(new IProducer<T>() {
+//
+// @SuppressWarnings("unchecked")
+// @Override
+// public T newInstance() {
+// return (T) Factory.createGraphMem().getEventManager();
+// }
+//
+// @Override
+// public void cleanUp() {
+// }
+// });
+
+ }
+
+ @Contract.Inject
+ public final void setGraphEventManagerContractTestProducer(
+ IProducer<T> producer) {
+ super.setProducer(producer);
+ }
+
+ @After
+ public final void afterGraphEventManagerContractTest() {
+ getProducer().cleanUp();
+ }
+
+ @Before
+ public final void beforeGraphEventManagerContractTest() {
+ mockGraph = Mockito.mock(Graph.class);
+ gem = getProducer().newInstance();
+ L = new RecordingGraphListener();
+ }
+
+ /**
+ * Test that when a listener is registered the same EventManager is
+ * returned.
+ */
+ @ContractTest
+ public void testEventRegister() {
+ assertSame(gem, gem.register(new RecordingGraphListener()));
+ }
+
+ /**
+ * Test that we can safely unregister a listener that isn't registered.
+ */
+ @ContractTest
+ public void testEventUnregister() {
+ assertSame(gem, gem.unregister(L));
+ }
+
+ /**
+ * Handy triple for test purposes.
+ */
+ protected Triple SPO = NodeCreateUtils.createTriple("S P O");
+
+ /**
+ * The RecordingListener that reports all the events sent from the
+ * EventManager.
+ */
+ protected RecordingGraphListener L;
+
+ /**
+ * Test that adding a triple is reported.
+ */
+ @ContractTest
+ public void testAddTriple() {
+ gem.register(L);
+ gem.notifyAddTriple(mockGraph, SPO);
+ L.assertHas(new Object[] { "add", mockGraph, SPO });
+ }
+
+ /**
+ * Test that deleting a triple is reported.
+ */
+ @ContractTest
+ public void testDeleteTriple() {
+ gem.register(L);
+ gem.notifyDeleteTriple(mockGraph, SPO);
+ L.assertHas(new Object[] { "delete", mockGraph, SPO });
+ }
+
+ /**
+ * Test that when 2 listeners are added both receive events.
+ */
+ @ContractTest
+ public void testTwoListeners() {
+ RecordingGraphListener L1 = new RecordingGraphListener();
+ RecordingGraphListener L2 = new RecordingGraphListener();
+ gem.register(L1).register(L2);
+ gem.notifyAddTriple(mockGraph, SPO);
+ L2.assertHas(new Object[] { "add", mockGraph, SPO });
+ L1.assertHas(new Object[] { "add", mockGraph, SPO });
+ }
+
+ /**
+ * Test that unregistering a listener after registering it results in it not
+ * receiving messages.
+ */
+ @ContractTest
+ public void testUnregisterWorks() {
+ gem.register(L).unregister(L);
+ gem.notifyAddTriple(mockGraph, SPO);
+ L.assertHas(new Object[] {});
+ }
+
+ /**
+ * Test that registering a listener twice results in the listener receiving
+ * the events twice.
+ */
+ @ContractTest
+ public void testRegisterTwice() {
+ gem.register(L).register(L);
+ gem.notifyAddTriple(mockGraph, SPO);
+ L.assertHas(new Object[] { "add", mockGraph, SPO, "add", mockGraph, SPO });
+ }
+
+ /**
+ * Test that registering a listener twice and unregistering it once will
+ * result in the listener receiving each event one time.
+ */
+ @ContractTest
+ public void testUnregisterOnce() {
+ gem.register(L).register(L).unregister(L);
+ gem.notifyDeleteTriple(mockGraph, SPO);
+ L.assertHas(new Object[] { "delete", mockGraph, SPO });
+ }
+
+ /**
+ * Test that adding an array is reported as adding an array.
+ */
+ @ContractTest
+ public void testAddArray() {
+ gem.register(L);
+ gem.notifyAddArray(mockGraph, tripleArray);
+ L.assertHas(new Object[] { "add[]", mockGraph, tripleArray });
+ }
+
+ /**
+ * Test that adding a list is reported as adding a list
+ */
+ @ContractTest
+ public void testAddList() {
+ gem.register(L);
+ List<Triple> elems = Arrays.asList(tripleArray);
+ gem.notifyAddList(mockGraph, elems);
+ L.assertHas(new Object[] { "addList", mockGraph, elems });
+ }
+
+ /**
+ * Test that deleting an array is reported as deleting an array.
+ */
+ @ContractTest
+ public void testDeleteArray() {
+ gem.register(L);
+ gem.notifyDeleteArray(mockGraph, tripleArray);
+ L.assertHas(new Object[] { "delete[]", mockGraph, tripleArray });
+ }
+
+ /**
+ * Test that deleting a list is reported as deleting a list.
+ */
+ @ContractTest
+ public void testDeleteList() {
+ gem.register(L);
+ List<Triple> elems = Arrays.asList(tripleArray);
+ gem.notifyDeleteList(mockGraph, elems);
+ L.assertHas(new Object[] { "deleteList", mockGraph, elems });
+ }
+
+ /**
+ * Test that adding a list as an iterator is reported as an add iterator.
+ */
+ @ContractTest
+ public void testAddListAsIterator() {
+ gem.register(L);
+ List<Triple> elems = Arrays.asList(tripleArray);
+ gem.notifyAddIterator(mockGraph, elems);
+ L.assertHas(new Object[] { "addIterator", mockGraph, elems });
+ }
+
+ /**
+ * Test that adding an iterator is reported as adding an iterator.
+ */
+ @ContractTest
+ public void testAddIterator() {
+ gem.register(L);
+ List<Triple> elems = Arrays.asList(tripleArray);
+ gem.notifyAddIterator(mockGraph, elems.iterator());
+ L.assertHas(new Object[] { "addIterator", mockGraph, elems });
+ }
+
+ /**
+ * Test that deleting an iterator is reported as a deleting an iterator.
+ */
+ @ContractTest
+ public void testDeleteIterator() {
+ gem.register(L);
+ List<Triple> elems = Arrays.asList(tripleArray);
+ gem.notifyDeleteIterator(mockGraph, elems.iterator());
+ L.assertHas(new Object[] { "deleteIterator", mockGraph, elems });
+ }
+
+ /**
+ * Test that deleting a list as an iterator is reported as deleting an
+ * iterator.
+ */
+ @ContractTest
+ public void testDeleteListAsIterator() {
+ gem.register(L);
+ List<Triple> elems = Arrays.asList(tripleArray);
+ gem.notifyDeleteIterator(mockGraph, elems);
+ L.assertHas(new Object[] { "deleteIterator", mockGraph, elems });
+ }
+
+ /**
+ * Test that adding a graph is reported as adding a graph.
+ */
+ @ContractTest
+ public void testAddGraph() {
+ gem.register(L);
+ Graph other = Mockito.mock(Graph.class);
+ gem.notifyAddGraph(mockGraph, other);
+ L.assertHas(new Object[] { "addGraph", mockGraph, other });
+ }
+
+ /**
+ * Test that deleting a graph is reported as deleting a graph.
+ */
+ @ContractTest
+ public void testDeleteGraph() {
+ gem.register(L);
+ Graph other = Mockito.mock(Graph.class);
+ gem.notifyDeleteGraph(mockGraph, other);
+ L.assertHas(new Object[] { "deleteGraph", mockGraph, other });
+ }
+
+ /**
+ * Test that sending a general event is reported as an event and the value
+ * is saved.
+ */
+ @ContractTest
+ public void testGeneralEvent() {
+ gem.register(L);
+ Object value = new int[] {};
+ gem.notifyEvent(mockGraph, value);
+ L.assertHas(new Object[] { "someEvent", mockGraph, value });
+ }
+
+ @ContractTest
+ public void testListening() {
+ assertFalse("Should not be listening", gem.listening());
+ gem.register(L);
+ assertTrue("Should be listening", gem.listening());
+ gem.unregister(L);
+ assertFalse("Should not be listening", gem.listening());
+ }
+
+ //
+ // Foo series of tests to check modifying the manger in mid notification
+ //
+
+ private ComeAndGoListener all[];
+
+ abstract private static class ComeAndGoListener implements GraphListener {
+
+ // Was I registered when start() was called, and have not been
+ // unregistered.
+ boolean inPlay = false;
+ // currently registered or not.
+ boolean registered = false;
+ boolean notified = false;
+
+ void register(GraphEventManager gem) {
+ registered = true;
+ gem.register(this);
+ }
+
+ void unregister(GraphEventManager gem) {
+ registered = false;
+ inPlay = false;
+ gem.unregister(this);
+ }
+
+ void start() {
+ if (registered)
+ inPlay = true;
+ }
+
+ void check() {
+ if (inPlay && !notified)
+ fail("listener that was in-play was not notified of adding triple.");
+ }
+
+ @Override
+ final public void notifyAddTriple(Graph g, Triple t) {
+ notified = true;
+ doSomeDamage();
+ }
+
+ abstract void doSomeDamage();
+
+ @Override
+ public void notifyAddArray(Graph g, Triple[] triples) {
+ }
+
+ @Override
+ public void notifyAddGraph(Graph g, Graph added) {
+ }
+
+ @Override
+ public void notifyAddIterator(Graph g, Iterator<Triple> it) {
+ }
+
+ @Override
+ public void notifyAddList(Graph g, List<Triple> triples) {
+ }
+
+ @Override
+ public void notifyDeleteArray(Graph g, Triple[] triples) {
+ }
+
+ @Override
+ public void notifyDeleteGraph(Graph g, Graph removed) {
+ }
+
+ @Override
+ public void notifyDeleteIterator(Graph g, Iterator<Triple> it) {
+ }
+
+ @Override
+ public void notifyDeleteList(Graph g, List<Triple> L) {
+ }
+
+ @Override
+ public void notifyDeleteTriple(Graph g, Triple t) {
+ }
+
+ @Override
+ public void notifyEvent(Graph source, Object value) {
+ }
+
+ }
+
+ /**
+ * ComeAndGoListener implementation that does no damage
+ *
+ */
+ private static final class SimpleListener extends ComeAndGoListener {
+ @Override
+ void doSomeDamage() {
+ }
+ }
+
+ /**
+ * Test adding a triple to trigger event.
+ *
+ * @param registerTo
+ * Number of listeners to register.
+ * @param allx
+ */
+ private void testAddingTriple(int registerTo, ComeAndGoListener... allx) {
+ all = allx;
+ // register addMe
+ for (int i = 0; i < registerTo; i++) {
+ all[i].register(gem);
+ }
+
+ // start them all
+ for (ComeAndGoListener l : all) {
+ l.start();
+ }
+ // send the notification.
+ gem.notifyAddTriple(mockGraph, GraphHelper.triple("make a change"));
+ // check them
+ for (ComeAndGoListener l : all) {
+ l.check();
+ }
+ }
+
+ /**
+ * Test that a listener added during event processing does not receive the
+ * event.
+ */
+ @ContractTest
+ public void testAddOne() {
+ testAddingTriple(2, new ComeAndGoListener() {
+ @Override
+ void doSomeDamage() {
+ all[2].register(gem);
+ }
+ }, new SimpleListener(), new SimpleListener());
+ }
+
+ /**
+ * Test that when a listener that has not yet been handled is removed during
+ * event processing it receive the event.
+ */
+ @ContractTest
+ public void testDelete2nd() {
+ testAddingTriple(3, new ComeAndGoListener() {
+ @Override
+ void doSomeDamage() {
+ all[1].unregister(gem);
+ }
+ }, new SimpleListener(), new SimpleListener());
+ }
+
+ /**
+ * Test that when a listener that has been handled is removed during event
+ * processing it receives the event.
+ */
+ @ContractTest
+ public void testDelete1st() {
+ testAddingTriple(3, new SimpleListener(), new ComeAndGoListener() {
+ @Override
+ void doSomeDamage() {
+ all[0].unregister(gem);
+ }
+ }, new SimpleListener());
+ }
+
+ /**
+ * Test that when a listener that removes itself during event processing it
+ * receives the event.
+ */
+ @ContractTest
+ public void testDeleteSelf() {
+ testAddingTriple(3, new ComeAndGoListener() {
+ @Override
+ void doSomeDamage() {
+ unregister(gem);
+ }
+ }, new SimpleListener(), new SimpleListener());
+ }
+
+ /**
+ * Test that when a listener that removes and adds itself during event
+ * processing it receives the event.
+ */
+ @ContractTest
+ public void testDeleteAndAddSelf() {
+ testAddingTriple(3, new ComeAndGoListener() {
+ @Override
+ void doSomeDamage() {
+ unregister(gem);
+ register(gem);
+ }
+ }, new SimpleListener(), new SimpleListener());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java
new file mode 100644
index 0000000..5fbd9c2
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java
@@ -0,0 +1,314 @@
+/*
+ * 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.graph;
+
+import static org.junit.Assert.*;
+import java.util.Set;
+
+import org.junit.After;
+import org.junit.Before;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractTest;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphMaker;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.graph.impl.SimpleGraphMaker;
+import org.apache.jena.shared.AlreadyExistsException;
+import org.apache.jena.shared.DoesNotExistException;
+import org.apache.jena.testing_framework.GraphHelper;
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.testing_framework.TestUtils;
+
+/**
+ * Abstract base class for testing graph factories. Subclasses define the method
+ * <code>getGraphFactory()</code> which supplies a new graph factory to be
+ * tested: ATGF invokes that during <code>setUp</code> and closes it in
+ * <code>tearDown</code>.
+ * <p>
+ * This bunch of tests is not remotely exhaustive, but it was sufficent to drive
+ * the development of the first full graph factory. (Although at the time it
+ * wasn't abstract.)
+ */
+@Contract(GraphMaker.class)
+public class GraphMakerContractTest {
+
+ private IProducer<GraphMaker> producer;
+
+ private GraphMaker graphMaker;
+
+ public GraphMakerContractTest() {
+// producer = new IProducer<GraphMaker>() {
+//
+// @Override
+// public GraphMaker newInstance() {
+// return new SimpleGraphMaker();
+// }
+//
+// @Override
+// public void cleanUp() {
+//
+// }
+// };
+ }
+
+ @Contract.Inject
+ public final void setGraphMaker(IProducer<GraphMaker> producer) {
+ this.producer = producer;
+ }
+
+ protected final IProducer<GraphMaker> getGraphMakerProducer() {
+ return producer;
+ }
+
+ @After
+ public final void afterGraphMakerContractTest() {
+ producer.cleanUp();
+ }
+
+ @Before
+ public final void beforeGraphMakerContractTest() {
+ graphMaker = producer.newInstance();
+ }
+
+ @After
+ public void tearDown() {
+ graphMaker.close();
+ getGraphMakerProducer().cleanUp();
+ }
+
+ /**
+ * Foo trivial test that getGraph delivers a proper graph, not cheating with
+ * null, and that getGraph() "always" delivers the same Graph.
+ */
+ @ContractTest
+ public void testGetGraph() {
+ Graph g1 = graphMaker.getGraph();
+ assertFalse("should deliver a Graph", g1 == null);
+ assertSame(g1, graphMaker.getGraph());
+ g1.close();
+ }
+
+ @ContractTest
+ public void testCreateGraph() {
+ TestUtils.assertDiffer("each created graph must differ",
+ graphMaker.createGraph(), graphMaker.createGraph());
+ }
+
+ @ContractTest
+ public void testAnyName() {
+ graphMaker.createGraph("plain").close();
+ graphMaker.createGraph("with.dot").close();
+ graphMaker.createGraph("http://electric-hedgehog.net/topic#marker")
+ .close();
+ }
+
+ /**
+ * Test that we can't create a graph with the same name twice.
+ */
+ @ContractTest
+ public void testCannotCreateTwice() {
+ String name = jName("bonsai");
+ graphMaker.createGraph(name, true);
+ try {
+ graphMaker.createGraph(name, true);
+ fail("should not be able to create " + name + " twice");
+ } catch (AlreadyExistsException e) {
+ }
+ }
+
+ private String jName(String name) {
+ return "jena-test-AbstractTestGraphMaker-" + name;
+ }
+
+ @ContractTest
+ public void testCanCreateTwice() {
+ String name = jName("bridge");
+ Graph g1 = graphMaker.createGraph(name, true);
+ Graph g2 = graphMaker.createGraph(name, false);
+ assertTrue("graphs should be the same", sameGraph(g1, g2));
+ Graph g3 = graphMaker.createGraph(name);
+ assertTrue("graphs should be the same", sameGraph(g1, g3));
+ }
+
+ /**
+ * Test that we cannot open a graph that does not exist.
+ */
+ @ContractTest
+ public void testCannotOpenUncreated() {
+ String name = jName("noSuchGraph");
+ try {
+ graphMaker.openGraph(name, true);
+ fail(name + " should not exist");
+ } catch (DoesNotExistException e) {
+ }
+ }
+
+ /**
+ * Test that we *can* open a graph that hasn't been created
+ */
+ @ContractTest
+ public void testCanOpenUncreated() {
+ String name = jName("willBeCreated");
+ Graph g1 = graphMaker.openGraph(name);
+ g1.close();
+ graphMaker.openGraph(name, true);
+ }
+
+ /**
+ * Utility - test that a graph with the given name exists.
+ */
+ private void testExists(String name) {
+ assertTrue(name + " should exist", graphMaker.hasGraph(name));
+ }
+
+ /**
+ * Utility - test that no graph with the given name exists.
+ */
+ private void testDoesNotExist(String name) {
+ assertFalse(name + " should exist", graphMaker.hasGraph(name));
+ }
+
+ /**
+ * Test that we can find a graph once its been created. We need to know if
+ * two graphs are "the same" here: we have a temporary work-around but it is
+ * not sound.
+ *
+ */
+ @ContractTest
+ public void testCanFindCreatedGraph() {
+ String alpha = jName("alpha"), beta = jName("beta");
+ Graph g1 = graphMaker.createGraph(alpha, true);
+ Graph h1 = graphMaker.createGraph(beta, true);
+ Graph g2 = graphMaker.openGraph(alpha, true);
+ Graph h2 = graphMaker.openGraph(beta, true);
+ assertTrue("should find alpha", sameGraph(g1, g2));
+ assertTrue("should find beta", sameGraph(h1, h2));
+ }
+
+ /**
+ * Weak test for "same graph": adding this to one is visible in t'other.
+ * Stopgap for use in testCanFindCreatedGraph. TODO: clean that test up
+ * (left over from RDB days)
+ */
+ private boolean sameGraph(Graph g1, Graph g2) {
+ Node S = GraphHelper.node("S"), P = GraphHelper.node("P"), O = GraphHelper
+ .node("O");
+ g1.add(Triple.create(S, P, O));
+ g2.add(Triple.create(O, P, S));
+ return g2.contains(S, P, O) && g1.contains(O, P, S);
+ }
+
+ /**
+ * Test that we can remove a graph from the factory without disturbing
+ * another graph's binding.
+ */
+ @ContractTest
+ public void testCanRemoveGraph() {
+ String alpha = jName("bingo"), beta = jName("brillo");
+ graphMaker.createGraph(alpha, true);
+ graphMaker.createGraph(beta, true);
+ testExists(alpha);
+ testExists(beta);
+ graphMaker.removeGraph(alpha);
+ testExists(beta);
+ testDoesNotExist(alpha);
+ }
+
+ @ContractTest
+ public void testHasnt() {
+ assertFalse("no such graph", graphMaker.hasGraph("john"));
+ assertFalse("no such graph", graphMaker.hasGraph("paul"));
+ assertFalse("no such graph", graphMaker.hasGraph("george"));
+ /* */
+ graphMaker.createGraph("john", true);
+ assertTrue("john now exists", graphMaker.hasGraph("john"));
+ assertFalse("no such graph", graphMaker.hasGraph("paul"));
+ assertFalse("no such graph", graphMaker.hasGraph("george"));
+ /* */
+ graphMaker.createGraph("paul", true);
+ assertTrue("john still exists", graphMaker.hasGraph("john"));
+ assertTrue("paul now exists", graphMaker.hasGraph("paul"));
+ assertFalse("no such graph", graphMaker.hasGraph("george"));
+ /* */
+ graphMaker.removeGraph("john");
+ assertFalse("john has been removed", graphMaker.hasGraph("john"));
+ assertTrue("paul still exists", graphMaker.hasGraph("paul"));
+ assertFalse("no such graph", graphMaker.hasGraph("george"));
+ }
+
+ @ContractTest
+ public void testCarefulClose() {
+ Graph x = graphMaker.createGraph("x");
+ Graph y = graphMaker.openGraph("x");
+ x.add(GraphHelper.triple("a BB c"));
+ x.close();
+ y.add(GraphHelper.triple("p RR q"));
+ y.close();
+ }
+
+ /**
+ * Test that a maker with no graphs lists no names.
+ */
+ @ContractTest
+ public void testListNoGraphs() {
+ Set<String> s = graphMaker.listGraphs().toSet();
+ if (s.size() > 0)
+ fail("found names from 'empty' graph maker: " + s);
+ }
+
+ /**
+ * Test that a maker with three graphs inserted lists those three grapsh; we
+ * don't mind what order they appear in. We also use funny names to ensure
+ * that the spelling that goes in is the one that comes out [should really
+ * be in a separate test].
+ */
+ @ContractTest
+ public void testListThreeGraphs() {
+ String x = "x", y = "y/sub", z = "z:boo";
+ Graph X = graphMaker.createGraph(x);
+ Graph Y = graphMaker.createGraph(y);
+ Graph Z = graphMaker.createGraph(z);
+ Set<String> wanted = TestUtils.setOfStrings(x + " " + y + " " + z);
+ assertEquals(wanted, GraphHelper.iteratorToSet(graphMaker.listGraphs()));
+ X.close();
+ Y.close();
+ Z.close();
+ }
+
+ /**
+ * Test that a maker with some things put in and then some removed gets the
+ * right things listed.
+ */
+ @ContractTest
+ public void testListAfterDelete() {
+ String x = "x_y", y = "y//zub", z = "a:b/c";
+ Graph X = graphMaker.createGraph(x);
+ Graph Y = graphMaker.createGraph(y);
+ Graph Z = graphMaker.createGraph(z);
+ graphMaker.removeGraph(x);
+ Set<String> s = GraphHelper.iteratorToSet(graphMaker.listGraphs());
+ assertEquals(TestUtils.setOfStrings(y + " " + z), s);
+ X.close();
+ Y.close();
+ Z.close();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java
new file mode 100644
index 0000000..aaaa85a
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java
@@ -0,0 +1,86 @@
+package org.apache.jena.graph;
+
+import static org.apache.jena.testing_framework.GraphHelper.graphWith;
+import static org.apache.jena.testing_framework.GraphHelper.triple;
+import static org.apache.jena.testing_framework.GraphHelper.txnBegin;
+import static org.apache.jena.testing_framework.GraphHelper.txnCommit;
+
+import static org.junit.Assert.*;
+
+import org.junit.After;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractTest;
+
+import org.apache.jena.graph.impl.GraphWithPerform;
+import org.apache.jena.mem.GraphMem;
+import org.apache.jena.testing_framework.ContractTemplate;
+
+import org.xenei.junit.contract.IProducer;
+
+/**
+ * GraphWithPerform is an implementation interface that extends Graph with the
+ * performAdd and performDelete methods used by GraphBase to invoke
+ * non-notifying versions of add and delete.
+ */
+@Contract(GraphWithPerform.class)
+public class GraphWithPerformContractTest<T extends GraphWithPerform> extends
+ ContractTemplate<IProducer<T>> {
+ // Recording listener for tests
+ protected RecordingGraphListener GL = new RecordingGraphListener();
+
+ private static final Logger LOG = LoggerFactory
+ .getLogger(GraphWithPerformContractTest.class);
+
+ @SuppressWarnings("unchecked")
+ public GraphWithPerformContractTest() {
+// setProducer((IProducer<T>) new IProducer<GraphWithPerform>() {
+//
+// @Override
+// public GraphWithPerform newInstance() {
+// return new GraphMem();
+// }
+//
+// @Override
+// public void cleanUp() {
+//
+// }
+// });
+ }
+
+ @Contract.Inject
+ public void setGraphWithPerformContractTestProducer(IProducer<T> producer) {
+ super.setProducer(producer);
+ }
+
+ @After
+ public final void afterGraphWithPerformContractTest() {
+ getProducer().cleanUp();
+ }
+
+ @ContractTest
+ public void testPerformAdd_Triple() {
+ GraphWithPerform g = (GraphWithPerform) graphWith(getProducer()
+ .newInstance(), "S P O; S2 P2 O2");
+ g.getEventManager().register(GL);
+ txnBegin(g);
+ g.performAdd(triple("S3 P3 O3"));
+ txnCommit(g);
+ GL.assertEmpty();
+ assertTrue(g.contains(triple("S3 P3 O3")));
+ }
+
+ @ContractTest
+ public void testPerformDelete_Triple() {
+ GraphWithPerform g = (GraphWithPerform) graphWith(getProducer()
+ .newInstance(), "S P O; S2 P2 O2");
+ g.getEventManager().register(GL);
+ txnBegin(g);
+ g.performDelete(triple("S2 P2 O2"));
+ txnCommit(g);
+ GL.assertEmpty();
+ assertFalse(g.contains(triple("S2 P2 O2")));
+ }
+
+}
[23/50] [abbrv] jena git commit: Using Java 8 types in o.a.j.atlas
Posted by cl...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java
----------------------------------------------------------------------
diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java
index 5445aeb..e3f0b73 100644
--- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java
+++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java
@@ -18,13 +18,7 @@
package org.apache.jena.query.spatial;
-import java.util.List;
-
-import org.apache.jena.atlas.iterator.Iter;
-import org.apache.jena.atlas.iterator.Transform;
import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.sparql.core.Quad ;
import org.apache.jena.sparql.core.QuadAction ;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,17 +56,4 @@ public class SpatialDocProducerTriples implements SpatialDocProducer {
return;
context.index(g, s, p, o);
}
-
- static Transform<Quad, Triple> QuadsToTriples = new Transform<Quad, Triple>() {
- @Override
- public Triple convert(Quad item) {
- return item.asTriple();
- }
-
- };
-
- static private List<Triple> quadsToTriples(List<Quad> quads) {
- return Iter.map(quads, QuadsToTriples);
- }
-
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java
index ac9e67f..4b884e8 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java
@@ -19,8 +19,8 @@
package org.apache.jena.tdb.base.block;
import java.util.Iterator ;
+import java.util.function.BiConsumer;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.lib.CacheFactory ;
import org.slf4j.Logger ;
@@ -67,9 +67,9 @@ public class BlockMgrCache extends BlockMgrSync
else
{
writeCache = CacheFactory.createCache(writeSlots) ;
- writeCache.setDropHandler(new ActionKeyValue<Long, Block>(){
+ writeCache.setDropHandler(new BiConsumer<Long, Block>(){
@Override
- public void apply(Long id, Block block)
+ public void accept(Long id, Block block)
{
// We're inside a synchronized operation at this point.
log("Cache spill: write block: %d", id) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java b/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java
index a6c01ff..3f29ae3 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java
@@ -23,10 +23,10 @@ import static org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.printIn
import static org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.summarizeDataBlocks ;
import java.util.Iterator ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.iterator.IteratorWithBuffer ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.tdb.base.block.BlockMgr ;
import org.apache.jena.tdb.base.buffer.PtrBuffer ;
@@ -141,17 +141,13 @@ public class BPlusTreeRewriter
final RecordBufferPageMgr mgr = bpt.getRecordsMgr().getRecordBufferPageMgr() ;
Iterator<RecordBufferPage> iter = new RecordBufferPageLinker(new RecordBufferPagePacker(records, mgr)) ;
- Transform<RecordBufferPage, Pair<Integer, Record>> transform = new Transform<RecordBufferPage, Pair<Integer, Record>>()
- {
- @Override
- public Pair<Integer, Record> convert(RecordBufferPage rbp)
+ Function<RecordBufferPage, Pair<Integer, Record>> transform = rbp ->
{
mgr.put(rbp) ;
Record r = rbp.getRecordBuffer().getHigh() ;
r = bpt.getRecordFactory().createKeyOnly(r) ;
return new Pair<>(rbp.getId(), r) ;
- }
- } ;
+ };
// Write and convert to split pairs.
Iterator<Pair<Integer, Record>> iter2 = Iter.map(iter, transform) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java
index 3d1c8f7..e9cf3e9 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java
@@ -27,7 +27,6 @@ import java.security.NoSuchAlgorithmException ;
import java.util.Iterator ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Bytes ;
import org.apache.jena.atlas.lib.Pool ;
import org.apache.jena.atlas.lib.PoolBase ;
@@ -222,12 +221,6 @@ public class NodeLib
public static Iterator<Node> nodes(final NodeTable nodeTable, Iterator<NodeId> iter)
{
- return Iter.map(iter, new Transform<NodeId, Node>(){
- @Override
- public Node convert(NodeId item)
- {
- return nodeTable.getNodeForNodeId(item) ;
- }
- }) ;
+ return Iter.map(iter, nodeTable::getNodeForNodeId) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
index ff9687e..1925c87 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
@@ -21,9 +21,7 @@ package org.apache.jena.tdb.lib;
import static org.apache.jena.tdb.sys.SystemTDB.SizeOfLong ;
import java.util.Iterator;
-
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Bytes ;
import org.apache.jena.atlas.lib.ColumnMap ;
import org.apache.jena.atlas.lib.InternalErrorException ;
@@ -45,47 +43,23 @@ public class TupleLib
{
public static Iterator<Tuple<Node>> convertToNodes(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter)
{
- Transform<Tuple<NodeId>, Tuple<Node>> action = new Transform<Tuple<NodeId>, Tuple<Node>>(){
- @Override
- public Tuple<Node> convert(Tuple<NodeId> item)
- {
- return tupleNodes(nodeTable, item) ;
- }} ;
- return Iter.map(iter, action) ;
+ return Iter.map(iter, item -> tupleNodes(nodeTable, item)) ;
}
public static Iterator<Tuple<NodeId>> convertToNodeId(final NodeTable nodeTable, Iterator<Tuple<Node>> iter)
{
- Transform<Tuple<Node>, Tuple<NodeId>> action = new Transform<Tuple<Node>, Tuple<NodeId>>(){
- @Override
- public Tuple<NodeId> convert(Tuple<Node> item)
- {
- return tupleNodeIds(nodeTable, item) ;
- }} ;
- return Iter.map(iter, action) ;
+ return Iter.map(iter, item -> tupleNodeIds(nodeTable, item)) ;
}
//Leave - bypasses extract step in Tuple<NodeId> -> Tuple<Node> -> Triple
public static Iterator<Triple> convertToTriples(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter)
{
- Transform<Tuple<NodeId>, Triple> action = new Transform<Tuple<NodeId>, Triple>(){
- @Override
- public Triple convert(Tuple<NodeId> item)
- {
- return triple(nodeTable, item) ;
- }} ;
- return Iter.map(iter, action) ;
+ return Iter.map(iter, item -> triple(nodeTable, item)) ;
}
public static Iterator<Quad> convertToQuads(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter)
{
- Transform<Tuple<NodeId>, Quad> action = new Transform<Tuple<NodeId>, Quad>(){
- @Override
- public Quad convert(Tuple<NodeId> item)
- {
- return quad(nodeTable, item) ;
- }} ;
- return Iter.map(iter, action) ;
+ return Iter.map(iter, item -> quad(nodeTable, item)) ;
}
public static Tuple<Node> tupleNodes(NodeTable nodeTable, Tuple<NodeId> ids)
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
index e1ab89f..77cfbfa 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
@@ -18,8 +18,9 @@
package org.apache.jena.tdb.solver;
-import org.apache.jena.atlas.iterator.Filter ;
-import org.apache.jena.atlas.lib.Tuple ;
+import java.util.function.Predicate;
+
+import org.apache.jena.atlas.lib.Tuple;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
@@ -44,7 +45,7 @@ import org.apache.jena.sparql.expr.ExprList ;
import org.apache.jena.sparql.mgt.Explain ;
import org.apache.jena.tdb.store.DatasetGraphTDB ;
import org.apache.jena.tdb.store.GraphTDB ;
-import org.apache.jena.tdb.store.NodeId ;
+import org.apache.jena.tdb.store.NodeId;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -345,7 +346,7 @@ public class OpExecutorTDB1 extends OpExecutor
protected QueryIterator execute(OpDatasetNames dsNames, QueryIterator input)
{
DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ;
- Filter<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
+ Predicate<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
Node gn = dsNames.getGraphNode() ;
if ( Var.isVar(gn) )
return SolverLib.graphNames(ds, dsNames.getGraphNode(), input, filter, execCxt) ;
@@ -368,7 +369,7 @@ public class OpExecutorTDB1 extends OpExecutor
/** An op executor that simply executes a BGP or QuadPattern without any reordering */
private static class OpExecutorPlainTDB extends OpExecutor
{
- Filter<Tuple<NodeId>> filter = null ;
+ Predicate<Tuple<NodeId>> filter = null ;
public OpExecutorPlainTDB(ExecutionContext execCxt)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
index 26200c3..331ac59 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
@@ -18,7 +18,8 @@
package org.apache.jena.tdb.solver;
-import org.apache.jena.atlas.iterator.Filter ;
+import java.util.function.Predicate;
+
import org.apache.jena.atlas.lib.Tuple ;
import org.apache.jena.sparql.util.Context ;
import org.apache.jena.tdb.TDBException ;
@@ -27,13 +28,13 @@ import org.apache.jena.tdb.sys.SystemTDB ;
public class QC2
{
- public static Filter<Tuple<NodeId>> getFilter(Context context)
+ public static Predicate<Tuple<NodeId>> getFilter(Context context)
{
Object x = context.get(SystemTDB.symTupleFilter) ;
try {
@SuppressWarnings("unchecked")
- Filter<Tuple<NodeId>> f = (Filter<Tuple<NodeId>>)x ;
+ Predicate<Tuple<NodeId>> f = (Predicate<Tuple<NodeId>>)x ;
return f ;
} catch (ClassCastException ex)
{
@@ -41,7 +42,7 @@ public class QC2
}
}
- public static void setFilter(Context context, Filter<Tuple<NodeId>> filter)
+ public static void setFilter(Context context, Predicate<Tuple<NodeId>> filter)
{
context.set(SystemTDB.symTupleFilter, filter) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
index b92bfc1..cf813e1 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
@@ -21,6 +21,9 @@ package org.apache.jena.tdb.solver;
import static org.apache.jena.tdb.lib.Lib2.printAbbrev ;
import java.util.* ;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.jena.atlas.iterator.* ;
import org.apache.jena.atlas.lib.Tuple ;
@@ -54,7 +57,7 @@ public class SolverLib
/** Non-reordering execution of a basic graph pattern, given a iterator of bindings as input */
public static QueryIterator execute(GraphTDB graph, BasicPattern pattern,
- QueryIterator input, Filter<Tuple<NodeId>> filter,
+ QueryIterator input, Predicate<Tuple<NodeId>> filter,
ExecutionContext execCxt)
{
// Maybe default graph or named graph.
@@ -67,7 +70,7 @@ public class SolverLib
* GraphNode is null for execution over the real default graph.
*/
public static QueryIterator execute(DatasetGraphTDB ds, Node graphNode, BasicPattern pattern,
- QueryIterator input, Filter<Tuple<NodeId>> filter,
+ QueryIterator input, Predicate<Tuple<NodeId>> filter,
ExecutionContext execCxt)
{
NodeTupleTable ntt = ds.chooseNodeTupleTable(graphNode) ;
@@ -81,14 +84,14 @@ public class SolverLib
* (in convToBinding(BindingNodeId, NodeTable)
*/
public static Iterator<Binding> convertToNodes(Iterator<BindingNodeId> iterBindingIds, NodeTable nodeTable)
- { return Iter.map(iterBindingIds, convToBinding(nodeTable)) ; }
+ { return Iter.map(iterBindingIds, bindingNodeIds -> convToBinding(bindingNodeIds, nodeTable)) ; }
// The worker. Callers choose the NodeTupleTable.
// graphNode may be Node.ANY, meaning we should make triples unique.
// graphNode may be null, meaning default graph
private static QueryIterator execute(NodeTupleTable nodeTupleTable, Node graphNode, BasicPattern pattern,
- QueryIterator input, Filter<Tuple<NodeId>> filter,
+ QueryIterator input, Predicate<Tuple<NodeId>> filter,
ExecutionContext execCxt)
{
if ( Quad.isUnionGraph(graphNode) )
@@ -202,21 +205,11 @@ public class SolverLib
public static Iterator<BindingNodeId> solve(NodeTupleTable nodeTupleTable,
Tuple<Node> tuple,
boolean anyGraph,
- Iterator<BindingNodeId> chain, Filter<Tuple<NodeId>> filter,
+ Iterator<BindingNodeId> chain, Predicate<Tuple<NodeId>> filter,
ExecutionContext execCxt)
{
return new StageMatchTuple(nodeTupleTable, chain, tuple, anyGraph, filter, execCxt) ;
}
-
- // Transform : BindingNodeId ==> Binding
- private static Transform<BindingNodeId, Binding> convToBinding(final NodeTable nodeTable) {
- return new Transform<BindingNodeId, Binding>() {
- @Override
- public Binding convert(BindingNodeId bindingNodeIds) {
- return convToBinding(bindingNodeIds, nodeTable) ;
- }
- } ;
- }
public static Binding convToBinding(BindingNodeId bindingNodeIds, NodeTable nodeTable) {
if ( true )
@@ -235,15 +228,9 @@ public class SolverLib
}
// Transform : Binding ==> BindingNodeId
- public static Transform<Binding, BindingNodeId> convFromBinding(final NodeTable nodeTable)
+ public static Function<Binding, BindingNodeId> convFromBinding(final NodeTable nodeTable)
{
- return new Transform<Binding, BindingNodeId>()
- {
- @Override
- public BindingNodeId convert(Binding binding) {
- return SolverLib.convert(binding, nodeTable) ;
- }
- } ;
+ return binding -> SolverLib.convert(binding, nodeTable);
}
/** Binding ==> BindingNodeId, given a NodeTable */
@@ -276,7 +263,7 @@ public class SolverLib
/** Find whether a specific graph name is in the quads table. */
public static QueryIterator testForGraphName(DatasetGraphTDB ds, Node graphNode, QueryIterator input,
- Filter<Tuple<NodeId>> filter, ExecutionContext execCxt) {
+ Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) {
NodeId nid = TDBInternal.getNodeId(ds, graphNode) ;
boolean exists = !NodeId.isDoesNotExist(nid) ;
if ( exists ) {
@@ -302,7 +289,7 @@ public class SolverLib
/** Find all the graph names in the quads table. */
public static QueryIterator graphNames(DatasetGraphTDB ds, Node graphNode, QueryIterator input,
- Filter<Tuple<NodeId>> filter, ExecutionContext execCxt) {
+ Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) {
List<Abortable> killList = new ArrayList<>() ;
Iterator<Tuple<NodeId>> iter1 = ds.getQuadTable().getNodeTupleTable().find(NodeId.NodeIdAny, NodeId.NodeIdAny,
NodeId.NodeIdAny, NodeId.NodeIdAny) ;
@@ -319,14 +306,7 @@ public class SolverLib
Iterator<Node> iter4 = NodeLib.nodes(ds.getQuadTable().getNodeTupleTable().getNodeTable(), iter3) ;
final Var var = Var.alloc(graphNode) ;
- Transform<Node, Binding> bindGraphName = new Transform<Node, Binding>() {
- @Override
- public Binding convert(Node node) {
- return BindingFactory.binding(var, node) ;
- }
- } ;
-
- Iterator<Binding> iterBinding = Iter.map(iter4, bindGraphName) ;
+ Iterator<Binding> iterBinding = Iter.map(iter4, node -> BindingFactory.binding(var, node)) ;
// Not abortable.
return new QueryIterTDB(iterBinding, killList, input, execCxt) ;
}
@@ -364,10 +344,6 @@ public class SolverLib
}
// -- Mutating "transform in place"
- private static Action<Tuple<NodeId>> quadsToAnyTriples = new Action<Tuple<NodeId>>(){
- @Override
- public void apply(Tuple<NodeId> item)
- { item.tuple()[0] = NodeId.NodeIdAny ; }
- } ;
+ private static Consumer<Tuple<NodeId>> quadsToAnyTriples = item -> item.tuple()[0] = NodeId.NodeIdAny ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
index bb76f7c..78bd791 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
@@ -18,15 +18,16 @@
package org.apache.jena.tdb.solver;
-import org.apache.jena.atlas.iterator.Filter ;
-import org.apache.jena.atlas.lib.Tuple ;
+import java.util.function.Predicate;
+
+import org.apache.jena.atlas.lib.Tuple;
import org.apache.jena.graph.Graph ;
import org.apache.jena.sparql.core.BasicPattern ;
import org.apache.jena.sparql.engine.ExecutionContext ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.main.StageGenerator ;
import org.apache.jena.tdb.store.GraphTDB ;
-import org.apache.jena.tdb.store.NodeId ;
+import org.apache.jena.tdb.store.NodeId;
/** Execute TDB requests directly -- no reordering
* Using OpExecutor is preferred.
@@ -51,7 +52,7 @@ public class StageGeneratorDirectTDB implements StageGenerator
// Not us - bounce up the StageGenerator chain
return above.execute(pattern, input, execCxt) ;
GraphTDB graph = (GraphTDB)g ;
- Filter<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
+ Predicate<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ;
return SolverLib.execute(graph, pattern, input, filter, execCxt) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
index 77cdbdd..398502e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
@@ -21,6 +21,9 @@ package org.apache.jena.tdb.solver;
import java.util.Iterator;
import java.util.List;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.jena.atlas.iterator.* ;
import org.apache.jena.atlas.lib.Tuple ;
@@ -38,11 +41,11 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
private final ExecutionContext execCxt ;
private boolean anyGraphs ;
- private Filter<Tuple<NodeId>> filter ;
+ private Predicate<Tuple<NodeId>> filter ;
public StageMatchTuple(NodeTupleTable nodeTupleTable, Iterator<BindingNodeId> input,
Tuple<Node> tuple, boolean anyGraphs,
- Filter<Tuple<NodeId>> filter,
+ Predicate<Tuple<NodeId>> filter,
ExecutionContext execCxt)
{
super(input) ;
@@ -117,10 +120,7 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
}
// Map Tuple<NodeId> to BindingNodeId
- Transform<Tuple<NodeId>, BindingNodeId> binder = new Transform<Tuple<NodeId>, BindingNodeId>()
- {
- @Override
- public BindingNodeId convert(Tuple<NodeId> tuple)
+ Function<Tuple<NodeId>, BindingNodeId> binder = tuple ->
{
BindingNodeId output = new BindingNodeId(input) ;
for ( int i = 0 ; i < var.length ; i++ )
@@ -134,27 +134,11 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
output.put(v, id) ;
}
return output ;
- }
} ;
return Iter.iter(iterMatches).map(binder).removeNulls() ;
}
-
- // -- Copying
- private static Transform<Tuple<NodeId>,Tuple<NodeId>> projectToTriples = new Transform<Tuple<NodeId>,Tuple<NodeId>>(){
- @Override
- public Tuple<NodeId> convert(Tuple<NodeId> item)
- {
- // Zap graph node id.
- Tuple<NodeId> t2 = Tuple.createTuple(NodeId.NodeIdAny, // Can't be null - gets bound to a daft variable.
- item.get(1),
- item.get(2),
- item.get(3)) ;
- return t2 ;
- } } ;
-
-
private static Iterator<Tuple<NodeId>> print(Iterator<Tuple<NodeId>> iter)
{
if ( ! iter.hasNext() )
@@ -202,9 +186,5 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
}
// -- Mutating "transform in place"
- private static Action<Tuple<NodeId>> quadsToAnyTriples = new Action<Tuple<NodeId>>(){
- @Override
- public void apply(Tuple<NodeId> item)
- { item.tuple()[0] = NodeId.NodeIdAny ; }
- } ;
+ private static Consumer<Tuple<NodeId>> quadsToAnyTriples = item -> item.tuple()[0] = NodeId.NodeIdAny ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java
index 620b34a..72f0d97 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java
@@ -22,7 +22,6 @@ package org.apache.jena.tdb.solver.stats;
import java.util.HashMap ;
import java.util.Map ;
-import org.apache.jena.atlas.lib.MapUtils ;
import org.apache.jena.graph.Node ;
/** Statistics collector, general purpose */
@@ -41,9 +40,9 @@ abstract class StatsCollectorBase<T>
public void record(T g, T s, T p, T o)
{
count++ ;
- MapUtils.increment(predicates, p) ;
+ predicates.put(p, predicates.getOrDefault(p, 0) + 1);
if ( typeTrigger != null && typeTrigger.equals(p) )
- MapUtils.increment(types, o) ;
+ types.put(o, types.getOrDefault(o, 0) + 1);
}
protected abstract Map<Node, Integer> convert(Map<T, Integer> map) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
index c577861..55dfe53 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
@@ -20,9 +20,7 @@ package org.apache.jena.tdb.store;
import java.util.Iterator ;
-
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sync ;
import org.apache.jena.atlas.lib.Tuple ;
@@ -171,21 +169,12 @@ public class DatasetGraphTDB extends DatasetGraphCaching
public ReorderTransformation getReorderTransform() { return transform ; }
public DatasetPrefixesTDB getPrefixes() { return prefixes ; }
-
- static private Transform<Tuple<NodeId>, NodeId> project0 = new Transform<Tuple<NodeId>, NodeId>()
- {
- @Override
- public NodeId convert(Tuple<NodeId> item)
- {
- return item.get(0) ;
- }
- } ;
@Override
public Iterator<Node> listGraphNodes()
{
Iterator<Tuple<NodeId>> x = quadTable.getNodeTupleTable().findAll() ;
- Iterator<NodeId> z = Iter.iter(x).map(project0).distinct() ;
+ Iterator<NodeId> z = Iter.iter(x).map(t -> t.get(0)).distinct() ;
return NodeLib.nodes(quadTable.getNodeTupleTable().getNodeTable(), z) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
index 17d2e25..93fbf69 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
@@ -19,9 +19,9 @@
package org.apache.jena.tdb.store ;
import java.util.Iterator ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sync ;
import org.apache.jena.atlas.lib.Tuple ;
@@ -166,18 +166,11 @@ public class GraphTDB extends GraphView implements Closeable, Sync {
return (int)Iter.count(iter) ;
}
- private static Transform<Tuple<NodeId>, Tuple<NodeId>> project4TupleTo3Tuple = new Transform<Tuple<NodeId>, Tuple<NodeId>>() {
- @Override
- public Tuple<NodeId> convert(Tuple<NodeId> item) {
- if ( item.size() != 4 )
- throw new TDBException(
- "Expected a Tuple of 4, got: "
- + item) ;
- return Tuple.createTuple(item.get(1),
- item.get(2),
- item.get(3)) ;
- }
- } ;
+ private static Function<Tuple<NodeId>, Tuple<NodeId>> project4TupleTo3Tuple = item -> {
+ if (item.size() != 4)
+ throw new TDBException("Expected a Tuple of 4, got: " + item);
+ return Tuple.createTuple(item.get(1), item.get(2), item.get(3));
+ };
// Convert from Iterator<Quad> to Iterator<Triple>
static class ProjectQuadsToTriples implements Iterator<Triple> {
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
index 894b49e..313d8d5 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
@@ -20,9 +20,7 @@ package org.apache.jena.tdb.store;
import java.util.Iterator ;
-
import org.apache.jena.atlas.iterator.NullIterator ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -89,13 +87,6 @@ public class QuadTable extends TableBase
Iterator<Quad> iter2 = TupleLib.convertToQuads(table.getNodeTable(), iter) ;
return iter2 ;
}
-
- private static Transform<Tuple<Node>, Quad> action = new Transform<Tuple<Node>, Quad>(){
- @Override
- public Quad convert(Tuple<Node> item)
- {
- return new Quad(item.get(0), item.get(1), item.get(2), item.get(3)) ;
- }} ;
/** Clear - does not clear the associated node tuple table */
public void clearQuads()
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
index e79f7da..5dfc17e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
@@ -20,9 +20,7 @@ package org.apache.jena.tdb.store;
import java.util.Iterator ;
-
import org.apache.jena.atlas.iterator.NullIterator ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -79,13 +77,6 @@ public class TripleTable extends TableBase
return iter2 ;
}
- private static Transform<Tuple<Node>, Triple> action = new Transform<Tuple<Node>, Triple>(){
- @Override
- public Triple convert(Tuple<Node> item)
- {
- return new Triple(item.get(0), item.get(1), item.get(2)) ;
- }} ;
-
/** Clear - does not clear the associated node tuple table */
public void clearTriples()
{ table.clear() ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java
index e5796ca..51ceee1 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java
@@ -22,9 +22,9 @@ import static org.apache.jena.tdb.lib.NodeLib.setHash ;
import java.nio.ByteBuffer ;
import java.util.Iterator ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.graph.Node ;
import org.apache.jena.tdb.TDBException ;
@@ -214,37 +214,16 @@ public class NodeTableNative implements NodeTable
@Override
public Iterator<Pair<NodeId, Node>> all() { return all2() ; }
- private Iterator<Pair<NodeId, Node>> all1()
-
- {
- // Could be quicker by hoping down the objects files.
- Iterator<Record> iter = nodeHashToId.iterator() ;
-
- Transform<Record, Pair<NodeId, Node>> transform = new Transform<Record, Pair<NodeId, Node>>() {
- @Override
- public Pair<NodeId, Node> convert(Record item)
- {
- NodeId id = NodeId.create(item.getValue(), 0) ;
- Node n = NodeLib.fetchDecode(id.getId(), getObjects()) ;
- return new Pair<>(id, n) ;
- }};
- return Iter.map(iter, transform) ;
- }
-
private Iterator<Pair<NodeId, Node>> all2()
{
Iterator<Pair<Long, ByteBuffer>> objs = objects.all() ;
- Transform<Pair<Long, ByteBuffer>, Pair<NodeId, Node>> transform = new Transform<Pair<Long, ByteBuffer>, Pair<NodeId, Node>>() {
- @Override
- public Pair<NodeId, Node> convert(Pair<Long, ByteBuffer> item)
- {
- NodeId id = NodeId.create(item.car().longValue()) ;
- ByteBuffer bb = item.cdr();
- Node n = NodeLib.decode(bb) ;
- return new Pair<>(id, n) ;
- }
- };
+ Function<Pair<Long, ByteBuffer>, Pair<NodeId, Node>> transform = item -> {
+ NodeId id = NodeId.create(item.car().longValue());
+ ByteBuffer bb = item.cdr();
+ Node n = NodeLib.decode(bb);
+ return new Pair<>(id, n);
+ };
return Iter.map(objs, transform) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
index d4079b0..ead540e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
@@ -22,6 +22,7 @@ import static java.lang.String.format;
import static org.apache.jena.tdb.sys.SystemTDB.SizeOfNodeId ;
import java.util.Iterator;
+import java.util.function.Predicate;
import org.apache.jena.atlas.iterator.* ;
import org.apache.jena.atlas.lib.Bytes ;
@@ -166,7 +167,7 @@ public class TupleIndexRecord extends TupleIndexBase
iter = index.iterator(minRec, maxRec) ;
}
- Iterator<Tuple<NodeId>> tuples = Iter.map(iter, transformToTuple) ;
+ Iterator<Tuple<NodeId>> tuples = Iter.map(iter, item -> TupleLib.tuple(item, colMap)) ;
if ( leadingIdx < numSlots-1 )
{
@@ -185,25 +186,16 @@ public class TupleIndexRecord extends TupleIndexBase
public Iterator<Tuple<NodeId>> all()
{
Iterator<Record> iter = index.iterator() ;
- return Iter.map(iter, transformToTuple) ;
+ return Iter.map(iter, item -> TupleLib.tuple(item, colMap)) ;
}
- private final Transform<Record, Tuple<NodeId>> transformToTuple = new Transform<Record, Tuple<NodeId>>()
- {
- @Override
- public final Tuple<NodeId> convert(Record item)
- {
- return TupleLib.tuple(item, colMap) ;
- }
- } ;
-
private Iterator<Tuple<NodeId>> scan(Iterator<Tuple<NodeId>> iter,
final Tuple<NodeId> pattern)
{
- Filter<Tuple<NodeId>> filter = new Filter<Tuple<NodeId>>()
+ Predicate<Tuple<NodeId>> filter = new Predicate<Tuple<NodeId>>()
{
@Override
- public boolean accept(Tuple<NodeId> item)
+ public boolean test(Tuple<NodeId> item)
{
// Check on pattern and item (both in natural order)
for ( int i = 0 ; i < tupleLength ; i++ )
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java b/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java
index 79053ad..9d72156 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java
@@ -24,7 +24,6 @@ import java.util.Iterator;
import java.util.List;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Bytes ;
import org.apache.jena.tdb.base.record.Record ;
import org.apache.jena.tdb.base.record.RecordFactory ;
@@ -83,13 +82,7 @@ public class RecordLib
public static List<Integer> toIntList(Iterator<Record> iter)
{
- return Iter.toList(Iter.map(iter, new Transform<Record, Integer>(){
- @Override
- public Integer convert(Record item)
- {
- return recordToInt(item) ;
- }}
- )) ;
+ return Iter.toList(Iter.map(iter, item -> recordToInt(item))) ;
}
public static Record r(int v)
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
index ee2ff43..9752dac 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
@@ -18,7 +18,8 @@
package org.apache.jena.tdb.store;
-import org.apache.jena.atlas.iterator.Filter ;
+import java.util.function.Predicate;
+
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.Tuple ;
import org.apache.jena.graph.NodeFactory ;
@@ -61,23 +62,12 @@ public class TestQuadFilter extends BaseTest
}
/** Create a filter to exclude the graph http://example/g2 */
- private static Filter<Tuple<NodeId>> createFilter(Dataset ds)
+ private static Predicate<Tuple<NodeId>> createFilter(Dataset ds)
{
DatasetGraphTDB dsg = (DatasetGraphTDB)(ds.asDatasetGraph()) ;
final NodeTable nodeTable = dsg.getQuadTable().getNodeTupleTable().getNodeTable() ;
final NodeId target = nodeTable.getNodeIdForNode(NodeFactory.createURI(graphToHide)) ;
- Filter<Tuple<NodeId>> filter = new Filter<Tuple<NodeId>>() {
- @Override
- public boolean accept(Tuple<NodeId> item)
- {
- // Reverse the lookup as a demo
- //Node n = nodeTable.getNodeForNodeId(target) ;
- //System.err.println(item) ;
- if ( item.size() == 4 && item.get(0).equals(target) )
- return false ;
- return true ;
- } } ;
- return filter ;
+ return item -> !( item.size() == 4 && item.get(0).equals(target) );
}
@Test public void quad_filter_1() { test("SELECT * { GRAPH ?g { ?s ?p ?o } }", 1, 2) ; }
@@ -86,7 +76,7 @@ public class TestQuadFilter extends BaseTest
private void test(String qs, int withFilter, int withoutFilter)
{
- Filter<Tuple<NodeId>> filter = createFilter(ds) ;
+ Predicate<Tuple<NodeId>> filter = createFilter(ds) ;
// private static void example(Dataset ds, Filter<Tuple<NodeId>> filter)
// {
[43/50] [abbrv] jena git commit: Added initial contract tests added
testing_framework
Posted by cl...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphHelper.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphHelper.java b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphHelper.java
new file mode 100644
index 0000000..c208e8d
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphHelper.java
@@ -0,0 +1,508 @@
+/*
+ * 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.testing_framework;
+
+/**
+ * Foo set of static test helpers. Generally included as a static.
+ */
+
+import static org.junit.Assert.*;
+
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.apache.jena.graph.Factory;
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphUtil;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.shared.JenaException;
+import org.apache.jena.shared.PrefixMapping;
+import org.apache.jena.util.CollectionFactory;
+import org.apache.jena.util.IteratorCollection;
+import org.apache.jena.util.iterator.ExtendedIterator;
+
+public class GraphHelper extends TestUtils {
+
+ /**
+ * Answer a Node as described by <code>x</code>; a shorthand for
+ * <code>Node.create(x)</code>, which see.
+ */
+ public static Node node(String x) {
+ return NodeCreateUtils.create(x);
+ }
+
+ /**
+ * Answer a set containing the elements from the iterator <code>it</code>; a
+ * shorthand for <code>IteratorCollection.iteratorToSet(it)</code>, which
+ * see.
+ */
+ public static <T> Set<T> iteratorToSet(Iterator<? extends T> it) {
+ return IteratorCollection.iteratorToSet(it);
+ }
+
+ /**
+ * Answer a list containing the elements from the iterator <code>it</code>,
+ * in order; a shorthand for
+ * <code>IteratorCollection.iteratorToList(it)</code>, which see.
+ */
+ public static <T> List<T> iteratorToList(Iterator<? extends T> it) {
+ return IteratorCollection.iteratorToList(it);
+ }
+
+ /**
+ * Answer a set of the nodes described (as per <code>node()</code>) by the
+ * space-separated substrings of <code>nodes</code>.
+ */
+ public static Set<Node> nodeSet(String nodes) {
+ Set<Node> result = CollectionFactory.createHashedSet();
+ StringTokenizer st = new StringTokenizer(nodes);
+ while (st.hasMoreTokens())
+ result.add(node(st.nextToken()));
+ return result;
+ }
+
+ /**
+ * Answer a set of the elements of <code>Foo</code>.
+ */
+ public static <T> Set<T> arrayToSet(T[] A) {
+ return CollectionFactory.createHashedSet(Arrays.asList(A));
+ }
+
+ /**
+ * Answer a triple described by the three space-separated node descriptions
+ * in <code>fact</code>; a shorthand for <code>Triple.create(fact)</code>,
+ * which see.
+ */
+ public static Triple triple(String fact) {
+ return NodeCreateUtils.createTriple(fact);
+ }
+
+ /**
+ * Answer a triple described by the three space-separated node descriptions
+ * in <code>fact</code>, using prefix-mappings from <code>pm</code>; a
+ * shorthand for <code>Triple.create(pm, fact)</code>, which see.
+ */
+ public static Triple triple(PrefixMapping pm, String fact) {
+ return NodeCreateUtils.createTriple(pm, fact);
+ }
+
+ /**
+ * Answer an array of triples; each triple is described by one of the
+ * semi-separated substrings of <code>facts</code>, as per
+ * <code>triple</code> with prefix-mapping <code>Extended</code>.
+ */
+ public static Triple[] tripleArray(String facts) {
+ ArrayList<Triple> al = new ArrayList<Triple>();
+ StringTokenizer semis = new StringTokenizer(facts, ";");
+ while (semis.hasMoreTokens())
+ al.add(triple(PrefixMapping.Extended, semis.nextToken()));
+ return al.toArray(new Triple[al.size()]);
+ }
+
+ /**
+ * Answer a set of triples where the elements are described by the
+ * semi-separated substrings of <code>facts</code>, as per
+ * <code>triple</code>.
+ */
+ public static Set<Triple> tripleSet(String facts) {
+ Set<Triple> result = new HashSet<Triple>();
+ StringTokenizer semis = new StringTokenizer(facts, ";");
+ while (semis.hasMoreTokens())
+ result.add(triple(semis.nextToken()));
+ return result;
+ }
+
+ /**
+ * Answer a list of nodes, where the nodes are described by the
+ * space-separated substrings of <code>items</code> as per
+ * <code>node()</code>.
+ */
+ public static List<Node> nodeList(String items) {
+ ArrayList<Node> nl = new ArrayList<Node>();
+ StringTokenizer nodes = new StringTokenizer(items);
+ while (nodes.hasMoreTokens())
+ nl.add(node(nodes.nextToken()));
+ return nl;
+ }
+
+ /**
+ * Answer an array of nodes, where the nodes are described by the
+ * space-separated substrings of <code>items</code> as per
+ */
+ public static Node[] nodeArray(String items) {
+ List<Node> nl = nodeList(items);
+ return nl.toArray(new Node[nl.size()]);
+ }
+
+ /**
+ * Answer the graph <code>g</code> after adding to it every triple encoded
+ * in <code>s</code> in the fashion of <code>tripleArray</code>, a
+ * semi-separated sequence of space-separated node descriptions.
+ */
+ public static Graph graphAdd(Graph g, String s) {
+ StringTokenizer semis = new StringTokenizer(s, ";");
+ while (semis.hasMoreTokens())
+ g.add(triple(PrefixMapping.Extended, semis.nextToken()));
+ return g;
+ }
+
+ /**
+ * Like graphAdd but does it within a transaction if supported
+ *
+ * @param g
+ * The graph to add to
+ * @param s
+ * The string describing the graph
+ * @return The populated graph.
+ */
+ public static Graph graphAddTxn(Graph g, String s) {
+ txnBegin(g);
+ StringTokenizer semis = new StringTokenizer(s, ";");
+ while (semis.hasMoreTokens())
+ g.add(triple(PrefixMapping.Extended, semis.nextToken()));
+ txnCommit(g);
+ return g;
+ }
+
+ /**
+ * Used to create a graph with values.
+ *
+ * @param g
+ * The newly created graph
+ * @param s
+ * The string representing the graph data.
+ * @return The populated graph
+ */
+ public static Graph graphWith(Graph g, String s) {
+ return graphAddTxn(g, s);
+ }
+
+ /**
+ * Answer a new memory-based graph with Extended prefixes.
+ */
+ public static Graph memGraph() {
+ Graph result = Factory.createGraphMem();
+ result.getPrefixMapping().setNsPrefixes(PrefixMapping.Extended);
+ return result;
+ }
+
+ /**
+ * Answer a new memory-based graph with initial contents as described by
+ * <code>s</code> in the fashion of <code>graphAdd()</code>. Not
+ * over-ridable; do not use for abstraction.
+ */
+ public static Graph graphWith(String s) {
+ return graphWith(memGraph(), s);
+ }
+
+ /**
+ * Assert that the graph <code>g</code> is isomorphic to the graph described
+ * by <code>template</code> in the fashion of <code>graphWith</code>.
+ */
+ public static void assertEqualsTemplate(String title, Graph g,
+ String template) {
+ assertIsomorphic(title, graphWith(template), g);
+ }
+
+ /**
+ * Assert that the supplied graph <code>got</code> is isomorphic with the
+ * the desired graph <code>expected</code>; if not, display a readable
+ * description of both graphs.
+ */
+ public static void assertIsomorphic(String title, Graph expected, Graph got) {
+ if (!expected.isIsomorphicWith(got)) {
+ Map<Node, Object> map = CollectionFactory.createHashedMap();
+ fail(title + ": wanted " + nice(expected, map) + "\nbut got "
+ + nice(got, map));
+ }
+ }
+
+ /**
+ * Answer a string which is a newline-separated list of triples (as produced
+ * by niceTriple) in the graph <code>g</code>. The map <code>bnodes</code>
+ * maps already-seen bnodes to their "nice" strings.
+ */
+ public static String nice(Graph g, Map<Node, Object> bnodes) {
+ StringBuffer b = new StringBuffer(g.size() * 100);
+ ExtendedIterator<Triple> it = GraphUtil.findAll(g);
+ while (it.hasNext())
+ niceTriple(b, bnodes, it.next());
+ return b.toString();
+ }
+
+ /**
+ * Append to the string buffer <code>b</code> a "nice" representation of the
+ * triple <code>t</code> on a new line, using (and updating)
+ * <code>bnodes</code> to supply "nice" strings for any blank nodes.
+ */
+ protected static void niceTriple(StringBuffer b, Map<Node, Object> bnodes,
+ Triple t) {
+ b.append("\n ");
+ appendNode(b, bnodes, t.getSubject());
+ appendNode(b, bnodes, t.getPredicate());
+ appendNode(b, bnodes, t.getObject());
+ }
+
+ /**
+ * Foo counter for new bnode strings; it starts at 1000 so as to make the
+ * bnode strings more uniform (at least for the first 9000 bnodes).
+ */
+ protected static int bnc = 1000;
+
+ /**
+ * Append to the string buffer <code>b</code> a space followed by the "nice"
+ * representation of the node <code>n</code>. If <code>n</code> is a bnode,
+ * re-use any existing string for it from <code>bnodes</code> or make a new
+ * one of the form <i>_bNNNN</i> with NNNN a new integer.
+ */
+ protected static void appendNode(StringBuffer b, Map<Node, Object> bnodes,
+ Node n) {
+ b.append(' ');
+ if (n.isBlank()) {
+ Object already = bnodes.get(n);
+ if (already == null)
+ bnodes.put(n, already = "_b" + bnc++);
+ b.append(already);
+ } else
+ b.append(nice(n));
+ }
+
+ // protected static Graph graphWithTxn(IProducer<? extends Graph> producer,
+ // String s) {
+ // Graph g = producer.newInstance();
+ // txnBegin(g);
+ // try {
+ // graphAdd(g, s);
+ // txnCommit(g);
+ // } catch (Exception e) {
+ // txnRollback(g);
+ // fail(e.getMessage());
+ // }
+ // return g;
+ // }
+
+ /**
+ * Answer the "nice" representation of this node, the string returned by
+ * <code>n.toString(PrefixMapping.Extended,true)</code>.
+ */
+ protected static String nice(Node n) {
+ return n.toString(PrefixMapping.Extended, true);
+ }
+
+ /**
+ * Assert that the computed graph <code>got</code> is isomorphic with the
+ * desired graph <code>expected</code>; if not, fail with a default message
+ * (and pretty output of the graphs).
+ */
+ public static void assertIsomorphic(Graph expected, Graph got) {
+ assertIsomorphic("graphs must be isomorphic", expected, got);
+ }
+
+ /**
+ * Assert that the graph <code>g</code> must contain the triple described by
+ * <code>s</code>; if not, fail with pretty output of both graphs and a
+ * message containing <code>name</code>.
+ */
+ public static void assertContains(String name, String s, Graph g) {
+ assertTrue(name + " must contain " + s, g.contains(triple(s)));
+ }
+
+ /**
+ * Assert that the graph <code>g</code> contains all the triples described
+ * by the string <code>s</code; if not, fail with a message containing
+ * <code>name</code>.
+ */
+ public static void assertContainsAll(String name, Graph g, String s) {
+ StringTokenizer semis = new StringTokenizer(s, ";");
+ while (semis.hasMoreTokens())
+ assertContains(name, semis.nextToken(), g);
+ }
+
+ /**
+ * Assert that the graph <code>g</code> does not contain the triple
+ * described by <code>s<code>; if it does, fail with a message containing
+ <code>name</code>.
+ */
+ public static void assertOmits(String name, Graph g, String s) {
+ assertFalse(name + " must not contain " + s, g.contains(triple(s)));
+ }
+
+ /**
+ * Assert that the graph <code>g</code> contains none of the triples
+ * described by <code>s</code> in the usual way; otherwise, fail with a
+ * message containing <code>name</code>.
+ */
+ public static void assertOmitsAll(String name, Graph g, String s) {
+ StringTokenizer semis = new StringTokenizer(s, ";");
+ while (semis.hasMoreTokens())
+ assertOmits(name, g, semis.nextToken());
+ }
+
+ /**
+ * Assert that <code>g</code> contains the triple described by
+ * <code>fact</code> in the usual way.
+ */
+ public static boolean contains(Graph g, String fact) {
+ return g.contains(triple(fact));
+ }
+
+ /**
+ * Assert that <code>g</code> contains every triple in <code>triples</code>.
+ */
+ public static void testContains(Graph g, Triple[] triples) {
+ for (int i = 0; i < triples.length; i += 1)
+ assertTrue("contains " + triples[i], g.contains(triples[i]));
+ }
+
+ /**
+ * Assert that <code>g</code> contains every triple in <code>triples</code>.
+ */
+ public static void testContains(Graph g, List<Triple> triples) {
+ for (int i = 0; i < triples.size(); i += 1)
+ assertTrue(g.contains(triples.get(i)));
+ }
+
+ /**
+ * Assert that <code>g</code> contains every triple in <code>it</code>.
+ */
+ public static void testContains(Graph g, Iterator<Triple> it) {
+ while (it.hasNext())
+ assertTrue(g.contains(it.next()));
+ }
+
+ /**
+ * Assert that <code>g</code> contains every triple in <code>other</code>.
+ */
+ public static void testContains(Graph g, Graph other) {
+ testContains(g, GraphUtil.findAll(other));
+ }
+
+ /**
+ * Assert that <code>g</code> contains none of the triples in
+ * <code>triples</code>.
+ */
+ public static void testOmits(Graph g, Triple[] triples) {
+ for (int i = 0; i < triples.length; i += 1)
+ assertFalse("", g.contains(triples[i]));
+ }
+
+ /**
+ * Assert that <code>g</code> contains none of the triples in
+ * <code>triples</code>.
+ */
+ public static void testOmits(Graph g, List<Triple> triples) {
+ for (int i = 0; i < triples.size(); i += 1)
+ assertFalse("", g.contains(triples.get(i)));
+ }
+
+ /**
+ * Assert that <code>g</code> contains none of the triples in
+ * <code>it</code>.
+ */
+ public static void testOmits(Graph g, Iterator<Triple> it) {
+ while (it.hasNext())
+ assertFalse("", g.contains(it.next()));
+ }
+
+ /**
+ * Assert that <code>g</code> contains none of the triples in
+ * <code>other</code>.
+ */
+ public static void testOmits(Graph g, Graph other) {
+ testOmits(g, GraphUtil.findAll(other));
+ }
+
+ /**
+ * Answer an instance of <code>graphClass</code>. If <code>graphClass</code>
+ * has a constructor that takes a <code>ReificationStyle</code> argument,
+ * then that constructor is run on <code>style</code> to get the instance.
+ * Otherwise, if it has a # constructor that takes an argument of
+ * <code>wrap</code>'s class before the <code>ReificationStyle</code>, that
+ * constructor is used; this allows non-static inner classes to be used for
+ * <code>graphClass</code>, with <code>wrap</code> being the outer class
+ * instance. If no suitable constructor exists, a JenaException is thrown.
+ *
+ * @param wrap
+ * the outer class instance if graphClass is an inner class
+ * @param graphClass
+ * a class implementing Graph
+ * @return an instance of graphClass with the given style
+ * @throws RuntimeException
+ * or JenaException if construction fails
+ */
+ public static Graph getGraph(Object wrap, Class<? extends Graph> graphClass) {
+ try {
+ Constructor<?> cons = getConstructor(graphClass, new Class[] {});
+ if (cons != null)
+ return (Graph) cons.newInstance(new Object[] {});
+ Constructor<?> cons2 = getConstructor(graphClass,
+ new Class[] { wrap.getClass() });
+ if (cons2 != null)
+ return (Graph) cons2.newInstance(new Object[] { wrap });
+ throw new JenaException("no suitable graph constructor found for "
+ + graphClass);
+ } catch (RuntimeException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new JenaException(e);
+ }
+ }
+
+ /**
+ * Begin a transaction on the graph if transactions are supported.
+ *
+ * @param g
+ */
+ public static void txnBegin(Graph g) {
+ if (g.getTransactionHandler().transactionsSupported()) {
+ g.getTransactionHandler().begin();
+ }
+ }
+
+ /**
+ * Commit the transaction on the graph if transactions are supported.
+ *
+ * @param g
+ */
+ public static void txnCommit(Graph g) {
+ if (g.getTransactionHandler().transactionsSupported()) {
+ g.getTransactionHandler().commit();
+ }
+ }
+
+ /**
+ * Rollback (abort) the transaction on the graph if transactions are
+ * supported.
+ *
+ * @param g
+ */
+ public static void txnRollback(Graph g) {
+ if (g.getTransactionHandler().transactionsSupported()) {
+ g.getTransactionHandler().abort();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphProducerInterface.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphProducerInterface.java b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphProducerInterface.java
new file mode 100644
index 0000000..8c33eb1
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphProducerInterface.java
@@ -0,0 +1,41 @@
+/*
+ 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.testing_framework;
+
+/**
+ * Creates the graph for testing. Implementations must track the creation of
+ * graphs created with newGraph and close them when closeGraphs is called.
+ *
+ */
+//public interface GraphProducerInterface<T> {
+//
+// /**
+// * Returns a new Graph to take part in the test.
+// *
+// * @return The graph implementation to test.
+// */
+// public abstract Graph newGraph();
+//
+// /**
+// * provides a hook to close down graphs. When called all graphs created by
+// * the newGraph() method should be closed. Note that some graphs may have
+// * been closed during the test, so graphs should be tested for being closed
+// * prior to closing.
+// */
+// public abstract void closeGraphs();
+// }
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java
new file mode 100644
index 0000000..41bc6df
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java
@@ -0,0 +1,19 @@
+package org.apache.jena.testing_framework;
+
+import org.apache.jena.rdf.model.Container;
+import org.apache.jena.rdf.model.Resource;
+
+public interface IContainerProducer<T extends Container> extends
+ IResourceProducer<T> {
+
+ /**
+ * The Resource identifying the continer type. e.g. RDF.seq
+ */
+ Resource getContainerType();
+
+ /**
+ * The class of the continaer. e.g. Seq.class
+ */
+ Class<? extends Container> getContainerClass();
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java
new file mode 100644
index 0000000..3178692
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java
@@ -0,0 +1,42 @@
+package org.apache.jena.testing_framework;
+
+import java.util.List;
+
+import org.apache.jena.util.iterator.ExtendedIterator;
+
+public interface IIteratorProducer<T> {
+
+ /**
+ * Get a new instance of the iterator.
+ *
+ * @return
+ */
+ public ExtendedIterator<T> newInstance();
+
+ /**
+ * Clean up after a test
+ */
+ public void cleanUp();
+
+ /**
+ * The list of items found in the iterator. Does not have to be in order.
+ *
+ * @return
+ */
+ public List<T> getList();
+
+ /**
+ * True if delete is supported by the iterator
+ *
+ * @return
+ */
+ public boolean supportsDelete();
+
+ /**
+ * True if this is an iterator on a copy so that delete works but getting a
+ * new copy for the iterator test will return the original list.
+ *
+ * @return
+ */
+ public boolean isCopy();
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/INodeProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/INodeProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/INodeProducer.java
new file mode 100644
index 0000000..2532c32
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/INodeProducer.java
@@ -0,0 +1,39 @@
+/*
+ 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.testing_framework;
+
+import org.xenei.junit.contract.IProducer;
+
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.RDFNode;
+
+/**
+ * An abstract implementation of the IProducer<RDFNode> interface.
+ *
+ * This class handles tracking of the created graphs and closing them. It also
+ * provides a callback for the implementing class to perform extra cleanup when
+ * the graph is closed.
+ *
+ */
+public interface INodeProducer<T extends RDFNode> extends IProducer<T> {
+
+ abstract public T newInstance(String uri);
+
+ abstract public Model getModel();
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java
new file mode 100644
index 0000000..ef9eead
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java
@@ -0,0 +1,10 @@
+package org.apache.jena.testing_framework;
+
+import org.apache.jena.rdf.model.Resource;
+
+public interface IResourceProducer<X extends Resource> extends INodeProducer<X> {
+ /**
+ * Returns true if the Resource implementation supports non URI values
+ */
+ boolean supportsAnonymous();
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/IStatementProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/IStatementProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/IStatementProducer.java
new file mode 100644
index 0000000..8830948
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/IStatementProducer.java
@@ -0,0 +1,45 @@
+/*
+ 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.testing_framework;
+
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.Property;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.Statement;
+
+/**
+ * An abstract implementation of the IProducer<RDFNode> interface.
+ *
+ * This class handles tracking of the created graphs and closing them. It also
+ * provides a callback for the implementing class to perform extra cleanup when
+ * the graph is closed.
+ *
+ */
+public interface IStatementProducer<T extends Statement> {
+
+ abstract public T newInstance(String fact);
+
+ abstract public T newInstance(Resource s, Property p, RDFNode o);
+
+ abstract public Model getModel();
+
+ abstract public void cleanUp();
+
+ abstract public AbstractModelProducer<Model> getModelProducer();
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/ITripleStoreProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/ITripleStoreProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/ITripleStoreProducer.java
new file mode 100644
index 0000000..fe4e25d
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/ITripleStoreProducer.java
@@ -0,0 +1,35 @@
+/*
+ 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.testing_framework;
+
+import org.apache.jena.graph.impl.TripleStore;
+
+/**
+ * Creates the graph for testing
+ *
+ */
+public interface ITripleStoreProducer {
+
+ /**
+ * Returns a TripleStore to take part in the test. Must be overridden in a
+ * subclass.
+ *
+ * @return The TripleStore implementation to test.
+ */
+ public abstract TripleStore newTripleStore();
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/ModelHelper.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/ModelHelper.java b/jena-core/src/test/java/org/apache/jena/testing_framework/ModelHelper.java
new file mode 100644
index 0000000..2f35203
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/ModelHelper.java
@@ -0,0 +1,409 @@
+/*
+ * 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.testing_framework;
+
+import org.apache.jena.graph.Node;
+import org.apache.jena.rdf.model.Literal;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.Property;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.rdf.model.ResourceFactory;
+import org.apache.jena.rdf.model.Statement;
+import org.apache.jena.rdf.model.StmtIterator;
+import org.apache.jena.shared.PrefixMapping;
+import org.apache.jena.util.CollectionFactory;
+
+import static org.junit.Assert.*;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.junit.Assert;
+import org.xenei.junit.contract.IProducer;
+
+/**
+ * provides useful functionality for testing models, eg building small models
+ * from strings, testing equality, etc.
+ *
+ * Currently this class extends GraphHelper and thus TestCase.
+ */
+public class ModelHelper extends GraphHelper {
+
+ private static Model builderModel;
+
+ static {
+ builderModel = ModelFactory.createDefaultModel();
+ builderModel.setNsPrefixes(PrefixMapping.Extended);
+ }
+
+ protected static final Model empty = ModelFactory.createDefaultModel();
+
+ protected static Model extendedModel(IProducer<Model> producer) {
+ Model result = producer.newInstance();
+ result.setNsPrefixes(PrefixMapping.Extended);
+ return result;
+ }
+
+ protected static String nice(RDFNode n) {
+ return nice(n.asNode());
+ }
+
+ public static Statement statement(String fact) {
+ StringTokenizer st = new StringTokenizer(fact);
+ Resource sub = resource(st.nextToken());
+ Property pred = property(st.nextToken());
+ RDFNode obj = rdfNode(st.nextToken());
+ return builderModel.createStatement(sub, pred, obj);
+ }
+
+ public static Statement statement(Resource s, Property p, RDFNode o) {
+ return builderModel.createStatement(s, p, o);
+ }
+
+ public static RDFNode rdfNode(Model m, String s) {
+ return m.asRDFNode(NodeCreateUtils.create(s));
+ }
+
+ public static RDFNode rdfNode(String s) {
+ return rdfNode(builderModel, s);
+ }
+
+ public static <T extends RDFNode> T rdfNode(String s, Class<T> c) {
+ return rdfNode(s).as(c);
+ }
+
+ public static Resource resource() {
+ return ResourceFactory.createResource();
+ }
+
+ public static Resource resource(String s) {
+ return (Resource) rdfNode(s);
+ }
+
+ // public static Resource resource(Model m, String s) {
+ // return (Resource) rdfNode(m, s);
+ // }
+
+ public static Property property(String s) {
+ return rdfNode(s).as(Property.class);
+ }
+
+ public static Property property(Model m, String s) {
+ return rdfNode(m, s).as(Property.class);
+ }
+
+ public static Literal literal(String s, String lang) {
+ return builderModel.createLiteral(s, lang);
+ }
+
+ public static Literal literal(String s) {
+ return rdfNode(s).as(Literal.class);
+ }
+
+ // /**
+ // * Create an array of Statements parsed from a semi-separated string.
+ // *
+ // * @param lockModel
+ // * a model to serve as a statement factory
+ // * @param facts
+ // * a sequence of semicolon-separated "S P O" facts
+ // * @return a Statement[] of the (S P O) statements from the string
+ // */
+ // public static Statement[] statements(Model m, String facts) {
+ // ArrayList<Statement> sl = new ArrayList<Statement>();
+ // StringTokenizer st = new StringTokenizer(facts, ";");
+ // while (st.hasMoreTokens())
+ // sl.add(statement(m, st.nextToken()));
+ // return sl.toArray(new Statement[sl.size()]);
+ // }
+
+ /**
+ * Create an array of Statements parsed from a semi-separated string.
+ *
+ * @param lockModel
+ * a model to serve as a statement factory
+ * @param facts
+ * a sequence of semicolon-separated "S P O" facts
+ * @return a Statement[] of the (S P O) statements from the string
+ */
+ public static Statement[] statements(String facts) {
+ ArrayList<Statement> sl = new ArrayList<Statement>();
+ StringTokenizer st = new StringTokenizer(facts, ";");
+ while (st.hasMoreTokens())
+ sl.add(statement(st.nextToken()));
+ return sl.toArray(new Statement[sl.size()]);
+ }
+
+ /**
+ * Create an array of Resources from a whitespace-separated string
+ *
+ * @param items
+ * a whitespace-separated sequence to feed to resource
+ * @return a Resource[] of the parsed resources
+ */
+ public static Resource[] resources(String items) {
+ ArrayList<Resource> rl = new ArrayList<Resource>();
+ StringTokenizer st = new StringTokenizer(items);
+ while (st.hasMoreTokens())
+ rl.add(resource(st.nextToken()));
+ return rl.toArray(new Resource[rl.size()]);
+ }
+
+ /**
+ * Answer the set of resources given by the space-separated
+ * <code>items</code> string. Each resource specification is interpreted as
+ * per <code>resource</code>.
+ */
+ public static Set<Resource> resourceSet(String items) {
+ Set<Resource> result = new HashSet<Resource>();
+ StringTokenizer st = new StringTokenizer(items);
+ while (st.hasMoreTokens())
+ result.add(resource(st.nextToken()));
+ return result;
+ }
+
+ /**
+ * add to a model all the statements expressed by a string.
+ *
+ * Does not do any transaction manipulation.
+ *
+ * @param m
+ * the model to be updated
+ * @param facts
+ * a sequence of semicolon-separated "S P O" facts
+ * @return the updated model
+ */
+ public static Model modelAdd(Model m, String facts) {
+ StringTokenizer semis = new StringTokenizer(facts, ";");
+
+ while (semis.hasMoreTokens()) {
+ StringTokenizer st = new StringTokenizer(semis.nextToken());
+ Resource sub = resource(st.nextToken());
+ Property pred = property(st.nextToken());
+ RDFNode obj = rdfNode(st.nextToken());
+ m.add(sub, pred, obj);
+ }
+
+ return m;
+ }
+
+ /**
+ * create a memory based model with extended prefixes and initialises it
+ * with statements parsed from a string.
+ *
+ * does all insertions in a transaction.
+ *
+ * @param facts
+ * @return
+ */
+ public static Model memModel(String facts) {
+ Model model = ModelFactory.createMemModelMaker().createFreshModel();
+ model.setNsPrefixes(PrefixMapping.Extended);
+ txnBegin(model);
+ modelAdd(model, facts);
+ txnCommit(model);
+ return model;
+ }
+
+ /**
+ * Creates a model with extended prefixes and initialises it with statements
+ * parsed from a string.
+ *
+ * does all insertions in a transaction.
+ *
+ * @param facts
+ * a string in semicolon-separated "S P O" format
+ * @return a model containing those facts
+ */
+ public static Model modelWithStatements(
+ IProducer<? extends Model> producer, String facts) {
+ Model m = createModel(producer);
+ txnBegin(m);
+ modelAdd(m, facts);
+ txnCommit(m);
+ return m;
+ }
+
+ /**
+ * Creates a model with extended prefixes and initialises it with statements
+ * parsed from the statement iterator.
+ *
+ * does all insertions in a transaction.
+ *
+ * @param facts
+ * a string in semicolon-separated "S P O" format
+ * @return a model containing those facts
+ */
+ public static Model modelWithStatements(
+ IProducer<? extends Model> producer, final StmtIterator it) {
+ Model m = createModel(producer);
+ txnBegin(m);
+ while (it.hasNext()) {
+ m.add(it.nextStatement());
+ }
+ txnCommit(m);
+ return m;
+ }
+
+ /**
+ * make a model and give it Extended prefixes
+ */
+ public static Model createModel(IProducer<? extends Model> producer) {
+ Model result = producer.newInstance();
+ result.setNsPrefixes(PrefixMapping.Extended);
+ return result;
+ }
+
+ /**
+ * test that two models are isomorphic and fail if they are not.
+ *
+ * @param title
+ * a String appearing at the beginning of the failure message
+ * @param wanted
+ * the model value that is expected
+ * @param got
+ * the model value to check
+ * @exception if
+ * the models are not isomorphic
+ */
+ public static void assertIsoModels(String title, Model wanted, Model got) {
+ if (wanted.isIsomorphicWith(got) == false) {
+ Map<Node, Object> map = CollectionFactory.createHashedMap();
+ fail(title + ": expected " + nice(wanted.getGraph(), map)
+ + "\n but had " + nice(got.getGraph(), map));
+ }
+ }
+
+ public static void assertContainsAll(final Model model, final Model model2) {
+ for (final StmtIterator s = model2.listStatements(); s.hasNext();) {
+ Assert.assertTrue(model.contains(s.nextStatement()));
+ }
+ }
+
+ public static void assertSameStatements(final Model model,
+ final Model model2) {
+ assertContainsAll(model, model2);
+ assertContainsAll(model2, model);
+ }
+
+ public static Property prop(final String uri) {
+ return ResourceFactory.createProperty("eh:/" + uri);
+ }
+
+ public static Resource res(final String uri) {
+ return ResourceFactory.createResource("eh:/" + uri);
+ }
+
+ /**
+ * Fail if the two models are not isomorphic. See
+ * assertIsoModels(String,Model,Model).
+ */
+ public static void assertIsoModels(Model wanted, Model got) {
+ assertIsoModels("models must be isomorphic", wanted, got);
+ }
+
+ public static final boolean tvBoolean = true;
+ public static final byte tvByte = 1;
+ public static final short tvShort = 2;
+ public static final int tvInt = -1;
+ public static final long tvLong = -2;
+ public static final char tvChar = '!';
+ public static final float tvFloat = (float) 123.456;
+ public static final double tvDouble = -123.456;
+ public static final String tvString = "test 12 string";
+ public static final double dDelta = 0.000000005;
+
+ public static final float fDelta = 0.000005f;
+
+ public static final Object tvLitObj = new LitTestObj(1234);
+ public static final LitTestObj tvObject = new LitTestObj(12345);
+
+ public static class LitTestObj {
+ protected long content;
+
+ public LitTestObj(final long l) {
+ content = l;
+ }
+
+ public LitTestObj(final String s) {
+ content = Long.parseLong(s.substring(1, s.length() - 1));
+ }
+
+ @Override
+ public boolean equals(final Object o) {
+ return (o instanceof LitTestObj)
+ && (content == ((LitTestObj) o).content);
+ }
+
+ @Override
+ public int hashCode() {
+ return (int) (content ^ (content >> 32));
+ }
+
+ @Override
+ public String toString() {
+ return "[" + Long.toString(content) + "]";
+ }
+
+ public long getContent() {
+ return content;
+ }
+ }
+
+ /**
+ * Begin a transaction on the model if transactions are supported.
+ *
+ * @param m
+ */
+ public static Model txnBegin(Model m) {
+ if (m.supportsTransactions()) {
+ return m.begin();
+ }
+ return m;
+ }
+
+ /**
+ * Commit the transaction on the model if transactions are supported.
+ *
+ * @param m
+ */
+ public static Model txnCommit(Model m) {
+ if (m.supportsTransactions()) {
+ return m.commit();
+ }
+ return m;
+ }
+
+ /**
+ * Rollback (abort) the transaction on the model if transactions are
+ * supported.
+ *
+ * @param m
+ */
+ public static Model txnRollback(Model m) {
+ if (m.supportsTransactions()) {
+ return m.abort();
+ }
+ return m;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/NodeCreateUtils.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/NodeCreateUtils.java b/jena-core/src/test/java/org/apache/jena/testing_framework/NodeCreateUtils.java
new file mode 100644
index 0000000..83d42eb
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/NodeCreateUtils.java
@@ -0,0 +1,177 @@
+/*
+ * 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.testing_framework;
+
+import java.util.StringTokenizer;
+
+import org.apache.jena.datatypes.xsd.XSDDatatype;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.graph.impl.LiteralLabel;
+import org.apache.jena.graph.impl.LiteralLabelFactory;
+import org.apache.jena.rdf.model.AnonId;
+import org.apache.jena.shared.*;
+
+/**
+ * Creating nodes from string specifications.
+ */
+public class NodeCreateUtils {
+ /**
+ * Returns a Node described by the string, primarily for testing purposes.
+ * The string represents a URI, a numeric literal, a string literal, a bnode
+ * label, or a variable.
+ * <ul>
+ * <li>'some text' :: a string literal with that text
+ * <li>'some text'someLanguage:: a string literal with that text and
+ * language
+ * <li>'some text'someURI:: a typed literal with that text and datatype
+ * <li>digits :: a literal [OF WHAT TYPE] with that [numeric] value
+ * <li>_XXX :: a bnode with an AnonId built from _XXX
+ * <li>?VVV :: a variable with name VVV
+ * <li>&PPP :: to be done
+ * <li>name:stuff :: the URI; name may be expanded using the Extended map
+ * </ul>
+ *
+ * @param x
+ * the string describing the node
+ * @return a node of the appropriate type with the appropriate label
+ */
+ public static Node create(String x) {
+ return create(PrefixMapping.Extended, x);
+ }
+
+ /**
+ * Returns a Node described by the string, primarily for testing purposes.
+ * The string represents a URI, a numeric literal, a string literal, a bnode
+ * label, or a variable.
+ * <ul>
+ * <li>'some text' :: a string literal with that text
+ * <li>'some text'someLanguage:: a string literal with that text and
+ * language
+ * <li>'some text'someURI:: a typed literal with that text and datatype
+ * <li>digits :: a literal [OF WHAT TYPE] with that [numeric] value
+ * <li>_XXX :: a bnode with an AnonId built from _XXX
+ * <li>?VVV :: a variable with name VVV
+ * <li>&PPP :: to be done
+ * <li>name:stuff :: the URI; name may be expanded using the Extended map
+ * </ul>
+ *
+ * @param pm
+ * the PrefixMapping for translating pre:X strings
+ * @param x
+ * the string encoding the node to create
+ * @return a node with the appropriate type and label
+ */
+ public static Node create(PrefixMapping pm, String x) {
+ if (x.equals(""))
+ throw new JenaException(
+ "Node.create does not accept an empty string as argument");
+ char first = x.charAt(0);
+ if (first == '\'' || first == '\"')
+ return NodeFactory.createLiteral(newString(pm, first, x));
+ if (Character.isDigit(first))
+ return NodeFactory.createLiteral(x, "", XSDDatatype.XSDinteger);
+ if (first == '_')
+ return NodeFactory.createAnon(new AnonId(x));
+ if (x.equals("??"))
+ return Node.ANY;
+ if (first == '?')
+ return NodeFactory.createVariable(x.substring(1));
+ if (first == '&')
+ return NodeFactory.createURI("q:" + x.substring(1));
+ int colon = x.indexOf(':');
+ String d = pm.getNsPrefixURI("");
+ return colon < 0 ? NodeFactory.createURI((d == null ? "eh:/" : d) + x)
+ : NodeFactory.createURI(pm.expandPrefix(x));
+ }
+
+ public static String unEscape(String spelling) {
+ if (spelling.indexOf('\\') < 0)
+ return spelling;
+ StringBuffer result = new StringBuffer(spelling.length());
+ int start = 0;
+ while (true) {
+ int b = spelling.indexOf('\\', start);
+ if (b < 0)
+ break;
+ result.append(spelling.substring(start, b));
+ result.append(unEscape(spelling.charAt(b + 1)));
+ start = b + 2;
+ }
+ result.append(spelling.substring(start));
+ return result.toString();
+ }
+
+ public static char unEscape(char ch) {
+ switch (ch) {
+ case '\\':
+ case '\"':
+ case '\'':
+ return ch;
+ case 'n':
+ return '\n';
+ case 's':
+ return ' ';
+ case 't':
+ return '\t';
+ default:
+ return 'Z';
+ }
+ }
+
+ public static LiteralLabel literal(PrefixMapping pm, String spelling,
+ String langOrType) {
+ String content = unEscape(spelling);
+ int colon = langOrType.indexOf(':');
+ return colon < 0 ? LiteralLabelFactory.create(content, langOrType,
+ false) : LiteralLabelFactory.createLiteralLabel(content, "",
+ NodeFactory.getType(pm.expandPrefix(langOrType)));
+ }
+
+ public static LiteralLabel newString(PrefixMapping pm, char quote,
+ String nodeString) {
+ int close = nodeString.lastIndexOf(quote);
+ return literal(pm, nodeString.substring(1, close),
+ nodeString.substring(close + 1));
+ }
+
+ /**
+ * Utility factory as for create(String), but allowing the PrefixMapping to
+ * be specified explicitly.
+ */
+ public static Triple createTriple(PrefixMapping pm, String fact) {
+ StringTokenizer st = new StringTokenizer(fact);
+ Node sub = create(pm, st.nextToken());
+ Node pred = create(pm, st.nextToken());
+ Node obj = create(pm, st.nextToken());
+ return Triple.create(sub, pred, obj);
+ }
+
+ /**
+ * Utility factory method for creating a triple based on the content of an
+ * "S P O" string. The S, P, O are processed by Node.create, see which for
+ * details of the supported syntax. This method exists to support test code.
+ * Nodes are interpreted using the Standard prefix mapping.
+ */
+
+ public static Triple createTriple(String fact) {
+ return createTriple(PrefixMapping.Standard, fact);
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/NodeProducerInterface.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/NodeProducerInterface.java b/jena-core/src/test/java/org/apache/jena/testing_framework/NodeProducerInterface.java
new file mode 100644
index 0000000..c80d3f4
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/NodeProducerInterface.java
@@ -0,0 +1,32 @@
+/*
+ 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.testing_framework;
+
+/**
+ * Creates the graph for testing. Implementations must track the creation of
+ * graphs created with newGraph and close them when closeGraphs is called.
+ *
+ */
+//public interface NodeProducerInterface {
+//
+// /**
+// * Returns a new anonymous RDFNode in an model.
+// */
+// public abstract RDFNode newRDFNode();
+//
+// }
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java b/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java
new file mode 100644
index 0000000..7b46366
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java
@@ -0,0 +1,380 @@
+package org.apache.jena.testing_framework;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.rdf.model.AnonId;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.graph.Factory;
+
+/**
+ * Class that produces RDF and TTL data, a Graph and a Model that all contain
+ * the same data. This is used for various tests where files are read/written
+ *
+ */
+public class TestFileData {
+
+ public static final String NS = "uri:urn:x-rdf:test#";
+
+ private static Map<String, String[]> rdfData = new HashMap<String, String[]>();
+ private static Map<String, String[]> ttlData = new HashMap<String, String[]>();
+
+ static {
+ rdfData.put(
+ "", // default set must be equiv to TTL default
+ new String[] {
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
+ "<rdf:RDF",
+ " xmlns:u=\"uri:\"",
+ " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"",
+ String.format(" xmlns:ex=\"%s\">", NS),
+ String.format(
+ " <rdf:Description rdf:about=\"%ssubject\">",
+ NS),
+ String.format(
+ " <ex:predicate rdf:resource=\"%sobject\"/>",
+ NS), " </rdf:Description>",
+ " <rdf:Description rdf:about=\"uri:e\">",
+ " <u:p5>verify base works</u:p5>",
+ " </rdf:Description>", "</rdf:RDF>" });
+ rdfData.put(
+ "realtiveURI", // has relative URI in description rdf:about
+ new String[] {
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
+ "<rdf:RDF",
+ " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"",
+ " xmlns:ex=\"http://example.com/\">",
+ " <rdf:Description rdf:about=\"http://example.com/subject\">",
+ " <ex:predicate rdf:resource=\"http://example.com/object\"/>",
+ " </rdf:Description>",
+ " <rdf:Description rdf:about=\"e\">",
+ " <ex:p5>verify base works</ex:p5>",
+ " </rdf:Description>", "</rdf:RDF>" });
+ rdfData.put(
+ "OntologyList0",
+ new String[] {
+ "<?xml version='1.0' encoding='ISO-8859-1'?>",
+ "<!DOCTYPE rdf:RDF [",
+ " <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>",
+ " <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>",
+ "]>",
+ "<rdf:RDF",
+ " xmlns:rdf =\"&rdf;\"",
+ " xmlns:rdfs =\"&rdfs;\"",
+ String.format(" xml:base =\"%s\"",
+ NS.substring(0, NS.length() - 1)),
+ String.format(" xmlns =\"%s\"", NS), ">",
+ "<rdf:Description rdf:ID=\"root\">",
+ " <p rdf:parseType=\"Collection\">", " </p>",
+ "</rdf:Description>", "</rdf:RDF>" });
+ rdfData.put(
+ "OntologyList1",
+ new String[] {
+ "<?xml version='1.0' encoding='ISO-8859-1'?>",
+ "<!DOCTYPE rdf:RDF [",
+ " <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>",
+ " <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>",
+ "]>",
+ "<rdf:RDF",
+ " xmlns:rdf =\"&rdf;\"",
+ " xmlns:rdfs =\"&rdfs;\"",
+ String.format(" xml:base =\"%s\"",
+ NS.substring(0, NS.length() - 1)),
+ String.format(" xmlns =\"%s\"", NS), ">",
+ "<rdf:Description rdf:ID=\"root\">",
+ " <p rdf:parseType=\"Collection\">",
+ " <rdf:Description rdf:ID=\"a\" />", " </p>",
+ "</rdf:Description>", "</rdf:RDF>" });
+ rdfData.put(
+ "OntologyList2",
+ new String[] {
+ "<?xml version='1.0' encoding='ISO-8859-1'?>",
+ "<!DOCTYPE rdf:RDF [",
+ " <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>",
+ " <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>",
+ "]>",
+ "<rdf:RDF",
+ " xmlns:rdf =\"&rdf;\"",
+ " xmlns:rdfs =\"&rdfs;\"",
+ String.format(" xml:base =\"%s\"",
+ NS.substring(0, NS.length() - 1)),
+ String.format(" xmlns =\"%s\"", NS), ">",
+ "<rdf:Description rdf:ID=\"root\">",
+ " <p rdf:parseType=\"Collection\">",
+ " <rdf:Description rdf:ID=\"a\" />",
+ " <rdf:Description rdf:ID=\"b\" />", " </p>",
+ "</rdf:Description>", "</rdf:RDF>" });
+ rdfData.put(
+ "OntologyList3",
+ new String[] {
+ "<?xml version='1.0' encoding='ISO-8859-1'?>",
+ "<!DOCTYPE rdf:RDF [",
+ " <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>",
+ " <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>",
+ "]>",
+ "<rdf:RDF",
+ " xmlns:rdf =\"&rdf;\"",
+ " xmlns:rdfs =\"&rdfs;\"",
+ String.format(" xml:base =\"%s\"",
+ NS.substring(0, NS.length() - 1)),
+ String.format(" xmlns =\"%s\"", NS), ">",
+ "<rdf:Description rdf:ID=\"root\">",
+ " <p rdf:parseType=\"Collection\">",
+ " <rdf:Description rdf:ID=\"a\" />",
+ " <rdf:Description rdf:ID=\"b\" />",
+ " <rdf:Description rdf:ID=\"c\" />", " </p>",
+ "</rdf:Description>", "</rdf:RDF>" });
+ rdfData.put(
+ "OntologyList4",
+ new String[] {
+ "<?xml version='1.0' encoding='ISO-8859-1'?>",
+ "<!DOCTYPE rdf:RDF [",
+ " <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>",
+ " <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>",
+ "]>",
+ "<rdf:RDF",
+ " xmlns:rdf =\"&rdf;\"",
+ " xmlns:rdfs =\"&rdfs;\"",
+ String.format(" xml:base =\"%s\"",
+ NS.substring(0, NS.length() - 1)),
+ String.format(" xmlns =\"%s\"", NS), ">",
+ "<rdf:Description rdf:ID=\"root\">",
+ " <p rdf:parseType=\"Collection\">",
+ " <rdf:Description rdf:ID=\"a\" />",
+ " <rdf:Description rdf:ID=\"b\" />",
+ " <rdf:Description rdf:ID=\"c\" />",
+ " <rdf:Description rdf:ID=\"d\" />", " </p>",
+ "</rdf:Description>", "</rdf:RDF>" });
+ rdfData.put(
+ "OntologyList5",
+ new String[] {
+ "<?xml version='1.0' encoding='ISO-8859-1'?>",
+ "<!DOCTYPE rdf:RDF [",
+ " <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>",
+ " <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>",
+ "]>",
+ "<rdf:RDF",
+ " xmlns:rdf =\"&rdf;\"",
+ " xmlns:rdfs =\"&rdfs;\"",
+ String.format(" xml:base =\"%s\"",
+ NS.substring(0, NS.length() - 1)),
+ String.format(" xmlns =\"%s\"", NS), ">",
+ "<rdf:Description rdf:ID=\"root\">",
+ " <p rdf:parseType=\"Collection\">",
+ " <rdf:Description rdf:ID=\"a\" />",
+ " <rdf:Description rdf:ID=\"b\" />",
+ " <rdf:Description rdf:ID=\"c\" />",
+ " <rdf:Description rdf:ID=\"d\" />",
+ " <rdf:Description rdf:ID=\"e\" />", " </p>",
+ "</rdf:Description>", "</rdf:RDF>" });
+
+ ttlData.put(
+ "", // default set must be equiv to RDF default and must be
+ // parsable as N-TRIPLE
+ new String[] {
+ String.format("<%ssubject> <%spredicate> <%sobject> .",
+ NS, NS, NS), "<e> <p5> \"verify base works\" ." });
+
+ }
+
+ private static String toDataString(String[] lines) {
+ String eol = System.getProperty("line.separator");
+ StringBuilder sb = new StringBuilder();
+ for (String l : lines) {
+ sb.append(l).append(eol);
+ }
+ return sb.toString();
+ }
+
+ public static Graph getGraph() {
+
+ Graph g = Factory.createGraphMem();
+
+ g.add(new Triple(NodeFactory.createURI("http://example.com/subject"),
+ NodeFactory.createURI("http://example.com/predicate"),
+ NodeFactory.createURI("http://example.com/object")));
+
+ g.add(new Triple(NodeFactory.createAnon(AnonId.create("a")),
+ NodeFactory.createURI("http://example.com/p1"), NodeFactory
+ .createAnon(AnonId.create("b"))));
+
+ g.add(new Triple(NodeFactory.createAnon(AnonId.create("b")),
+ NodeFactory.createURI("http://example.com/p2"), NodeFactory
+ .createLiteral("foo")));
+
+ g.add(new Triple(NodeFactory.createURI("http://example.com/ns/e"),
+ NodeFactory.createURI("http://example.com/ns/p5"), NodeFactory
+ .createLiteral("verify base works")));
+
+ return g;
+ }
+
+ public static Model getModel() {
+ return ModelFactory.createModelForGraph(getGraph());
+ }
+
+ public static Model populateRDFModel(Model model, String name)
+ throws IOException {
+ ModelHelper.txnBegin(model);
+ model.read(getRDFInput(name), "http://example.com/test/");
+ ModelHelper.txnCommit(model);
+ return model;
+ }
+
+ public static Model getRDFModel(String name) throws IOException {
+ return populateRDFModel(ModelFactory.createDefaultModel(), name);
+ }
+
+ private static String[] getRDFData(String name) throws IOException {
+ String[] data = rdfData.get(name);
+ if (data == null) {
+ throw new IOException("Can not find RDF data " + name);
+ }
+ return data;
+ }
+
+ public static InputStream getRDFInput(String name) throws IOException {
+ return new ByteArrayInputStream(toDataString(getRDFData(name))
+ .getBytes());
+ }
+
+ public static InputStream getRDFInput() throws IOException {
+ return getRDFInput("");
+ }
+
+ private static String[] getTTLData(String name) throws IOException {
+ String[] data = ttlData.get(name);
+ if (data == null) {
+ throw new IOException("Can not find TTL data " + name);
+ }
+ return data;
+ }
+
+ public static InputStream getTTLInput(String name) throws IOException {
+ return new ByteArrayInputStream(toDataString(getTTLData(name))
+ .getBytes());
+ }
+
+ public static InputStream getTTLInput() throws IOException {
+ return getTTLInput("");
+ }
+
+ public static Reader getRDFReader(String name) throws IOException {
+
+ return new StringReader(toDataString(getRDFData(name)));
+ }
+
+ public static Reader getRDFReader() throws IOException {
+
+ return getRDFReader("");
+ }
+
+ public static Reader getTTLReader() throws IOException {
+ return getTTLReader("");
+ }
+
+ public static Reader getTTLReader(String name) throws IOException {
+ return new StringReader(toDataString(getTTLData(name)));
+ }
+
+ public static String getRDFName(String name) throws IOException {
+ return createFile(toDataString(getRDFData(name)), ".rdf");
+ }
+
+ public static String getRDFName() throws IOException {
+ return getRDFName("");
+ }
+
+ private static String createFile(String data, String extension)
+ throws IOException {
+ File f = File.createTempFile("tfd", extension);
+ f.deleteOnExit();
+ FileOutputStream fos = new FileOutputStream(f);
+ // fos.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>".getBytes());
+ // fos.write(System.getProperty("line.separator").getBytes());
+ fos.write(data.getBytes());
+ fos.close();
+ return f.toURI().toURL().toExternalForm();
+ }
+
+ public static String getTTLName() throws IOException {
+ return getTTLName("");
+ }
+
+ public static String getTTLName(String name) throws IOException {
+ return createFile(toDataString(getTTLData(name)), ".ttl");
+ }
+
+ @Test
+ public void testEquality() throws Exception {
+ Model ttl = ModelFactory.createDefaultModel().read(getTTLInput(), NS,
+ "TTL");
+ Model rdf = ModelFactory.createDefaultModel().read(getRDFInput(), NS,
+ "RDF/XML-ABBREV");
+
+ assertTrue(ttl.isIsomorphicWith(rdf));
+ assertTrue(rdf.isIsomorphicWith(ttl));
+ }
+
+ public static void main(String... argv) throws Exception {
+ // //Model model = ModelFactory.createDefaultModel() ;
+ // //String x = "<s> <p> 'verify it works' ." ;
+ //
+ //
+ // //Reader sr = getTTLReader();
+ // //model.read(sr, "http://example/", "TTL") ;
+ // //model.read(sr, "", "TTL") ;
+ // //model.read( getRDFInput() );
+ // Model ttl = ModelFactory.createDefaultModel().read( getTTLInput(),
+ // "", "TTL");
+ // Model rdf = ModelFactory.createDefaultModel().read( getRDFInput(),
+ // "", "RDF/XML-ABBREV");
+ //
+ // ttl.write(System.out, "RDF/XML-ABBREV") ;
+ // System.out.println("-----") ;
+ // // model.setNsPrefix("ex", "http://example/") ;
+ // rdf.write(System.out, "N-TRIPLES") ;
+ // System.out.println("-----") ;
+ // System.out.println( getTTLName() );
+ // System.out.println( "ttl iso rdf: "+ttl.isIsomorphicWith(rdf));
+ //
+ // System.out.println( getRDFName() );
+ // System.out.println( "rdf iso ttl: "+rdf.isIsomorphicWith(ttl));
+
+ String[] lines = { "<rdf:RDF",
+ " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">",
+ " <rdf:Description rdf:about=\"e\">",
+ " <p5>verify base works</p5>", " </rdf:Description>",
+ "</rdf:RDF>" };
+
+ String eol = System.getProperty("line.separator");
+ StringBuilder sb = new StringBuilder();
+ for (String l : lines) {
+ sb.append(l).append(eol);
+ }
+
+ Model model = ModelFactory.createDefaultModel();
+
+ StringReader sr = new StringReader(sb.toString());
+ model.read(sr, "http://example/");
+ model.write(System.out, "N-TRIPLES");
+ System.out.println("-----");
+ model.setNsPrefix("ex", "http://example/");
+ model.write(System.out, "RDF/XML-ABBREV", "http://another/");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/TestUtils.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/TestUtils.java b/jena-core/src/test/java/org/apache/jena/testing_framework/TestUtils.java
new file mode 100644
index 0000000..78d4bab
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/TestUtils.java
@@ -0,0 +1,320 @@
+/*
+ * 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.testing_framework;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Constructor;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.slf4j.LoggerFactory;
+
+import static org.junit.Assert.*;
+
+import org.apache.jena.util.CollectionFactory;
+import org.apache.jena.util.iterator.ExtendedIterator;
+import org.apache.jena.util.iterator.WrappedIterator;
+
+/**
+ * Foo basis for Jena test cases which provides assertFalse and assertDiffer.
+ * Often the logic of the names is clearer than using a negation.
+ */
+public class TestUtils {
+ // do not instantiate
+ protected TestUtils() {
+ throw new UnsupportedOperationException("Do not instantiate TestUtils");
+ };
+
+ /**
+ * assert that the two objects must be unequal according to .equals().
+ *
+ * @param title
+ * a labelling string for the assertion failure text
+ * @param x
+ * an object to test; the subject of a .equals()
+ * @param y
+ * the other object; the argument of the .equals()
+ */
+ public static void assertDiffer(String title, Object x, Object y) {
+ if (x == null ? y == null : x.equals(y))
+ fail((title == null ? "objects should be different, but both were: "
+ : title)
+ + x);
+ }
+
+ /**
+ * assert that the two objects must be unequal according to .equals().
+ *
+ * @param x
+ * an object to test; the subject of a .equals()
+ * @param y
+ * the other object; the argument of the .equals()
+ */
+ public static void assertDiffer(Object x, Object y) {
+ assertDiffer(null, x, y);
+ }
+
+ /**
+ * assert that the object <code>x</code> must be of the class
+ * <code>expected</code>.
+ */
+ public static void assertInstanceOf(Class<?> expected, Object x) {
+ if (x == null)
+ fail("expected instance of " + expected + ", but had null");
+ if (!expected.isInstance(x))
+ fail("expected instance of " + expected + ", but had instance of "
+ + x.getClass());
+ }
+
+ /**
+ * Answer a Set formed from the elements of the List <code>L</code>.
+ */
+ public static <T> Set<T> listToSet(List<T> L) {
+ return CollectionFactory.createHashedSet(L);
+ }
+
+ /**
+ * Answer a List of the substrings of <code>s</code> that are separated by
+ * spaces.
+ */
+ public static List<String> listOfStrings(String s) {
+ List<String> result = new ArrayList<String>();
+ StringTokenizer st = new StringTokenizer(s);
+ while (st.hasMoreTokens())
+ result.add(st.nextToken());
+ return result;
+ }
+
+ /**
+ * Answer a Set of the substrings of <code>s</code> that are separated by
+ * spaces.
+ */
+ public static Set<String> setOfStrings(String s) {
+ Set<String> result = new HashSet<String>();
+ StringTokenizer st = new StringTokenizer(s);
+ while (st.hasMoreTokens())
+ result.add(st.nextToken());
+ return result;
+ }
+
+ /**
+ * Answer a list containing the single object <code>x</code>.
+ */
+ public static <T> List<T> listOfOne(T x) {
+ List<T> result = new ArrayList<T>();
+ result.add(x);
+ return result;
+ }
+
+ /**
+ * Answer a Set containing the single object <code>x</code>.
+ */
+ public static <T> Set<T> setOfOne(T x) {
+ Set<T> result = new HashSet<T>();
+ result.add(x);
+ return result;
+ }
+
+ /**
+ * Answer a fresh list which is the concatenation of <code>L</code> then
+ * <code>R</code>. Neither <code>L</code> nor <code>R</code> is updated.
+ */
+ public static <T> List<T> append(List<? extends T> L, List<? extends T> R) {
+ List<T> result = new ArrayList<T>(L);
+ result.addAll(R);
+ return result;
+ }
+
+ /**
+ * Answer an iterator over the space-separated substrings of <code>s</code>.
+ */
+ protected static ExtendedIterator<String> iteratorOfStrings(String s) {
+ return WrappedIterator.create(listOfStrings(s).iterator());
+ }
+
+ /**
+ * Answer the constructor of the class <code>c</code> which takes arguments
+ * of the type(s) in <code>args</code>, or <code>null</code> if there isn't
+ * one.
+ */
+ public static Constructor<?> getConstructor(Class<?> c, Class<?>[] args) {
+ try {
+ return c.getConstructor(args);
+ } catch (NoSuchMethodException e) {
+ return null;
+ }
+ }
+
+ /**
+ * Answer true iff <code>subClass</code> is the same class as
+ * <code>superClass</code>, if its superclass <i>is</i>
+ * <code>superClass</code>, or if one of its interfaces hasAsInterface that
+ * class.
+ */
+ public static boolean hasAsParent(Class<?> subClass, Class<?> superClass) {
+ if (subClass == superClass || subClass.getSuperclass() == superClass)
+ return true;
+ Class<?>[] is = subClass.getInterfaces();
+ for (int i = 0; i < is.length; i += 1)
+ if (hasAsParent(is[i], superClass))
+ return true;
+ return false;
+ }
+
+ /**
+ * Fail unless <code>subClass</code> has <code>superClass</code> as a
+ * parent, either a superclass or an implemented (directly or not)
+ * interface.
+ */
+ public static void assertHasParent(Class<?> subClass, Class<?> superClass) {
+ if (hasAsParent(subClass, superClass) == false)
+ fail("" + subClass + " should have " + superClass + " as a parent");
+ }
+
+ /**
+ * Tests o1.equals( o2 ) && o2.equals(o1) && o1.hashCode() == o2.hashCode()
+ *
+ * @param o1
+ * @param o2
+ */
+ public static void assertEquivalent(Object o1, Object o2) {
+ assertEquals(o1, o2);
+ assertEquals(o2, o1);
+ assertEquals(o1.hashCode(), o2.hashCode());
+ }
+
+ /**
+ * Tests o1.equals( o2 ) && o2.equals(o1) && o1.hashCode() == o2.hashCode()
+ *
+ * @param o1
+ * @param o2
+ */
+ public static void assertEquivalent(String msg, Object o1, Object o2) {
+ assertEquals(msg, o1, o2);
+ assertEquals(msg, o2, o1);
+ assertEquals(msg, o1.hashCode(), o2.hashCode());
+ }
+
+ /**
+ * Tests o1.equals( o2 ) && o2.equals(o1) && o1.hashCode() == o2.hashCode()
+ *
+ * @param o1
+ * @param o2
+ */
+ public static void assertNotEquivalent(String msg, Object o1, Object o2) {
+ assertNotEquals(msg, o1, o2);
+ assertNotEquals(msg, o2, o1);
+ }
+
+ private static URL getURL(String fn) {
+ URL u = TestUtils.class.getClassLoader().getResource(fn);
+ if (u == null) {
+ throw new RuntimeException(new FileNotFoundException(fn));
+ }
+ return u;
+ }
+
+ public static String getFileName(String fn) {
+
+ try {
+ return getURL(fn).toURI().toString();
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static InputStream getInputStream(String fn) throws IOException {
+ return getURL(fn).openStream();
+ }
+
+ // FIXME this is to be removed when testing is complete
+ public static void logAssertEquals(Class<?> clazz, String msg, Object obj1,
+ Object obj2) {
+ if (obj1 == null && obj2 == null) {
+ return;
+ }
+
+ if (obj1 != null) {
+ if (obj1 == obj2) {
+ return;
+ }
+ if (obj1.equals(obj2)) {
+ return;
+ }
+ }
+ LoggerFactory.getLogger(clazz).warn(
+ String.format("%s expected: %s got: %s", msg, obj1, obj2));
+ System.out.println(String.format("[%sWARNING] %s expected: %s got: %s",
+ clazz, msg, obj1, obj2));
+ }
+
+ // FIXME this is to be removed when testing is complete
+ public static void logAssertTrue(Class<?> clazz, String msg, boolean value) {
+ if (value) {
+ return;
+ }
+
+ LoggerFactory.getLogger(clazz).warn(String.format("%s", msg));
+ System.out.println(String.format("[%s WARNING] %s ", clazz, msg));
+ }
+
+ // FIXME this is to be removed when testing is complete
+ public static void logAssertFalse(Class<?> clazz, String msg, boolean value) {
+ if (!value) {
+ return;
+ }
+
+ LoggerFactory.getLogger(clazz).warn(String.format("%s", msg));
+ System.out.println(String.format("[%s WARNING] %s ", clazz, msg));
+ }
+
+ // FIXME this is to be removed when testing is complete
+ public static void logAssertSame(Class<?> clazz, String msg, Object obj1,
+ Object obj2) {
+ if (obj1 == null && obj2 == null) {
+ return;
+ }
+
+ if (obj1 != null) {
+ if (obj1 == obj2) {
+ return;
+ }
+ }
+ LoggerFactory.getLogger(clazz).warn(
+ String.format("%s expected: %s got: %s", msg, obj1, obj2));
+ System.out
+ .println(String.format("[%s WARNING] %s expected: %s got: %s",
+ clazz, msg, obj1, obj2));
+ }
+
+ public static String safeName(String s) {
+ // Safe from Eclipse
+ s = s.replace('(', '[');
+ s = s.replace(')', ']');
+ return s;
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/Manifest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/Manifest.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/Manifest.java
new file mode 100644
index 0000000..79d2fce
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/Manifest.java
@@ -0,0 +1,228 @@
+/*
+ * 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.testing_framework.manifest;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.jena.n3.IRIResolver;
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.util.FileManager;
+import org.apache.jena.vocabulary.RDF;
+import org.apache.jena.vocabulary.RDFS;
+import org.apache.jena.vocabulary.TestManifest;
+import org.apache.jena.vocabulary.TestManifestX;
+
+/**
+ * A test manifest for a single manifest file.
+ */
+
+public class Manifest {
+ // This class does not know about JUnit.
+ private static Logger log = LoggerFactory.getLogger(Manifest.class);
+ private Model manifest;
+ private String manifestName;
+ private String filename;
+ private List<String> includedFiles = new ArrayList<String>();
+ private Resource manifestRes = null;
+
+ public Manifest(String fn) {
+ log.debug("Manifest = " + fn);
+ filename = IRIResolver.resolveGlobal(fn);
+ log.debug(" = " + filename);
+ manifest = FileManager.get().loadModel(filename);
+ parseIncludes();
+ parseManifest();
+ }
+
+ public String getName() {
+ return manifestName;
+ }
+
+ public Iterator<String> includedManifests() {
+ return includedFiles.iterator();
+ }
+
+ private void parseManifest() {
+ StmtIterator manifestStmts = manifest.listStatements(null, RDF.type,
+ TestManifest.Manifest);
+ if (!manifestStmts.hasNext()) {
+ log.warn("No manifest in manifest file: " + filename);
+ return;
+ }
+
+ Statement manifestItemStmt = manifestStmts.nextStatement();
+ if (manifestStmts.hasNext()) {
+ log.warn("Multiple manifests in manifest file: " + filename);
+ return;
+ }
+
+ manifestRes = manifestItemStmt.getSubject();
+ manifestName = getLiteral(manifestRes, RDFS.label);
+ if (manifestName == null)
+ manifestName = getLiteral(manifestRes, RDFS.comment);
+ manifestStmts.close();
+ }
+
+ // For every test item (does not recurse)
+ public void apply(ManifestItemHandler gen) {
+
+ StmtIterator manifestStmts = manifest.listStatements(null, RDF.type,
+ TestManifest.Manifest);
+
+ for (; manifestStmts.hasNext();) {
+ Statement manifestItemStmt = manifestStmts.nextStatement();
+ Resource manifestRes = manifestItemStmt.getSubject();
+
+ // For each item in this manifest
+ StmtIterator listIter = manifestRes
+ .listProperties(TestManifest.entries);
+ for (; listIter.hasNext();) {
+ // List head
+ Resource listItem = listIter.nextStatement().getResource();
+ for (; !listItem.equals(RDF.nil);) {
+ ManifestItem item = new ManifestItem(listItem
+ .getRequiredProperty(RDF.first).getResource());
+ gen.processManifestItem(item);
+ // Move to next list item
+ listItem = listItem.getRequiredProperty(RDF.rest)
+ .getResource();
+ }
+ }
+ listIter.close();
+ }
+ manifestStmts.close();
+ }
+
+ // -------- included manifests
+ private void parseIncludes() {
+ parseIncludes(TestManifest.include);
+ parseIncludes(TestManifestX.include);
+ }
+
+ private void parseIncludes(Property property) {
+ StmtIterator includeStmts = manifest.listStatements(null, property,
+ (RDFNode) null);
+
+ for (; includeStmts.hasNext();) {
+ Statement s = includeStmts.nextStatement();
+ if (!(s.getObject() instanceof Resource)) {
+ log.warn("Include: not a Resource" + s);
+ continue;
+ }
+ Resource r = s.getResource();
+ parseOneIncludesList(r);
+ }
+ includeStmts.close();
+ }
+
+ private void parseOneIncludesList(Resource r) {
+ if (r == null)
+ return;
+
+ if (r.equals(RDF.nil))
+ return;
+
+ if (!r.isAnon()) {
+ String uri = r.getURI();
+ if (includedFiles.contains(uri))
+ return;
+ includedFiles.add(r.getURI());
+ return;
+ }
+
+ // BNnode => list
+ Resource listItem = r;
+ while (!listItem.equals(RDF.nil)) {
+ r = listItem.getRequiredProperty(RDF.first).getResource();
+ parseOneIncludesList(r);
+ // Move on
+ listItem = listItem.getRequiredProperty(RDF.rest).getResource();
+ }
+ }
+
+ public static Resource getResource(Resource r, Property p) {
+ if (r == null)
+ return null;
+ if (!r.hasProperty(p))
+ return null;
+
+ RDFNode n = r.getProperty(p).getObject();
+ if (n instanceof Resource)
+ return (Resource) n;
+
+ throw new ManifestException("Manifest problem (not a Resource): " + n
+ + " => " + p);
+ }
+
+ public static Collection<Resource> listResources(Resource r, Property p) {
+ if (r == null)
+ return null;
+ List<Resource> x = new ArrayList<Resource>();
+ StmtIterator sIter = r.listProperties(p);
+ for (; sIter.hasNext();) {
+ RDFNode n = sIter.next().getObject();
+ if (!(n instanceof Resource))
+ throw new ManifestException(
+ "Manifest problem (not a Resource): " + n + " => " + p);
+ x.add((Resource) n);
+ }
+ return x;
+ }
+
+ public static String getLiteral(Resource r, Property p) {
+ if (r == null)
+ return null;
+ if (!r.hasProperty(p))
+ return null;
+
+ RDFNode n = r.getProperty(p).getObject();
+ if (n instanceof Literal)
+ return ((Literal) n).getLexicalForm();
+
+ throw new ManifestException("Manifest problem (not a Literal): " + n
+ + " => " + p);
+ }
+
+ public static String getLiteralOrURI(Resource r, Property p) {
+ if (r == null)
+ return null;
+
+ if (!r.hasProperty(p))
+ return null;
+
+ RDFNode n = r.getProperty(p).getObject();
+ if (n instanceof Literal)
+ return ((Literal) n).getLexicalForm();
+
+ if (n instanceof Resource) {
+ Resource r2 = (Resource) n;
+ if (!r2.isAnon())
+ return r2.getURI();
+ }
+
+ throw new ManifestException("Manifest problem: " + n + " => " + p);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestException.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestException.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestException.java
new file mode 100644
index 0000000..14a3d44
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestException.java
@@ -0,0 +1,48 @@
+/*
+ * 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.testing_framework.manifest;
+
+/**
+ * TestException a root exception for all (intentional) exceptions in tests
+ * setup, not a failure of the test itself (e.g. manifest problems)
+ */
+
+public class ManifestException extends RuntimeException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 5601201233175898449L;
+
+ public ManifestException() {
+ super();
+ }
+
+ public ManifestException(Throwable cause) {
+ super(cause);
+ }
+
+ public ManifestException(String msg) {
+ super(msg);
+ }
+
+ public ManifestException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestFile.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestFile.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestFile.java
new file mode 100644
index 0000000..d7493bb
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestFile.java
@@ -0,0 +1,38 @@
+/*
+ * 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.testing_framework.manifest;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation to declare the manifest file for the test.
+ *
+ */
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ManifestFile {
+ /**
+ * The file that the annotated class should read
+ */
+ String value();
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java
new file mode 100644
index 0000000..81999bd
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java
@@ -0,0 +1,53 @@
+package org.apache.jena.testing_framework.manifest;
+
+import org.apache.jena.n3.turtle.TurtleTestVocab;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.vocabulary.RDF;
+import org.apache.jena.vocabulary.TestManifest;
+
+public class ManifestItem {
+ private Resource entry;
+
+ public ManifestItem(Resource entry) {
+ this.entry = entry;
+ }
+
+ public Resource getEntry() {
+ return entry;
+ }
+
+ public String getTestName() {
+ return Manifest.getLiteral(entry, TestManifest.name);
+ }
+
+ public Resource getAction() {
+ return Manifest.getResource(entry, TestManifest.action);
+ }
+
+ public Resource getResult() {
+ return Manifest.getResource(entry, TestManifest.result);
+ }
+
+ public Resource getType() {
+ return Manifest.getResource(entry, RDF.type);
+ }
+
+ public Resource getOutput() {
+ Resource result = getResult();
+ return result == null ? null : Manifest.getResource(result,
+ TurtleTestVocab.output);
+ }
+
+ public Resource getInput() {
+ Resource action = getAction();
+ return action == null ? null : Manifest.getResource(action,
+ TurtleTestVocab.input);
+ }
+
+ public String getUriString() {
+ Resource action = getAction();
+ Resource inputIRIr = action == null ? null : Manifest.getResource(
+ action, TurtleTestVocab.inputIRI);
+ return (inputIRIr == null) ? null : inputIRIr.getURI();
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItemHandler.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItemHandler.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItemHandler.java
new file mode 100644
index 0000000..08ce69f
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItemHandler.java
@@ -0,0 +1,35 @@
+/*
+ * 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.testing_framework.manifest;
+
+import java.util.List;
+
+import org.junit.runner.Runner;
+import org.junit.runners.model.InitializationError;
+
+public interface ManifestItemHandler {
+ /**
+ * Handle an item in a manifest
+ *
+ * @throws InitializationError
+ */
+ public void processManifestItem(ManifestItem item);
+
+ public void setTestRunnerList(List<Runner> runners);
+}
[15/50] [abbrv] jena git commit: Add @Override
Posted by cl...@apache.org.
Add @Override
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/b755fc16
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/b755fc16
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/b755fc16
Branch: refs/heads/add-contract-tests
Commit: b755fc16a96f15706ca6392defa20f79f45a0cca
Parents: 8dbd7fa
Author: Andy Seaborne <an...@apache.org>
Authored: Sat May 2 18:21:48 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat May 2 18:21:48 2015 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/util/iterator/Filter.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/b755fc16/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java b/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java
index 6c85c28..427a047 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java
@@ -27,9 +27,10 @@ import java.util.function.Predicate;
* Deprecated in favor of {@link Predicate}.
*/
@Deprecated
-public abstract class Filter<T> implements Predicate<T> {
-
- public boolean test(T o) {
+public abstract class Filter<T> implements Predicate<T>
+{
+ @Override
+ public boolean test(T o) {
return accept(o);
}
[32/50] [abbrv] jena git commit: Clean code.
Posted by cl...@apache.org.
Clean code.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e81ee641
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e81ee641
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e81ee641
Branch: refs/heads/add-contract-tests
Commit: e81ee641d7ee7dbb7e4dbde792d7e79af4a7df72
Parents: fa3bae8
Author: Andy Seaborne <an...@apache.org>
Authored: Thu May 7 10:29:00 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu May 7 10:29:00 2015 +0100
----------------------------------------------------------------------
.../apache/jena/atlas/lib/cache/CacheGuava.java | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/e81ee641/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
index a25faa0..9beffaf 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
@@ -21,31 +21,28 @@ package org.apache.jena.atlas.lib.cache;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
import java.util.concurrent.ExecutionException ;
-import java.util.function.BiConsumer;
+import java.util.function.BiConsumer ;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.ext.com.google.common.cache.CacheBuilder ;
import org.apache.jena.ext.com.google.common.cache.RemovalListener ;
-import org.apache.jena.ext.com.google.common.cache.RemovalNotification ;
-/** Wrapper around com.google.common.cache */
+/** Wrapper around a shaded com.google.common.cache */
final
public class CacheGuava<K,V> implements Cache<K, V>
{
private BiConsumer<K, V> dropHandler = null ;
- /*private*/ org.apache.jena.ext.com.google.common.cache.Cache<K,V> cache ;
+ private org.apache.jena.ext.com.google.common.cache.Cache<K,V> cache ;
public CacheGuava(int size)
{
- RemovalListener<K,V> drop = new RemovalListener<K, V>() {
- @Override
- public void onRemoval(RemovalNotification<K, V> notification) {
- if ( dropHandler != null )
- dropHandler.accept(notification.getKey(),
- notification.getValue()) ;
- }
+ RemovalListener<K,V> drop = (notification)-> {
+ if ( dropHandler != null )
+ dropHandler.accept(notification.getKey(),
+ notification.getValue()) ;
} ;
+
cache = CacheBuilder.newBuilder()
.maximumSize(size)
.removalListener(drop)
@@ -54,7 +51,6 @@ public class CacheGuava<K,V> implements Cache<K, V>
.build() ;
}
- // Change the interface to be ...
@Override
public V getOrFill(K key, Callable<V> filler) {
try {
[24/50] [abbrv] jena git commit: Using Java 8 types in o.a.j.atlas
Posted by cl...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
index ff87bcc..192953f 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestStreamRDFThrift.java
@@ -21,8 +21,6 @@ package org.apache.jena.riot.thrift;
import java.io.ByteArrayInputStream ;
import java.io.ByteArrayOutputStream ;
import java.util.Iterator ;
-
-import org.apache.jena.atlas.iterator.Filter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.StrUtils ;
@@ -130,7 +128,7 @@ public class TestStreamRDFThrift extends BaseTest {
boolean b = IsoMatcher.isomorphic(dsg1, dsg2) ;
assertTrue(b) ;
// Stronger - same bNode and same as in original data.
- Node obj = Iter.first(dsg1.listGraphNodes(), filterBlankNode) ;
+ Node obj = Iter.first(dsg1.listGraphNodes(), Node::isBlank) ;
termAsObject(dsg1, obj) ;
}
@@ -149,7 +147,7 @@ public class TestStreamRDFThrift extends BaseTest {
boolean b = IsoMatcher.isomorphic(dsg1, dsg2) ;
assertTrue(b) ;
// Stronger - same bNode and same as in original data.
- Node obj = Iter.first(dsg1.listGraphNodes(), filterBlankNode) ;
+ Node obj = Iter.first(dsg1.listGraphNodes(), Node::isBlank) ;
termAsObject(dsg1, obj) ;
}
@@ -174,13 +172,6 @@ public class TestStreamRDFThrift extends BaseTest {
fail("Failed to find "+term) ;
}
- static Filter<Node> filterBlankNode = new Filter<Node>() {
- @Override
- public boolean accept(Node item) {
- return item.isBlank() ;
- }
- } ;
-
// ** Java8
// public static <T> Stream<T> stream(Iterator<? extends T> iterator) {
// int characteristics = Spliterator.ORDERED | Spliterator.IMMUTABLE;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
index de2630e..d9c14ab 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
@@ -18,7 +18,12 @@
package org.apache.jena.atlas.iterator;
-public interface Action<T>
+import java.util.function.Consumer;
+
+/**
+ * Prefer {@link Consumer}
+ */
+@Deprecated
+public interface Action<T> extends Consumer<T>
{
- public void apply(T item) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java
index 20f837c..1ec0354 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionCount.java
@@ -18,13 +18,15 @@
package org.apache.jena.atlas.iterator;
+import java.util.function.Consumer;
-public class ActionCount<T> implements Action<T>
+
+public class ActionCount<T> implements Consumer<T>
{
private long count = 0 ;
@Override
- public void apply(T item)
+ public void accept(T item)
{ count++ ; }
public long getCount() { return count ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionNothing.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionNothing.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionNothing.java
deleted file mode 100644
index d05b279..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/ActionNothing.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.atlas.iterator;
-
-
-public class ActionNothing<T> implements Action<T>
-{
- @Override
- public void apply(T item) { }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
index 5d427c5..689f5bc 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
@@ -18,5 +18,11 @@
package org.apache.jena.atlas.iterator;
+import java.util.function.Predicate;
+
+/**
+ * Prefer {@link Predicate}.
+ */
@FunctionalInterface
-public interface Filter <T> { boolean accept(T item) ; }
+@Deprecated
+public interface Filter <T> extends Predicate<T>{ }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
index 3beb832..e2bc4b4 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
@@ -18,17 +18,17 @@
package org.apache.jena.atlas.iterator;
+import java.util.function.Predicate;
+
import org.apache.jena.atlas.lib.Lib ;
-public class FilterDistinctAdjacent<T> implements Filter<T>
+public class FilterDistinctAdjacent<T> implements Predicate<T>
{
private boolean isSet = false ;
private T last = null ;
- public FilterDistinctAdjacent() { }
-
@Override
- public boolean accept(T item)
+ public boolean test(T item)
{
if ( isSet && Lib.equal(last, item) )
return false ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterOutNulls.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterOutNulls.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterOutNulls.java
deleted file mode 100644
index 21cd471..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterOutNulls.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.atlas.iterator;
-
-
-public class FilterOutNulls<T> implements Filter<T>
-{
- public FilterOutNulls() { }
-
- @Override
- public boolean accept(T item)
- {
- return item != null ;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java
index 479d93f..c4d5e86 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterStack.java
@@ -18,24 +18,26 @@
package org.apache.jena.atlas.iterator;
+import java.util.function.Predicate;
+
/**
* Add a filter to a chain - the original filter is called after this new sub-filter.
*/
-public abstract class FilterStack<T> implements Filter<T>
+public abstract class FilterStack<T> implements Predicate<T>
{
- private final Filter<T> other ;
+ private final Predicate<T> other ;
private final boolean subFilterLast ;
- public FilterStack(Filter<T> other) { this(other, false) ; }
+ public FilterStack(Predicate<T> other) { this(other, false) ; }
- public FilterStack(Filter<T> other, boolean callOldFilterFirst)
+ public FilterStack(Predicate<T> other, boolean callOldFilterFirst)
{
this.other = other ;
this.subFilterLast = callOldFilterFirst ;
}
@Override
- public final boolean accept(T item)
+ public final boolean test(T item)
{
if ( subFilterLast )
return acceptAdditionaOther(item) ;
@@ -48,7 +50,7 @@ public abstract class FilterStack<T> implements Filter<T>
if ( ! acceptAdditional(item) )
return false ;
- if ( other != null && ! other.accept(item) )
+ if ( other != null && ! other.test(item) )
return false ;
return true ;
@@ -56,7 +58,7 @@ public abstract class FilterStack<T> implements Filter<T>
private boolean acceptOtherAdditional(T item)
{
- if ( other != null && ! other.accept(item) )
+ if ( other != null && ! other.test(item) )
return false ;
return acceptAdditional(item) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java
index 2b2a957..4f21072 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterUnique.java
@@ -20,20 +20,16 @@ package org.apache.jena.atlas.iterator;
import java.util.HashSet ;
import java.util.Set ;
+import java.util.function.Predicate;
-public class FilterUnique<T> implements Filter<T>
+public class FilterUnique<T> implements Predicate<T>
{
private Set<T> seen = new HashSet<>() ;
- public FilterUnique() { }
-
@Override
- public boolean accept(T item)
+ public boolean test(T item)
{
- if ( seen.contains(item) )
- return false ;
- seen.add(item) ;
- return true ;
+ return seen.add(item) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
index 8aec2ea..fc0a534 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java
@@ -20,10 +20,12 @@ package org.apache.jena.atlas.iterator ;
import java.io.PrintStream ;
import java.util.* ;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
import java.util.stream.Stream ;
import java.util.stream.StreamSupport ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sink ;
@@ -182,27 +184,20 @@ public class Iter<T> implements Iterator<T> {
// apply(stream.iterator(), action) ;
// }
- public static <T> void apply(Iterator<? extends T> stream, Action<T> action) {
+ public static <T> void apply(Iterator<? extends T> stream, Consumer<T> action) {
for (; stream.hasNext();) {
T item = stream.next() ;
- action.apply(item) ;
+ action.accept(item) ;
}
}
- // -- Map specific apply. No results - do immediately.
-
- public static <K, V> void apply(Map<K, V> map, ActionKeyValue<K, V> action) {
- for (Map.Entry<K, V> entry : map.entrySet())
- action.apply(entry.getKey(), entry.getValue()) ;
- }
-
// ---- Filter
// public static <T> Iterator<T> filter(Iterable<? extends T> stream, Filter<T> filter) {
// return filter(stream.iterator(), filter) ;
// }
- public static <T> Iterator<T> filter(final Iterator<? extends T> stream, final Filter<T> filter) {
+ public static <T> Iterator<T> filter(final Iterator<? extends T> stream, final Predicate<T> filter) {
final Iterator<T> iter = new Iterator<T>() {
boolean finished = false ;
@@ -219,7 +214,7 @@ public class Iter<T> implements Iterator<T> {
break ;
}
T nextItem = stream.next() ;
- if ( filter.accept(nextItem) ) {
+ if ( filter.test(nextItem) ) {
slot = nextItem ;
slotOccupied = true ;
break ;
@@ -246,29 +241,12 @@ public class Iter<T> implements Iterator<T> {
return iter ;
}
- private static class InvertedFilter<T> implements Filter<T> {
- public static <T> Filter<T> invert(Filter<T> filter) {
- return new InvertedFilter<>(filter) ;
- }
- private Filter<T> baseFilter ;
-
- private InvertedFilter(Filter<T> baseFilter) {
- this.baseFilter = baseFilter ;
- }
-
- @Override
- public boolean accept(T item) {
- return !baseFilter.accept(item) ;
- }
- }
-
// public static <T> Iterator<T> notFilter(Iterable<? extends T> stream, Filter<T> filter) {
// return notFilter(stream.iterator(), filter) ;
// }
- public static <T> Iterator<T> notFilter(final Iterator<? extends T> stream, final Filter<T> filter) {
- Filter<T> flippedFilter = InvertedFilter.invert(filter) ;
- return filter(stream, flippedFilter) ;
+ public static <T> Iterator<T> notFilter(final Iterator<? extends T> stream, final Predicate<T> filter) {
+ return filter(stream, filter.negate()) ;
}
// Filter-related
@@ -288,10 +266,10 @@ public class Iter<T> implements Iterator<T> {
* Return true if every element of stream passes the filter (reads the
* stream until the first element not passing the filter)
*/
- public static <T> boolean every(Iterator<? extends T> stream, Filter<T> filter) {
+ public static <T> boolean every(Iterator<? extends T> stream, Predicate<T> filter) {
for (; stream.hasNext();) {
T item = stream.next() ;
- if ( !filter.accept(item) )
+ if ( !filter.test(item) )
return false ;
}
return true ;
@@ -312,10 +290,10 @@ public class Iter<T> implements Iterator<T> {
* Return true if one or more elements of stream passes the filter (reads
* the stream to first element passing the filter)
*/
- public static <T> boolean some(Iterator<? extends T> stream, Filter<T> filter) {
+ public static <T> boolean some(Iterator<? extends T> stream, Predicate<T> filter) {
for (; stream.hasNext();) {
T item = stream.next() ;
- if ( filter.accept(item) )
+ if ( filter.test(item) )
return true ;
}
return false ;
@@ -327,7 +305,7 @@ public class Iter<T> implements Iterator<T> {
// return map(stream.iterator(), converter) ;
// }
- public static <T, R> Iterator<R> map(final Iterator<? extends T> stream, final Transform<T, R> converter) {
+ public static <T, R> Iterator<R> map(final Iterator<? extends T> stream, final Function<T, R> converter) {
final Iterator<R> iter = new Iterator<R>() {
@Override
public boolean hasNext() {
@@ -336,7 +314,7 @@ public class Iter<T> implements Iterator<T> {
@Override
public R next() {
- return converter.convert(stream.next()) ;
+ return converter.apply(stream.next()) ;
}
@Override
@@ -347,68 +325,14 @@ public class Iter<T> implements Iterator<T> {
return iter ;
}
- public static <T, R> List<R> map(List<? extends T> list, Transform<T, R> converter) {
+ public static <T, R> List<R> map(List<? extends T> list, Function<T, R> converter) {
return toList(map(list.iterator(), converter)) ;
}
- /**
- * Projects each element of a sequence to an Iterator<R> and flattens
- * the resulting sequences into one sequence.
- */
- public static <T, R> Iterator<R> mapMany(final Iterator<? extends T> stream,
- final Transform<? super T, Iterator<R>> converter) {
- final Iterator<R> iter = new Iterator<R>() {
-
- private Iterator<? extends R> it = null ; // Iterator for the
- // current element of
- // stream.
-
- @Override
- public boolean hasNext() {
- if ( it != null && it.hasNext() )
- // Element of the current iterator.
- return true ;
- // Start or current iterator has ended.
- it = null ;
-
- // Need to move to next non-empty iterator of the stream.
- while (stream.hasNext()) {
- it = converter.convert(stream.next()) ;
- if ( it.hasNext() )
- // There is something.
- return true ;
- }
- it = null ;
- // Stream ran out.
- return false ;
- }
-
- @Override
- public R next() {
- if ( !hasNext() )
- throw new NoSuchElementException() ;
- // "it" is always left with something to yield if hashNext is
- // true.
- return it.next() ;
- }
-
- @Override
- public void remove() {
- throw new UnsupportedOperationException("mapMany.remove") ;
- }
- } ;
-
- return iter ;
- }
-
// public static <T, R> Iterator<R> mapMany(Iterable<? extends T> stream, Transform<T, Iterator<R>> converter) {
// return mapMany(stream.iterator(), converter) ;
// }
- public static <T, R> List<R> mapMany(List<? extends T> list, Transform<T, Iterator<R>> converter) {
- return toList(mapMany(list.iterator(), converter)) ;
- }
-
// /**
// * Apply an action to everything in stream, yielding a stream of the same
// * items
@@ -421,7 +345,7 @@ public class Iter<T> implements Iterator<T> {
* Apply an action to everything in stream, yielding a stream of the same
* items
*/
- public static <T> Iterator<T> operate(final Iterator<? extends T> stream, final Action<T> action) {
+ public static <T> Iterator<T> operate(final Iterator<? extends T> stream, final Consumer<T> action) {
final Iterator<T> iter = new Iterator<T>() {
@Override
public boolean hasNext() {
@@ -431,7 +355,7 @@ public class Iter<T> implements Iterator<T> {
@Override
public T next() {
T t = stream.next() ;
- action.apply(t) ;
+ action.accept(t) ;
return t ;
}
@@ -450,13 +374,7 @@ public class Iter<T> implements Iterator<T> {
/** Print an iterator as it gets used - this adds a printing wrapper */
public static <T> Iterator<T> printWrapper(final PrintStream out, final Iterator<? extends T> stream) {
- Action<T> action = new Action<T>() {
- @Override
- public void apply(T item) {
- out.println(item) ;
- }
- } ;
- return Iter.operate(stream, action) ;
+ return Iter.operate(stream, out::println) ;
}
// /** Join two iteratables
@@ -502,7 +420,7 @@ public class Iter<T> implements Iterator<T> {
// }
public static <T> Iterator<T> removeNulls(Iterator<T> iter) {
- return filter(iter, new FilterOutNulls<T>()) ;
+ return filter(iter, x -> x != null) ;
}
/** Take the first N elements of an iterator - stop early if too few */
@@ -667,14 +585,7 @@ public class Iter<T> implements Iterator<T> {
*/
public static <T> Iterator<T> debug(final PrintStream out, Iterator<T> stream) {
try {
- Transform<T, T> x = new Transform<T, T>() {
- @Override
- public T convert(T item) {
- out.println(item) ;
- return item ;
- }
- } ;
- return map(stream, x) ;
+ return map(stream, item -> {out.println(item); return item;}) ;
} finally { out.flush() ; }
}
@@ -685,14 +596,7 @@ public class Iter<T> implements Iterator<T> {
/** Print an iterator (destructive) */
public static <T> void print(final PrintStream out, Iterator<T> stream) {
- Action<T> x = new Action<T>() {
- @Override
- public void apply(T item) {
- out.println(item) ;
- }
-
- } ;
- apply(stream, x) ;
+ apply(stream, out::println) ;
}
// /** Print an iterable */
@@ -782,58 +686,57 @@ public class Iter<T> implements Iterator<T> {
return Iter.iter(iter1).append(Iter.iter(iter2)) ;
}
- public static <T> T first(Iterator<T> iter, Filter<T> filter) {
- for (int idx = 0; iter.hasNext(); idx++) {
+ public static <T> T first(Iterator<T> iter, Predicate<T> filter) {
+ while (iter.hasNext()) {
T t = iter.next() ;
- if ( filter.accept(t) )
+ if ( filter.test(t) )
return t ;
- // return idx ;
}
return null ;
}
- public static <T> T first(Collection<T> collection, Filter<T> filter) {
- return first(collection.iterator(), filter) ;
+ public static <T> T first(Collection<T> collection, Predicate<T> filter) {
+ return collection.stream().filter(filter).findFirst().orElse(null);
}
- public static <T> int firstIndex(Iterator<T> iter, Filter<T> filter) {
+ public static <T> int firstIndex(Iterator<T> iter, Predicate<T> filter) {
for (int idx = 0; iter.hasNext(); idx++) {
T t = iter.next() ;
- if ( filter.accept(t) )
+ if ( filter.test(t) )
return idx ;
}
return -1 ;
}
- public static <T> int firstIndex(Collection<T> collection, Filter<T> filter) {
+ public static <T> int firstIndex(Collection<T> collection, Predicate<T> filter) {
return firstIndex(collection.iterator(), filter) ;
}
- public static <T> T last(Iterator<T> iter, Filter<T> filter) {
+ public static <T> T last(Iterator<T> iter, Predicate<T> filter) {
T thing = null ;
- for (int idx = 0; iter.hasNext(); idx++) {
+ while (iter.hasNext()) {
T t = iter.next() ;
- if ( filter.accept(t) )
+ if ( filter.test(t) )
thing = t ;
}
return thing ;
}
- public static <T> T last(Collection<T> collection, Filter<T> filter) {
+ public static <T> T last(Collection<T> collection, Predicate<T> filter) {
return last(collection.iterator(), filter) ;
}
- public static <T> int lastIndex(Iterator<T> iter, Filter<T> filter) {
+ public static <T> int lastIndex(Iterator<T> iter, Predicate<T> filter) {
int location = -1 ;
for (int idx = 0; iter.hasNext(); idx++) {
T t = iter.next() ;
- if ( filter.accept(t) )
+ if ( filter.test(t) )
location = idx ;
}
return location ;
}
- public static <T> int lastIndex(Collection<T> collection, Filter<T> filter) {
+ public static <T> int lastIndex(Collection<T> collection, Predicate<T> filter) {
return lastIndex(collection.iterator(), filter) ;
}
@@ -858,39 +761,39 @@ public class Iter<T> implements Iterator<T> {
sendToSink(iterator, sink) ;
}
- public T first(Filter<T> filter) {
+ public T first(Predicate<T> filter) {
return first(iterator, filter) ;
}
- public int firstIndex(Filter<T> filter) {
+ public int firstIndex(Predicate<T> filter) {
return firstIndex(iterator, filter) ;
}
- public T last(Filter<T> filter) {
+ public T last(Predicate<T> filter) {
return last(iterator, filter) ;
}
- public int lastIndex(Filter<T> filter) {
+ public int lastIndex(Predicate<T> filter) {
return lastIndex(iterator, filter) ;
}
- public Iter<T> filter(Filter<T> filter) {
+ public Iter<T> filter(Predicate<T> filter) {
return iter(filter(iterator, filter)) ;
}
- public boolean every(Filter<T> filter) {
+ public boolean every(Predicate<T> filter) {
return every(iterator, filter) ;
}
- public boolean some(Filter<T> filter) {
+ public boolean some(Predicate<T> filter) {
return some(iterator, filter) ;
}
public Iter<T> removeNulls() {
- return filter(new FilterOutNulls<T>()) ;
+ return filter(x -> x != null) ;
}
- public <R> Iter<R> map(Transform<T, R> converter) {
+ public <R> Iter<R> map(Function<T, R> converter) {
return iter(map(iterator, converter)) ;
}
@@ -898,7 +801,7 @@ public class Iter<T> implements Iterator<T> {
* Apply an action to everything in the stream, yielding a stream of the
* same items
*/
- public Iter<T> operate(Action<T> action) {
+ public Iter<T> operate(Consumer<T> action) {
return iter(operate(iterator, action)) ;
}
@@ -906,7 +809,7 @@ public class Iter<T> implements Iterator<T> {
return reduce(iterator, aggregator) ;
}
- public void apply(Action<T> action) {
+ public void apply(Consumer<T> action) {
apply(iterator, action) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
index ee45935..a8cb1b2 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
@@ -18,10 +18,16 @@
package org.apache.jena.atlas.iterator;
+import java.util.Arrays;
import java.util.Iterator ;
import java.util.NoSuchElementException ;
+import java.util.Spliterator;
/** Iterator over a Java base array */
+/**
+ * Prefer {@link Arrays#spliterator(Object[])} or {@link Arrays#stream(Object[])}
+ */
+@Deprecated
public final class IteratorArray<T> implements Iterator<T>
{
/** Iterator over all the array elements */
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/MapUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/MapUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/MapUtils.java
deleted file mode 100644
index 3c6492e..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/MapUtils.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.atlas.iterator;
-
-import java.util.Map ;
-
-import org.apache.jena.atlas.lib.ActionKeyValue ;
-
-
-
-public class MapUtils
-{
- // Map specific operations
-
- public static <K, V> void apply(Map<K, V> map, ActionKeyValue<K, V> action)
- {
- for ( Map.Entry<K,V> entry : map.entrySet() )
- action.apply(entry.getKey(), entry.getValue()) ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
index d5d6a0a..67fc3af 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
@@ -18,4 +18,10 @@
package org.apache.jena.atlas.iterator;
-public interface Transform <T, R> { R convert(T item) ; }
+import java.util.function.Function;
+
+/**
+ * Prefer {@link Function}.
+ */
+@Deprecated
+public interface Transform <T, R> extends Function<T,R>{ }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
index 894107a..12dadab 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
@@ -18,7 +18,12 @@
package org.apache.jena.atlas.lib;
-public interface ActionKeyValue<KeyType, ValueType>
+import java.util.function.BiConsumer;
+
+/**
+ * Prefer {@link BiConsumer<KeyType, ValueType>}.
+ */
+@Deprecated
+public interface ActionKeyValue<KeyType, ValueType> extends BiConsumer<KeyType, ValueType>
{
- public void apply(KeyType key, ValueType value) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
index d7fa711..8ebf2d7 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
@@ -20,6 +20,7 @@ package org.apache.jena.atlas.lib;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
/** A cache */
public interface Cache<Key, Value>
@@ -52,5 +53,5 @@ public interface Cache<Key, Value>
public long size() ;
/** Register a callback - called when an object is dropped from the cache (optional operation) */
- public void setDropHandler(ActionKeyValue<Key,Value> dropHandler) ;
+ public void setDropHandler(BiConsumer<Key,Value> dropHandler) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java
index f5c3d22..0f709b0 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/CacheSet.java
@@ -18,7 +18,7 @@
package org.apache.jena.atlas.lib;
-import org.apache.jena.atlas.iterator.Action ;
+import java.util.function.Consumer;
public interface CacheSet<T>
{
@@ -30,5 +30,5 @@ public interface CacheSet<T>
public void remove(T obj) ;
public long size() ;
/** Register a callback - called when an object is dropped from the cache (optional operation) */
- public void setDropHandler(Action<T> dropHandler) ;
+ public void setDropHandler(Consumer<T> dropHandler) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
index 2b6002a..e2f6dfd 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
@@ -21,7 +21,7 @@ package org.apache.jena.atlas.lib;
/** Close this object.
* This form does not allow Exceptions (it does allow RuntimeExceptions).
*/
-public interface Closeable
+public interface Closeable extends java.io.Closeable
{
public void close() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
index 8bae6a4..759e543 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/CollectionUtils.java
@@ -19,34 +19,16 @@
package org.apache.jena.atlas.lib;
import java.util.Collection ;
-import java.util.Iterator ;
+import java.util.Objects;
public class CollectionUtils
{
static public <T> void removeNulls(Collection<T> list)
- {
- for ( Iterator<T> iter = list.iterator() ; iter.hasNext() ; )
- {
- T e = iter.next() ;
- if ( e == null )
- iter.remove() ;
- }
+ {
+ list.removeIf(Objects::isNull);
}
static public <T> boolean disjoint(Collection<T> c1, Collection<T> c2)
{
- if ( c2.size() < c1.size() )
- {
- Collection<T> t = c1 ;
- c1 = c2 ;
- c2 = t ;
- }
-
- for ( T t : c1 )
- {
- if ( c2.contains(t) )
- return false ;
- }
- return true ;
- }
+ return c1.stream().noneMatch(c2::contains);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
index 6c9c442..a866d59 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
@@ -24,6 +24,7 @@ import java.util.zip.CRC32 ;
import java.util.zip.Checksum ;
import org.apache.jena.atlas.logging.Log ;
+import org.apache.jena.ext.com.google.common.base.Objects;
public class Lib
{
@@ -35,15 +36,13 @@ public class Lib
((Sync)object).sync() ;
}
- /** Return true if obj1 and obj are both null or are .equals, else return false */
+ /** Return true if obj1 and obj are both null or are .equals, else return false
+ * Prefer {@link Objects#equal(Object, Object)}
+ */
+ @Deprecated
public static final <T> boolean equal(T obj1, T obj2)
{
- if ( obj1 == null )
- return obj2 == null ;
- // obj1 != null
- if ( obj2 == null )
- return false ;
- return obj1.equals(obj2) ;
+ return Objects.equal(obj1, obj2);
}
/** Return true if obj1 and obj are both null or are .equals, else return false */
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
index 78d591a..8315236 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
@@ -20,10 +20,9 @@ package org.apache.jena.atlas.lib;
import java.util.ArrayList ;
import java.util.List ;
-
+import java.util.function.Consumer;
import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.iterator.Action ;
import org.apache.jena.atlas.iterator.FilterUnique ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.logging.Log ;
@@ -101,10 +100,10 @@ public class ListUtils
public static <T> void print(final IndentedWriter out, List<T> list, final String sep)
{
- Action<T> output = new Action<T>() {
+ Consumer<T> output = new Consumer<T>() {
boolean first = true ;
@Override
- public void apply(T item)
+ public void accept(T item)
{
if ( ! first ) out.print(sep) ;
out.print(item.toString()) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/MapUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/MapUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/MapUtils.java
deleted file mode 100644
index 7999a25..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/MapUtils.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.atlas.lib;
-
-import java.util.Map ;
-
-/** Map specific functions */
-public class MapUtils
-{
- private MapUtils() {}
-
- public static <K, V> void apply(Map<K, V> map, ActionKeyValue<K, V> action)
- {
- for ( Map.Entry<K,V> entry : map.entrySet() )
- action.apply(entry.getKey(), entry.getValue()) ;
- }
-
- public static <T> void increment(Map<T, Integer> countMap, T key)
- { increment(countMap, key, 1) ; }
-
- public static <T> void increment(Map<T, Integer> countMap, T key, int incr)
- {
- Integer integer = countMap.get(key) ;
- if ( integer == null )
- countMap.put(key, incr) ;
- else
- countMap.put(key, integer+incr) ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Problem.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Problem.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Problem.java
deleted file mode 100644
index d571fe7..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Problem.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.atlas.lib;
-
-public class Problem extends RuntimeException
-{
- public Problem(String msg) { super(msg) ; }
- public Problem(String msg, Throwable th) { super(msg, th) ; }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
index f4e561d..5cc65a9 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/SetUtils.java
@@ -38,12 +38,7 @@ public class SetUtils
public static <T> boolean intersectionP(Set<? extends T> s1, Set<? extends T> s2)
{
- for( T elt : s1 )
- {
- if ( s2.contains(elt) )
- return true ;
- }
- return false ;
+ return s1.stream().anyMatch(s2::contains);
}
public static <T> Set<T> union(Set<? extends T> s1, Set<? extends T> s2)
@@ -61,24 +56,5 @@ public class SetUtils
s3.removeAll(s2) ;
return s3 ;
}
-
- /** Return true if s1 and s2 are disjoint */
- public static <T> boolean isDisjoint(Set<? extends T> s1, Set<? extends T> s2)
- {
- Set<? extends T> x = s1 ;
- Set<? extends T> y = s2 ;
- if ( s1.size() < s2.size() )
- {
- x = s2 ;
- y = s1 ;
- }
-
- for ( T item : x )
- {
- if ( y.contains(item))
- return false ;
- }
- return true ;
- }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
index ae944a7..35a97a5 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
@@ -21,10 +21,9 @@ package org.apache.jena.atlas.lib ;
import java.util.Arrays ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.IteratorArray ;
-import org.apache.jena.atlas.iterator.Transform ;
/** Tuple class - tuples are immutable and must be created initialized */
public class Tuple<T> implements Iterable<T> {
@@ -48,22 +47,13 @@ public class Tuple<T> implements Iterable<T> {
// TupleLib??
public static <T> Iterator<T> project(final int slot, Iterator<Tuple<T>> iter) {
- Transform<Tuple<T>, T> projection = new Transform<Tuple<T>, T>() {
- @Override
- public T convert(Tuple<T> tuple) {
- return tuple.get(slot) ;
- }
- } ;
- return Iter.map(iter, projection) ;
+ return Iter.map(iter, t -> t.get(slot)) ;
}
public static <T> Iterator<Tuple<T>> prefix(final int prefixLength, Iterator<Tuple<T>> iter) {
- Transform<Tuple<T>, Tuple<T>> sub = new Transform<Tuple<T>, Tuple<T>>() {
- @Override
- public Tuple<T> convert(Tuple<T> tuple) {
- T[] x = ArrayUtils.copy(tuple.tuple, 0, prefixLength) ;
- return Tuple.create(x) ;
- }
+ Function<Tuple<T>, Tuple<T>> sub = t -> {
+ T[] x = ArrayUtils.copy(t.tuple, 0, prefixLength) ;
+ return Tuple.create(x) ;
} ;
return Iter.map(iter, sub) ;
}
@@ -100,7 +90,7 @@ public class Tuple<T> implements Iterable<T> {
@Override
public Iterator<T> iterator() {
- return IteratorArray.create(tuple) ;
+ return Arrays.stream(tuple).iterator() ;
}
/** Return a tuple with the column mapping applied */
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java
index 00befa0..5b8b5cc 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache0.java
@@ -20,9 +20,9 @@ package org.apache.jena.atlas.lib.cache ;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
/** A cache that keeps nothing */
@@ -67,6 +67,6 @@ public final class Cache0<K, V> implements Cache<K, V> {
}
@Override
- public void setDropHandler(ActionKeyValue<K, V> dropHandler) {}
+ public void setDropHandler(BiConsumer<K, V> dropHandler) {}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
index 38ab5c6..ffa6e0a 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
@@ -20,16 +20,16 @@ package org.apache.jena.atlas.lib.cache;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
import org.apache.jena.atlas.iterator.SingletonIterator ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.lib.Lib ;
/** A one-slot cache.*/
public class Cache1<K, V> implements Cache<K,V>
{
- private ActionKeyValue<K, V> dropHandler = null ;
+ private BiConsumer<K, V> dropHandler = null ;
private K cacheKey ;
private V cacheValue ;
@@ -107,7 +107,7 @@ public class Cache1<K, V> implements Cache<K,V>
}
@Override
- public void setDropHandler(ActionKeyValue<K, V> dropHandler)
+ public void setDropHandler(BiConsumer<K, V> dropHandler)
{
this.dropHandler = dropHandler ;
}
@@ -115,7 +115,7 @@ public class Cache1<K, V> implements Cache<K,V>
private void notifyDrop(K key, V thing)
{
if ( dropHandler != null && key != null )
- dropHandler.apply(key, thing) ;
+ dropHandler.accept(key, thing) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
index fd5959c..a25faa0 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheGuava.java
@@ -21,11 +21,10 @@ package org.apache.jena.atlas.lib.cache;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
import java.util.concurrent.ExecutionException ;
+import java.util.function.BiConsumer;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.logging.Log ;
-
import org.apache.jena.ext.com.google.common.cache.CacheBuilder ;
import org.apache.jena.ext.com.google.common.cache.RemovalListener ;
import org.apache.jena.ext.com.google.common.cache.RemovalNotification ;
@@ -34,7 +33,7 @@ import org.apache.jena.ext.com.google.common.cache.RemovalNotification ;
final
public class CacheGuava<K,V> implements Cache<K, V>
{
- private ActionKeyValue<K, V> dropHandler = null ;
+ private BiConsumer<K, V> dropHandler = null ;
/*private*/ org.apache.jena.ext.com.google.common.cache.Cache<K,V> cache ;
public CacheGuava(int size)
@@ -43,7 +42,7 @@ public class CacheGuava<K,V> implements Cache<K, V>
@Override
public void onRemoval(RemovalNotification<K, V> notification) {
if ( dropHandler != null )
- dropHandler.apply(notification.getKey(),
+ dropHandler.accept(notification.getKey(),
notification.getValue()) ;
}
} ;
@@ -112,7 +111,7 @@ public class CacheGuava<K,V> implements Cache<K, V>
}
@Override
- public void setDropHandler(ActionKeyValue<K, V> dropHandler) {
+ public void setDropHandler(BiConsumer<K, V> dropHandler) {
this.dropHandler = dropHandler ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java
index b3bf048..8a24d26 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetImpl.java
@@ -19,9 +19,9 @@
package org.apache.jena.atlas.lib.cache ;
import java.util.Iterator ;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
-import org.apache.jena.atlas.iterator.Action ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
import org.apache.jena.atlas.lib.CacheSet ;
@@ -37,21 +37,21 @@ public class CacheSetImpl<T> implements CacheSet<T> {
/** Callback for entries when dropped from the cache */
@Override
- public void setDropHandler(Action<T> dropHandler) {
+ public void setDropHandler(Consumer<T> dropHandler) {
cacheMap.setDropHandler(new Wrapper<T>(dropHandler)) ;
}
// From map action to set action.
- static class Wrapper<T> implements ActionKeyValue<T, Object> {
- Action<T> dropHandler ;
+ static class Wrapper<T> implements BiConsumer<T, Object> {
+ Consumer<T> dropHandler ;
- public Wrapper(Action<T> dropHandler) {
+ public Wrapper(Consumer<T> dropHandler) {
this.dropHandler = dropHandler ;
}
@Override
- public void apply(T key, Object value) {
- dropHandler.apply(key) ;
+ public void accept(T key, Object value) {
+ dropHandler.accept(key) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java
index fc3a3bd..8fdda11 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetSync.java
@@ -18,7 +18,8 @@
package org.apache.jena.atlas.lib.cache ;
-import org.apache.jena.atlas.iterator.Action ;
+import java.util.function.Consumer;
+
import org.apache.jena.atlas.lib.CacheSet ;
public class CacheSetSync<T> implements CacheSet<T> {
@@ -59,7 +60,7 @@ public class CacheSetSync<T> implements CacheSet<T> {
}
@Override
- synchronized public void setDropHandler(Action<T> dropHandler) {
+ synchronized public void setDropHandler(Consumer<T> dropHandler) {
cache.setDropHandler(dropHandler) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java
index c11ffb0..3a36c97 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSetWrapper.java
@@ -18,7 +18,8 @@
package org.apache.jena.atlas.lib.cache ;
-import org.apache.jena.atlas.iterator.Action ;
+import java.util.function.Consumer;
+
import org.apache.jena.atlas.lib.CacheSet ;
public class CacheSetWrapper<T> implements CacheSet<T> {
@@ -59,7 +60,7 @@ public class CacheSetWrapper<T> implements CacheSet<T> {
}
@Override
- public void setDropHandler(Action<T> dropHandler) {
+ public void setDropHandler(Consumer<T> dropHandler) {
cache.setDropHandler(dropHandler) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java
index a33d8e2..9f889dd 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheSimple.java
@@ -18,13 +18,14 @@
package org.apache.jena.atlas.lib.cache;
+import static java.util.Arrays.asList;
+
import java.util.Arrays ;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.IteratorArray ;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
@@ -40,7 +41,7 @@ public class CacheSimple<K,V> implements Cache<K,V>
private final K[] keys ;
private final int size ;
private int currentSize = 0 ;
- private ActionKeyValue<K,V> dropHandler = null ;
+ private BiConsumer<K,V> dropHandler = null ;
public CacheSimple(int size)
{
@@ -113,7 +114,7 @@ public class CacheSimple<K,V> implements Cache<K,V>
// Drop the old K->V
old = values[x] ;
if ( dropHandler != null )
- dropHandler.apply(keys[x], old) ;
+ dropHandler.accept(keys[x], old) ;
currentSize-- ;
}
@@ -142,7 +143,7 @@ public class CacheSimple<K,V> implements Cache<K,V>
@Override
public Iterator<K> keys()
{
- Iterator<K> iter = IteratorArray.create(keys) ;
+ Iterator<K> iter = asList(keys).iterator() ;
return Iter.removeNulls(iter) ;
}
@@ -154,7 +155,7 @@ public class CacheSimple<K,V> implements Cache<K,V>
/** Callback for entries when dropped from the cache */
@Override
- public void setDropHandler(ActionKeyValue<K,V> dropHandler)
+ public void setDropHandler(BiConsumer<K,V> dropHandler)
{
this.dropHandler = dropHandler ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java
index e655749..ef27228 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/CacheWrapper.java
@@ -19,8 +19,8 @@
package org.apache.jena.atlas.lib.cache;
import java.util.Iterator ;
import java.util.concurrent.Callable ;
+import java.util.function.BiConsumer;
-import org.apache.jena.atlas.lib.ActionKeyValue ;
import org.apache.jena.atlas.lib.Cache ;
@@ -56,7 +56,7 @@ public class CacheWrapper<Key,T> implements Cache<Key,T>
public void remove(Key key) { cache.remove(key) ; }
@Override
- public void setDropHandler(ActionKeyValue<Key, T> dropHandler)
+ public void setDropHandler(BiConsumer<Key, T> dropHandler)
{ cache.setDropHandler(dropHandler) ; }
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/main/java/org/apache/jena/base/Closeable.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/base/Closeable.java b/jena-base/src/main/java/org/apache/jena/base/Closeable.java
deleted file mode 100644
index 59a06aa..0000000
--- a/jena-base/src/main/java/org/apache/jena/base/Closeable.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 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.base;
-
-/** Close this object.
- * This form does not allow Exceptions (it does allow RuntimeExceptions)
- */
-public interface Closeable {
- public void close() ;
-}
-
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java b/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java
index 56cf8a9..11550a1 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIter.java
@@ -26,6 +26,7 @@ import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Predicate;
import org.junit.Test ;
@@ -225,97 +226,11 @@ public class TestIter
@Test
public void map_01()
{
- Iterator<String> it = Iter.map(data2.iterator(), new Transform<String,String>()
- {
- @Override
- public String convert(String item)
- {
- return item + item;
- }
- });
+ Iterator<String> it = Iter.map(data2.iterator(), item -> item + item);
test(it, "xx", "yy", "zz");
}
-
- @Test
- public void mapMany_01()
- {
- Iterator<String> it = Iter.mapMany(data2.iterator(), new Transform<String,Iterator<String>>()
- {
- @Override
- public Iterator<String> convert(String item)
- {
- List<String> l = new ArrayList<>(2);
- l.add(item);
- l.add(item + item);
- return l.iterator();
- }
- });
-
- test(it, "x", "xx", "y", "yy", "z", "zz");
- }
-
- @Test
- public void mapMany_02()
- {
- Iterator<String> it = Iter.mapMany(data2.iterator(), new Transform<String,Iterator<String>>()
- {
- @Override
- public Iterator<String> convert(String item)
- {
- return Iter.nullIterator() ;
- }
- });
-
- assertFalse(it.hasNext()) ;
- }
-
- @Test
- public void mapMany_03()
- {
- Iterator<String> it = Iter.mapMany(data2.iterator(), new Transform<String,Iterator<String>>()
- {
- int count = 0 ;
- @Override
- public Iterator<String> convert(String item)
- {
- count++ ;
- if ( count%2 == 1 )
- return Iter.singleton(item) ;
- else
- return Iter.nullIterator() ;
- }
- });
-
- test(it, "x", "z");
- }
-
- @Test
- public void mapMany_04()
- {
- Iterator<String> it = Iter.mapMany(data2.iterator(), new Transform<String,Iterator<String>>()
- {
- int count = 0 ;
- @Override
- public Iterator<String> convert(String item)
- {
- count++ ;
- if ( count%2 == 0 )
- return Iter.singleton(item) ;
- else
- return Iter.nullIterator() ;
- }
- });
-
- test(it, "y");
- }
-
- Filter<String> filter = new Filter<String>() {
- @Override
- public boolean accept(String item)
- {
- return item.length() == 1 ;
- }} ;
+ Predicate<String> filter = item -> item.length() == 1;
@Test
public void first_01()
@@ -441,14 +356,7 @@ public class TestIter
@Test
public void filter_02()
{
- Iterator<String> it = Iter.filter(data3.iterator(), new Filter<String>()
- {
- @Override
- public boolean accept(String item)
- {
- return "x".equals(item) || "z".equals(item) ;
- }
- });
+ Iterator<String> it = Iter.filter(data3.iterator(), item -> "x".equals(item) || "z".equals(item));
test(it, "x", "z");
}
@@ -456,14 +364,7 @@ public class TestIter
@Test
public void filter_03()
{
- Iterator<String> it = Iter.filter(data3.iterator(), new Filter<String>()
- {
- @Override
- public boolean accept(String item)
- {
- return (null == item) || "x".equals(item) ;
- }
- });
+ Iterator<String> it = Iter.filter(data3.iterator(), item -> null == item || "x".equals(item));
test(it, null, "x", null, null, null, null);
}
@@ -496,23 +397,8 @@ public class TestIter
test(iter, "a", "b", "a") ;
}
- private static class AlwaysAcceptFilter implements Filter<Object> {
- @Override
- public boolean accept(Object o) {
- return true;
- }
- }
-
- private static class NeverAcceptFilter implements Filter<Object> {
- @Override
- public boolean accept(Object o) {
- return false;
- }
- }
-
-
private static class AlwaysAcceptFilterStack extends FilterStack<Object> {
- public AlwaysAcceptFilterStack(Filter<Object> f) {
+ public AlwaysAcceptFilterStack(Predicate<Object> f) {
super(f);
}
@@ -524,16 +410,16 @@ public class TestIter
@Test
public void testFilterStack_01() {
- Filter<Object> filter = new AlwaysAcceptFilter();
+ Predicate<Object> filter = x -> true;
FilterStack<Object> filterStack = new AlwaysAcceptFilterStack(filter);
- assertTrue(filterStack.accept(new Object()));
+ assertTrue(filterStack.test(new Object()));
}
@Test
public void testFilterStack_02() {
- Filter<Object> filter = new NeverAcceptFilter();
+ Predicate<Object> filter = x -> false;
FilterStack<Object> filterStack = new AlwaysAcceptFilterStack(filter);
- assertFalse(filterStack.accept(new Object()));
+ assertFalse(filterStack.test(new Object()));
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
index 7ac9351..84bb858 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
@@ -24,10 +24,8 @@ import static org.apache.jena.fuseki.HttpNames.paramNamedGraphURI ;
import java.util.Arrays ;
import java.util.Collections ;
import java.util.List ;
-
import javax.servlet.http.HttpServletRequest ;
-import org.apache.jena.atlas.iterator.Filter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.query.Query ;
@@ -76,17 +74,9 @@ public abstract class SPARQL_Protocol extends SPARQL_ServletBase
private static List<String> removeEmptyValues(List<String> list)
{
- return Iter.iter(list).filter(acceptNonEmpty).toList() ;
+ return Iter.iter(list).filter(item -> item != null && item.length() != 0).toList() ;
}
- private static Filter<String> acceptNonEmpty = new Filter<String>(){
- @Override
- public boolean accept(String item)
- {
- return item != null && item.length() != 0 ;
- }
- } ;
-
protected static int countParamOccurences(HttpServletRequest request, String param)
{
String[] x = request.getParameterValues(param) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
index 4f5d5c9..2a19d03 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Protocol.java
@@ -24,10 +24,10 @@ import static org.apache.jena.riot.web.HttpNames.paramNamedGraphURI ;
import java.util.Arrays ;
import java.util.Collections ;
import java.util.List ;
+import java.util.function.Predicate;
import javax.servlet.http.HttpServletRequest ;
-import org.apache.jena.atlas.iterator.Filter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.query.Query ;
@@ -79,13 +79,7 @@ public abstract class SPARQL_Protocol extends ActionSPARQL
return Iter.iter(list).filter(acceptNonEmpty).toList() ;
}
- private static Filter<String> acceptNonEmpty = new Filter<String>(){
- @Override
- public boolean accept(String item)
- {
- return item != null && item.length() != 0 ;
- }
- } ;
+ private static Predicate<String> acceptNonEmpty = item -> item != null && item.length() != 0;
protected static int countParamOccurences(HttpServletRequest request, String param)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
index 6206f62..6f262a5 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
@@ -18,6 +18,7 @@
package org.apache.jena.permissions.query.rewriter;
import java.util.List;
+import java.util.function.Function;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -30,7 +31,6 @@ import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.* ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
public class SecuredFunction extends ExprFunctionN
{
@@ -103,7 +103,7 @@ public class SecuredFunction extends ExprFunctionN
}
@Override
- public Expr applyNodeTransform( NodeTransform transform )
+ public Expr applyNodeTransform( Function<Node, Node> transform )
{
return this;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java
index 78aae0b..fdc7339 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/QuadBlock.java
@@ -22,10 +22,10 @@ import static org.apache.jena.atlas.iterator.Iter.apply ;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.function.Consumer;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.io.PrintUtils ;
-import org.apache.jena.atlas.iterator.Action ;
import org.apache.jena.graph.Node ;
import org.apache.jena.shared.PrefixMapping ;
import org.apache.jena.sparql.algebra.op.OpQuadPattern ;
@@ -167,10 +167,10 @@ public class QuadBlock extends ArrayList<Quad> implements Iterable<Quad>, PrintS
{
final String sep = "\n" ;
- final Action<Quad> strAction = new Action<Quad>() {
+ final Consumer<Quad> strAction = new Consumer<Quad>() {
boolean first = true ;
@Override
- public void apply(Quad quad)
+ public void accept(Quad quad)
{
if ( ! first )
out.print(sep) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java
index 9ece0c9..c35cf6c 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/SDB_QC.java
@@ -23,10 +23,8 @@ import static org.apache.jena.atlas.iterator.Iter.* ;
import java.sql.SQLException;
import java.util.List;
import java.util.Set;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.jena.atlas.iterator.Transform;
import org.apache.jena.query.Query ;
import org.apache.jena.query.SortCondition ;
import org.apache.jena.sdb.SDB ;
@@ -102,7 +100,7 @@ public class SDB_QC
// If part query, need all variables.
// Project variables
- List<Var> vars = toList(map(query.getResultVars().iterator(), StringToVar)) ;
+ List<Var> vars = toList(map(query.getResultVars().iterator(), Var::alloc)) ;
if ( vars.size() == 0 )
{
@@ -114,7 +112,7 @@ public class SDB_QC
q2.setQueryPattern(query.getQueryPattern()) ;
q2.setQuerySelectType() ;
q2.setQueryResultStar(true) ;
- vars = toList(map(q2.getResultVars().iterator(), StringToVar)) ;
+ vars = toList(map(q2.getResultVars().iterator(), Var::alloc)) ;
}
@@ -146,12 +144,4 @@ public class SDB_QC
{
return ( x instanceof OpSQL ) ;
}
-
-
- private static Transform<String, Var> StringToVar = new Transform<String, Var>(){
- @Override
- public Var convert(String varName)
- {
- return Var.alloc(varName) ;
- }} ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java
index 608cb6b..e2bfda6 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/compiler/TransformSDB.java
@@ -113,12 +113,12 @@ public class TransformSDB extends TransformCopy
// Find optional-on-left
Set<ScopeEntry> scopes2 = toSet(filter(scopes.iterator(), ScopeEntry.OptionalFilter)) ;
- Set<Var> leftOptVars = toSet(map(scopes2.iterator(), ScopeEntry.ToVar)) ; // Vars from left optionals.
+ Set<Var> leftOptVars = toSet(map(scopes2.iterator(), ScopeEntry::getVar)) ; // Vars from left optionals.
if ( false )
{
Iter<ScopeEntry> iter = Iter.iter(scopes) ;
- Set<Var> leftOptVars_ = iter.filter(ScopeEntry.OptionalFilter).map(ScopeEntry.ToVar).toSet() ;
+ Set<Var> leftOptVars_ = iter.filter(ScopeEntry.OptionalFilter).map(ScopeEntry::getVar).toSet() ;
}
// Find optional-on-right (easier - it's all variables)
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java b/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java
index b9b1d78..0384e85 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeEntry.java
@@ -18,9 +18,9 @@
package org.apache.jena.sdb.core;
-import org.apache.jena.atlas.iterator.Action ;
-import org.apache.jena.atlas.iterator.Filter ;
-import org.apache.jena.atlas.iterator.Transform ;
+import java.util.function.Consumer;
+import java.util.function.Predicate;
+
import org.apache.jena.sdb.core.sqlexpr.SqlColumn ;
import org.apache.jena.sparql.core.Var ;
@@ -30,27 +30,9 @@ public class ScopeEntry
SqlColumn column;
ScopeStatus status ;
- public static Filter<ScopeEntry> OptionalFilter = new Filter<ScopeEntry>()
- {
- @Override
- public boolean accept(ScopeEntry item)
- { return item.getStatus() == ScopeStatus.OPTIONAL ; }
- } ;
-
- public static Transform<ScopeEntry, Var> ToVar = new Transform<ScopeEntry, Var>()
- {
- @Override
- public Var convert(ScopeEntry item)
- { return item.getVar() ; }
- } ;
+ public static Predicate<ScopeEntry> OptionalFilter = item -> item.getStatus() == ScopeStatus.OPTIONAL;
- public static Action<ScopeEntry> SetOpt = new Action<ScopeEntry>()
- {
- @Override
- public void apply(ScopeEntry item)
- { item.setStatus(ScopeStatus.OPTIONAL) ; }
- } ;
-
+ public static Consumer<ScopeEntry> SetOpt = item -> item.setStatus(ScopeStatus.OPTIONAL) ;
public ScopeEntry(Var var, SqlColumn column)
{ this(var, column, ScopeStatus.FIXED) ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java b/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java
index bc51291..2a4706a 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/core/ScopeRename.java
@@ -22,8 +22,6 @@ import java.util.HashMap ;
import java.util.HashSet ;
import java.util.Map ;
import java.util.Set ;
-
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.sdb.core.sqlexpr.SqlColumn ;
import org.apache.jena.sparql.core.Var ;
import org.slf4j.Logger ;
@@ -114,23 +112,4 @@ public class ScopeRename implements Scope
{
return frame + " " + scope ;
}
-
- private Transform<ScopeEntry, ScopeEntry> converter =
- new Transform<ScopeEntry, ScopeEntry>(){
- @Override
- public ScopeEntry convert(ScopeEntry entry)
- {
- entry = new ScopeEntry(entry.getVar(), entry.getColumn()) ;
- Var var = entry.getVar() ;
- SqlColumn col = frame.get(var) ;
- if ( col == null )
- {
- log.warn("No alias for variable "+var) ;
- return entry ;
- }
- ScopeEntry entry2 = new ScopeEntry(entry.getVar(), entry.getColumn()) ;
- entry2.setStatus(entry.getStatus()) ;
- //entry.reset(var, col, entry.getStatus()) ;
- return entry2 ;
- }} ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java b/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java
index 489ebf8..69b242c 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/core/sqlnode/GenerateSQLVisitor.java
@@ -20,10 +20,8 @@ package org.apache.jena.sdb.core.sqlnode;
import java.util.List ;
import java.util.Set ;
-
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.sdb.SDB ;
import org.apache.jena.sdb.core.Annotations ;
@@ -281,14 +279,9 @@ public class GenerateSQLVisitor implements SqlNodeVisitor
return join2 ;
}
- static final Transform<SqlColumn, SqlTable> colToTable = new Transform<SqlColumn, SqlTable>() {
- @Override
- public SqlTable convert(SqlColumn item) { return item.getTable() ; }
- } ;
-
private static Set<SqlTable> tables(Set<SqlColumn> cols)
{
- return Iter.toSet(Iter.map(cols.iterator(), colToTable)) ;
+ return Iter.toSet(Iter.map(cols.iterator(), SqlColumn::getTable)) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java b/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java
index ed1e70f..097736a 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/print/ActionPrint.java
@@ -18,11 +18,12 @@
package org.apache.jena.sdb.print;
+import java.util.function.Consumer;
+
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.io.Printable ;
-import org.apache.jena.atlas.iterator.Action ;
-public class ActionPrint <T extends Printable> implements Action<T>
+public class ActionPrint <T extends Printable> implements Consumer<T>
{
private boolean first = true ;
private IndentedWriter out ;
@@ -32,7 +33,7 @@ public class ActionPrint <T extends Printable> implements Action<T>
public ActionPrint(IndentedWriter out) { this(out, " ") ; }
@Override
- public void apply(Printable item)
+ public void accept(Printable item)
{
if ( ! first && sep != null )
out.print(sep) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java
index 751e597..9648f6f 100644
--- a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java
+++ b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStoreDesc.java
@@ -21,10 +21,8 @@ package org.apache.jena.sdb.test.junit;
import java.util.ArrayList ;
import java.util.Collection ;
import java.util.List ;
-
import org.junit.runners.Parameterized.Parameters ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.sdb.StoreDesc ;
import org.apache.jena.sdb.test.SDBTestSetup ;
import org.apache.jena.sdb.util.Pair ;
@@ -32,13 +30,6 @@ import org.apache.jena.sdb.util.Pair ;
//@RunWith(Parameterized.class)
public abstract class ParamAllStoreDesc
{
- // Make into Object[]{String,Store} lists just for JUnit.
- static Transform<Pair<String, StoreDesc>, Object[]> fix = new Transform<Pair<String, StoreDesc>, Object[]>()
- {
- @Override
- public Object[] convert(Pair<String, StoreDesc> item)
- { return new Object[]{item.car(), item.cdr()} ; }
- } ;
// Build once and return the same for parametrized types each time.
// Connections are slow to create.
@@ -48,7 +39,7 @@ public abstract class ParamAllStoreDesc
List<Pair<String, StoreDesc>> x = new ArrayList<Pair<String, StoreDesc>>() ;
x.addAll(StoreList.storeDesc(SDBTestSetup.storeList)) ;
x.addAll(StoreList.storeDesc(SDBTestSetup.storeListSimple)) ;
- data = Iter.iter(x).map(fix).toList() ;
+ data = Iter.iter(x).map(p -> new Object[]{p.car(), p.cdr()}).toList() ;
}
// ----
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java
index 46bb959..4e0a709 100644
--- a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java
+++ b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/ParamAllStores.java
@@ -21,10 +21,8 @@ package org.apache.jena.sdb.test.junit;
import java.util.ArrayList ;
import java.util.Collection ;
import java.util.List ;
-
import org.junit.runners.Parameterized.Parameters ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.sdb.Store ;
import org.apache.jena.sdb.StoreDesc ;
import org.apache.jena.sdb.test.SDBTestSetup ;
@@ -33,13 +31,6 @@ import org.apache.jena.sdb.util.Pair ;
//@RunWith(Parameterized.class)
public abstract class ParamAllStores
{
- // Make into Object[]{String,Store} lists just for JUnit.
- static Transform<Pair<String, StoreDesc>, Object[]> fix = new Transform<Pair<String, StoreDesc>, Object[]>()
- {
- @Override
- public Object[] convert(Pair<String, StoreDesc> item)
- { return new Object[]{item.car(), item.cdr()} ; }
- } ;
// Build once and return the same for parametrized types each time.
// Connections are slow to create.
@@ -49,7 +40,7 @@ public abstract class ParamAllStores
List<Pair<String, StoreDesc>> x = new ArrayList<Pair<String, StoreDesc>>() ;
x.addAll(StoreList.stores(SDBTestSetup.storeList)) ;
x.addAll(StoreList.stores(SDBTestSetup.storeListSimple)) ;
- data = Iter.iter(x).map(fix).toList() ;
+ data = Iter.iter(x).map(p -> new Object[]{p.car(), p.cdr()}).toList() ;
}
// ----
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java
index 8739689..af5f6c8 100644
--- a/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java
+++ b/jena-sdb/src/test/java/org/apache/jena/sdb/test/junit/StoreList.java
@@ -22,9 +22,9 @@ import static org.apache.jena.atlas.lib.StrUtils.strjoinNL ;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.query.* ;
import org.apache.jena.rdf.model.Model ;
import org.apache.jena.rdf.model.Property ;
@@ -57,24 +57,9 @@ public class StoreList
"}") ;
// Not Java's finest hour ...
- static Transform<Pair<String, String>, Pair<String, StoreDesc>> t1 = new Transform<Pair<String, String>, Pair<String, StoreDesc>>()
- {
- @Override
- public Pair<String, StoreDesc> convert(Pair<String, String> pair)
- {
- return new Pair<String, StoreDesc>(pair.car(), StoreDesc.read(pair.cdr())) ;
- }
- } ;
+ static Function<Pair<String, String>, Pair<String, StoreDesc>> t1 = p -> new Pair<String, StoreDesc>(p.car(), StoreDesc.read(p.cdr()));
- static Transform<Pair<String, StoreDesc>, Pair<String, Store>> t2 = new Transform<Pair<String, StoreDesc>, Pair<String, Store>>()
- {
- @Override
- public Pair<String, Store> convert(Pair<String, StoreDesc> pair)
- {
- Store store = testStore(pair.cdr()) ;
- return new Pair<String, Store>(pair.car(), store) ;
- }
- } ;
+ static Function<Pair<String, StoreDesc>, Pair<String, Store>> t2 = p -> new Pair<String, Store>(p.car(), testStore(p.cdr()));
public static Store testStore(StoreDesc desc)
{
[37/50] [abbrv] jena git commit: Remove dead code.
Posted by cl...@apache.org.
Remove dead code.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/473c3e44
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/473c3e44
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/473c3e44
Branch: refs/heads/add-contract-tests
Commit: 473c3e447da5e6104f9d6d9f7eccba6a75fa3f6d
Parents: 806aafc
Author: Andy Seaborne <an...@apache.org>
Authored: Thu May 7 17:52:37 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu May 7 17:52:37 2015 +0100
----------------------------------------------------------------------
.../engine/iterator/QueryIterTriplePattern.java | 18 +-----------------
.../apache/jena/sparql/path/eval/PathEngine1.java | 2 --
.../jena/sparql/path/eval/PathEngineSPARQL.java | 2 --
.../jena/riot/writer/TestRiotWriterDataset.java | 5 -----
.../store/bulkloader2/CmdNodeTableBuilder.java | 3 ---
.../jena/tdb/index/bplustree/TestBPlusTree.java | 2 +-
6 files changed, 2 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/473c3e44/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java
index 0b9c14e..f805300 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterTriplePattern.java
@@ -18,8 +18,6 @@
package org.apache.jena.sparql.engine.iterator;
-import java.util.List ;
-
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -31,9 +29,7 @@ import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.engine.binding.BindingFactory ;
import org.apache.jena.sparql.engine.binding.BindingMap ;
import org.apache.jena.util.iterator.ClosableIterator ;
-import org.apache.jena.util.iterator.ExtendedIterator ;
import org.apache.jena.util.iterator.NiceIterator ;
-import org.apache.jena.util.iterator.WrappedIterator ;
public class QueryIterTriplePattern extends QueryIterRepeatApply
{
@@ -76,19 +72,7 @@ public class QueryIterTriplePattern extends QueryIterRepeatApply
Node p2 = tripleNode(p) ;
Node o2 = tripleNode(o) ;
Graph graph = cxt.getActiveGraph() ;
-
- ExtendedIterator<Triple> iter = graph.find(s2, p2, o2) ;
-
- if ( false )
- {
- // Materialize the results now. Debugging only.
- List<Triple> x = iter.toList() ;
- this.graphIter = WrappedIterator.create(x.iterator()) ;
- iter.close();
- }
- else
- // Stream.
- this.graphIter = iter ;
+ this.graphIter = graph.find(s2, p2, o2) ;
}
private static Node tripleNode(Node node)
http://git-wip-us.apache.org/repos/asf/jena/blob/473c3e44/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine1.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine1.java b/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine1.java
index 476af77..9d449a1 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine1.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine1.java
@@ -198,8 +198,6 @@ final class PathEngine1 extends PathEngine
}
private void ALP1(boolean forwardMode, int stepCount, int maxStepCount, Node node, Path path, Collection<Node> visited) {
- if ( false )
- System.out.printf("ALP1 node=%s\n visited=%s\n output=%s\n", node, visited) ;
if ( maxStepCount >= 0 && stepCount > maxStepCount )
return ;
if ( visited.contains(node) )
http://git-wip-us.apache.org/repos/asf/jena/blob/473c3e44/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngineSPARQL.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngineSPARQL.java b/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngineSPARQL.java
index b1d5018..187932f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngineSPARQL.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngineSPARQL.java
@@ -115,8 +115,6 @@ public class PathEngineSPARQL extends PathEngine
// TODO ?? switch to PathEngine1 for the sub-step as we only need uniques.
private void ALP_1(boolean forwardMode, int stepCount, int maxStepCount, Node node, Path path, Collection<Node> visited) {
- if ( false )
- System.out.printf("ALP1 node=%s\n visited=%s\n output=%s\n", node, visited) ;
if ( maxStepCount >= 0 && stepCount > maxStepCount )
return ;
if ( visited.contains(node) )
http://git-wip-us.apache.org/repos/asf/jena/blob/473c3e44/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java b/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java
index 12ceca8..a46d47e 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/writer/TestRiotWriterDataset.java
@@ -97,11 +97,6 @@ public class TestRiotWriterDataset extends AbstractWriterTest
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()) ;
String s = StrUtils.fromUTF8bytes(out.toByteArray()) ;
- if (false) {
- System.out.println(format.toString());
- System.out.println(s);
- System.out.println();
- }
Dataset ds2 = DatasetFactory.createMem() ;
try {
RDFDataMgr.read(ds2, in, lang) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/473c3e44/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java
index 9662c03..5cc0d0e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java
@@ -120,9 +120,6 @@ public class CmdNodeTableBuilder extends CmdGeneral
datafiles = Arrays.asList("-") ;
// ---- Checking.
-// if ( false )
-// SetupTDB.makeNodeTable(location, locationString, 0, outputFile, 0) ;
-
for( String filename : datafiles)
{
Lang lang = RDFLanguages.filenameToLang(filename, RDFLanguages.NQUADS) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/473c3e44/jena-tdb/src/test/java/org/apache/jena/tdb/index/bplustree/TestBPlusTree.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/index/bplustree/TestBPlusTree.java b/jena-tdb/src/test/java/org/apache/jena/tdb/index/bplustree/TestBPlusTree.java
index c46c6a0..17bb72a 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/index/bplustree/TestBPlusTree.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/index/bplustree/TestBPlusTree.java
@@ -50,7 +50,7 @@ public class TestBPlusTree extends AbstractTestRangeIndex
BPlusTree bpt = BPlusTree.makeMem(order, minRecords, RecordLib.TestRecordLength, 0) ;
if ( false )
{
- // Breaks with CheckingTree = true ; because they deep reads the tree.
+ // Breaks with CheckingTree = true ; because of deep reads into the tree.
BPlusTreeParams.CheckingNode = true ;
BPlusTreeParams.CheckingTree = false ;
bpt = BPlusTree.addTracking(bpt) ;
[17/50] [abbrv] jena git commit: Use StandardCharsets where possible.
Posted by cl...@apache.org.
Use StandardCharsets where possible.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/80bb3ed8
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/80bb3ed8
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/80bb3ed8
Branch: refs/heads/add-contract-tests
Commit: 80bb3ed864c113ed5eaf747361adff9682161c5c
Parents: 461cf36
Author: Andy Seaborne <an...@apache.org>
Authored: Mon May 4 10:12:15 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon May 4 10:12:15 2015 +0100
----------------------------------------------------------------------
.../apache/jena/riot/lang/TestPipedRDFIterators.java | 3 ++-
.../org/apache/jena/riot/writer/TestTurtleWriter.java | 1 -
.../main/java/org/apache/jena/atlas/lib/Chars.java | 14 +++-----------
jena-sdb/src/test/java/sdb/test/TestStringBase.java | 3 ---
4 files changed, 5 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/80bb3ed8/jena-arq/src/test/java/org/apache/jena/riot/lang/TestPipedRDFIterators.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestPipedRDFIterators.java b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestPipedRDFIterators.java
index d94fd9e..aaff63d 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/lang/TestPipedRDFIterators.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/lang/TestPipedRDFIterators.java
@@ -20,6 +20,7 @@ package org.apache.jena.riot.lang;
import java.io.ByteArrayInputStream ;
import java.nio.charset.Charset ;
+import java.nio.charset.StandardCharsets ;
import java.util.concurrent.* ;
import org.apache.jena.graph.Triple ;
@@ -392,7 +393,7 @@ public class TestPipedRDFIterators {
@Override
public void run() {
- Charset utf8 = Charset.forName("utf8");
+ Charset utf8 = StandardCharsets.UTF_8 ;
ByteArrayInputStream input = new ByteArrayInputStream(data.getBytes(utf8));
try {
RDFDataMgr.parse(out, input, null, RDFLanguages.TURTLE, null);
http://git-wip-us.apache.org/repos/asf/jena/blob/80bb3ed8/jena-arq/src/test/java/org/apache/jena/riot/writer/TestTurtleWriter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/writer/TestTurtleWriter.java b/jena-arq/src/test/java/org/apache/jena/riot/writer/TestTurtleWriter.java
index 3d2c65f..1bb0567 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/writer/TestTurtleWriter.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/writer/TestTurtleWriter.java
@@ -94,7 +94,6 @@ public class TestTurtleWriter {
RDFDataMgr.write(output, m, Lang.TURTLE);
ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray());
- //System.out.println(new String(output.toByteArray(), Charset.forName("utf-8")));
Model m2 = ModelFactory.createDefaultModel();
RDFDataMgr.read(m2, input, Lang.TURTLE);
Assert.assertTrue(m2.size() > 0);
http://git-wip-us.apache.org/repos/asf/jena/blob/80bb3ed8/jena-base/src/main/java/org/apache/jena/atlas/lib/Chars.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Chars.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Chars.java
index e9d4f55..d8a6dbc 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Chars.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Chars.java
@@ -18,10 +18,7 @@
package org.apache.jena.atlas.lib;
-import java.nio.charset.Charset ;
-import java.nio.charset.CharsetDecoder ;
-import java.nio.charset.CharsetEncoder ;
-import java.nio.charset.CodingErrorAction ;
+import java.nio.charset.* ;
public class Chars
{
@@ -48,13 +45,8 @@ public class Chars
// 'o' , 'p' , 'q' , 'r' , 's' , 't' ,
// 'u' , 'v' , 'w' , 'x' , 'y' , 'z'
- /** Java name for UTF-8 encoding */
- private static final String encodingUTF8 = "utf-8" ;
- /** Java name for ASCII encoding */
- private static final String encodingASCII = "ascii" ;
-
- public static final Charset charsetUTF8 = Charset.forName(encodingUTF8) ;
- public static final Charset charsetASCII = Charset.forName(encodingASCII) ;
+ public static final Charset charsetUTF8 = StandardCharsets.UTF_8 ;
+ public static final Charset charsetASCII = StandardCharsets.US_ASCII ;
// Pools for encoders/decoder.
// Better? use a ThreadLocal.
http://git-wip-us.apache.org/repos/asf/jena/blob/80bb3ed8/jena-sdb/src/test/java/sdb/test/TestStringBase.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/test/java/sdb/test/TestStringBase.java b/jena-sdb/src/test/java/sdb/test/TestStringBase.java
index 2cb693e..acd5f12 100644
--- a/jena-sdb/src/test/java/sdb/test/TestStringBase.java
+++ b/jena-sdb/src/test/java/sdb/test/TestStringBase.java
@@ -39,9 +39,6 @@ public class TestStringBase extends TestDB
private String baseString ;
- //static Charset csUTF8 = Charset.forName("UTF-8") ;
-
-
public TestStringBase(String testLabel, String baseString,
Connection jdbc, Params params, boolean verbose)
{
[25/50] [abbrv] jena git commit: Using Java 8 types in o.a.j.atlas
Posted by cl...@apache.org.
Using Java 8 types in o.a.j.atlas
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/6b475345
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/6b475345
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/6b475345
Branch: refs/heads/add-contract-tests
Commit: 6b4753453a3be174aecc07ce9caf659e916c04f7
Parents: 2257377
Author: ajs6f <aj...@virginia.edu>
Authored: Mon May 4 12:30:38 2015 -0400
Committer: ajs6f <aj...@virginia.edu>
Committed: Mon May 4 15:16:16 2015 -0400
----------------------------------------------------------------------
.../org/apache/jena/atlas/csv/CSVParser.java | 9 +-
.../java/org/apache/jena/riot/other/GLib.java | 58 ++----
.../org/apache/jena/riot/out/JsonLDWriter.java | 8 +-
.../process/normalize/CanonicalizeLiteral.java | 6 +-
.../apache/jena/riot/system/PrefixMapBase.java | 25 +--
.../org/apache/jena/riot/thrift/BinRDF.java | 12 +-
.../jena/sparql/core/DatasetGraphBase.java | 12 +-
.../jena/sparql/core/DatasetGraphQuad.java | 13 +-
.../org/apache/jena/sparql/engine/Rename.java | 24 +--
.../ReorderTransformationSubstitution.java | 12 +-
.../org/apache/jena/sparql/expr/E_Exists.java | 6 +-
.../apache/jena/sparql/expr/E_NotExists.java | 6 +-
.../java/org/apache/jena/sparql/expr/Expr.java | 5 +-
.../apache/jena/sparql/expr/ExprAggregator.java | 8 +-
.../apache/jena/sparql/expr/ExprFunction0.java | 6 +-
.../apache/jena/sparql/expr/ExprFunction1.java | 6 +-
.../apache/jena/sparql/expr/ExprFunction2.java | 6 +-
.../apache/jena/sparql/expr/ExprFunction3.java | 6 +-
.../apache/jena/sparql/expr/ExprFunctionN.java | 5 +-
.../org/apache/jena/sparql/expr/ExprList.java | 5 +-
.../org/apache/jena/sparql/expr/ExprNode.java | 5 +-
.../org/apache/jena/sparql/expr/ExprVar.java | 7 +-
.../org/apache/jena/sparql/expr/NodeValue.java | 6 +-
.../jena/sparql/expr/aggregate/Aggregator.java | 5 +-
.../sparql/expr/aggregate/AggregatorBase.java | 4 +-
.../apache/jena/sparql/graph/NodeTransform.java | 12 +-
.../jena/sparql/graph/NodeTransformLib.java | 48 ++---
.../jena/sparql/graph/NodeTransformOp.java | 15 +-
.../modify/NodeTransformBNodesToVariables.java | 6 +-
.../apache/jena/sparql/modify/TemplateLib.java | 31 ++-
.../jena/sparql/modify/UpdateEngineWorker.java | 4 +-
.../org/apache/jena/sparql/path/PathLib.java | 4 +-
.../jena/sparql/path/eval/PathEngine.java | 25 +--
.../jena/sparql/path/eval/PathEvaluator.java | 6 +-
.../jena/sparql/pfunction/library/strSplit.java | 12 +-
.../apache/jena/sparql/resultset/CSVInput.java | 6 +-
.../jena/sparql/resultset/ResultSetCompare.java | 12 +-
.../org/apache/jena/sparql/util/ModelUtils.java | 19 +-
.../jena/sparql/util/graph/GraphList.java | 12 +-
.../jena/riot/process/TestNormalization.java | 4 +-
.../jena/riot/thrift/TestStreamRDFThrift.java | 13 +-
.../org/apache/jena/atlas/iterator/Action.java | 9 +-
.../apache/jena/atlas/iterator/ActionCount.java | 6 +-
.../jena/atlas/iterator/ActionNothing.java | 26 ---
.../org/apache/jena/atlas/iterator/Filter.java | 8 +-
.../atlas/iterator/FilterDistinctAdjacent.java | 8 +-
.../jena/atlas/iterator/FilterOutNulls.java | 32 ---
.../apache/jena/atlas/iterator/FilterStack.java | 16 +-
.../jena/atlas/iterator/FilterUnique.java | 12 +-
.../org/apache/jena/atlas/iterator/Iter.java | 193 +++++--------------
.../jena/atlas/iterator/IteratorArray.java | 6 +
.../apache/jena/atlas/iterator/MapUtils.java | 36 ----
.../apache/jena/atlas/iterator/Transform.java | 8 +-
.../apache/jena/atlas/lib/ActionKeyValue.java | 9 +-
.../java/org/apache/jena/atlas/lib/Cache.java | 3 +-
.../org/apache/jena/atlas/lib/CacheSet.java | 4 +-
.../org/apache/jena/atlas/lib/Closeable.java | 2 +-
.../apache/jena/atlas/lib/CollectionUtils.java | 26 +--
.../java/org/apache/jena/atlas/lib/Lib.java | 13 +-
.../org/apache/jena/atlas/lib/ListUtils.java | 7 +-
.../org/apache/jena/atlas/lib/MapUtils.java | 45 -----
.../java/org/apache/jena/atlas/lib/Problem.java | 25 ---
.../org/apache/jena/atlas/lib/SetUtils.java | 26 +--
.../java/org/apache/jena/atlas/lib/Tuple.java | 22 +--
.../org/apache/jena/atlas/lib/cache/Cache0.java | 4 +-
.../org/apache/jena/atlas/lib/cache/Cache1.java | 8 +-
.../apache/jena/atlas/lib/cache/CacheGuava.java | 9 +-
.../jena/atlas/lib/cache/CacheSetImpl.java | 16 +-
.../jena/atlas/lib/cache/CacheSetSync.java | 5 +-
.../jena/atlas/lib/cache/CacheSetWrapper.java | 5 +-
.../jena/atlas/lib/cache/CacheSimple.java | 13 +-
.../jena/atlas/lib/cache/CacheWrapper.java | 4 +-
.../java/org/apache/jena/base/Closeable.java | 27 ---
.../apache/jena/atlas/iterator/TestIter.java | 134 +------------
.../jena/fuseki/servlets/SPARQL_Protocol.java | 12 +-
.../jena/fuseki/servlets/SPARQL_Protocol.java | 10 +-
.../query/rewriter/SecuredFunction.java | 4 +-
.../org/apache/jena/sdb/compiler/QuadBlock.java | 6 +-
.../org/apache/jena/sdb/compiler/SDB_QC.java | 14 +-
.../apache/jena/sdb/compiler/TransformSDB.java | 4 +-
.../org/apache/jena/sdb/core/ScopeEntry.java | 28 +--
.../org/apache/jena/sdb/core/ScopeRename.java | 21 --
.../sdb/core/sqlnode/GenerateSQLVisitor.java | 9 +-
.../org/apache/jena/sdb/print/ActionPrint.java | 7 +-
.../jena/sdb/test/junit/ParamAllStoreDesc.java | 11 +-
.../jena/sdb/test/junit/ParamAllStores.java | 11 +-
.../apache/jena/sdb/test/junit/StoreList.java | 21 +-
.../spatial/SpatialDocProducerTriples.java | 19 --
.../jena/tdb/base/block/BlockMgrCache.java | 6 +-
.../tdb/index/bplustree/BPlusTreeRewriter.java | 10 +-
.../java/org/apache/jena/tdb/lib/NodeLib.java | 9 +-
.../java/org/apache/jena/tdb/lib/TupleLib.java | 34 +---
.../apache/jena/tdb/solver/OpExecutorTDB1.java | 11 +-
.../java/org/apache/jena/tdb/solver/QC2.java | 9 +-
.../org/apache/jena/tdb/solver/SolverLib.java | 52 ++---
.../tdb/solver/StageGeneratorDirectTDB.java | 9 +-
.../apache/jena/tdb/solver/StageMatchTuple.java | 34 +---
.../tdb/solver/stats/StatsCollectorBase.java | 5 +-
.../apache/jena/tdb/store/DatasetGraphTDB.java | 13 +-
.../org/apache/jena/tdb/store/GraphTDB.java | 19 +-
.../org/apache/jena/tdb/store/QuadTable.java | 9 -
.../org/apache/jena/tdb/store/TripleTable.java | 9 -
.../tdb/store/nodetable/NodeTableNative.java | 35 +---
.../tdb/store/tupletable/TupleIndexRecord.java | 18 +-
.../apache/jena/tdb/base/record/RecordLib.java | 9 +-
.../apache/jena/tdb/store/TestQuadFilter.java | 20 +-
106 files changed, 455 insertions(+), 1294 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/atlas/csv/CSVParser.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/csv/CSVParser.java b/jena-arq/src/main/java/org/apache/jena/atlas/csv/CSVParser.java
index 83613ae..e1afc2f 100644
--- a/jena-arq/src/main/java/org/apache/jena/atlas/csv/CSVParser.java
+++ b/jena-arq/src/main/java/org/apache/jena/atlas/csv/CSVParser.java
@@ -23,12 +23,12 @@ import java.io.InputStream ;
import java.io.Reader ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.commons.csv.CSVFormat ;
import org.apache.commons.csv.CSVRecord ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
/**
* Wrapper for Commons CSV parser.
@@ -63,12 +63,7 @@ public class CSVParser implements Iterable<List<String>>
}
}
- private static Transform<CSVRecord, List<String>> transform = new Transform<CSVRecord, List<String>>() {
- @Override
- public List<String> convert(CSVRecord record) {
- return recordToList(record) ;
- }
- } ;
+ private static Function<CSVRecord, List<String>> transform = rec -> recordToList(rec) ;
@Override
public Iterator<List<String>> iterator() {
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/riot/other/GLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/other/GLib.java b/jena-arq/src/main/java/org/apache/jena/riot/other/GLib.java
index 6a6958a..db14724 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/other/GLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/other/GLib.java
@@ -19,9 +19,7 @@
package org.apache.jena.riot.other;
import java.util.Iterator ;
-
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -42,89 +40,55 @@ public class GLib
public static Iterator<Node> listSubjects(Graph graph)
{
ExtendedIterator<Triple> iter = graph.find(Node.ANY, Node.ANY, Node.ANY) ;
- return Iter.iter(iter).map(projectTripleSubject).distinct() ;
+ return Iter.iter(iter).map(Triple::getSubject).distinct() ;
}
/** List the predicates in a graph (no duplicates) */
public static Iterator<Node> listPredicates(Graph graph)
{
ExtendedIterator<Triple> iter = graph.find(Node.ANY, Node.ANY, Node.ANY) ;
- return Iter.iter(iter).map(projectTriplePredicate).distinct() ;
+ return Iter.iter(iter).map(Triple::getPredicate).distinct() ;
}
/** List the objects in a graph (no duplicates) */
public static Iterator<Node> listObjects(Graph graph)
{
ExtendedIterator<Triple> iter = graph.find(Node.ANY, Node.ANY, Node.ANY) ;
- return Iter.iter(iter).map(projectTripleObject).distinct() ;
+ return Iter.iter(iter).map(Triple::getObject).distinct() ;
}
-
- private static Transform<Quad, Triple> transformQuad2Triple = new Transform<Quad, Triple> () {
- @Override
- public Triple convert(Quad quad) { return quad.asTriple() ; }
- } ;
/** Project quads to triples */
public static Iter<Triple> quads2triples(Iterator<Quad> iter)
{
- return Iter.iter(iter).map(transformQuad2Triple) ;
+ return Iter.iter(iter).map(Quad::asTriple) ;
}
/** Project quad to graphname */
public static Iterator<Node> quad2graphName(Iterator<Quad> iter)
- { return Iter.map(iter, projectQuadGraphName) ; }
+ { return Iter.map(iter, Quad::getGraph) ; }
/** Project quad to graphname */
public static Iterator<Node> quad2subject(Iterator<Quad> iter)
- { return Iter.map(iter, projectQuadSubject) ; }
+ { return Iter.map(iter, Quad::getSubject) ; }
/** Project quad to predicate */
public static Iterator<Node> quad2predicate(Iterator<Quad> iter)
- { return Iter.map(iter, projectQuadPredicate) ; }
+ { return Iter.map(iter, Quad::getPredicate) ; }
/** Project quad to object */
public static Iterator<Node> quad2object(Iterator<Quad> iter)
- { return Iter.map(iter, projectQuadObject) ; }
+ { return Iter.map(iter, Quad::getObject) ; }
/** Project triple to subject */
public static Iterator<Node> triple2subject(Iterator<Triple> iter)
- { return Iter.map(iter, projectTripleSubject) ; }
+ { return Iter.map(iter, Triple::getSubject) ; }
/** Project triple to predicate */
public static Iterator<Node> triple2predicate(Iterator<Triple> iter)
- { return Iter.map(iter, projectTriplePredicate) ; }
+ { return Iter.map(iter, Triple::getPredicate) ; }
/** Project triple to object */
public static Iterator<Node> triple2object(Iterator<Triple> iter)
- { return Iter.map(iter, projectTripleObject) ; }
-
- /** Transform quad to graphname */
- public static Transform<Quad, Node> projectQuadGraphName = new Transform<Quad, Node>() {
- @Override public Node convert(Quad quad) { return quad.getGraph() ; }
- } ;
- /** Transform quad to subject */
- public static Transform<Quad, Node> projectQuadSubject = new Transform<Quad, Node>() {
- @Override public Node convert(Quad quad) { return quad.getSubject() ; }
- } ;
- /** Transform quad to predicate */
- public static Transform<Quad, Node> projectQuadPredicate = new Transform<Quad, Node>() {
- @Override public Node convert(Quad quad) { return quad.getPredicate() ; }
- } ;
- /** Transform quad to object */
- public static Transform<Quad, Node> projectQuadObject = new Transform<Quad, Node>() {
- @Override public Node convert(Quad quad) { return quad.getObject() ; }
- } ;
- /** Transform triple to subject */
- public static Transform<Triple, Node> projectTripleSubject = new Transform<Triple, Node>() {
- @Override public Node convert(Triple triple) { return triple.getSubject() ; }
- } ;
- /** Transform triple to predicate */
- public static Transform<Triple, Node> projectTriplePredicate = new Transform<Triple, Node>() {
- @Override public Node convert(Triple triple) { return triple.getPredicate() ; }
- } ;
- /** Transform triple to object */
- public static Transform<Triple, Node> projectTripleObject = new Transform<Triple, Node>() {
- @Override public Node convert(Triple triple) { return triple.getObject() ; }
- } ;
+ { return Iter.map(iter, Triple::getObject) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java b/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
index dbd8fff..c7530a0 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
@@ -23,10 +23,10 @@ import java.io.OutputStream ;
import java.io.OutputStreamWriter ;
import java.io.Writer ;
import java.util.* ;
-import java.util.Map.Entry ;
+import java.util.Map.Entry;
+import java.util.function.Consumer;
import org.apache.jena.atlas.io.IO ;
-import org.apache.jena.atlas.iterator.Action ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Chars ;
import org.apache.jena.graph.Graph ;
@@ -123,9 +123,9 @@ public class JsonLDWriter extends WriterDatasetRIOTBase
private static void addProperties(final Map<String, Object> ctx, Graph graph) {
// Add some properties directly so it becomes "localname": ....
final Set<String> dups = new HashSet<>() ;
- Action<Triple> x = new Action<Triple>() {
+ Consumer<Triple> x = new Consumer<Triple>() {
@Override
- public void apply(Triple item) {
+ public void accept(Triple item) {
Node p = item.getPredicate() ;
Node o = item.getObject() ;
if ( p.equals(RDF.type.asNode()) )
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/CanonicalizeLiteral.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/CanonicalizeLiteral.java b/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/CanonicalizeLiteral.java
index c7a11ad..3f8490e 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/CanonicalizeLiteral.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/process/normalize/CanonicalizeLiteral.java
@@ -20,17 +20,17 @@ package org.apache.jena.riot.process.normalize;
import java.util.HashMap ;
import java.util.Map ;
+import java.util.function.Function;
import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.datatypes.xsd.XSDDatatype ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.riot.web.LangTag ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.util.NodeUtils ;
import org.apache.jena.vocabulary.RDF ;
-public class CanonicalizeLiteral implements NodeTransform
+public class CanonicalizeLiteral implements Function<Node, Node>
{
private static final CanonicalizeLiteral singleton = new CanonicalizeLiteral();
@@ -39,7 +39,7 @@ public class CanonicalizeLiteral implements NodeTransform
private CanonicalizeLiteral() {}
@Override
- public Node convert(Node node) {
+ public Node apply(Node node) {
if ( ! node.isLiteral() )
return node ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java
index 4190e7c..10dc6de 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapBase.java
@@ -18,12 +18,11 @@
package org.apache.jena.riot.system;
+import static java.util.stream.Collectors.toMap;
+
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
-
-import org.apache.jena.atlas.iterator.Iter;
-import org.apache.jena.atlas.lib.ActionKeyValue;
import org.apache.jena.atlas.lib.Pair;
import org.apache.jena.iri.IRI;
import org.apache.jena.iri.IRIFactory;
@@ -53,16 +52,8 @@ public abstract class PrefixMapBase implements PrefixMap {
@Override
public Map<String, String> getMappingCopyStr() {
- final Map<String, String> smap = new HashMap<>();
- ActionKeyValue<String, IRI> action = new ActionKeyValue<String, IRI>() {
- @Override
- public void apply(String key, IRI value) {
- String str = value.toString();
- smap.put(key, str);
- }
- };
- Iter.apply(getMapping(), action);
- return smap;
+ return getMapping().entrySet().stream()
+ .collect(toMap(Map.Entry::getKey, v -> v.getValue().toString()));
}
@Override
@@ -72,9 +63,7 @@ public abstract class PrefixMapBase implements PrefixMap {
@Override
public void putAll(PrefixMap pmap) {
- for (Map.Entry<String, IRI> e : pmap.getMapping().entrySet()) {
- this.add(e.getKey(), e.getValue());
- }
+ pmap.getMapping().forEach(this::add);
}
@Override
@@ -84,9 +73,7 @@ public abstract class PrefixMapBase implements PrefixMap {
@Override
public void putAll(Map<String, String> mapping) {
- for (Map.Entry<String, String> e : mapping.entrySet()) {
- this.add(e.getKey(), e.getValue());
- }
+ mapping.forEach(this::add);
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/riot/thrift/BinRDF.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/thrift/BinRDF.java b/jena-arq/src/main/java/org/apache/jena/riot/thrift/BinRDF.java
index 29ad8d9..96e4ea6 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/thrift/BinRDF.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/thrift/BinRDF.java
@@ -22,10 +22,10 @@ import java.io.BufferedOutputStream ;
import java.io.InputStream ;
import java.io.OutputStream ;
import java.util.List ;
+import java.util.function.Consumer;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.iterator.Action ;
import org.apache.jena.query.ResultSet ;
import org.apache.jena.riot.system.PrefixMap ;
import org.apache.jena.riot.system.PrefixMapFactory ;
@@ -168,11 +168,7 @@ public class BinRDF {
// ** Java7 support
public static void applyVisitor(TProtocol protocol, final VisitorStreamRowTRDF visitor) {
- Action<RDF_StreamRow> action = new Action<RDF_StreamRow>() {
- @Override
- public void apply(RDF_StreamRow z) { TRDF.visit(z, visitor) ; }
- } ;
- apply(protocol, action) ;
+ apply(protocol, z -> TRDF.visit(z, visitor)) ;
}
/**
@@ -180,7 +176,7 @@ public class BinRDF {
* @param protocol TProtocol
* @param action Code to act on the row.
*/
- public static void apply(TProtocol protocol, Action<RDF_StreamRow> action) {
+ public static void apply(TProtocol protocol, Consumer<RDF_StreamRow> action) {
RDF_StreamRow row = new RDF_StreamRow() ;
while(protocol.getTransport().isOpen()) {
try { row.read(protocol) ; }
@@ -189,7 +185,7 @@ public class BinRDF {
break ;
}
catch (TException ex) { TRDF.exception(ex) ; }
- action.apply(row) ;
+ action.accept(row) ;
row.clear() ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
index 196ecf8..bd87c82 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphBase.java
@@ -19,10 +19,8 @@
package org.apache.jena.sparql.core;
import java.util.Iterator ;
-
import org.apache.jena.atlas.io.IndentedLineBuffer ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -189,15 +187,7 @@ abstract public class DatasetGraphBase implements DatasetGraph
protected static Iter<Quad> triples2quads(final Node graphNode, Iterator<Triple> iter)
{
- Transform<Triple, Quad> transformNamedGraph = new Transform<Triple, Quad> () {
- @Override
- public Quad convert(Triple triple)
- {
- return new Quad(graphNode, triple) ;
- }
- } ;
-
- return Iter.iter(iter).map(transformNamedGraph) ;
+ return Iter.iter(iter).map(t -> new Quad(graphNode, t)) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphQuad.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphQuad.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphQuad.java
index 5b28c90..d685a71 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphQuad.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphQuad.java
@@ -19,28 +19,19 @@
package org.apache.jena.sparql.core;
import java.util.Iterator ;
-
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.graph.Node ;
/** A DatasetGraph base class for pure quad-centric storage.
*/
public abstract class DatasetGraphQuad extends DatasetGraphBase
-{
- static Transform<Quad, Node> projectGraphName = new Transform<Quad, Node>() {
- @Override
- public Node convert(Quad quad)
- {
- return quad.getGraph() ;
- }} ;
-
+{
@Override
public Iterator<Node> listGraphNodes()
{
Iter<Quad> iter = Iter.iter(find(Node.ANY, Node.ANY, Node.ANY, Node.ANY)) ;
- return iter.map(projectGraphName).distinct() ;
+ return iter.map(Quad::getGraph).distinct() ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
index 96a8751..bc1d4ea 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
@@ -22,6 +22,7 @@ import java.util.Collection ;
import java.util.HashMap ;
import java.util.Map ;
import java.util.Set ;
+import java.util.function.Function;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.ARQConstants ;
@@ -29,7 +30,6 @@ import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.graph.NodeTransformLib ;
/** Support for renaming all the variables in an algebra expession
@@ -49,14 +49,14 @@ public class Rename
/** Rename one node to another */
public static Op renameNode(Op op, Node oldName, Node newName)
{
- NodeTransform renamer = new RenameNode(oldName, newName) ;
+ Function<Node, Node> renamer = new RenameNode(oldName, newName) ;
return NodeTransformLib.transform(renamer, op) ;
}
/** Rename one variable to another */
public static Op renameVar(Op op, Var oldName, Var newName)
{
- NodeTransform renamer = new RenameNode(oldName, newName) ;
+ Function<Node, Node> renamer = new RenameNode(oldName, newName) ;
return NodeTransformLib.transform(renamer, op) ;
}
@@ -76,13 +76,13 @@ public class Rename
/** Rename all variables in an expression, EXCEPT for those named as constant */
public static ExprList renameVars(ExprList exprList, Set<Var> constants)
{
- NodeTransform renamer = new RenameAnyVars(constants, prefix) ;
+ Function<Node, Node> renamer = new RenameAnyVars(constants, prefix) ;
return NodeTransformLib.transform(renamer, exprList) ;
}
public static Expr renameVars(Expr expr, Set<Var> constants)
{
- NodeTransform renamer = new RenameAnyVars(constants, prefix) ;
+ Function<Node, Node> renamer = new RenameAnyVars(constants, prefix) ;
return NodeTransformLib.transform(renamer, expr) ;
}
@@ -90,13 +90,13 @@ public class Rename
* This assumes the op was renamed by VarRename.rename */
public static Op reverseVarRename(Op op, boolean repeatedly)
{
- NodeTransform renamer = new UnrenameAnyVars(prefix, repeatedly) ;
+ Function<Node, Node> renamer = new UnrenameAnyVars(prefix, repeatedly) ;
return NodeTransformLib.transform(renamer, op) ;
}
// ---- Transforms that do the renaming and unrenaming.
- static class RenameNode implements NodeTransform
+ static class RenameNode implements Function<Node, Node>
{
private final Node oldName ;
private final Node newName ;
@@ -107,7 +107,7 @@ public class Rename
}
@Override
- public Node convert(Node node)
+ public Node apply(Node node)
{
if ( node.equals(oldName) )
return newName ;
@@ -116,7 +116,7 @@ public class Rename
}
- static class RenameAnyVars implements NodeTransform
+ static class RenameAnyVars implements Function<Node, Node>
{
private final Map<Var, Var> aliases = new HashMap<>() ;
private final Collection<Var> constants ;
@@ -129,7 +129,7 @@ public class Rename
}
@Override
- public final Node convert(Node node)
+ public final Node apply(Node node)
{
if ( ! Var.isVar(node) ) return node ;
if ( constants.contains(node) ) return node ;
@@ -151,7 +151,7 @@ public class Rename
}
/** Reverse a renaming (assuming renaming was done by prefixing variable names) */
- static class UnrenameAnyVars implements NodeTransform
+ static class UnrenameAnyVars implements Function<Node, Node>
{
private final String varPrefix ;
private final boolean repeatedly ;
@@ -163,7 +163,7 @@ public class Rename
}
@Override
- public Node convert(Node node)
+ public Node apply(Node node)
{
if ( ! Var.isVar(node) )
return node ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java
index e316b31..d4caa80 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java
@@ -22,10 +22,8 @@ import static org.apache.jena.sparql.util.StringUtils.printAbbrev ;
import java.util.ArrayList ;
import java.util.List ;
-
import org.apache.jena.atlas.iterator.AccString ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -64,7 +62,7 @@ public abstract class ReorderTransformationSubstitution implements ReorderTransf
// Or done here as a second pass mutate of PatternTriples
// Convert to a mutable form (that allows things like "TERM")
- List<PatternTriple> components = Iter.toList(Iter.map(triples.iterator(), convert)) ;
+ List<PatternTriple> components = Iter.toList(Iter.map(triples.iterator(), PatternTriple::new)) ;
// Allow subclasses to get in (e.g. static reordering).
components = modifyComponents(components) ;
@@ -299,12 +297,4 @@ public abstract class ReorderTransformationSubstitution implements ReorderTransf
return "(" + printAbbrev(pt.toString()) + ")" ;
}
} ;
-
- // Triples to TriplePatterns.
- private static Transform<Triple, PatternTriple> convert = new Transform<Triple, PatternTriple>(){
- @Override
- public PatternTriple convert(Triple triple)
- {
- return new PatternTriple(triple) ;
- }} ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
index 3d7f6a3..0445350 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
@@ -18,13 +18,15 @@
package org.apache.jena.sparql.expr;
+import java.util.function.Function;
+
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.algebra.Algebra ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.core.Substitute ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.graph.NodeTransformLib ;
import org.apache.jena.sparql.sse.Tags ;
import org.apache.jena.sparql.syntax.Element ;
@@ -56,7 +58,7 @@ public class E_Exists extends ExprFunctionOp
}
@Override
- public Expr applyNodeTransform(NodeTransform nodeTransform)
+ public Expr applyNodeTransform(Function<Node, Node> nodeTransform)
{
Op op2 = NodeTransformLib.transform(nodeTransform, getGraphPattern()) ;
return new E_Exists(getElement(), op2) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
index 2f41b9e..250d105 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
@@ -18,13 +18,15 @@
package org.apache.jena.sparql.expr;
+import java.util.function.Function;
+
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.algebra.Algebra ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.core.Substitute ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.graph.NodeTransformLib ;
import org.apache.jena.sparql.sse.Tags ;
import org.apache.jena.sparql.syntax.Element ;
@@ -57,7 +59,7 @@ public class E_NotExists extends ExprFunctionOp
}
@Override
- public Expr applyNodeTransform(NodeTransform nodeTransform)
+ public Expr applyNodeTransform(Function<Node, Node> nodeTransform)
{
Op op2 = NodeTransformLib.transform(nodeTransform, getGraphPattern()) ;
return new E_NotExists(getElement(), op2) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
index 026b897..124a842 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
@@ -20,13 +20,14 @@ package org.apache.jena.sparql.expr;
import java.util.Collection ;
import java.util.Set ;
+import java.util.function.Function;
import javax.xml.datatype.DatatypeConstants ;
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
public interface Expr
{
@@ -63,7 +64,7 @@ public interface Expr
/**
* Rewrite, applying a node->node transformation
*/
- public Expr applyNodeTransform(NodeTransform transform) ;
+ public Expr applyNodeTransform(Function<Node, Node> transform) ;
/** Deep copy */
public Expr deepCopy() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
index 8db9b01..5f1794e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
@@ -19,6 +19,9 @@
package org.apache.jena.sparql.expr;
import static org.apache.jena.atlas.lib.Lib.equal ;
+
+import java.util.function.Function;
+
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Node ;
@@ -27,7 +30,6 @@ import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.aggregate.Aggregator ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.serializer.SerializationContext ;
/** Group aggregation functions calculated a value during grouping and
@@ -107,10 +109,10 @@ public class ExprAggregator extends ExprNode
}
@Override
- public ExprAggregator applyNodeTransform(NodeTransform transform)
+ public ExprAggregator applyNodeTransform(Function<Node, Node> transform)
{
// Can't rewrite this to a non-variable.
- Node node = transform.convert(var) ;
+ Node node = transform.apply(var) ;
if ( ! Var.isVar(node) )
{
Log.warn(this, "Attempt to convert an aggregation variable to a non-variable: ignored") ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
index 8593147..696393c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
@@ -18,9 +18,11 @@
package org.apache.jena.sparql.expr;
+import java.util.function.Function;
+
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
/** An expression that is constant (does not depend on evaluating a sub expression). */
@@ -53,7 +55,7 @@ public abstract class ExprFunction0 extends ExprFunction
public abstract NodeValue eval(FunctionEnv env) ;
@Override
- final public Expr applyNodeTransform(NodeTransform transform)
+ final public Expr applyNodeTransform(Function<Node, Node> transform)
{
// Nothing to transform.
return copy() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
index 97901ef..e55548d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
@@ -18,10 +18,12 @@
package org.apache.jena.sparql.expr;
+import java.util.function.Function;
+
import org.apache.jena.atlas.lib.Lib ;
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
/** A function that has a single argument */
@@ -84,7 +86,7 @@ public abstract class ExprFunction1 extends ExprFunction
}
@Override
- final public Expr applyNodeTransform(NodeTransform transform)
+ final public Expr applyNodeTransform(Function<Node, Node> transform)
{
Expr e = (expr == null ? null : expr.applyNodeTransform(transform)) ;
return copy(e) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
index 4883ad9..79a824f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
@@ -18,10 +18,12 @@
package org.apache.jena.sparql.expr;
+import java.util.function.Function;
+
import org.apache.jena.atlas.lib.Lib ;
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
/** A function of two arguments */
@@ -95,7 +97,7 @@ public abstract class ExprFunction2 extends ExprFunction
@Override
- final public Expr applyNodeTransform(NodeTransform transform)
+ final public Expr applyNodeTransform(Function<Node, Node> transform)
{
Expr e1 = (expr1 == null ? null : expr1.applyNodeTransform(transform)) ;
Expr e2 = (expr2 == null ? null : expr2.applyNodeTransform(transform)) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
index 82d842f..f6d9a41 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
@@ -18,10 +18,12 @@
package org.apache.jena.sparql.expr;
+import java.util.function.Function;
+
import org.apache.jena.atlas.lib.Lib ;
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
/** A function of three arguments */
@@ -105,7 +107,7 @@ public abstract class ExprFunction3 extends ExprFunction
@Override
- final public Expr applyNodeTransform(NodeTransform transform)
+ final public Expr applyNodeTransform(Function<Node, Node> transform)
{
Expr e1 = (expr1 == null ? null : expr1.applyNodeTransform(transform)) ;
Expr e2 = (expr2 == null ? null : expr2.applyNodeTransform(transform)) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
index 720f79d..d2cf110 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
@@ -20,10 +20,11 @@ package org.apache.jena.sparql.expr;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.function.Function;
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
/** A function which takes N arguments (N may be variable e.g. regex) */
@@ -81,7 +82,7 @@ public abstract class ExprFunctionN extends ExprFunction
}
@Override
- public Expr applyNodeTransform(NodeTransform transform)
+ public Expr applyNodeTransform(Function<Node, Node> transform)
{
ExprList newArgs = new ExprList() ;
for ( int i = 1 ; i <= numArgs() ; i++ )
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
index 03ab237..d526bba 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
@@ -19,11 +19,12 @@
package org.apache.jena.sparql.expr;
import java.util.* ;
+import java.util.function.Function;
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.ExecutionContext ;
import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.util.Context ;
public class ExprList implements Iterable<Expr>
@@ -76,7 +77,7 @@ public class ExprList implements Iterable<Expr>
/**
* Rewrite, applying a node->node transformation
*/
- public ExprList applyNodeTransform(NodeTransform transform) {
+ public ExprList applyNodeTransform(Function<Node, Node> transform) {
ExprList x = new ExprList() ;
for ( Expr e : expressions)
x.add(e.applyNodeTransform(transform));
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
index 680bdf8..87eec7f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
@@ -20,13 +20,14 @@ package org.apache.jena.sparql.expr;
import java.util.Collection ;
import java.util.Set ;
+import java.util.function.Function;
+import org.apache.jena.graph.Node;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.nodevalue.XSDFuncOp ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.util.ExprUtils ;
@@ -85,7 +86,7 @@ public abstract class ExprNode implements Expr
public abstract Expr copySubstitute(Binding binding) ;
@Override
- public abstract Expr applyNodeTransform(NodeTransform transform) ;
+ public abstract Expr applyNodeTransform(Function<Node, Node> transform) ;
// ---- Default implementations
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
index fc45447..a1a589f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
@@ -18,6 +18,8 @@
package org.apache.jena.sparql.expr;
+import java.util.function.Function;
+
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.Query ;
@@ -25,7 +27,6 @@ import org.apache.jena.sparql.ARQInternalErrorException ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
-import org.apache.jena.sparql.graph.NodeTransform ;
/** An expression that is a variable in an expression. */
@@ -75,9 +76,9 @@ public class ExprVar extends ExprNode
}
@Override
- public Expr applyNodeTransform(NodeTransform transform)
+ public Expr applyNodeTransform(Function<Node, Node> transform)
{
- Node node = transform.convert(varNode) ;
+ Node node = transform.apply(varNode) ;
if ( Var.isVar(node))
return new ExprVar(Var.alloc(node)) ;
return NodeValue.makeNode(node) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
index 10cfde5..d960de1 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
@@ -51,6 +51,7 @@ import java.util.Calendar ;
import java.util.Iterator ;
import java.util.Properties ;
import java.util.ServiceLoader ;
+import java.util.function.Function;
import javax.xml.datatype.DatatypeConfigurationException ;
import javax.xml.datatype.DatatypeFactory ;
@@ -75,7 +76,6 @@ import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.nodevalue.* ;
import org.apache.jena.sparql.function.FunctionEnv ;
import org.apache.jena.sparql.graph.NodeConst ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.serializer.SerializationContext ;
import org.apache.jena.sparql.util.* ;
import org.apache.jena.vocabulary.RDF ;
@@ -468,10 +468,10 @@ public abstract class NodeValue extends ExprNode
}
@Override
- public Expr applyNodeTransform(NodeTransform transform)
+ public Expr applyNodeTransform(Function<Node, Node> transform)
{
Node n = asNode() ;
- n = transform.convert(n) ;
+ n = transform.apply(n) ;
return makeNode(n) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
index 67b016c..553202c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
@@ -18,9 +18,10 @@
package org.apache.jena.sparql.expr.aggregate;
+import java.util.function.Function;
+
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.expr.ExprList ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.serializer.SerializationContext ;
/** An Aggregator is the processor for the whole result stream.
@@ -46,7 +47,7 @@ public interface Aggregator
public ExprList getExprList() ;
public Aggregator copy(ExprList exprs) ;
- public Aggregator copyTransform(NodeTransform transform) ;
+ public Aggregator copyTransform(Function<Node, Node> transform) ;
@Override
public int hashCode() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
index cd6d76b..7fb321b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
@@ -21,6 +21,7 @@ package org.apache.jena.sparql.expr.aggregate;
import java.util.HashMap ;
import java.util.Locale ;
import java.util.Map ;
+import java.util.function.Function;
import org.apache.jena.atlas.io.IndentedLineBuffer ;
import org.apache.jena.graph.Node ;
@@ -29,7 +30,6 @@ import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
import org.apache.jena.sparql.expr.NodeValue ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.serializer.SerializationContext ;
import org.apache.jena.sparql.sse.writers.WriterExpr ;
import org.apache.jena.sparql.util.ExprUtils ;
@@ -86,7 +86,7 @@ public abstract class AggregatorBase implements Aggregator
public String key() { return toPrefixString() ; }
@Override
- public final Aggregator copyTransform(NodeTransform transform)
+ public final Aggregator copyTransform(Function<Node, Node> transform)
{
ExprList e = getExprList() ;
if ( e != null )
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
index 724da1e..a22da5f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
@@ -18,12 +18,16 @@
package org.apache.jena.sparql.graph;
-import org.apache.jena.atlas.iterator.Transform ;
+import java.util.function.Function;
+
import org.apache.jena.graph.Node ;
/** Convert nodes to nodes - Vars may need to be translated into Vars. */
-public interface NodeTransform extends Transform<Node, Node>
+/**
+ * Prefer {@link Function<Node, Node>}.
+ *
+ */
+@Deprecated
+public interface NodeTransform extends Function<Node, Node>
{
- @Override
- public Node convert(Node node) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
index f585eac..94314c2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
@@ -21,6 +21,7 @@ package org.apache.jena.sparql.graph;
import java.util.ArrayList ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.graph.Node ;
@@ -37,19 +38,20 @@ import org.apache.jena.sparql.engine.binding.BindingFactory ;
import org.apache.jena.sparql.engine.binding.BindingMap ;
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
+
import static org.apache.jena.atlas.lib.Lib.equal ;
public class NodeTransformLib
{
/** Do a node->node conversion of an Op - return original BGP for "no change" */
- public static Op transform(NodeTransform nodeTransform, Op op)
+ public static Op transform(Function<Node, Node> nodeTransform, Op op)
{
Transform opTransform = new NodeTransformOp(nodeTransform) ;
return Transformer.transform(opTransform, null, op) ; // No expr transform - we do it ourselves.
}
/** Do a node->node conversion of a BGP - return original BGP for "no change" */
- public static BasicPattern transform(NodeTransform nodeTransform, BasicPattern pattern)
+ public static BasicPattern transform(Function<Node, Node> nodeTransform, BasicPattern pattern)
{
BasicPattern bgp2 = new BasicPattern() ;
boolean changed = false ;
@@ -66,7 +68,7 @@ public class NodeTransformLib
}
/** Do a node->node conversion of a QuadPattern - return original QuadPattern for "no change" */
- public static QuadPattern transform(NodeTransform nodeTransform, QuadPattern pattern)
+ public static QuadPattern transform(Function<Node, Node> nodeTransform, QuadPattern pattern)
{
QuadPattern qp2 = new QuadPattern() ;
boolean changed = false ;
@@ -83,18 +85,18 @@ public class NodeTransformLib
}
/** Do a node->node conversion of a Triple - return original Triple for "no change" */
- public static Triple transform(NodeTransform nodeTransform, Triple triple)
+ public static Triple transform(Function<Node, Node> nodeTransform, Triple triple)
{
boolean change = false ;
Node s = triple.getSubject() ;
Node p = triple.getPredicate() ;
Node o = triple.getObject() ;
- Node s1 = nodeTransform.convert(s) ;
+ Node s1 = nodeTransform.apply(s) ;
if ( s1 != s ) { change = true ; s = s1 ; }
- Node p1 = nodeTransform.convert(p) ;
+ Node p1 = nodeTransform.apply(p) ;
if ( p1 != p ) { change = true ; p = p1 ; }
- Node o1 = nodeTransform.convert(o) ;
+ Node o1 = nodeTransform.apply(o) ;
if ( o1 != o ) { change = true ; o = o1 ; }
if ( ! change )
@@ -103,7 +105,7 @@ public class NodeTransformLib
}
/** Do a node->node conversion of a Quad - return original Quad for "no change" */
- public static Quad transform(NodeTransform nodeTransform, Quad quad)
+ public static Quad transform(Function<Node, Node> nodeTransform, Quad quad)
{
boolean change = false ;
Node s = quad.getSubject() ;
@@ -111,13 +113,13 @@ public class NodeTransformLib
Node o = quad.getObject() ;
Node g = quad.getGraph() ;
- Node g1 = nodeTransform.convert(g) ;
+ Node g1 = nodeTransform.apply(g) ;
if ( g1 != g ) { change = true ; g = g1 ; }
- Node s1 = nodeTransform.convert(s) ;
+ Node s1 = nodeTransform.apply(s) ;
if ( s1 != s ) { change = true ; s = s1 ; }
- Node p1 = nodeTransform.convert(p) ;
+ Node p1 = nodeTransform.apply(p) ;
if ( p1 != p ) { change = true ; p = p1 ; }
- Node o1 = nodeTransform.convert(o) ;
+ Node o1 = nodeTransform.apply(o) ;
if ( o1 != o ) { change = true ; o = o1 ; }
if ( ! change )
@@ -125,7 +127,7 @@ public class NodeTransformLib
return new Quad(g,s,p,o) ;
}
- public static Table transform(Table table, NodeTransform transform) {
+ public static Table transform(Table table, Function<Node, Node> transform) {
// Non-streaming rewrite
List<Var> vars = transformVars(transform, table.getVars()) ;
Iterator<Binding> iter = table.rows() ;
@@ -138,11 +140,11 @@ public class NodeTransformLib
return new TableData(vars, newRows) ;
}
- public static Binding transform(Binding b, NodeTransform transform) {
+ public static Binding transform(Binding b, Function<Node, Node> transform) {
BindingMap b2 = BindingFactory.create() ;
List<Var> vars = Iter.toList(b.vars()) ;
for ( Var v : vars ) {
- Var v2 = (Var)transform.convert(v) ;
+ Var v2 = (Var)transform.apply(v) ;
b2.add(v2, b.get(v));
}
return b2 ;
@@ -151,7 +153,7 @@ public class NodeTransformLib
/** Do a node->node conversion of a List<Quad> - return original List<Quad> for "no change" */
- public static List<Quad> transformQuads(NodeTransform nodeTransform, List<Quad> quads)
+ public static List<Quad> transformQuads(Function<Node, Node> nodeTransform, List<Quad> quads)
{
List<Quad> x = new ArrayList<>() ;
boolean changed = false ;
@@ -168,14 +170,14 @@ public class NodeTransformLib
}
/** Do a node->node conversion of a VarExprList - return original VarExprList for "no change" */
- public static VarExprList transform(NodeTransform nodeTransform, VarExprList varExprList)
+ public static VarExprList transform(Function<Node, Node> nodeTransform, VarExprList varExprList)
{
VarExprList varExprList2 = new VarExprList() ;
boolean changed = false ;
for ( Var v : varExprList.getVars() )
{
Expr expr = varExprList.getExpr(v) ;
- Var v2 = (Var)nodeTransform.convert(v) ;
+ Var v2 = (Var)nodeTransform.apply(v) ;
Expr expr2 = ( expr != null ) ? transform(nodeTransform, expr) : null ;
if ( ! equal(v, v2) || ! equal(expr, expr2) )
@@ -187,13 +189,13 @@ public class NodeTransformLib
return varExprList2 ;
}
- public static List<Var> transformVars(NodeTransform nodeTransform, List<Var> varList)
+ public static List<Var> transformVars(Function<Node, Node> nodeTransform, List<Var> varList)
{
List<Var> varList2 = new ArrayList<>(varList.size()) ;
boolean changed = false ;
for ( Var v : varList )
{
- Var v2 = (Var)nodeTransform.convert(v) ;
+ Var v2 = (Var)nodeTransform.apply(v) ;
varList2.add(v2) ;
if ( !equal(v, v2) )
changed = true ;
@@ -203,7 +205,7 @@ public class NodeTransformLib
return varList2 ;
}
- public static ExprList transform(NodeTransform nodeTransform, ExprList exprList)
+ public static ExprList transform(Function<Node, Node> nodeTransform, ExprList exprList)
{
ExprList exprList2 = new ExprList() ;
boolean changed = false ;
@@ -218,12 +220,12 @@ public class NodeTransformLib
return exprList2 ;
}
- public static Expr transform(NodeTransform nodeTransform, Expr expr)
+ public static Expr transform(Function<Node, Node> nodeTransform, Expr expr)
{
return expr.applyNodeTransform(nodeTransform) ;
}
- public static List<SortCondition> transform(NodeTransform nodeTransform, List<SortCondition> conditions)
+ public static List<SortCondition> transform(Function<Node, Node> nodeTransform, List<SortCondition> conditions)
{
List<SortCondition> conditions2 = new ArrayList<>() ;
boolean same = true ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
index a9f1945..d62d176 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
@@ -20,6 +20,7 @@ package org.apache.jena.sparql.graph;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -50,8 +51,8 @@ class NodeTransformOp extends TransformCopy
// Not:
// Conditional (no expression)
- private final NodeTransform transform ;
- NodeTransformOp(NodeTransform transform)
+ private final Function<Node, Node> transform ;
+ NodeTransformOp(Function<Node, Node> transform)
{
this.transform = transform ;
}
@@ -85,9 +86,9 @@ class NodeTransformOp extends TransformCopy
{
TriplePath tp = opPath.getTriplePath() ;
Node s = tp.getSubject() ;
- Node s1 = transform.convert(s) ;
+ Node s1 = transform.apply(s) ;
Node o = tp.getObject() ;
- Node o1 = transform.convert(o) ;
+ Node o1 = transform.apply(o) ;
if ( s1 == s && o1 == o )
// No change.
@@ -111,7 +112,7 @@ class NodeTransformOp extends TransformCopy
// The internal representation is (graph, BGP)
BasicPattern bgp2 = NodeTransformLib.transform(transform, opQuadPattern.getBasicPattern()) ;
Node g2 = opQuadPattern.getGraphNode() ;
- g2 = transform.convert(g2) ;
+ g2 = transform.apply(g2) ;
if ( g2 == opQuadPattern.getGraphNode() && bgp2 == opQuadPattern.getBasicPattern() )
return super.transform(opQuadPattern) ;
@@ -120,7 +121,7 @@ class NodeTransformOp extends TransformCopy
@Override public Op transform(OpGraph opGraph, Op subOp)
{
- Node g2 = transform.convert(opGraph.getNode()) ;
+ Node g2 = transform.apply(opGraph.getNode()) ;
if ( g2 == opGraph.getNode() )
return super.transform(opGraph, subOp) ;
return new OpGraph(g2, subOp) ;
@@ -128,7 +129,7 @@ class NodeTransformOp extends TransformCopy
@Override public Op transform(OpDatasetNames opDatasetNames)
{
- Node g2 = transform.convert(opDatasetNames.getGraphNode()) ;
+ Node g2 = transform.apply(opDatasetNames.getGraphNode()) ;
if ( g2 == opDatasetNames.getGraphNode() )
return super.transform(opDatasetNames) ;
return new OpDatasetNames(g2) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
index 72abe48..85ab116 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
@@ -20,14 +20,14 @@ package org.apache.jena.sparql.modify;
import java.util.HashMap ;
import java.util.Map ;
+import java.util.function.Function;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.ARQConstants ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.core.VarAlloc ;
-import org.apache.jena.sparql.graph.NodeTransform ;
-public class NodeTransformBNodesToVariables implements NodeTransform
+public class NodeTransformBNodesToVariables implements Function<Node, Node>
{
private VarAlloc varAlloc = new VarAlloc(ARQConstants.allocVarBNodeToVar) ;
private Map<Node, Var> mapping ;
@@ -38,7 +38,7 @@ public class NodeTransformBNodesToVariables implements NodeTransform
}
@Override
- public Node convert(Node node)
+ public Node apply(Node node)
{
if ( ! node.isBlank() )
return node ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java
index 99f9b31..63b5cb4 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/TemplateLib.java
@@ -19,9 +19,10 @@
package org.apache.jena.sparql.modify;
import java.util.* ;
+import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
+import org.apache.jena.ext.com.google.common.collect.Iterators;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.graph.Triple ;
@@ -55,28 +56,22 @@ public class TemplateLib
// The default graph has been set to something else.
if ( dftGraph != null )
{
- Transform<Quad, Quad> nt = new Transform<Quad, Quad>() {
- @Override
- public Quad convert(Quad quad)
- {
- if ( ! quad.isDefaultGraph() ) return quad ;
-
- return new Quad(dftGraph, quad.getSubject(), quad.getPredicate(), quad.getObject()) ;
- }
- };
- quads = Iter.map(quads, nt) ;
- }
+ quads = Iter
+ .map(quads,
+ q -> (!q.isDefaultGraph()) ? q :
+ new Quad(dftGraph, q.getSubject(), q.getPredicate(), q.getObject()));
+ }
return quads;
}
/** Substitute into triple patterns */
public static Iterator<Triple> calcTriples(final List<Triple> triples, Iterator<Binding> bindings)
{
- return Iter.mapMany(bindings, new Transform<Binding, Iterator<Triple>>()
+ return Iterators.concat(Iter.map(bindings, new Function<Binding, Iterator<Triple>>()
{
Map<Node, Node> bNodeMap = new HashMap<>() ;
@Override
- public Iterator<Triple> convert(final Binding b)
+ public Iterator<Triple> apply(final Binding b)
{
// Iteration is a new mapping of bnodes.
bNodeMap.clear() ;
@@ -94,17 +89,17 @@ public class TemplateLib
}
return tripleList.iterator();
}
- });
+ }));
}
/** Substitute into quad patterns */
public static Iterator<Quad> calcQuads(final List<Quad> quads, Iterator<Binding> bindings)
{
- return Iter.mapMany(bindings, new Transform<Binding, Iterator<Quad>>()
+ return Iterators.concat(Iter.map(bindings, new Function<Binding, Iterator<Quad>>()
{
Map<Node, Node> bNodeMap = new HashMap<>() ;
@Override
- public Iterator<Quad> convert(final Binding b)
+ public Iterator<Quad> apply(final Binding b)
{
// Iteration is a new mapping of bnodes.
bNodeMap.clear() ;
@@ -122,7 +117,7 @@ public class TemplateLib
}
return quadList.iterator();
}
- });
+ }));
}
/** Substitute into a quad, with rewriting of bNodes */
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
index f0af38f..e97a796 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
@@ -22,6 +22,7 @@ import static org.apache.jena.sparql.modify.TemplateLib.template ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.jena.atlas.data.BagFactory ;
import org.apache.jena.atlas.data.DataBag ;
@@ -50,7 +51,6 @@ import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.engine.binding.BindingRoot ;
import org.apache.jena.sparql.graph.GraphFactory ;
import org.apache.jena.sparql.graph.GraphOps ;
-import org.apache.jena.sparql.graph.NodeTransform ;
import org.apache.jena.sparql.graph.NodeTransformLib ;
import org.apache.jena.sparql.modify.request.* ;
import org.apache.jena.sparql.syntax.Element ;
@@ -474,7 +474,7 @@ public class UpdateEngineWorker implements UpdateVisitor
protected static List<Quad> unused_convertBNodesToVariables(List<Quad> quads)
{
- NodeTransform bnodesToVariables = new NodeTransformBNodesToVariables() ;
+ Function<Node, Node> bnodesToVariables = new NodeTransformBNodesToVariables() ;
return NodeTransformLib.transformQuads(bnodesToVariables, quads) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java
index b36ed43..c2db208 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java
@@ -21,8 +21,8 @@ package org.apache.jena.sparql.path;
import java.util.ArrayList ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Predicate;
-import org.apache.jena.atlas.iterator.Filter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Graph ;
@@ -247,7 +247,7 @@ public class PathLib
if ( ! subject.isConcrete() || !object.isConcrete() )
throw new ARQInternalErrorException("Non concrete node for existsPath evaluation") ;
Iterator<Node> iter = PathEval.eval(graph, subject, path, execCxt.getContext()) ;
- Filter<Node> filter = new Filter<Node>() { @Override public boolean accept(Node node) { return Lib.equal(node, object) ; } } ;
+ Predicate<Node> filter = node -> Lib.equal(node, object);
// See if we got to the node we're interested in finishing at.
iter = Iter.filter(iter, filter) ;
long x = Iter.count(iter) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine.java b/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine.java
index 6497bb4..9df5c10 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEngine.java
@@ -22,9 +22,7 @@ import java.util.ArrayList ;
import java.util.Collection ;
import java.util.Iterator ;
import java.util.List ;
-
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -100,10 +98,10 @@ abstract public class PathEngine
Iterator<Node> iter2 = null ;
if ( direction() ) {
Iter<Triple> iter1 = Iter.iter(graphFind(node, property, Node.ANY)) ;
- iter2 = iter1.map(PathEngine.selectObject) ;
+ iter2 = iter1.map(Triple::getObject) ;
} else {
Iter<Triple> iter1 = Iter.iter(graphFind(Node.ANY, property, node)) ;
- iter2 = iter1.map(PathEngine.selectSubject) ;
+ iter2 = iter1.map(Triple::getSubject) ;
}
return iter2 ;
@@ -151,30 +149,15 @@ abstract public class PathEngine
return (x <= 0) ? x : x - 1 ;
}
- protected static Transform<Triple, Node> selectSubject = new Transform<Triple, Node>() {
- @Override
- public Node convert(Triple triple) { return triple.getSubject() ; }
- } ;
-
- protected static Transform<Triple, Node> selectPredicate = new Transform<Triple, Node>() {
- @Override
- public Node convert(Triple triple) { return triple.getPredicate() ; }
- } ;
-
- protected static Transform<Triple, Node> selectObject = new Transform<Triple, Node>() {
- @Override
- public Node convert(Triple triple) { return triple.getObject() ; }
- } ;
-
protected Iterator<Node> stepExcludeForwards(Node node, List<Node> excludedNodes) {
Iter<Triple> iter1 = forwardLinks(node, excludedNodes) ;
- Iter<Node> r1 = iter1.map(selectObject) ;
+ Iter<Node> r1 = iter1.map(Triple::getObject) ;
return r1 ;
}
protected Iterator<Node> stepExcludeBackwards(Node node, List<Node> excludedNodes) {
Iter<Triple> iter1 = backwardLinks(node, excludedNodes) ;
- Iter<Node> r1 = iter1.map(selectSubject) ;
+ Iter<Node> r1 = iter1.map(Triple::getSubject) ;
return r1 ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEvaluator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEvaluator.java b/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEvaluator.java
index 3399dec..242cf9a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEvaluator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/path/eval/PathEvaluator.java
@@ -20,8 +20,8 @@ package org.apache.jena.sparql.path.eval ;
import java.util.Collection ;
import java.util.Iterator ;
+import java.util.function.Predicate;
-import org.apache.jena.atlas.iterator.Filter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
@@ -164,7 +164,7 @@ final class PathEvaluator implements PathVisitor
// Other operations can produce duplicates and so may be executed in
// different ways depending on cardibnality requirements.
- protected static class FilterExclude implements Filter<Triple>
+ protected static class FilterExclude implements Predicate<Triple>
{
private Collection<Node> excludes ;
@@ -173,7 +173,7 @@ final class PathEvaluator implements PathVisitor
}
@Override
- public boolean accept(Triple triple) {
+ public boolean test(Triple triple) {
return !excludes.contains(triple.getPredicate()) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/library/strSplit.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/library/strSplit.java b/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/library/strSplit.java
index 126728c..86f9331 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/library/strSplit.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/pfunction/library/strSplit.java
@@ -22,7 +22,6 @@ import java.util.Arrays ;
import java.util.Iterator ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
@@ -61,13 +60,10 @@ public class strSplit extends PFuncSimpleAndList
// StrUtils will also trim whitespace
String[] tokens = StrUtils.split(s, regex);
- Iterator<Binding> it = Iter.map(Arrays.asList(tokens).iterator(), new Transform<String,Binding>() {
- @Override
- public Binding convert(String item)
- {
- return BindingFactory.binding(binding, subjectVar, NodeFactory.createLiteral(item)) ;
- }
- });
+ Iterator<Binding> it = Iter.map(
+ Arrays.asList(tokens).iterator(),
+ item -> BindingFactory.binding(binding, subjectVar,
+ NodeFactory.createLiteral(item)));
return new QueryIterPlainWrapper(it, execCxt);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/resultset/CSVInput.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/CSVInput.java b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/CSVInput.java
index 7d6487b..43f6c65 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/CSVInput.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/CSVInput.java
@@ -22,10 +22,10 @@ import java.io.InputStream ;
import java.util.ArrayList ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.function.Function;
import org.apache.jena.atlas.csv.CSVParser ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.logging.FmtLog ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
@@ -69,10 +69,10 @@ public class CSVInput
CSVParser parser = CSVParser.create(in) ;
final List<Var> vars = vars(parser) ;
List<String> varNames = Var.varNames(vars) ;
- Transform<List<String>, Binding> transform = new Transform<List<String>, Binding>(){
+ Function<List<String>, Binding> transform = new Function<List<String>, Binding>(){
private int count = 1 ;
@Override
- public Binding convert(List<String> row) {
+ public Binding apply(List<String> row) {
if ( row.size() != vars.size() )
FmtLog.warn(log, "Row %d: Length=%d: expected=%d", count, row.size(), vars.size()) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
index c11a38c..99413a5 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
@@ -19,9 +19,7 @@
package org.apache.jena.sparql.resultset;
import java.util.* ;
-
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.* ;
@@ -230,7 +228,7 @@ public class ResultSetCompare
}
static private List<Binding> convert(ResultSet rs) {
- return Iter.iter(rs).map(qs2b).toList() ;
+ return Iter.iter(rs).map(item -> BindingUtils.asBinding(item)).toList() ;
}
@@ -299,14 +297,6 @@ public class ResultSetCompare
}
return true ;
}
-
- private static Transform<QuerySolution, Binding> qs2b = new Transform<QuerySolution, Binding> () {
- @Override
- public Binding convert(QuerySolution item)
- {
- return BindingUtils.asBinding(item) ;
- }
- } ;
public static class BNodeIso implements EqualityTest
{
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/util/ModelUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/ModelUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/ModelUtils.java
index 9738b47..48ee0c9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/ModelUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/ModelUtils.java
@@ -22,7 +22,6 @@ import java.util.Iterator ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.iterator.IteratorResourceClosing ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -101,14 +100,7 @@ public class ModelUtils
public static StmtIterator triplesToStatements(final Iterator<Triple> it, final Model refModel)
{
- return new StmtIteratorImpl(Iter.map(it, new Transform<Triple,Statement>()
- {
- @Override
- public Statement convert(Triple item)
- {
- return refModel.asStatement(item);
- }
- }))
+ return new StmtIteratorImpl(Iter.map(it, refModel::asStatement))
{
// Make sure to close the incoming iterator
@Override
@@ -128,14 +120,7 @@ public class ModelUtils
public static Iterator<Triple> statementsToTriples(final Iterator<Statement> it)
{
- return new IteratorResourceClosing<>(Iter.map(it, new Transform<Statement,Triple>()
- {
- @Override
- public Triple convert(Statement item)
- {
- return item.asTriple();
- }
- }),
+ return new IteratorResourceClosing<>(Iter.map(it, Statement::asTriple),
new Closeable()
{
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java
index d1dee93..fbc01b4 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java
@@ -24,10 +24,8 @@ import java.util.HashSet ;
import java.util.Iterator ;
import java.util.List ;
import java.util.Set ;
-
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.iterator.IteratorConcat ;
-import org.apache.jena.atlas.iterator.Transform ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
@@ -139,13 +137,7 @@ public class GraphList
return Iter.nullIterator() ;
}
List<Node> x = members(gn) ;
- Transform<Node, Triple> transform = new Transform<Node, Triple>() {
- @Override
- public Triple convert(Node obj) {
- return Triple.create(s, ListPFunction.nListMember, obj) ;
- }
- } ;
- return Iter.map(x.iterator(), transform) ;
+ return Iter.map(x.iterator(), t -> Triple.create(s, ListPFunction.nListMember, t)) ;
}
private static boolean isAny(Node x) {
@@ -354,8 +346,6 @@ public class GraphList
private static GNode next(GNode gnode) { return new GNode(gnode, cdr(gnode)) ; }
- private static Node value(GNode gnode) { return car(gnode) ; }
-
public static boolean isListNode (GNode gnode)
{ return gnode.node.equals(NIL) || isCons(gnode) ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-arq/src/test/java/org/apache/jena/riot/process/TestNormalization.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/process/TestNormalization.java b/jena-arq/src/test/java/org/apache/jena/riot/process/TestNormalization.java
index 1d62f2a..20cf455 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/process/TestNormalization.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/process/TestNormalization.java
@@ -103,7 +103,7 @@ public class TestNormalization extends BaseTest
Node n1 = NodeFactoryExtra.parseNode(input) ;
assertTrue("Invalid lexical form", n1.getLiteralDatatype().isValid(n1.getLiteralLexicalForm()));
- Node n2 = CanonicalizeLiteral.get().convert(n1) ;
+ Node n2 = CanonicalizeLiteral.get().apply(n1) ;
Node n3 = NodeFactoryExtra.parseNode(expected) ;
assertEquals("Invalid canonicalization (lex)", n3.getLiteralLexicalForm(), n2.getLiteralLexicalForm()) ;
assertEquals("Invalid canonicalization (node)", n3, n2) ;
@@ -115,7 +115,7 @@ public class TestNormalization extends BaseTest
private static void normalizeLang(String input, String expected, boolean correct)
{
Node n1 = NodeFactoryExtra.parseNode(input) ;
- Node n2 = CanonicalizeLiteral.get().convert(n1) ;
+ Node n2 = CanonicalizeLiteral.get().apply(n1) ;
Node n3 = NodeFactoryExtra.parseNode(expected) ;
if ( correct )
{
[42/50] [abbrv] jena git commit: Added initial contract tests added
testing_framework
Posted by cl...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestSuite.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestSuite.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestSuite.java
new file mode 100644
index 0000000..7e19122
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestSuite.java
@@ -0,0 +1,143 @@
+/*
+ * 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.testing_framework.manifest;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import org.junit.internal.runners.ErrorReportingRunner;
+import org.junit.runner.Description;
+import org.junit.runner.Runner;
+import org.junit.runner.notification.RunNotifier;
+import org.junit.runners.ParentRunner;
+import org.junit.runners.Suite;
+import org.junit.runners.model.InitializationError;
+import org.junit.runners.model.RunnerBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.jena.shared.JenaException;
+
+/**
+ * Class that runs the Manifest annotated tests.
+ *
+ * Used with <code>@RunWith( ManifestSuite.class )</code> this class loads a
+ * manifest test suite file and adds the tests.
+ * <p>
+ * Tests annotated with <code>@RunWith( ManifestSuite.class )</code> must
+ * have a <code>ManifestFile</code> annotation specifying the path to the manifest file
+ * </p>
+ */
+public class ManifestSuite extends ParentRunner<Runner> {
+ private static final Logger LOG = LoggerFactory
+ .getLogger(ManifestSuite.class);
+ private final List<Runner> fRunners;
+ private final ManifestItemHandler itemHandler;
+ private final ManifestFile mf;
+
+ /**
+ * Called reflectively on classes annotated with
+ * <code>@RunWith(Suite.class)</code>
+ *
+ * @param cls
+ * the root class
+ * @param builder
+ * builds runners for classes in the suite
+ * @throws Throwable
+ */
+ public ManifestSuite(Class<? extends ManifestItemHandler> cls,
+ RunnerBuilder builder) throws Throwable {
+ super(cls);
+
+ List<Throwable> errors = new ArrayList<Throwable>();
+
+ mf = cls.getAnnotation(ManifestFile.class);
+ if (mf == null) {
+ throw new IllegalStateException(
+ "ManifestSuite requries ManifestFile annotation");
+ }
+ itemHandler = cls.newInstance();
+
+ Runner[] runner = new Runner[1];
+ try {
+ runner[0] = oneManifest(new Manifest(mf.value()),
+ new ArrayList<Runner>());
+ } catch (JenaException ex) {
+ runner[0] = new ErrorReportingRunner(null, ex);
+ }
+
+ if (!errors.isEmpty()) {
+ throw new InitializationError(errors);
+ }
+ fRunners = Collections.unmodifiableList(Arrays.asList(runner));
+ }
+
+ private Runner oneManifest(final Manifest manifest, List<Runner> r) {
+
+ // Recurse
+ for (Iterator<String> iter = manifest.includedManifests(); iter
+ .hasNext();) {
+ try {
+ r.add(oneManifest(new Manifest(iter.next()),
+ new ArrayList<Runner>()));
+ } catch (JenaException ex) {
+ r.add(new ErrorReportingRunner(null, ex));
+ }
+ }
+ itemHandler.setTestRunnerList(r);
+ manifest.apply(itemHandler);
+ try {
+ return new Suite((Class<?>) null, r) {
+
+ @Override
+ protected String getName() {
+ return manifest.getName();
+ }
+
+ };
+ } catch (InitializationError e) {
+ return new ErrorReportingRunner(null, e);
+ }
+ }
+
+ @Override
+ protected List<Runner> getChildren() {
+ return fRunners;
+ }
+
+ @Override
+ protected Description describeChild(Runner child) {
+ return child.getDescription();
+ }
+
+ @Override
+ protected void runChild(Runner child, RunNotifier notifier) {
+ child.run(notifier);
+ }
+
+ /**
+ * Returns a name used to describe this Runner
+ */
+ @Override
+ protected String getName() {
+ return String.format("%s - %s", super.getName(), mf.value());
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java
new file mode 100644
index 0000000..cfde240
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java
@@ -0,0 +1,13 @@
+package org.apache.jena.testing_framework.manifest;
+
+public abstract class ManifestTest {
+
+ protected ManifestItem manifestItem;
+
+ public final void setManifestItem(ManifestItem manifestItem) {
+ this.manifestItem = manifestItem;
+ }
+
+ abstract public void runTest();
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java
new file mode 100644
index 0000000..616b444
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java
@@ -0,0 +1,75 @@
+package org.apache.jena.testing_framework.manifest;
+
+import java.lang.annotation.Annotation;
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.runner.Description;
+import org.junit.runners.BlockJUnit4ClassRunner;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.InitializationError;
+
+public class ManifestTestRunner extends BlockJUnit4ClassRunner {
+
+ private ManifestItem manifestItem;
+
+ public ManifestTestRunner(ManifestItem manifestItem,
+ Class<? extends ManifestTest> cls) throws InitializationError {
+ super(cls);
+ this.manifestItem = manifestItem;
+ }
+
+ /**
+ * Returns the name that describes {@code method} for {@link Description}s.
+ * Default implementation is the method's name
+ */
+ @Override
+ protected String testName(FrameworkMethod method) {
+ return manifestItem.getTestName();
+ }
+
+ /**
+ * Returns the methods that run tests. Default implementation returns all
+ * methods annotated with {@code @Test} on this class and superclasses that
+ * are not overridden.
+ */
+ @Override
+ protected List<FrameworkMethod> computeTestMethods() {
+ FrameworkMethod[] lst = new FrameworkMethod[1];
+
+ try {
+ lst[0] = new FrameworkMethod(getTestClass().getJavaClass()
+ .getMethod("runTest")) {
+
+ @Override
+ public String getName() {
+ return manifestItem.getTestName();
+ }
+ };
+ } catch (NoSuchMethodException e) {
+ throw new IllegalStateException(e);
+ } catch (SecurityException e) {
+ throw new IllegalStateException(e);
+ }
+ return Arrays.asList(lst);
+ }
+
+ @Override
+ public Description getDescription() {
+ return Description.createTestDescription(this.getTestClass()
+ .getJavaClass(), manifestItem.getTestName(), new Annotation[0]);
+ }
+
+ /**
+ * Returns a new fixture for running a test. Default implementation executes
+ * the test class's no-argument constructor (validation should have ensured
+ * one exists).
+ */
+ @Override
+ protected Object createTest() throws Exception {
+ ManifestTest instance = (ManifestTest) super.createTest();
+ instance.setManifestItem(manifestItem);
+ return instance;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/package-info.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/package-info.java b/jena-core/src/test/java/org/apache/jena/testing_framework/package-info.java
new file mode 100644
index 0000000..96f3e42
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/package-info.java
@@ -0,0 +1,109 @@
+/*
+ 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.testing_framework;
+
+/**
+ * Foo set of classes providing support for testing.
+ * <p>
+ * Testing guidelines/suggestions.
+ * </p><p>
+ * Interface tests are built so that developers may test that implementations meet the contract
+ * set out in the interface and accompanying documentation.
+ * </p>
+ * <h4>Producers</h4>
+ * <p>
+ * The test and suites use an instance of the [INTERFACE]ProducerInterface to create an instance
+ * of the the Object being tested.
+ * </p>
+ * <h4>Tests</h4>
+ * <p>
+ * Interface tests are noted as Abstract[INTERFACE]Test. Implementations of [INTERFACE] should
+ * create a concrete implementation of Abstract[INTERFACE]Test with an [INTERFACE]Producer to create
+ * instances of the Object. Passing the test indicates a compliance with the base interface
+ * definition.
+ * </p><p>
+ * In general to implement a test requires a few lines of code as is noted in the example below
+ * where the new Foo graph implementation is being tested.</p>
+ * <pre><code>
+ * public class FooGraphTest extends AbstractGraphTest {
+ *
+ * // the graph producer to use while running
+ * GraphProducerInterface graphProducer = new FooGraphTest.GraphProducer();
+ *
+ * @Override
+ * protected GraphProducerInterface getGraphProducer() {
+ * return graphProducer;
+ * }
+ *
+ * // the implementation of the graph producer.
+ * public static class GraphProducer extends AbstractGraphProducer {
+ *
+ * @Override
+ * protected Graph createNewGraph() {
+ * return new FooGraph();
+ * }
+ * }
+ * }
+ * </code></pre>
+ * <h4>Suites</h4>
+ * <p>
+ * Test suites are named as Abstract[INTERFACE]Suite. Suites contain several tests (see above)
+ * that exercise all of the tests for the components of the object under test. For example the
+ * graph suite includes tests for the graph itself, the reifier, finding literals, recursive
+ * subgraph extraction, event manager, and transactions. Running the suites is a bit more
+ * complicated then running the tests.
+ * </p>
+ * Suites are created using the JUnit 4 <code>@RunWith(Suite.class)</code and
+ * <code>@Suite.SuiteClasses({ })</code> annotations. This has several effects that the developer
+ * should know about:</p>
+ * <ul>
+ * <li>The suite class does not get instantiated during the run.</li>
+ * <li>The test class names must be known at coding time (not run time) as they are listed in the
+ * annotation.</li>
+ * <li>Configuration of the tests has to occur during the static initialization phase of class
+ * loading.</li>
+ * </ul>
+ * <p>
+ * To meet these requirements the AbstractGraphSuite has a static variable that holds the instance
+ * of the GraphProducerInterface and a number of local static implementations of the Abstract tests
+ * that implement the "getGraphProducer()" method by returning the static instance. The names of
+ * the local graphs are then used in the @Suite.SuiteClasses annotation. This makes creating an
+ * instance of the AbstractGraphSuite for a graph implementation fairly simple as is noted below.
+ * </p>
+ * <pre><code>
+ * public class FooGraphSuite extends AbstractGraphSuite {
+ * @BeforeClass
+ * public static void beforeClass() {
+ * setGraphProducer(new GraphProducer());
+ * }
+ *
+ * public static class GraphProducer extends AbstractGraphProducer {
+ * @Override
+ * protected Graph createNewGraph() {
+ * return new FooGraph();
+ * }
+ * }
+ * }
+ * </code></pre>
+ * <p>
+ * <b>Note:</b> that the beforeClass() method is annotated with @BeforeClass. the @BeforeClass
+ * causes it to be run once before any of the test methods in the class. This will set the static
+ * instance of the graph producer before the suite is run so that it is provided to the enclosed
+ * tests.
+ * </p>
+ */
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/tuples/TupleItem.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/tuples/TupleItem.java b/jena-core/src/test/java/org/apache/jena/testing_framework/tuples/TupleItem.java
new file mode 100644
index 0000000..65aff5b
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/tuples/TupleItem.java
@@ -0,0 +1,84 @@
+/*
+ * 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.testing_framework.tuples;
+
+/**
+ * The unit found in a line of a tuple. Can be a string (quoted, possibly with
+ * the datatype, or unquoted) or a URI.
+ */
+public class TupleItem {
+ public static final int URI = 0;
+ public static final int STRING = 1;
+ public static final int UNKNOWN = 2;
+ public static final int UNQUOTED = 3;
+ public static final int ANON = 4;
+
+ String rep;
+ String datatype;
+ String asFound;
+ int itemType;
+
+ TupleItem(String value, String valAsFound, int type, String dt) {
+ rep = value;
+ asFound = valAsFound;
+ itemType = type;
+ datatype = dt;
+ }
+
+ public int getType() {
+ return itemType;
+ }
+
+ public boolean isURI() {
+ return itemType == URI;
+ }
+
+ public boolean isString() {
+ return itemType == STRING;
+ }
+
+ public boolean isUnknown() {
+ return itemType == UNKNOWN;
+ }
+
+ public boolean isUnquoted() {
+ return itemType == UNQUOTED;
+ }
+
+ public boolean isAnon() {
+ return itemType == ANON;
+ }
+
+ public String get() {
+ return rep;
+ }
+
+ public String getDT() {
+ return datatype;
+ }
+
+ public String asQuotedString() {
+ return asFound;
+ }
+
+ @Override
+ public String toString() {
+ return rep;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/b293ee8a/jena-core/src/test/java/org/apache/jena/testing_framework/tuples/TupleSet.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/tuples/TupleSet.java b/jena-core/src/test/java/org/apache/jena/testing_framework/tuples/TupleSet.java
new file mode 100644
index 0000000..8e78879
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/tuples/TupleSet.java
@@ -0,0 +1,274 @@
+/*
+ * 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.testing_framework.tuples;
+
+import java.io.*;
+import java.util.*;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TupleSet implements Iterator<List<TupleItem>> {
+ BufferedReader in;
+ public String line = null;
+ public int lineNumber = 0;
+
+ static final char COMMENTCHAR = '#';
+ List<TupleItem> current = null;
+ boolean finished = false;
+
+ protected static Logger logger = LoggerFactory.getLogger(TupleSet.class);
+
+ /** Creates new TupleSet */
+ public TupleSet(Reader r) {
+ if (!(r instanceof BufferedReader))
+ in = new BufferedReader(r);
+ else
+ in = (BufferedReader) r;
+ }
+
+ @Override
+ public boolean hasNext() {
+ if (finished)
+ return false;
+
+ if (current == null)
+ current = tuple();
+ return current != null;
+ }
+
+ @Override
+ public List<TupleItem> next() {
+ if (hasNext()) {
+ List<TupleItem> x = current;
+ current = null;
+ return x;
+ } else
+ return null;
+ }
+
+ @Override
+ public void remove() {
+ throw new java.lang.UnsupportedOperationException("TupleSet.remove");
+ }
+
+ private List<TupleItem> tuple() {
+
+ try {
+ lineNumber++;
+ line = in.readLine();
+ } catch (IOException e) {
+ }
+
+ if (line == null) {
+ finished = true;
+ return null;
+ }
+
+ // System.out.println("Line: "+line) ;
+ List<TupleItem> tuple = new ArrayList<TupleItem>();
+ int i = 0;
+ int j = 0;
+ boolean errorFound = false;
+
+ tupleLoop: for (;;) {
+ // Move to beginning of next item.
+ i = skipwhitespace(line, j);
+
+ if (i < 0)
+ break;
+
+ int iStart = -2; // Points to the beginning of the item as found
+ int jStart = -2; // Points to the item without quotes
+ int iFinish = -2; // Points after the end of the item as found
+ int jFinish = -2; // Points after the end of the item without quotes
+ int dtStart = -2; // Points to start of datatype (after < quote)
+ int dtFinish = -2; // Points to end of datatype
+ int type = TupleItem.UNKNOWN;
+
+ switch (line.charAt(i)) {
+ case COMMENTCHAR:
+ break tupleLoop;
+ case '<':
+ type = TupleItem.URI;
+ iStart = i;
+ jStart = i + 1;
+ int newPosn = parseURI(i, line);
+ if (newPosn < 0) {
+ errorFound = true;
+ break tupleLoop;
+ }
+ j = newPosn;
+
+ iFinish = j + 1;
+ jFinish = j;
+ break;
+ case '"':
+ type = TupleItem.STRING;
+ iStart = i;
+ jStart = i + 1;
+ boolean inEscape = false;
+ for (j = i + 1; j < line.length(); j++) {
+ char ch = line.charAt(j);
+ if (inEscape) {
+ // ToDo: escape
+ inEscape = false;
+ continue;
+ }
+ // Not an escape
+ if (ch == '"')
+ break;
+
+ if (ch == '\\')
+ inEscape = true;
+ if (ch == '\n' || ch == '\r') {
+ errorFound = true;
+ break tupleLoop;
+
+ }
+ }
+
+ // Malformed
+ if (j == line.length()) {
+ errorFound = true;
+ break tupleLoop;
+ }
+
+ iFinish = j + 1;
+ jFinish = j;
+ // RDF literals may be followed by their type.
+
+ if (j < line.length() - 3 && line.charAt(j + 1) == '^'
+ && line.charAt(j + 2) == '^'
+ && line.charAt(j + 3) == '<') {
+ dtFinish = parseURI(j + 3, line);
+ dtStart = j + 4;
+ if (dtFinish < 0) {
+ errorFound = true;
+ break tupleLoop;
+ }
+ j = dtFinish + 1;
+ // String dt = line.substring(dtStart, dtFinish) ;
+ // System.out.println("I see a datatype:"+dt) ;
+ }
+
+ break;
+ case '_':
+ type = TupleItem.ANON;
+ iStart = i;
+ for (j = i + 1; j < line.length(); j++) {
+ char ch = line.charAt(j);
+ if (ch == ' ' || ch == '\t' || ch == '.')
+ break;
+ if (!Character.isLetterOrDigit(ch) && !(ch == '_')
+ && !(ch == ':')) {
+ errorFound = true;
+ break tupleLoop;
+ }
+ }
+ iFinish = j;
+ jStart = iStart;
+ jFinish = iFinish;
+ break;
+ case '.':
+ case '\n':
+ case '\r':
+ return tuple;
+ default:
+ type = TupleItem.UNQUOTED;
+ iStart = i;
+ jStart = i;
+ for (j = i + 1; j < line.length(); j++) {
+ char ch = line.charAt(j);
+ if (ch == ' ' || ch == '\t' || ch == '.')
+ break;
+
+ // if ( ! Character.isLetterOrDigit(line.charAt(i)) )
+ // {
+ // errorFound = true ;
+ // break tupleLoop;
+ // }
+ }
+ // Malformed
+ if (j == line.length() + 1) {
+ errorFound = true;
+ break tupleLoop;
+ }
+ iFinish = j;
+ jFinish = j;
+ break;
+ }
+ String item = line.substring(jStart, jFinish);
+ String literal = line.substring(iStart, iFinish);
+ String dt = null;
+ if (dtStart > 0)
+ dt = line.substring(dtStart, dtFinish);
+
+ tuple.add(new TupleItem(item, literal, type, dt));
+ j++;
+ // End of item.
+ }
+ // End of this line.
+ if (errorFound) {
+ logger.error("Error in TupleSet.tuple: " + line);
+
+ String s = "";
+ int k = 0;
+ for (; k < i; k++)
+ s = s + " ";
+ s = s + "^";
+ for (; k < j - 1; k++)
+ s = s + " ";
+ s = s + "^";
+ logger.error(s);
+ return null;
+ }
+
+ if (tuple.size() == 0) {
+ // Nothing found : loop by tail recursion
+ return tuple();
+ }
+ return tuple;
+ }
+
+ private int skipwhitespace(String s, int i) {
+ for (; i < s.length(); i++) {
+ char ch = s.charAt(i);
+ // Horizonal whitespace
+ if (ch != ' ' && ch != '\t')
+ return i;
+ }
+ return -1;
+ }
+
+ private int parseURI(int i, String line) {
+ int j;
+ for (j = i + 1; j < line.length(); j++) {
+ char ch = line.charAt(j);
+ if (ch == '>')
+ break;
+ if (ch == '\n' || ch == '\r')
+ return -1;
+ }
+ // Malformed
+ if (j == line.length())
+ return -2;
+ return j;
+ }
+}
[06/50] [abbrv] jena git commit: JENA-929: PR#54: Deprecating Map1 in
favor of Java8 Function
Posted by cl...@apache.org.
JENA-929: PR#54: Deprecating Map1 in favor of Java8 Function
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3656b686
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3656b686
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3656b686
Branch: refs/heads/add-contract-tests
Commit: 3656b686b7f9cfcf21fa14bb337342021a74c8f7
Parents: 5b55795
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 14:24:08 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 14:24:08 2015 +0100
----------------------------------------------------------------------
jena-core/src/main/java/jena/schemagen.java | 40 ++++++++++++--------
.../apache/jena/assembler/AssemblerHelp.java | 2 +-
.../apache/jena/assembler/ModelExpansion.java | 2 +-
.../assembler/assemblers/AssemblerGroup.java | 2 +-
.../main/java/org/apache/jena/graph/Triple.java | 10 ++---
.../apache/jena/ontology/impl/OntModelImpl.java | 1 -
.../org/apache/jena/rdf/model/Statement.java | 15 +-------
.../org/apache/jena/graph/test/TestTriple.java | 12 ++++--
.../jena/rdf/model/test/TestResources.java | 6 +--
.../jena/rdf/model/test/TestStatements.java | 11 ++----
10 files changed, 46 insertions(+), 55 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/main/java/jena/schemagen.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/jena/schemagen.java b/jena-core/src/main/java/jena/schemagen.java
index 50240ed..29642bc 100644
--- a/jena-core/src/main/java/jena/schemagen.java
+++ b/jena-core/src/main/java/jena/schemagen.java
@@ -23,25 +23,33 @@ package jena;
// Imports
///////////////
-import static jena.cmdline.CmdLineUtils.setLog4jConfiguration;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.function.Function;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.apache.jena.ontology.* ;
+import static jena.cmdline.CmdLineUtils.setLog4jConfiguration ;
+
+import java.io.ByteArrayOutputStream ;
+import java.io.File ;
+import java.io.FileOutputStream ;
+import java.io.PrintStream ;
+import java.net.MalformedURLException ;
+import java.net.URL ;
+import java.text.SimpleDateFormat ;
+import java.util.* ;
+import java.util.regex.Pattern ;
+import java.util.regex.PatternSyntaxException ;
+
+import org.apache.jena.ontology.Individual ;
+import org.apache.jena.ontology.OntModel ;
+import org.apache.jena.ontology.OntModelSpec ;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.shared.JenaException ;
import org.apache.jena.util.FileManager ;
-import org.apache.jena.util.iterator.* ;
-import org.apache.jena.vocabulary.* ;
-import org.apache.xerces.util.XMLChar;
-import org.slf4j.LoggerFactory;
+import org.apache.jena.util.iterator.ExtendedIterator ;
+import org.apache.jena.util.iterator.WrappedIterator ;
+import org.apache.jena.vocabulary.OWL ;
+import org.apache.jena.vocabulary.RDF ;
+import org.apache.jena.vocabulary.RDFS ;
+import org.apache.jena.vocabulary.XSD ;
+import org.apache.xerces.util.XMLChar ;
+import org.slf4j.LoggerFactory ;
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java b/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java
index 6c0ad5a..ac5d031 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/AssemblerHelp.java
@@ -208,7 +208,7 @@ public class AssemblerHelp
*/
public static Set<Resource> findSpecificTypes( Resource root, Resource baseType )
{
- List<RDFNode> types = root.listProperties( RDF.type ).mapWith( Statement.Util.getObject ).toList();
+ List<RDFNode> types = root.listProperties( RDF.type ).mapWith( Statement::getObject ).toList();
Set<Resource> results = new HashSet<>();
for (int i = 0; i < types.size(); i += 1)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/main/java/org/apache/jena/assembler/ModelExpansion.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/ModelExpansion.java b/jena-core/src/main/java/org/apache/jena/assembler/ModelExpansion.java
index 7fcce36..45f3712 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/ModelExpansion.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/ModelExpansion.java
@@ -270,7 +270,7 @@ public class ModelExpansion
private static Set<Resource> subjectSet( Model result, Resource S, Property P, RDFNode O )
{
- return result.listStatements( S, P, O ) .mapWith( Statement.Util.getSubject ).toSet();
+ return result.listStatements( S, P, O ) .mapWith( Statement::getSubject ).toSet();
}
private static List<RDFNode> asJavaList( Resource resource )
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java
index 1daf679..02d21ca 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerGroup.java
@@ -99,7 +99,7 @@ public abstract class AssemblerGroup extends AssemblerBase implements Assembler
public Set<Resource> implementsTypes()
{
- return implementTypes.listStatements().mapWith( Statement.Util.getSubject ).toSet(); }
+ return implementTypes.listStatements().mapWith( Statement::getSubject ).toSet(); }
}
static class PlainAssemblerGroup extends AssemblerGroup
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/main/java/org/apache/jena/graph/Triple.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/Triple.java b/jena-core/src/main/java/org/apache/jena/graph/Triple.java
index e3428f2..89d7238 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/Triple.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/Triple.java
@@ -19,7 +19,9 @@
package org.apache.jena.graph;
import org.apache.jena.shared.PrefixMapping ;
-import org.apache.jena.util.iterator.* ;
+import org.apache.jena.util.iterator.ExtendedIterator ;
+import org.apache.jena.util.iterator.Filter ;
+import org.apache.jena.util.iterator.NullIterator ;
/**
Triples are the basis for RDF statements; they have a subject, predicate, and
@@ -83,12 +85,6 @@ public class Triple
public Node getMatchSubject()
{ return anyToNull( subj ); }
- public static final Map1<Triple, Node> getSubject = t -> t.getSubject();
-
- public static final Map1<Triple, Node> getPredicate = t -> t.getPredicate();
-
- public static final Map1<Triple, Node> getObject = t -> t.getObject();
-
/** Return predicate or null, not Node.ANY */
public Node getMatchPredicate()
{ return anyToNull( pred ); }
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
index e6dc9af..458a945 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
@@ -28,7 +28,6 @@ import java.io.OutputStream ;
import java.io.Reader ;
import java.io.Writer ;
import java.util.* ;
-import java.util.function.Function;
import org.apache.jena.enhanced.BuiltinPersonalities ;
import org.apache.jena.enhanced.EnhNode ;
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java b/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java
index 14bb52b..376659d 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java
@@ -18,8 +18,7 @@
package org.apache.jena.rdf.model;
-import org.apache.jena.graph.* ;
-import org.apache.jena.util.iterator.Map1 ;
+import org.apache.jena.graph.FrontsTriple ;
/** An RDF Statement.
*
@@ -390,16 +389,4 @@ public interface Statement extends FrontsTriple
* removes all four triples of the reification quad.
*/
void removeReification();
-
- /**
- Utility constants -- in a nested class for namespace reasons.
- */
- public static class Util
- {
- public static final Map1<Statement, Resource> getSubject = s -> s.getSubject();
-
- public static final Map1<Statement, Property> getPredicate = s -> s.getPredicate();
-
- public static final Map1<Statement, RDFNode> getObject = s -> s.getObject();
- }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java
index 16fbcd7..6d72c1d 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java
@@ -18,6 +18,8 @@
package org.apache.jena.graph.test;
+import java.util.function.Function ;
+
import junit.framework.TestSuite ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
@@ -258,10 +260,12 @@ public class TestTriple extends GraphTestBase
public void testTripleMaps()
{
- assertEquals( node( "x" ), Triple.getSubject.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
- assertEquals( node( "P" ), Triple.getPredicate.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
- assertEquals( node( "z" ), Triple.getObject.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
+ assertEquals( node( "x" ), getSubject.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
+ assertEquals( node( "P" ), getPredicate.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
+ assertEquals( node( "z" ), getObject.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
}
-
+ public static final Function<Triple, Node> getSubject = t -> t.getSubject();
+ public static final Function<Triple, Node> getPredicate = t -> t.getPredicate();
+ public static final Function<Triple, Node> getObject = t -> t.getObject();
}
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java
index c0262f1..a010812 100644
--- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java
+++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java
@@ -314,21 +314,21 @@ public class TestResources extends AbstractModelTestBase
Assert.assertEquals(13,
GraphTestBase.iteratorToSet(r.listProperties(RDF.value)).size());
Assert.assertEquals(setOf(r), GraphTestBase.iteratorToSet(r
- .listProperties(RDF.value).mapWith(Statement.Util.getSubject)));
+ .listProperties(RDF.value).mapWith(Statement::getSubject)));
//
Assert.assertEquals(0, GraphTestBase.iteratorToSet(r.listProperties(p))
.size());
Assert.assertEquals(
new HashSet<Resource>(),
GraphTestBase.iteratorToSet(r.listProperties(p).mapWith(
- Statement.Util.getSubject)));
+ Statement::getSubject)));
//
Assert.assertEquals(13 + numProps,
GraphTestBase.iteratorToSet(r.listProperties()).size());
Assert.assertEquals(
setOf(r),
GraphTestBase.iteratorToSet(r.listProperties().mapWith(
- Statement.Util.getSubject)));
+ Statement::getSubject)));
//
r.removeProperties();
Assert.assertEquals(0,
http://git-wip-us.apache.org/repos/asf/jena/blob/3656b686/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java
index 498f357..06126aa 100644
--- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java
+++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java
@@ -115,13 +115,10 @@ public class TestStatements extends AbstractModelTestBase
public void testStatmentMap1Selectors()
{
- final Statement s = ModelHelper.statement("sub pred obj");
- Assert.assertEquals(ModelHelper.resource("sub"),
- Statement.Util.getSubject.apply(s));
- Assert.assertEquals(ModelHelper.resource("pred"),
- Statement.Util.getPredicate.apply(s));
- Assert.assertEquals(ModelHelper.resource("obj"),
- Statement.Util.getObject.apply(s));
+ final Statement stmt = ModelHelper.statement("sub pred obj");
+ Assert.assertEquals(ModelHelper.resource("sub"), stmt.getSubject());
+ Assert.assertEquals(ModelHelper.resource("pred"), stmt.getPredicate()) ;
+ Assert.assertEquals(ModelHelper.resource("obj"), stmt.getObject()) ;
}
/**
[35/50] [abbrv] jena git commit: com.hp.hpl.jena -> org.apache.jena
in log4j files
Posted by cl...@apache.org.
com.hp.hpl.jena -> org.apache.jena in log4j files
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/18aaf7da
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/18aaf7da
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/18aaf7da
Branch: refs/heads/add-contract-tests
Commit: 18aaf7dac20e50d2ea3a1f4fb678a4b83812cd6d
Parents: 0ec61c8
Author: Andy Seaborne <an...@apache.org>
Authored: Thu May 7 10:44:32 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu May 7 10:44:32 2015 +0100
----------------------------------------------------------------------
jena-arq/src/test/resources/log4j-testing.properties | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/18aaf7da/jena-arq/src/test/resources/log4j-testing.properties
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/resources/log4j-testing.properties b/jena-arq/src/test/resources/log4j-testing.properties
index 8ff6f73..5480f7b 100644
--- a/jena-arq/src/test/resources/log4j-testing.properties
+++ b/jena-arq/src/test/resources/log4j-testing.properties
@@ -6,10 +6,11 @@ log4j.appender.stdlog.layout=org.apache.log4j.PatternLayout
log4j.appender.stdlog.layout.ConversionPattern=%d{HH:mm:ss} %-5p %-25c{1} :: %m%n
# Execution logging
-log4j.logger.com.hp.hpl.jena.arq.info=INFO
-log4j.logger.com.hp.hpl.jena.arq.exec=INFO
+log4j.logger.org.apache.jena.arq.info=INFO
+log4j.logger.org.apache.jena.arq.exec=INFO
# Everything else in Jena
+log4j.logger.org.apache.jena=WARN
log4j.logger.org.apache.jena.riot=INFO
# Apache Commons HTTP
[20/50] [abbrv] jena git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/jena
Posted by cl...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/jena
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/44ece037
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/44ece037
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/44ece037
Branch: refs/heads/add-contract-tests
Commit: 44ece0373df887a587ad1e05a634f8e057daf025
Parents: 80bb3ed 26c97e6
Author: Andy Seaborne <an...@apache.org>
Authored: Mon May 4 18:12:26 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon May 4 18:12:26 2015 +0100
----------------------------------------------------------------------
.../src/test/java/org/apache/jena/util/TestOneToManyMap.java | 4 ++--
.../org/apache/jena/util/iterator/test/TestResourceUtils.java | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
[41/50] [abbrv] jena git commit: Fixed issues with plugin versions
and repositories in the POM. added MIT license info to the NOTICE
Posted by cl...@apache.org.
Fixed issues with plugin versions and repositories in the POM.
added MIT license info to the NOTICE
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/eb7760db
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/eb7760db
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/eb7760db
Branch: refs/heads/add-contract-tests
Commit: eb7760dbf541ffb4d605cd069a2b9df91d6f3165
Parents: d2da6f7
Author: Claude Warren <cl...@apache.org>
Authored: Sat May 9 10:41:56 2015 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Sat May 9 10:41:56 2015 +0100
----------------------------------------------------------------------
jena-permissions/NOTICE | 6 +++++-
jena-permissions/pom.xml | 15 ---------------
2 files changed, 5 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/eb7760db/jena-permissions/NOTICE
----------------------------------------------------------------------
diff --git a/jena-permissions/NOTICE b/jena-permissions/NOTICE
index d4e11ad..c3cdfae 100644
--- a/jena-permissions/NOTICE
+++ b/jena-permissions/NOTICE
@@ -1,5 +1,9 @@
-Apache Jena - Security module
+Apache Jena - Permissions module
Copyright 2011, 2012, 2013, 2014, 2015 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
+
+Built with Build Helper Maven Plugin licensed under MIT license.
+
+
http://git-wip-us.apache.org/repos/asf/jena/blob/eb7760db/jena-permissions/pom.xml
----------------------------------------------------------------------
diff --git a/jena-permissions/pom.xml b/jena-permissions/pom.xml
index 95fa648..48d9026 100644
--- a/jena-permissions/pom.xml
+++ b/jena-permissions/pom.xml
@@ -45,20 +45,6 @@
<url>http://issues.apache.org/jira/browse/JENA</url>
<system>JIRA</system>
</issueManagement>
- <repositories>
- <repository>
- <id>apache-snapshots-repo</id>
- <url>https://repository.apache.org/content/repositories/snapshots/</url>
- </repository>
- <repository>
- <id>apache-staging-repo</id>
- <url>https://repository.apache.org/content/repositories/staging/</url>
- </repository>
- <repository>
- <id>apache-releases-repo</id>
- <url>https://repository.apache.org/content/repositories/releases/</url>
- </repository>
- </repositories>
<build>
<plugins>
<plugin>
@@ -98,7 +84,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <!-- <version>2.9</version> -->
<configuration>
<excludePackageNames>org.apache.jena.security.example:org.apache.jena.security.example.*</excludePackageNames>
<tags>
[31/50] [abbrv] jena git commit: Fix warnings after JENA-931
Posted by cl...@apache.org.
Fix warnings after JENA-931
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/fa3bae84
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/fa3bae84
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/fa3bae84
Branch: refs/heads/add-contract-tests
Commit: fa3bae848ab63855900627d8745246a1170eff7d
Parents: d480bd1
Author: Andy Seaborne <an...@apache.org>
Authored: Wed May 6 19:40:10 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed May 6 19:40:10 2015 +0100
----------------------------------------------------------------------
.../apache/jena/sparql/engine/iterator/QueryIterGroup.java | 1 -
.../java/org/apache/jena/atlas/iterator/IteratorArray.java | 2 +-
.../main/java/org/apache/jena/atlas/lib/ActionKeyValue.java | 2 +-
.../src/main/java/org/apache/jena/atlas/lib/ListUtils.java | 2 +-
.../src/main/java/org/apache/jena/atlas/lib/StrUtils.java | 8 +++-----
.../org/apache/jena/atlas/iterator/TestIteratorArray.java | 3 +++
.../org/apache/jena/atlas/iterator/TestIteratorPeek.java | 6 ++----
.../jena/query/text/assembler/EntityDefinitionAssembler.java | 1 -
8 files changed, 11 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/fa3bae84/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java
index 2b2e194..6595533 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java
@@ -26,7 +26,6 @@ import java.util.List ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.iterator.IteratorDelayedInitialization ;
import org.apache.jena.atlas.lib.Pair ;
-import org.apache.jena.ext.com.google.common.collect.ArrayListMultimap;
import org.apache.jena.ext.com.google.common.collect.HashMultimap;
import org.apache.jena.ext.com.google.common.collect.Multimap;
import org.apache.jena.graph.Node ;
http://git-wip-us.apache.org/repos/asf/jena/blob/fa3bae84/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
index 2c97ca7..c73a8f7 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
@@ -24,7 +24,7 @@ import java.util.NoSuchElementException ;
/** Iterator over a Java base array */
/**
- * @deprecated
+ * @deprecated
* Prefer {@link Arrays#asList(Object...)} with {@link Iterable#iterator()} or
* {@link Arrays#spliterator(Object[])} or {@link Arrays#stream(Object[])}
*/
http://git-wip-us.apache.org/repos/asf/jena/blob/fa3bae84/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
index 12dadab..3a51e64 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ActionKeyValue.java
@@ -21,7 +21,7 @@ package org.apache.jena.atlas.lib;
import java.util.function.BiConsumer;
/**
- * Prefer {@link BiConsumer<KeyType, ValueType>}.
+ * @drepecated Use {@link BiConsumer}.
*/
@Deprecated
public interface ActionKeyValue<KeyType, ValueType> extends BiConsumer<KeyType, ValueType>
http://git-wip-us.apache.org/repos/asf/jena/blob/fa3bae84/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
index 2d1345f..470ea08 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ListUtils.java
@@ -75,7 +75,7 @@ public class ListUtils
/** Return a list of lists of all the elements of collection in every order
* Easy to run out of heap memory.
*
- * See {@link com.google.common.collect.Collections2#permutations(Collection<E>)}
+ * See {@link org.apache.jena.ext.com.google.common.collect.Collections2#permutations}
*/
static public <T> List<List<T>> permute(List<T> c)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/fa3bae84/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java
index a61af11..b0b4721 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java
@@ -18,15 +18,13 @@
package org.apache.jena.atlas.lib;
-import static java.util.Arrays.stream;
-import static java.util.stream.Collectors.joining;
-import static java.util.stream.Collectors.toList;
+import static java.util.Arrays.stream ;
+import static java.util.stream.Collectors.joining ;
+import static java.util.stream.Collectors.toList ;
import java.io.UnsupportedEncodingException ;
-import java.util.ArrayList ;
import java.util.List ;
import java.util.Map ;
-import java.util.stream.Collectors;
public class StrUtils //extends StringUtils
http://git-wip-us.apache.org/repos/asf/jena/blob/fa3bae84/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorArray.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorArray.java b/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorArray.java
index 5108865..f538558 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorArray.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorArray.java
@@ -25,8 +25,11 @@ import org.apache.jena.atlas.iterator.IteratorArray ;
import org.apache.jena.atlas.junit.BaseTest ;
import org.junit.Test ;
+// Legacy - to be removed sometime.
+@SuppressWarnings("deprecation")
public class TestIteratorArray extends BaseTest
{
+
IteratorArray<String> create(String ... a)
{
return IteratorArray.create(a) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/fa3bae84/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorPeek.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorPeek.java b/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorPeek.java
index 33f0b70..01581d6 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorPeek.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/iterator/TestIteratorPeek.java
@@ -21,10 +21,8 @@ package org.apache.jena.atlas.iterator;
import java.util.ArrayList ;
import java.util.List ;
-import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.iterator.IteratorArray ;
-import org.apache.jena.atlas.iterator.PeekIterator ;
import org.apache.jena.atlas.junit.BaseTest ;
+import org.apache.jena.ext.com.google.common.collect.Iterators ;
import org.junit.Test ;
public class TestIteratorPeek extends BaseTest
@@ -61,7 +59,7 @@ public class TestIteratorPeek extends BaseTest
private static PeekIterator<String> create(String...a)
{
- return new PeekIterator<>(IteratorArray.create(a)) ;
+ return new PeekIterator<>(Iterators.forArray(a)) ;
}
@Test public void peek_1()
http://git-wip-us.apache.org/repos/asf/jena/blob/fa3bae84/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
index a54fc92..ca66f27 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/EntityDefinitionAssembler.java
@@ -32,7 +32,6 @@ import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.ext.com.google.common.collect.HashMultimap;
import org.apache.jena.ext.com.google.common.collect.Multimap;
-import org.apache.jena.ext.com.google.common.collect.Multimaps;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.* ;
import org.apache.jena.query.text.EntityDefinition ;
[33/50] [abbrv] jena git commit: Delete old dev code.
Posted by cl...@apache.org.
Delete old dev code.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/a55e1478
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/a55e1478
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/a55e1478
Branch: refs/heads/add-contract-tests
Commit: a55e14780ac58e5cc08dd64424ad8307195ed885
Parents: e81ee64
Author: Andy Seaborne <an...@apache.org>
Authored: Thu May 7 10:29:40 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu May 7 10:29:40 2015 +0100
----------------------------------------------------------------------
jena-tdb/src-dev/dev/Tests.java | 32 ----
jena-tdb/src-dev/test/BPlusTreeRun.java | 74 ---------
jena-tdb/src-dev/test/ByteBufferTest.java | 78 ---------
jena-tdb/src-dev/test/ExtHashRun.java | 200 -----------------------
jena-tdb/src-dev/test/RunnerExecute.java | 119 --------------
jena-tdb/src-dev/test/RunnerRangeIndex.java | 149 -----------------
6 files changed, 652 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/a55e1478/jena-tdb/src-dev/dev/Tests.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-dev/dev/Tests.java b/jena-tdb/src-dev/dev/Tests.java
deleted file mode 100644
index 8802761..0000000
--- a/jena-tdb/src-dev/dev/Tests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * 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 dev;
-
-import org.junit.runner.RunWith ;
-import org.junit.runners.Suite ;
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses( {
-})
-
-public class Tests
-{
-
-}
-
http://git-wip-us.apache.org/repos/asf/jena/blob/a55e1478/jena-tdb/src-dev/test/BPlusTreeRun.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-dev/test/BPlusTreeRun.java b/jena-tdb/src-dev/test/BPlusTreeRun.java
deleted file mode 100644
index 5e65f41..0000000
--- a/jena-tdb/src-dev/test/BPlusTreeRun.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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 test;
-
-import org.openjena.atlas.logging.Log ;
-
-import com.hp.hpl.jena.tdb.base.file.BlockAccessMem ;
-import com.hp.hpl.jena.tdb.index.RangeIndexMaker ;
-import com.hp.hpl.jena.tdb.index.bplustree.BPlusTree ;
-import com.hp.hpl.jena.tdb.index.bplustree.BPlusTreeMaker ;
-import com.hp.hpl.jena.tdb.index.bplustree.BPlusTreeParams ;
-import com.hp.hpl.jena.tdb.sys.SystemTDB ;
-
-public class BPlusTreeRun extends RunnerRangeIndex
-{
- static { Log.setLog4j() ; }
-
- static public void main(String...a)
- {
- new BPlusTreeRun().perform(a) ;
- }
-
- @Override
- protected RangeIndexMaker makeRangeIndexMaker()
- {
- BPlusTreeMaker maker = new BPlusTreeMaker(order, order, trackingBlocks) ;
-
- BPlusTree bpt = (BPlusTree)(maker.makeIndex()) ;
- BPlusTreeParams param = bpt.getParams() ;
- System.out.println(bpt.getParams()) ;
- System.out.println("Block size = "+bpt.getParams().getCalcBlockSize()) ;
- return maker ;
- }
-
- @Override
- protected void initialize(RunType runType)
- {
- switch (runType)
- {
- case test:
- showProgress = true ;
- //BPlusTreeParams.checkAll() ;
- BPlusTreeParams.CheckingTree = true ;
- BPlusTreeParams.CheckingNode = true ;
- SystemTDB.NullOut = true ;
- BlockAccessMem.SafeMode = true ;
- break ;
- case perf:
- showProgress = false ;
- BPlusTreeParams.CheckingTree = false ;
- BPlusTreeParams.CheckingNode = false ;
- SystemTDB.NullOut = false ;
- BlockAccessMem.SafeMode = false ;
- break ;
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a55e1478/jena-tdb/src-dev/test/ByteBufferTest.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-dev/test/ByteBufferTest.java b/jena-tdb/src-dev/test/ByteBufferTest.java
deleted file mode 100644
index 7012530..0000000
--- a/jena-tdb/src-dev/test/ByteBufferTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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 test ;
-import java.nio.ByteBuffer;
-
-import org.junit.Test;
-
-
-public class ByteBufferTest {
- //@Test
- public void direct0() {
- testDirect("direct0");
- }
- @Test
- public void heap1() {
- testHeap("heap1");
- }
-
- @Test
- public void direct1() {
- testDirect("direct1");
- }
-
- @Test
- public void heap2() {
- testHeap("heap2");
- }
-
- @Test
- public void direct2() {
- testDirect("direct2");
- }
-
- private void testHeap(String name) {
- ByteBuffer buf = ByteBuffer.allocate(2048);
- long startTime = System.currentTimeMillis();
- for (int i = 1048576; i > 0; i --) {
- buf.clear();
- while (buf.hasRemaining()) {
- buf.getInt(buf.position());
- buf.putInt((byte) 0);
- }
- }
- long endTime = System.currentTimeMillis();
- System.out.println(name + ": " + (endTime - startTime));
- }
-
- private void testDirect(String name) {
- ByteBuffer buf = ByteBuffer.allocateDirect(2048);
- long startTime = System.currentTimeMillis();
- for (int i = 1048576; i > 0; i --) {
- buf.clear();
- while (buf.hasRemaining()) {
- buf.getInt(buf.position());
- buf.putInt((byte) 0);
- }
- }
- long endTime = System.currentTimeMillis();
- System.out.println(name + ": " + (endTime - startTime));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a55e1478/jena-tdb/src-dev/test/ExtHashRun.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-dev/test/ExtHashRun.java b/jena-tdb/src-dev/test/ExtHashRun.java
deleted file mode 100644
index 0f74037..0000000
--- a/jena-tdb/src-dev/test/ExtHashRun.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * 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 test;
-
-import static org.openjena.atlas.lib.RandomLib.random;
-import static org.openjena.atlas.test.Gen.permute;
-import static org.openjena.atlas.test.Gen.rand;
-import static org.openjena.atlas.test.Gen.strings;
-
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.openjena.atlas.logging.Log ;
-
-
-import com.hp.hpl.jena.tdb.index.ext.ExtHash;
-import com.hp.hpl.jena.tdb.index.ext.ExtHashTestBase;
-import com.hp.hpl.jena.tdb.sys.SystemTDB;
-
-
-//import tdb.Cmd;
-
-public abstract class ExtHashRun
-{
- static boolean showProgress = true ;
-
- static { Log.setLog4j() ; }
-
- static public void main(String...a)
- {
- List<String> args = new ArrayList<String>(Arrays.asList(a)) ;
- if ( args.size() == 0 )
- {
- System.err.println("No subcommand") ;
- System.exit(1) ;
- }
- String subCmd = args.remove(0) ;
- if ( "test".equalsIgnoreCase(subCmd) )
- new Test().exec(args) ;
- else if ( "perf".equalsIgnoreCase(subCmd) )
- new Perf().exec(args) ;
- else
- {
- System.err.println("Unknown subcommand: "+subCmd) ;
- System.exit(1) ;
- }
- }
-
- public void exec(List<String> args)
- {
- args = processArgs(args) ;
- int numKeys = Integer.parseInt(args.get(0)) ;
- int iterations = Integer.parseInt(args.get(1)) ;
- exec(numKeys, iterations) ;
- }
-
- protected abstract void exec(int numKeys, int iterations) ;
-
- // ---- Test
- public static class Test extends ExtHashRun
- {
- @Override
- protected void exec(int numKeys, int iterations)
- {
- ExtHash.Checking = true ;
- ExtHashTestBase.randTests(10*numKeys, numKeys, iterations, showProgress) ;
- }
- }
-
- // ---- Perfromance
- public static class Perf extends ExtHashRun
- {
- @Override
- public void exec(List<String> args)
- {
- showProgress = true ;
- ExtHash.Checking = false ;
- ExtHash.Logging = false ;
- SystemTDB.NullOut = false ;
- super.exec(args) ;
- }
-
- @Override
- protected void exec(int numKeys, int iterations)
- {
- RandomGen rand = new RandomGen(100*numKeys, numKeys) ;
- org.openjena.atlas.test.RepeatExecution.repeatExecutions(rand, iterations, showProgress) ;
- }
- }
-
- static class RandomGen implements org.openjena.atlas.test.ExecGenerator
- {
- int maxNumKeys ;
- int maxValue ;
-
- RandomGen(int maxValue, int maxNumKeys)
- {
- if ( maxValue <= maxNumKeys )
- throw new IllegalArgumentException("ExtHash: Max value less than number of keys") ;
- this.maxValue = maxValue ;
- this.maxNumKeys = maxNumKeys ;
- }
-
- @Override
- public void executeOneTest()
- {
- int numKeys = random.nextInt(maxNumKeys)+1 ;
- perfTest(maxValue, numKeys) ;
- }
-
- /* Performance test : print the keys if there was a problem */
- public static void perfTest(int maxValue, int numKeys)
- {
-// if ( numKeys >= 3000 )
-// System.err.printf("Warning: a lot of keys\n") ;
-
- int[] keys1 = rand(numKeys, 0, maxValue) ;
- int[] keys2 = permute(keys1, numKeys) ;
- try {
- ExtHash extHash = ExtHashTestBase.create(keys1) ;
- ExtHashTestBase.delete(extHash, keys2) ;
- } catch (RuntimeException ex)
- {
- System.err.printf("int[] keys1 = {%s} ;\n", strings(keys1)) ;
- System.err.printf("int[] keys2 = {%s}; \n", strings(keys2)) ;
- throw ex ;
- }
- }
- }
-
- List<String> processArgs(List<String> args)
- {
-
- int i = 0 ;
- while ( args.size()>0 )
- {
- if ( !args.get(0).startsWith("-") )
- break ;
-
- String a = args.remove(0) ;
- if ( a.startsWith("--") )
- a = a.substring(2) ;
- else
- a = a.substring(1) ;
-
- if ( a.equals("h") || a.equals("help") )
- {
- usage(System.out) ;
- System.exit(0) ;
- }
- else if ( a.equals("v") )
- {}
- else if ( a.equalsIgnoreCase("check") )
- {
- ExtHash.Checking = true ;
- }
- else if ( a.equalsIgnoreCase("display") )
- {
- showProgress = ! showProgress ;
- }
- else
- {
- System.err.println("Unknown argument: "+a) ;
- System.exit(1) ;
- }
- }
-
- if ( args.size() != 2 )
- {
- usage(System.err) ;
- System.exit(1) ;
- }
- return args ;
- }
-
- public static void usage(PrintStream printStream)
- {
- printStream.println("Usage: OPTIONS NumKeys Iterations") ;
- printStream.println("Options:") ;
- printStream.println(" --check") ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a55e1478/jena-tdb/src-dev/test/RunnerExecute.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-dev/test/RunnerExecute.java b/jena-tdb/src-dev/test/RunnerExecute.java
deleted file mode 100644
index cd37329..0000000
--- a/jena-tdb/src-dev/test/RunnerExecute.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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 test;
-
-import static org.openjena.atlas.test.Gen.permute ;
-import static org.openjena.atlas.test.Gen.rand ;
-import static org.openjena.atlas.test.Gen.strings ;
-
-import java.io.PrintStream ;
-import java.util.ArrayList ;
-import java.util.Arrays ;
-import java.util.List ;
-
-import org.openjena.atlas.test.ExecGenerator ;
-import org.openjena.atlas.test.RepeatExecution ;
-
-import com.hp.hpl.jena.tdb.index.Index ;
-import com.hp.hpl.jena.tdb.index.IndexMaker ;
-import com.hp.hpl.jena.tdb.index.IndexTestLib ;
-import com.hp.hpl.jena.tdb.index.bplustree.BPlusTreeMaker ;
-
-
-public abstract class RunnerExecute
-{
- static enum RunType { test , perf }
-
- static boolean showProgress = true ;
-
- public void perform(String...a)
- {
- List<String> args = new ArrayList<String>(Arrays.asList(a)) ;
- if ( args.size() == 0 )
- {
- System.err.println("No subcommand") ;
- System.exit(1) ;
- }
- System.out.println(args) ;
- String subCmd = args.remove(0) ;
- RunType runType = null ;
-
- if ( "test".equalsIgnoreCase(subCmd) )
- runType = RunType.test ;
- else if ( "perf".equalsIgnoreCase(subCmd) )
- runType = RunType.perf ;
- else
- {
- System.err.println("Unknown subcommand: "+subCmd) ;
- System.exit(1) ;
- }
-
- initialize(runType) ;
-
- args = processArgs(args) ;
- int iterations = startRun(args, runType) ;
-
- ExecGenerator gen = execGenerator() ;
- RepeatExecution.repeatExecutions(gen, iterations, showProgress) ;
- finishRun() ;
- }
-
- protected abstract void initialize(RunType runType) ;
- protected abstract List<String> processArgs(List<String> args) ;
-
- protected abstract ExecGenerator execGenerator() ;
- protected abstract int startRun(List<String> args, RunType runType) ;
- protected abstract void finishRun() ;
-
- public static void usage(PrintStream printStream)
- {
- printStream.println("Usage: OPTIONS Order NumKeys Iterations") ;
- printStream.println("Options:") ;
- printStream.println(" --display") ;
- printStream.println(" --check (same as btree:checknode)") ;
- printStream.println(" --bptree:check") ;
- printStream.println(" --bptree:track") ;
- printStream.println(" --bptree:checknode (expensive)") ;
- printStream.println(" --bptree:log") ;
- printStream.println(" --bptree:safe") ;
- }
-
- /* Performance test : print the keys if there was a problem */
-
- public static void perfTest(int order, int maxValue, int numKeys)
- {
- // UNUSED.
-// if ( numKeys >= 3000 )
-// System.err.printf("Warning: too many keys\n") ;
-
- int[] keys1 = rand(numKeys, 0, maxValue) ;
- int[] keys2 = permute(keys1, numKeys) ;
- try {
- IndexMaker maker = new BPlusTreeMaker(order, order, false) ;
- Index rIndex = IndexTestLib.buildIndex(maker, keys1);
- IndexTestLib.delete(rIndex, keys2) ;
- } catch (RuntimeException ex)
- {
- System.err.printf("int order=%d ;\n", order) ;
- System.err.printf("int[] keys1 = {%s} ;\n", strings(keys1)) ;
- System.err.printf("int[] keys2 = {%s} ; \n", strings(keys2)) ;
- throw ex ;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/a55e1478/jena-tdb/src-dev/test/RunnerRangeIndex.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src-dev/test/RunnerRangeIndex.java b/jena-tdb/src-dev/test/RunnerRangeIndex.java
deleted file mode 100644
index 38fe57e..0000000
--- a/jena-tdb/src-dev/test/RunnerRangeIndex.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 test;
-import java.util.List ;
-
-import org.apache.log4j.Level ;
-import org.openjena.atlas.test.ExecGenerator ;
-
-import com.hp.hpl.jena.tdb.base.file.BlockAccessMem ;
-import com.hp.hpl.jena.tdb.index.IndexTestGenerator ;
-import com.hp.hpl.jena.tdb.index.RangeIndexMaker ;
-import com.hp.hpl.jena.tdb.index.bplustree.BPlusTreeParams ;
-import com.hp.hpl.jena.tdb.sys.SystemTDB ;
-
-public abstract class RunnerRangeIndex extends RunnerExecute
-{
- int order ;
- int maxValue ;
- int maxNumKeys ;
-
- static boolean trackingBlocks = false ;
-
- protected abstract RangeIndexMaker makeRangeIndexMaker() ;
-
- @Override
- protected ExecGenerator execGenerator()
- {
- RangeIndexMaker maker = makeRangeIndexMaker() ;
- //new RangeIndexTestGenerator(maker, numKeys*100, numKeys) ;
- IndexTestGenerator test = new IndexTestGenerator(maker, maxValue, maxNumKeys) ;
- return test ;
- }
-
- @Override
- protected int startRun(List<String> args, RunType runType)
- {
- order = Integer.parseInt(args.get(0)) ;
- int numKeys = Integer.parseInt(args.get(1)) ;
- int iterations = Integer.parseInt(args.get(2)) ;
-
- maxValue = 10*numKeys ;
- maxNumKeys = numKeys ;
- return iterations ;
- }
-
- @Override
- protected void finishRun()
- {}
-
- /** Process the arguments - return any to be done later (positionals) */
- @Override
- protected List<String> processArgs(List<String> args)
- {
- int i = 0 ;
- while ( args.size()>0 )
- {
- if ( !args.get(0).startsWith("-") )
- break ;
-
- String a = args.remove(0) ;
- if ( a.startsWith("--") )
- a = a.substring(2) ;
- else
- a = a.substring(1) ;
-
- if ( a.equals("h") || a.equals("help") )
- {
- usage(System.out) ;
- System.exit(0) ;
- }
- else if ( a.equals("v") )
- BPlusTreeParams.DumpTree = true ;
- else if ( a.equalsIgnoreCase("bptree:check") )
- {
- BPlusTreeParams.CheckingTree = true ;
- BPlusTreeParams.CheckingNode = false ;
- SystemTDB.NullOut = true ;
- BlockAccessMem.SafeMode = true ;
- }
- else if ( a.equalsIgnoreCase("bptree:checknode") )
- {
- BPlusTreeParams.CheckingTree = true ;
- BPlusTreeParams.CheckingNode = true ;
- SystemTDB.NullOut = true ;
- BlockAccessMem.SafeMode = true ;
- }
- else if ( a.equalsIgnoreCase("bptree:log") )
- {
- showProgress = false ;
- org.apache.log4j.LogManager.getLogger("bptree").setLevel(Level.DEBUG) ;
- org.apache.log4j.LogManager.getLogger("bptree.block").setLevel(Level.INFO) ;
- }
- else if ( a.equalsIgnoreCase("block:log") )
- {
- showProgress = false ;
- org.apache.log4j.LogManager.getLogger("bptree.block").setLevel(Level.DEBUG) ;
- }
- else if ( a.equalsIgnoreCase("block:safe") )
- BlockAccessMem.SafeMode = true ;
- else if ( a.equalsIgnoreCase("check") )
- {
- BPlusTreeParams.CheckingNode = false;
- BPlusTreeParams.CheckingTree = false ;
-// SystemTDB.NullOut = true ;
-// FileAccessMem.SafeMode = true ;
- }
- else if ( a.equalsIgnoreCase("display") )
- {
- showProgress = ! showProgress ;
- }
- else if ( a.equalsIgnoreCase("bptree:track") )
- {
- BPlusTreeParams.CheckingTree = false ;
- BPlusTreeParams.CheckingNode = false ;
- trackingBlocks = true ;
- }
- else
- {
- System.err.println("Unknown argument: "+a) ;
- System.exit(1) ;
- }
- }
-
- if ( args.size() != 3 )
- {
- usage(System.err) ;
- System.exit(1) ;
- }
-
- return args ;
- }
-
-}
[09/50] [abbrv] jena git commit: JENA-907: Rename Util.splitNamespace
as Util.splitNamespaceXML
Posted by cl...@apache.org.
JENA-907: Rename Util.splitNamespace as Util.splitNamespaceXML
This reflects its usage and enables a separation of use for
XML specifically and revising Node.getLocalName for Turtle.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/6d3a74ff
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/6d3a74ff
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/6d3a74ff
Branch: refs/heads/add-contract-tests
Commit: 6d3a74ff00339234d2ddc7792e0b8ea1f2db4b71
Parents: e7fbc0f
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 16:03:04 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 16:03:19 2015 +0100
----------------------------------------------------------------------
.../java/org/apache/jena/graph/Node_URI.java | 4 ++--
.../org/apache/jena/rdf/model/impl/ModelCom.java | 2 +-
.../org/apache/jena/rdf/model/impl/Util.java | 19 +++++++++++--------
.../rdfxml/xmloutput/impl/BaseXMLWriter.java | 4 ++--
.../jena/rdfxml/xmloutput/impl/Unparser.java | 6 +++---
.../jena/shared/impl/PrefixMappingImpl.java | 2 +-
.../org/apache/jena/graph/test/TestNode.java | 2 +-
.../test/java/org/apache/jena/util/TestUtil.java | 2 +-
8 files changed, 22 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/6d3a74ff/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java b/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java
index 7a45f80..331a383 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/Node_URI.java
@@ -65,14 +65,14 @@ public class Node_URI extends Node_Concrete
public String getNameSpace()
{
String s = (String) label;
- return s.substring( 0, Util.splitNamespace( s ) );
+ return s.substring( 0, Util.splitNamespaceXML( s ) );
}
@Override
public String getLocalName()
{
String s = (String) label;
- return s.substring( Util.splitNamespace( s ) );
+ return s.substring( Util.splitNamespaceXML( s ) );
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6d3a74ff/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
index 7162678..a0ed407 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
@@ -943,7 +943,7 @@ implements Model, PrefixMapping, Lock
if (node.isURI())
{
String uri = node.getURI();
- String ns = uri.substring( 0, Util.splitNamespace( uri ) );
+ String ns = uri.substring( 0, Util.splitNamespaceXML( uri ) );
// String ns = IteratorFactory.asResource( node, this ).getNameSpace();
set.add( ns );
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6d3a74ff/jena-core/src/main/java/org/apache/jena/rdf/model/impl/Util.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/Util.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/Util.java
index 1774ca7..5e3ec1b 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/Util.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/Util.java
@@ -32,17 +32,20 @@ import org.apache.xerces.util.XMLChar ;
*/
public class Util extends Object {
- /** Given an absolute URI, determine the split point between the namespace part
- * and the localname part.
- * If there is no valid localname part then the length of the
- * string is returned.
- * The algorithm tries to find the longest NCName at the end
- * of the uri, not immediately preceeded by the first colon
- * in the string.
+ /**
+ * Given an absolute URI, determine the split point between the namespace
+ * part and the localname part. If there is no valid localname part then the
+ * length of the string is returned. The algorithm tries to find the longest
+ * NCName at the end of the uri, not immediately preceeded by the first
+ * colon in the string.
+ * <p>
+ * This operation follows XML QName rules which are more complicated than
+ * needed for Turtle and TriG. For example, QName can't start with a digit.
+ *
* @param uri
* @return the index of the first character of the localname
*/
- public static int splitNamespace(String uri) {
+ public static int splitNamespaceXML(String uri) {
// XML Namespaces 1.0:
// A qname name is NCName ':' NCName
http://git-wip-us.apache.org/repos/asf/jena/blob/6d3a74ff/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/BaseXMLWriter.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/BaseXMLWriter.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/BaseXMLWriter.java
index c3a92fb..3cd8078 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/BaseXMLWriter.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/BaseXMLWriter.java
@@ -390,7 +390,7 @@ abstract public class BaseXMLWriter implements RDFXMLWriterI {
}
String splitTag(String uriref, int type) {
- int split = Util.splitNamespace( uriref );
+ int split = Util.splitNamespaceXML( uriref );
if (split == uriref.length()) throw new InvalidPropertyURIException( uriref );
return tag( uriref.substring( 0, split ), uriref.substring( split ), type, true );
}
@@ -525,7 +525,7 @@ abstract public class BaseXMLWriter implements RDFXMLWriterI {
return attributeQuoted( substituted );
else
{
- int split = Util.splitNamespace( substituted );
+ int split = Util.splitNamespaceXML( substituted );
String namespace = substituted.substring( 0, split );
String prefix = modelPrefixMapping.getNsURIPrefix( namespace );
return prefix == null || isPredefinedEntityName( prefix )
http://git-wip-us.apache.org/repos/asf/jena/blob/6d3a74ff/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
index 24d8ebf..2f35939 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
@@ -1186,7 +1186,7 @@ class Unparser {
throw new BrokenException("Internal error: getNameSpace(bNode)");
}
String uri = r.getURI();
- int split = Util.splitNamespace(uri);
+ int split = Util.splitNamespaceXML(uri);
return uri.substring(0, split);
}
@@ -1223,7 +1223,7 @@ class Unparser {
throw new BrokenException("Internal error: getLocalName(bNode)");
}
String uri = r.getURI();
- int split = Util.splitNamespace(uri);
+ int split = Util.splitNamespaceXML(uri);
return uri.substring(split);
}
@@ -1505,7 +1505,7 @@ class Unparser {
// Only allow resources with namespace and fragment ID
String uri = ((Resource) n).getURI();
- int split = Util.splitNamespace(uri);
+ int split = Util.splitNamespaceXML(uri);
if (split == 0 || split == uri.length())
return -1;
http://git-wip-us.apache.org/repos/asf/jena/blob/6d3a74ff/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java b/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java
index 36269c9..b2b23cb 100644
--- a/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/shared/impl/PrefixMappingImpl.java
@@ -206,7 +206,7 @@ public class PrefixMappingImpl implements PrefixMapping
@Override
public String qnameFor( String uri )
{
- int split = Util.splitNamespace( uri );
+ int split = Util.splitNamespaceXML( uri );
String ns = uri.substring( 0, split ), local = uri.substring( split );
if (local.equals( "" )) return null;
String prefix = URItoPrefix.get( ns );
http://git-wip-us.apache.org/repos/asf/jena/blob/6d3a74ff/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java
index 9683a59..0bfd21b 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java
@@ -663,7 +663,7 @@ public class TestNode extends GraphTestBase
{
for ( String uri : someURIs )
{
- int split = Util.splitNamespace( uri );
+ int split = Util.splitNamespaceXML( uri );
Node n = NodeCreateUtils.create( uri );
assertEquals( "check namespace", uri.substring( 0, split ), n.getNameSpace() );
assertEquals( "check localname", uri.substring( split ), n.getLocalName() );
http://git-wip-us.apache.org/repos/asf/jena/blob/6d3a74ff/jena-core/src/test/java/org/apache/jena/util/TestUtil.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/util/TestUtil.java b/jena-core/src/test/java/org/apache/jena/util/TestUtil.java
index 8bae423..9eb0538 100644
--- a/jena-core/src/test/java/org/apache/jena/util/TestUtil.java
+++ b/jena-core/src/test/java/org/apache/jena/util/TestUtil.java
@@ -118,7 +118,7 @@ public class TestUtil
if ( namespace != null && localname == null )
fail("Bad test - namespace is not null but local name is") ;
- int idx = Util.splitNamespace(uriStr) ;
+ int idx = Util.splitNamespaceXML(uriStr) ;
if ( idx == uriStr.length() )
{
// No split.
[08/50] [abbrv] jena git commit: JENA-608: Blank nodes in INSERT DATA
GRAPH
Posted by cl...@apache.org.
JENA-608: Blank nodes in INSERT DATA GRAPH
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e7fbc0f0
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e7fbc0f0
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e7fbc0f0
Branch: refs/heads/add-contract-tests
Commit: e7fbc0f00dcb414f21233e7390eab30eaf4275c4
Parents: c6e1970
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 15:18:13 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 15:18:43 2015 +0100
----------------------------------------------------------------------
jena-arq/Grammar/arq.jj | 8 +-
jena-arq/Grammar/master.jj | 21 +-
jena-arq/Grammar/sparql_11.jj | 8 +-
.../main/java/org/apache/jena/query/Syntax.java | 6 +-
.../apache/jena/sparql/lang/arq/ARQParser.java | 384 ++++++++++---------
.../sparql/lang/sparql_11/SPARQLParser11.java | 140 ++++---
6 files changed, 322 insertions(+), 245 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/e7fbc0f0/jena-arq/Grammar/arq.jj
----------------------------------------------------------------------
diff --git a/jena-arq/Grammar/arq.jj b/jena-arq/Grammar/arq.jj
index ac567a0..62ab2cb 100644
--- a/jena-arq/Grammar/arq.jj
+++ b/jena-arq/Grammar/arq.jj
@@ -492,7 +492,8 @@ void Quads(QuadAccSink acc) : { }
}
void QuadsNotTriples(QuadAccSink acc) : {Node gn ; Node prev = acc.getGraph() ; }
{
- <GRAPH> gn = VarOrIri()
+ <GRAPH>
+ gn = VarOrBlankNodeOrIri()
{ setAccGraph(acc, gn) ; }
<LBRACE>
(TriplesTemplate(acc))?
@@ -1116,6 +1117,11 @@ Node VarOrIri() : {Node n = null ; String iri ; }
( n = Var() | iri = iri() { n = createNode(iri) ; } )
{ return n ; }
}
+Node VarOrBlankNodeOrIri() : {Node n = null ; String iri ; }
+{
+ ( n = Var() | n = BlankNode() | iri = iri() { n = createNode(iri) ; } )
+ { return n ; }
+}
Var Var() : { Token t ;}
{
( t = <VAR1> | t = <VAR2> )
http://git-wip-us.apache.org/repos/asf/jena/blob/e7fbc0f0/jena-arq/Grammar/master.jj
----------------------------------------------------------------------
diff --git a/jena-arq/Grammar/master.jj b/jena-arq/Grammar/master.jj
index cd038e3..a8a189e 100644
--- a/jena-arq/Grammar/master.jj
+++ b/jena-arq/Grammar/master.jj
@@ -192,7 +192,7 @@ void SelectClause() : { Var v ; Expr expr ; Node n ; }
(
v = Var() { getQuery().addResultVar(v) ; }
|
-#if ARQ
+#ifdef ARQ
// Expressions without ()
( LOOKAHEAD(2)
expr = BuiltInCall() { getQuery().addResultVar((Var)null, expr) ; }
@@ -688,7 +688,13 @@ void Quads(QuadAccSink acc) : { }
void QuadsNotTriples(QuadAccSink acc) : {Node gn ; Node prev = acc.getGraph() ; }
{
- <GRAPH> gn = VarOrIri()
+ <GRAPH>
+#ifdef SPARQL_11
+ gn = VarOrIri()
+#endif
+#ifdef ARQ
+ gn = VarOrBlankNodeOrIri()
+#endif
{ setAccGraph(acc, gn) ; }
<LBRACE>
(TriplesTemplate(acc))?
@@ -1115,7 +1121,7 @@ void PropertyListNotEmpty(Node s, TripleCollector acc) :
Node Verb() : { Node p ;}
{
// Blank nodes as predicates
-// ( p = VarOrBlankNodeOriri() | <KW_A> { p = nRDFtype ; } )
+// ( p = VarOrBlankNodeOrIri() | <KW_A> { p = nRDFtype ; } )
( p = VarOrIri() | <KW_A> { p = nRDFtype ; } )
{ return p ; }
}
@@ -1512,13 +1518,20 @@ Node VarOrTerm() : {Node n = null ; }
{ return n ; }
}
-// Property (if no bNodes) + DESCRIBE
+// e.g. Property (if no bNodes) + DESCRIBE
Node VarOrIri() : {Node n = null ; String iri ; }
{
( n = Var() | iri = iri() { n = createNode(iri) ; } )
{ return n ; }
}
+// e.g. INSERT DATA { GRAPH ... }
+Node VarOrBlankNodeOrIri() : {Node n = null ; String iri ; }
+{
+ ( n = Var() | n = BlankNode() | iri = iri() { n = createNode(iri) ; } )
+ { return n ; }
+}
+
Var Var() : { Token t ;}
{
( t = <VAR1> | t = <VAR2> )
http://git-wip-us.apache.org/repos/asf/jena/blob/e7fbc0f0/jena-arq/Grammar/sparql_11.jj
----------------------------------------------------------------------
diff --git a/jena-arq/Grammar/sparql_11.jj b/jena-arq/Grammar/sparql_11.jj
index 2c51664..df2b3b8 100644
--- a/jena-arq/Grammar/sparql_11.jj
+++ b/jena-arq/Grammar/sparql_11.jj
@@ -470,7 +470,8 @@ void Quads(QuadAccSink acc) : { }
}
void QuadsNotTriples(QuadAccSink acc) : {Node gn ; Node prev = acc.getGraph() ; }
{
- <GRAPH> gn = VarOrIri()
+ <GRAPH>
+ gn = VarOrIri()
{ setAccGraph(acc, gn) ; }
<LBRACE>
(TriplesTemplate(acc))?
@@ -1017,6 +1018,11 @@ Node VarOrIri() : {Node n = null ; String iri ; }
( n = Var() | iri = iri() { n = createNode(iri) ; } )
{ return n ; }
}
+Node VarOrBlankNodeOrIri() : {Node n = null ; String iri ; }
+{
+ ( n = Var() | n = BlankNode() | iri = iri() { n = createNode(iri) ; } )
+ { return n ; }
+}
Var Var() : { Token t ;}
{
( t = <VAR1> | t = <VAR2> )
http://git-wip-us.apache.org/repos/asf/jena/blob/e7fbc0f0/jena-arq/src/main/java/org/apache/jena/query/Syntax.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/Syntax.java b/jena-arq/src/main/java/org/apache/jena/query/Syntax.java
index 3c1d7e5..ef28127 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/Syntax.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/Syntax.java
@@ -85,9 +85,9 @@ public class Syntax extends Symbol
public static TranslationTable<Syntax> updateSyntaxNames = new TranslationTable<>(true) ;
static {
- querySyntaxNames.put("sparql", syntaxSPARQL) ;
- querySyntaxNames.put("sparql_11", syntaxSPARQL_11) ;
- querySyntaxNames.put("arq", syntaxARQ) ;
+ updateSyntaxNames.put("sparql", syntaxSPARQL) ;
+ updateSyntaxNames.put("sparql_11", syntaxSPARQL_11) ;
+ updateSyntaxNames.put("arq", syntaxARQ) ;
}
protected Syntax(String s) { super(s) ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/e7fbc0f0/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
index efe2f21..876a68b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/arq/ARQParser.java
@@ -1900,7 +1900,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
final public void QuadsNotTriples(QuadAccSink acc) throws ParseException {
Node gn ; Node prev = acc.getGraph() ;
jj_consume_token(GRAPH);
- gn = VarOrIri();
+ gn = VarOrBlankNodeOrIri();
setAccGraph(acc, gn) ;
jj_consume_token(LBRACE);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3748,6 +3748,32 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
throw new Error("Missing return statement in function");
}
+ final public Node VarOrBlankNodeOrIri() throws ParseException {
+ Node n = null ; String iri ;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VAR1:
+ case VAR2:
+ n = Var();
+ break;
+ case BLANK_NODE_LABEL:
+ case ANON:
+ n = BlankNode();
+ break;
+ case IRIref:
+ case PNAME_NS:
+ case PNAME_LN:
+ iri = iri();
+ n = createNode(iri) ;
+ break;
+ default:
+ jj_la1[126] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {if (true) return n ;}
+ throw new Error("Missing return statement in function");
+ }
+
final public Var Var() throws ParseException {
Token t ;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3758,7 +3784,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
t = jj_consume_token(VAR2);
break;
default:
- jj_la1[126] = jj_gen;
+ jj_la1[127] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3809,7 +3835,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return nRDFnil ;}
break;
default:
- jj_la1[127] = jj_gen;
+ jj_la1[128] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3833,7 +3859,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
;
break;
default:
- jj_la1[128] = jj_gen;
+ jj_la1[129] = jj_gen;
break label_34;
}
jj_consume_token(SC_OR);
@@ -3854,7 +3880,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
;
break;
default:
- jj_la1[129] = jj_gen;
+ jj_la1[130] = jj_gen;
break label_35;
}
jj_consume_token(SC_AND);
@@ -3927,13 +3953,13 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
expr1 = new E_NotOneOf(expr1, a) ;
break;
default:
- jj_la1[130] = jj_gen;
+ jj_la1[131] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[131] = jj_gen;
+ jj_la1[132] = jj_gen;
;
}
{if (true) return expr1 ;}
@@ -3964,7 +3990,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
;
break;
default:
- jj_la1[132] = jj_gen;
+ jj_la1[133] = jj_gen;
break label_36;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -4002,7 +4028,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
addition = false ;
break;
default:
- jj_la1[133] = jj_gen;
+ jj_la1[134] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4014,7 +4040,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
;
break;
default:
- jj_la1[134] = jj_gen;
+ jj_la1[135] = jj_gen;
break label_37;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -4029,7 +4055,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
expr2 = new E_Divide(expr2, expr3) ;
break;
default:
- jj_la1[135] = jj_gen;
+ jj_la1[136] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4040,7 +4066,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
expr1 = new E_Subtract(expr1, expr2) ;
break;
default:
- jj_la1[136] = jj_gen;
+ jj_la1[137] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4060,7 +4086,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
;
break;
default:
- jj_la1[137] = jj_gen;
+ jj_la1[138] = jj_gen;
break label_38;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -4075,7 +4101,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
expr1 = new E_Divide(expr1, expr2) ;
break;
default:
- jj_la1[138] = jj_gen;
+ jj_la1[139] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4191,7 +4217,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return expr ;}
break;
default:
- jj_la1[139] = jj_gen;
+ jj_la1[140] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4308,7 +4334,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return asExpr(gn) ;}
break;
default:
- jj_la1[140] = jj_gen;
+ jj_la1[141] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4404,7 +4430,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return new E_BNode() ;}
break;
default:
- jj_la1[141] = jj_gen;
+ jj_la1[142] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4657,7 +4683,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
;
break;
default:
- jj_la1[142] = jj_gen;
+ jj_la1[143] = jj_gen;
break label_39;
}
jj_consume_token(COMMA);
@@ -4753,7 +4779,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return expr ;}
break;
default:
- jj_la1[143] = jj_gen;
+ jj_la1[144] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4773,7 +4799,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
flagsExpr = Expression();
break;
default:
- jj_la1[144] = jj_gen;
+ jj_la1[145] = jj_gen;
;
}
jj_consume_token(RPAREN);
@@ -4794,7 +4820,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
expr3 = Expression();
break;
default:
- jj_la1[145] = jj_gen;
+ jj_la1[146] = jj_gen;
;
}
jj_consume_token(RPAREN);
@@ -4817,7 +4843,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
expr4 = Expression();
break;
default:
- jj_la1[146] = jj_gen;
+ jj_la1[147] = jj_gen;
;
}
jj_consume_token(RPAREN);
@@ -4859,7 +4885,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
distinct = true ;
break;
default:
- jj_la1[147] = jj_gen;
+ jj_la1[148] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -4957,7 +4983,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
expr = Expression();
break;
default:
- jj_la1[148] = jj_gen;
+ jj_la1[149] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4974,7 +5000,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
distinct = true ;
break;
default:
- jj_la1[149] = jj_gen;
+ jj_la1[150] = jj_gen;
;
}
expr = Expression();
@@ -4990,7 +5016,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
distinct = true ;
break;
default:
- jj_la1[150] = jj_gen;
+ jj_la1[151] = jj_gen;
;
}
expr = Expression();
@@ -5006,7 +5032,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
distinct = true ;
break;
default:
- jj_la1[151] = jj_gen;
+ jj_la1[152] = jj_gen;
;
}
expr = Expression();
@@ -5022,7 +5048,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
distinct = true ;
break;
default:
- jj_la1[152] = jj_gen;
+ jj_la1[153] = jj_gen;
;
}
expr = Expression();
@@ -5038,7 +5064,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
distinct = true ;
break;
default:
- jj_la1[153] = jj_gen;
+ jj_la1[154] = jj_gen;
;
}
expr = Expression();
@@ -5054,7 +5080,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
distinct = true ;
break;
default:
- jj_la1[154] = jj_gen;
+ jj_la1[155] = jj_gen;
;
}
expr = Expression();
@@ -5075,7 +5101,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
ordered.add(expr2) ;
break;
default:
- jj_la1[155] = jj_gen;
+ jj_la1[156] = jj_gen;
;
}
} else {
@@ -5088,14 +5114,14 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
ordered.add(expr2) ;
break;
default:
- jj_la1[156] = jj_gen;
+ jj_la1[157] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
break;
default:
- jj_la1[157] = jj_gen;
+ jj_la1[158] = jj_gen;
;
}
jj_consume_token(RPAREN);
@@ -5109,7 +5135,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
agg = AggregatorFactory.createCustom(iri, a) ;
break;
default:
- jj_la1[158] = jj_gen;
+ jj_la1[159] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5132,7 +5158,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
a = ArgList();
break;
default:
- jj_la1[159] = jj_gen;
+ jj_la1[160] = jj_gen;
;
}
if ( a == null )
@@ -5165,13 +5191,13 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
uri = iri();
break;
default:
- jj_la1[160] = jj_gen;
+ jj_la1[161] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[161] = jj_gen;
+ jj_la1[162] = jj_gen;
;
}
{if (true) return createLiteral(lex, lang, uri) ;}
@@ -5197,7 +5223,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
n = NumericLiteralNegative();
break;
default:
- jj_la1[162] = jj_gen;
+ jj_la1[163] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5221,7 +5247,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return createLiteralDouble(t.image) ;}
break;
default:
- jj_la1[163] = jj_gen;
+ jj_la1[164] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5244,7 +5270,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return createLiteralDouble(t.image) ;}
break;
default:
- jj_la1[164] = jj_gen;
+ jj_la1[165] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5267,7 +5293,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return createLiteralDouble(t.image) ;}
break;
default:
- jj_la1[165] = jj_gen;
+ jj_la1[166] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5285,7 +5311,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return XSD_FALSE ;}
break;
default:
- jj_la1[166] = jj_gen;
+ jj_la1[167] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5312,7 +5338,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
lex = stripQuotes3(t.image) ;
break;
default:
- jj_la1[167] = jj_gen;
+ jj_la1[168] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5334,7 +5360,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return iri ;}
break;
default:
- jj_la1[168] = jj_gen;
+ jj_la1[169] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5353,7 +5379,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return resolvePName(t.image, t.beginLine, t.beginColumn) ;}
break;
default:
- jj_la1[169] = jj_gen;
+ jj_la1[170] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5372,7 +5398,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
{if (true) return createBNode(t.beginLine, t.beginColumn) ;}
break;
default:
- jj_la1[170] = jj_gen;
+ jj_la1[171] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -5421,32 +5447,6 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
finally { jj_save(4, xla); }
}
- private boolean jj_3R_88() {
- if (jj_scan_token(IF)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_164() {
- if (jj_scan_token(STRING_LITERAL_LONG2)) return true;
- return false;
- }
-
- private boolean jj_3R_163() {
- if (jj_scan_token(STRING_LITERAL_LONG1)) return true;
- return false;
- }
-
- private boolean jj_3R_162() {
- if (jj_scan_token(STRING_LITERAL2)) return true;
- return false;
- }
-
- private boolean jj_3R_161() {
- if (jj_scan_token(STRING_LITERAL1)) return true;
- return false;
- }
-
private boolean jj_3R_153() {
Token xsp;
xsp = jj_scanpos;
@@ -5588,11 +5588,6 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_129() {
- if (jj_3R_135()) return true;
- return false;
- }
-
private boolean jj_3R_79() {
if (jj_scan_token(STRUUID)) return true;
if (jj_scan_token(NIL)) return true;
@@ -5656,6 +5651,11 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
+ private boolean jj_3R_129() {
+ if (jj_3R_135()) return true;
+ return false;
+ }
+
private boolean jj_3R_74() {
if (jj_scan_token(SECONDS)) return true;
if (jj_scan_token(LPAREN)) return true;
@@ -5725,11 +5725,6 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_128() {
- if (jj_3R_134()) return true;
- return false;
- }
-
private boolean jj_3R_68() {
if (jj_scan_token(STRAFTER)) return true;
if (jj_scan_token(LPAREN)) return true;
@@ -5759,16 +5754,6 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_114() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_128()) {
- jj_scanpos = xsp;
- if (jj_3R_129()) return true;
- }
- return false;
- }
-
private boolean jj_3R_67() {
if (jj_scan_token(STRBEFORE)) return true;
if (jj_scan_token(LPAREN)) return true;
@@ -5781,6 +5766,11 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
+ private boolean jj_3R_128() {
+ if (jj_3R_134()) return true;
+ return false;
+ }
+
private boolean jj_3R_156() {
if (jj_3R_167()) return true;
return false;
@@ -5797,6 +5787,16 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
+ private boolean jj_3R_114() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_128()) {
+ jj_scanpos = xsp;
+ if (jj_3R_129()) return true;
+ }
+ return false;
+ }
+
private boolean jj_3R_154() {
if (jj_3R_165()) return true;
return false;
@@ -5917,6 +5917,24 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
+ private boolean jj_3R_50() {
+ if (jj_scan_token(URI)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_49() {
+ if (jj_scan_token(IRI)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_48() {
+ if (jj_scan_token(BOUND)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
private boolean jj_3_2() {
if (jj_scan_token(SEMICOLON)) return true;
if (jj_3R_41()) return true;
@@ -5965,8 +5983,8 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_50() {
- if (jj_scan_token(URI)) return true;
+ private boolean jj_3R_47() {
+ if (jj_scan_token(DTYPE)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
@@ -5976,30 +5994,12 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_49() {
- if (jj_scan_token(IRI)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3_3() {
if (jj_scan_token(DOT)) return true;
if (jj_3R_42()) return true;
return false;
}
- private boolean jj_3R_48() {
- if (jj_scan_token(BOUND)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_47() {
- if (jj_scan_token(DTYPE)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3R_46() {
if (jj_scan_token(LANGMATCHES)) return true;
if (jj_scan_token(LPAREN)) return true;
@@ -6209,17 +6209,17 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_136() {
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3_5() {
if (jj_scan_token(SEMICOLON)) return true;
if (jj_scan_token(SEPARATOR)) return true;
return false;
}
+ private boolean jj_3R_136() {
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
private boolean jj_3R_122() {
if (jj_scan_token(GROUP_CONCAT)) return true;
if (jj_scan_token(LPAREN)) return true;
@@ -6250,21 +6250,14 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_113() {
- if (jj_3R_127()) return true;
- return false;
- }
-
private boolean jj_3R_117() {
if (jj_scan_token(SUM)) return true;
if (jj_scan_token(LPAREN)) return true;
return false;
}
- private boolean jj_3R_127() {
- if (jj_scan_token(PREFIX)) return true;
- if (jj_scan_token(PNAME_NS)) return true;
- if (jj_3R_133()) return true;
+ private boolean jj_3R_113() {
+ if (jj_3R_127()) return true;
return false;
}
@@ -6274,13 +6267,9 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_137() {
- if (jj_scan_token(LBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_126() {
- if (jj_scan_token(BASE)) return true;
+ private boolean jj_3R_127() {
+ if (jj_scan_token(PREFIX)) return true;
+ if (jj_scan_token(PNAME_NS)) return true;
if (jj_3R_133()) return true;
return false;
}
@@ -6313,18 +6302,14 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_112() {
- if (jj_3R_126()) return true;
+ private boolean jj_3R_137() {
+ if (jj_scan_token(LBRACKET)) return true;
return false;
}
- private boolean jj_3R_100() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_112()) {
- jj_scanpos = xsp;
- if (jj_3R_113()) return true;
- }
+ private boolean jj_3R_126() {
+ if (jj_scan_token(BASE)) return true;
+ if (jj_3R_133()) return true;
return false;
}
@@ -6333,11 +6318,17 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_41() {
+ private boolean jj_3R_112() {
+ if (jj_3R_126()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_100() {
Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_100()) { jj_scanpos = xsp; break; }
+ xsp = jj_scanpos;
+ if (jj_3R_112()) {
+ jj_scanpos = xsp;
+ if (jj_3R_113()) return true;
}
return false;
}
@@ -6363,6 +6354,15 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
+ private boolean jj_3R_41() {
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_100()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
private boolean jj_3R_110() {
if (jj_scan_token(EXISTS)) return true;
if (jj_3R_125()) return true;
@@ -6375,6 +6375,12 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
+ private boolean jj_3R_107() {
+ if (jj_scan_token(SUBSTR)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
private boolean jj_3R_102() {
if (jj_3R_115()) return true;
return false;
@@ -6395,12 +6401,6 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_107() {
- if (jj_scan_token(SUBSTR)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3_4() {
if (jj_scan_token(DOT)) return true;
if (jj_3R_42()) return true;
@@ -6453,11 +6453,6 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_124() {
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
private boolean jj_3R_96() {
if (jj_scan_token(IS_NUMERIC)) return true;
if (jj_scan_token(LPAREN)) return true;
@@ -6486,13 +6481,8 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
- private boolean jj_3R_106() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(165)) {
- jj_scanpos = xsp;
- if (jj_3R_124()) return true;
- }
+ private boolean jj_3R_124() {
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
@@ -6523,6 +6513,16 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
+ private boolean jj_3R_106() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(165)) {
+ jj_scanpos = xsp;
+ if (jj_3R_124()) return true;
+ }
+ return false;
+ }
+
private boolean jj_3R_91() {
if (jj_scan_token(SAME_TERM)) return true;
if (jj_scan_token(LPAREN)) return true;
@@ -6556,6 +6556,32 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
return false;
}
+ private boolean jj_3R_88() {
+ if (jj_scan_token(IF)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_164() {
+ if (jj_scan_token(STRING_LITERAL_LONG2)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_163() {
+ if (jj_scan_token(STRING_LITERAL_LONG1)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_162() {
+ if (jj_scan_token(STRING_LITERAL2)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_161() {
+ if (jj_scan_token(STRING_LITERAL1)) return true;
+ return false;
+ }
+
/** Generated Token Manager. */
public ARQParserTokenManager token_source;
JavaCharStream jj_input_stream;
@@ -6567,7 +6593,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
private Token jj_scanpos, jj_lastpos;
private int jj_la;
private int jj_gen;
- final private int[] jj_la1 = new int[171];
+ final private int[] jj_la1 = new int[172];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
@@ -6585,25 +6611,25 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
jj_la1_init_6();
}
private static void jj_la1_init_0() {
- jj_la1_0 = new int[] {0xe400000,0x200,0x300000,0x300000,0x0,0x1800000,0x1800000,0x1c00,0x0,0xdc00,0xdc00,0xdc00,0x0,0x0,0xfc00,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x1c00,0x0,0x0,0x0,0x40000000,0x30000000,0xdc00,0x0,0xdc00,0x1c00,0xdc00,0x0,0xdc00,0xdc00,0x20000000,0x10000000,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0xfc00,0x0,0x0,0xfc00,0xfc00,0x0,0x400000,0xfc00,0x0,0x0,0xfc00,0xfc00,0x0,0x0,0x0,0xc000,0x1c00,0xc000,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0x1c00,0x800000,0x0,0x0,0x0,0x0,0xfc00,0x0,0xfc00,0x8dc00,0x0,0x8dc00,0x8dc00,0x0,0xfc00,0x88dc00,0x88dc00,0x0,0x88dc00,0x88dc00,0x0,0x0,0x0,0x0,0x0,0x881c00,0x0,0x0,0x0,0x0,0x881c00,0x0,0x81c00,0x81c00,0x81c00,0x81c00,0x0,0x0,0xfc00,0xfc00,0xfc00,0xfc00,0xfc00,0xdc00,0xc000,0x3c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0xdc00,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0
,0x0,0x1c00,0x1800,0x2000,};
+ jj_la1_0 = new int[] {0xe400000,0x200,0x300000,0x300000,0x0,0x1800000,0x1800000,0x1c00,0x0,0xdc00,0xdc00,0xdc00,0x0,0x0,0xfc00,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x1c00,0x0,0x0,0x0,0x40000000,0x30000000,0xdc00,0x0,0xdc00,0x1c00,0xdc00,0x0,0xdc00,0xdc00,0x20000000,0x10000000,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0xfc00,0x0,0x0,0xfc00,0xfc00,0x0,0x400000,0xfc00,0x0,0x0,0xfc00,0xfc00,0x0,0x0,0x0,0xc000,0x1c00,0xc000,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0x1c00,0x800000,0x0,0x0,0x0,0x0,0xfc00,0x0,0xfc00,0x8dc00,0x0,0x8dc00,0x8dc00,0x0,0xfc00,0x88dc00,0x88dc00,0x0,0x88dc00,0x88dc00,0x0,0x0,0x0,0x0,0x0,0x881c00,0x0,0x0,0x0,0x0,0x881c00,0x0,0x81c00,0x81c00,0x81c00,0x81c00,0x0,0x0,0xfc00,0xfc00,0xfc00,0xfc00,0xfc00,0xdc00,0xfc00,0xc000,0x3c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0xdc00,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,
0x0,0x0,0x0,0x1c00,0x1800,0x2000,};
}
private static void jj_la1_init_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x20000,0xb7e18000,0xb7e18000,0xb7e18000,0x20,0x20,0x0,0x60,0x0,0x0,0x20,0x40,0x20,0x10,0x40,0x40000,0x80000,0x0,0x0,0xb7e18000,0x20000,0xb7e18000,0xb7e18000,0xb7e1800c,0xc,0xb7e18000,0xb7e1800c,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x100,0x100,0x110,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x4001fb01,0x0,0x0,0x0,0x0,0x4001fb01,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x2,0x400,0xb7e18000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb7e18000,0xb7e18000,0x0,0x0,0xb7e18000,0x0,0x0,0x0,0x0,0xb7e18000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x37e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x20000,0xb7e18000,0xb7e18000,0xb7e18000,0x20,0x20,0x0,0x60,0x0,0x0,0x20,0x40,0x20,0x10,0x40,0x40000,0x80000,0x0,0x0,0xb7e18000,0x20000,0xb7e18000,0xb7e18000,0xb7e1800c,0xc,0xb7e18000,0xb7e1800c,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x100,0x100,0x110,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x4001fb01,0x0,0x0,0x0,0x0,0x4001fb01,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x2,0x400,0xb7e18000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb7e18000,0xb7e18000,0x0,0x0,0xb7e18000,0x0,0x0,0x0,0x0,0xb7e18000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x37e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_2() {
- jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffcbd,0xfffffcbd,0xfffffcbd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffcbd,0x0,0xfffffcbd,0xfffffcbd,0xfffffcbd,0x0,0xfffffcbd,0xfffffcbd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffcbd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x300,0x300,0x0,0x300,0x300,0x0,0x0,0x0,0x0,0x0,0x300,0x0,0x0,0x0,0x0,0x300,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffcbd,0xfffffcbd,0x0,0x0,0xfffffcbd,0x0,0x0,0x0,0x0,0xfffffcbd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffcbd,0xfffffcbd,0xfffffcbd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffcbd,0x0,0xfffffcbd,0xfffffcbd,0xfffffcbd,0x0,0xfffffcbd,0xfffffcbd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffcbd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x300,0x300,0x0,0x300,0x300,0x0,0x0,0x0,0x0,0x0,0x300,0x0,0x0,0x0,0x0,0x300,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffcbd,0xfffffcbd,0x0,0x0,0xfffffcbd,0x0,0x0,0x0,0x0,0xfffffcbd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_3() {
- jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0xfbfffff,0xfbfffff,0xfbfffff,0x0,0x0,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3bfffff,0x0,0x3bfffff,0x3bfffff,0x3bfffff,0x0,0x3bfffff,0x3bfffff,0x0,0x0,0x0,0x0,0x0,0xe0000000,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x60000000,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0xc000000,0xc000000,0x0,0x0,0xc000000,0x0,0x0,0xc000000,0xc000000,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0xc000000,0x0,0xc000000,0x0,0x3bfffff,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0xc000000,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0xc000000,0xc000000,0xc000000,0xc000000,0x0,0x0,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfbfffff,0xfbfffff,0x0,0x0,0x3bfffff,0x0,0x0,0x0,0x0,0xfbfffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0x0,};
+ jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0xfbfffff,0xfbfffff,0xfbfffff,0x0,0x0,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3bfffff,0x0,0x3bfffff,0x3bfffff,0x3bfffff,0x0,0x3bfffff,0x3bfffff,0x0,0x0,0x0,0x0,0x0,0xe0000000,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x60000000,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0xc000000,0xc000000,0x0,0x0,0xc000000,0x0,0x0,0xc000000,0xc000000,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0xc000000,0x0,0xc000000,0x0,0x3bfffff,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0xc000000,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0xc000000,0xc000000,0xc000000,0xc000000,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfbfffff,0xfbfffff,0x0,0x0,0x3bfffff,0x0,0x0,0x0,0x0,0xfbfffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_4() {
- jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x0,0x87fc0000,0x87fc0000,0x87fc0000,0x0,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x84ff,0x84ff,0x200,0x800,0x200,0x200,0x200,0x200,0x200,0x200,0x8000,0x0,0x0,0x10000,0x0,0x0,0x2000,0x6000,0x87fc0000,0x0,0x0,0x87fc0000,0x87fc0000,0x0,0x0,0x87fc0000,0x0,0x0,0x87fc0000,0x87fc0000,0x0,0x0,0x200,0x0,0x87fc0000,0x0,0x0,0x0,0x87fc0000,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x87fc0000,0x87fc0000,0x87fc0000,0x87fc0000,0x0,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x7e00000,0x7e00000,0x0,0x0,0x7e00000,0x0,0x0,0x87fc0000,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7fc0000,0x1c0000,0xe00000,0x7000000,0x0,0x80000000,0x0,0x0,0x0,};
+ jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x0,0x87fc0000,0x87fc0000,0x87fc0000,0x0,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x84ff,0x84ff,0x200,0x800,0x200,0x200,0x200,0x200,0x200,0x200,0x8000,0x0,0x0,0x10000,0x0,0x0,0x2000,0x6000,0x87fc0000,0x0,0x0,0x87fc0000,0x87fc0000,0x0,0x0,0x87fc0000,0x0,0x0,0x87fc0000,0x87fc0000,0x0,0x0,0x200,0x0,0x87fc0000,0x0,0x0,0x0,0x87fc0000,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x87fc0000,0x87fc0000,0x87fc0000,0x87fc0000,0x0,0x0,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x7e00000,0x7e00000,0x0,0x0,0x7e00000,0x0,0x0,0x87fc0000,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x87fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7fc0000,0x1c0000,0xe00000,0x7000000,0x0,0x80000000,0x0,0x0,0x0,};
}
private static void jj_la1_init_5() {
- jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0xf,0xf,0x800000f,0x0,0x0,0x52f,0x40,0x0,0x8000000,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x8,0x8,0x0,0x8,0x8,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x52f,0x0,0x2000,0x52f,0x52f,0x2000,0x0,0x52f,0x40,0x2000,0x52f,0x52f,0x2000,0x40,0x0,0x28,0x7,0x0,0x28,0x28,0x7,0x28,0x7,0x0,0x8,0x0,0x1000,0x28,0x1000,0x28,0x52f,0x2000,0x52f,0x0,0x800,0x0,0x0,0x1000,0x52f,0x100008,0x100008,0x800,0x100008,0x100008,0x1000,0x0,0x10000000,0x10000000,0xa000040,0x100008,0x80,0x1080,0xa001000,0xa000040,0x100008,0x0,0x0,0x8,0x0,0x0,0x108,0x108,0x52f,0x52f,0x52f,0x52f,0x427,0x0,0x0,0x427,0x800000,0x1000000,0xfc000,0xfc000,0x6000000,0x0,0x18000000,0x18000000,0x6000000,0x18000000,0x18000000,0x610000f,0xf,0x28,0x1000,0x0,0x1000,0x1000,0x1000,0x0,0xe10000f,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x800,0x0,0x28,0x20000000,0x20000000,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x400,};
+ jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0xf,0xf,0x800000f,0x0,0x0,0x52f,0x40,0x0,0x8000000,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x8,0x8,0x8,0x0,0x8,0x8,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x52f,0x0,0x2000,0x52f,0x52f,0x2000,0x0,0x52f,0x40,0x2000,0x52f,0x52f,0x2000,0x40,0x0,0x28,0x7,0x0,0x28,0x28,0x7,0x28,0x7,0x0,0x8,0x0,0x1000,0x28,0x1000,0x28,0x52f,0x2000,0x52f,0x0,0x800,0x0,0x0,0x1000,0x52f,0x100008,0x100008,0x800,0x100008,0x100008,0x1000,0x0,0x10000000,0x10000000,0xa000040,0x100008,0x80,0x1080,0xa001000,0xa000040,0x100008,0x0,0x0,0x8,0x0,0x0,0x108,0x108,0x52f,0x52f,0x52f,0x52f,0x427,0x0,0x400,0x0,0x427,0x800000,0x1000000,0xfc000,0xfc000,0x6000000,0x0,0x18000000,0x18000000,0x6000000,0x18000000,0x18000000,0x610000f,0xf,0x28,0x1000,0x0,0x1000,0x1000,0x1000,0x0,0xe10000f,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x800,0x800,0x0,0x28,0x20000000,0x20000000,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x400,};
}
private static void jj_la1_init_6() {
- jj_la1_6 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x0,0x2,0x2,0x0,0x1,0x2,0x2,0x10,0x2,0x0,0x0,0x0,0x10,0x0,0x1,0x2,0x2,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_6 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x2,0x0,0x2,0x2,0x0,0x1,0x2,0x2,0x10,0x2,0x0,0x0,0x0,0x10,0x0,0x1,0x2,0x2,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
final private JJCalls[] jj_2_rtns = new JJCalls[5];
private boolean jj_rescan = false;
@@ -6620,7 +6646,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 172; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -6635,7 +6661,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 172; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -6646,7 +6672,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 172; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -6657,7 +6683,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 172; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -6667,7 +6693,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 172; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -6677,7 +6703,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 171; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 172; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -6797,7 +6823,7 @@ public class ARQParser extends ARQParserBase implements ARQParserConstants {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
- for (int i = 0; i < 171; i++) {
+ for (int i = 0; i < 172; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
http://git-wip-us.apache.org/repos/asf/jena/blob/e7fbc0f0/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java b/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java
index e1cec3e..a6d961f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/lang/sparql_11/SPARQLParser11.java
@@ -3308,6 +3308,32 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
throw new Error("Missing return statement in function");
}
+ final public Node VarOrBlankNodeOrIri() throws ParseException {
+ Node n = null ; String iri ;
+ switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+ case VAR1:
+ case VAR2:
+ n = Var();
+ break;
+ case BLANK_NODE_LABEL:
+ case ANON:
+ n = BlankNode();
+ break;
+ case IRIref:
+ case PNAME_NS:
+ case PNAME_LN:
+ iri = iri();
+ n = createNode(iri) ;
+ break;
+ default:
+ jj_la1[122] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {if (true) return n ;}
+ throw new Error("Missing return statement in function");
+ }
+
final public Var Var() throws ParseException {
Token t ;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3318,7 +3344,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
t = jj_consume_token(VAR2);
break;
default:
- jj_la1[122] = jj_gen;
+ jj_la1[123] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3369,7 +3395,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return nRDFnil ;}
break;
default:
- jj_la1[123] = jj_gen;
+ jj_la1[124] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3393,7 +3419,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
;
break;
default:
- jj_la1[124] = jj_gen;
+ jj_la1[125] = jj_gen;
break label_31;
}
jj_consume_token(SC_OR);
@@ -3414,7 +3440,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
;
break;
default:
- jj_la1[125] = jj_gen;
+ jj_la1[126] = jj_gen;
break label_32;
}
jj_consume_token(SC_AND);
@@ -3487,13 +3513,13 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
expr1 = new E_NotOneOf(expr1, a) ;
break;
default:
- jj_la1[126] = jj_gen;
+ jj_la1[127] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[127] = jj_gen;
+ jj_la1[128] = jj_gen;
;
}
{if (true) return expr1 ;}
@@ -3524,7 +3550,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
;
break;
default:
- jj_la1[128] = jj_gen;
+ jj_la1[129] = jj_gen;
break label_33;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3562,7 +3588,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
addition = false ;
break;
default:
- jj_la1[129] = jj_gen;
+ jj_la1[130] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3574,7 +3600,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
;
break;
default:
- jj_la1[130] = jj_gen;
+ jj_la1[131] = jj_gen;
break label_34;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3589,7 +3615,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
expr2 = new E_Divide(expr2, expr3) ;
break;
default:
- jj_la1[131] = jj_gen;
+ jj_la1[132] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3600,7 +3626,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
expr1 = new E_Subtract(expr1, expr2) ;
break;
default:
- jj_la1[132] = jj_gen;
+ jj_la1[133] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3620,7 +3646,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
;
break;
default:
- jj_la1[133] = jj_gen;
+ jj_la1[134] = jj_gen;
break label_35;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -3635,7 +3661,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
expr1 = new E_Divide(expr1, expr2) ;
break;
default:
- jj_la1[134] = jj_gen;
+ jj_la1[135] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3748,7 +3774,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return expr ;}
break;
default:
- jj_la1[135] = jj_gen;
+ jj_la1[136] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3862,7 +3888,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return asExpr(gn) ;}
break;
default:
- jj_la1[136] = jj_gen;
+ jj_la1[137] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -3957,7 +3983,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return new E_BNode() ;}
break;
default:
- jj_la1[137] = jj_gen;
+ jj_la1[138] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4278,7 +4304,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return expr ;}
break;
default:
- jj_la1[138] = jj_gen;
+ jj_la1[139] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4298,7 +4324,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
flagsExpr = Expression();
break;
default:
- jj_la1[139] = jj_gen;
+ jj_la1[140] = jj_gen;
;
}
jj_consume_token(RPAREN);
@@ -4319,7 +4345,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
expr3 = Expression();
break;
default:
- jj_la1[140] = jj_gen;
+ jj_la1[141] = jj_gen;
;
}
jj_consume_token(RPAREN);
@@ -4342,7 +4368,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
expr4 = Expression();
break;
default:
- jj_la1[141] = jj_gen;
+ jj_la1[142] = jj_gen;
;
}
jj_consume_token(RPAREN);
@@ -4384,7 +4410,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
distinct = true ;
break;
default:
- jj_la1[142] = jj_gen;
+ jj_la1[143] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
@@ -4479,7 +4505,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
expr = Expression();
break;
default:
- jj_la1[143] = jj_gen;
+ jj_la1[144] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4496,7 +4522,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
distinct = true ;
break;
default:
- jj_la1[144] = jj_gen;
+ jj_la1[145] = jj_gen;
;
}
expr = Expression();
@@ -4512,7 +4538,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
distinct = true ;
break;
default:
- jj_la1[145] = jj_gen;
+ jj_la1[146] = jj_gen;
;
}
expr = Expression();
@@ -4528,7 +4554,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
distinct = true ;
break;
default:
- jj_la1[146] = jj_gen;
+ jj_la1[147] = jj_gen;
;
}
expr = Expression();
@@ -4544,7 +4570,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
distinct = true ;
break;
default:
- jj_la1[147] = jj_gen;
+ jj_la1[148] = jj_gen;
;
}
expr = Expression();
@@ -4560,7 +4586,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
distinct = true ;
break;
default:
- jj_la1[148] = jj_gen;
+ jj_la1[149] = jj_gen;
;
}
expr = Expression();
@@ -4576,7 +4602,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
distinct = true ;
break;
default:
- jj_la1[149] = jj_gen;
+ jj_la1[150] = jj_gen;
;
}
expr = Expression();
@@ -4589,14 +4615,14 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
sep = String();
break;
default:
- jj_la1[150] = jj_gen;
+ jj_la1[151] = jj_gen;
;
}
jj_consume_token(RPAREN);
agg = AggregatorFactory.createGroupConcat(distinct, expr, sep, ordered) ;
break;
default:
- jj_la1[151] = jj_gen;
+ jj_la1[152] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4619,7 +4645,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
a = ArgList();
break;
default:
- jj_la1[152] = jj_gen;
+ jj_la1[153] = jj_gen;
;
}
if ( a == null )
@@ -4652,13 +4678,13 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
uri = iri();
break;
default:
- jj_la1[153] = jj_gen;
+ jj_la1[154] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
- jj_la1[154] = jj_gen;
+ jj_la1[155] = jj_gen;
;
}
{if (true) return createLiteral(lex, lang, uri) ;}
@@ -4684,7 +4710,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
n = NumericLiteralNegative();
break;
default:
- jj_la1[155] = jj_gen;
+ jj_la1[156] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4708,7 +4734,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return createLiteralDouble(t.image) ;}
break;
default:
- jj_la1[156] = jj_gen;
+ jj_la1[157] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4731,7 +4757,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return createLiteralDouble(t.image) ;}
break;
default:
- jj_la1[157] = jj_gen;
+ jj_la1[158] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4754,7 +4780,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return createLiteralDouble(t.image) ;}
break;
default:
- jj_la1[158] = jj_gen;
+ jj_la1[159] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4772,7 +4798,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return XSD_FALSE ;}
break;
default:
- jj_la1[159] = jj_gen;
+ jj_la1[160] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4799,7 +4825,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
lex = stripQuotes3(t.image) ;
break;
default:
- jj_la1[160] = jj_gen;
+ jj_la1[161] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4821,7 +4847,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return iri ;}
break;
default:
- jj_la1[161] = jj_gen;
+ jj_la1[162] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4840,7 +4866,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return resolvePName(t.image, t.beginLine, t.beginColumn) ;}
break;
default:
- jj_la1[162] = jj_gen;
+ jj_la1[163] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4859,7 +4885,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
{if (true) return createBNode(t.beginLine, t.beginColumn) ;}
break;
default:
- jj_la1[163] = jj_gen;
+ jj_la1[164] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -4882,7 +4908,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
public Token jj_nt;
private int jj_ntk;
private int jj_gen;
- final private int[] jj_la1 = new int[164];
+ final private int[] jj_la1 = new int[165];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
@@ -4900,25 +4926,25 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
jj_la1_init_6();
}
private static void jj_la1_init_0() {
- jj_la1_0 = new int[] {0xe400000,0x200,0x300000,0x300000,0x0,0x1800000,0x1800000,0xc000,0xc000,0xc000,0x0,0x0,0xfc00,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x1c00,0x0,0x0,0x0,0x40000000,0x30000000,0xdc00,0x0,0xdc00,0x1c00,0xdc00,0x0,0xdc00,0xdc00,0x20000000,0x10000000,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0xfc00,0x0,0x0,0xfc00,0xfc00,0xfc00,0x0,0x400000,0xfc00,0x0,0x0,0xfc00,0xfc00,0x0,0x0,0x0,0xc000,0x1c00,0xc000,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0x1c00,0x800000,0x0,0x0,0x0,0x0,0xfc00,0xfc00,0x0,0xfc00,0x8dc00,0x0,0x8dc00,0x8dc00,0x0,0xfc00,0x8dc00,0x8dc00,0x0,0x8dc00,0x8dc00,0x0,0x0,0x0,0x0,0x81c00,0x0,0x81c00,0x0,0x81c00,0x81c00,0x81c00,0x81c00,0x0,0x0,0xfc00,0xfc00,0xfc00,0xfc00,0xfc00,0xdc00,0xc000,0x3c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0x800000,0xdc00,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x0,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x1800,0x2000,};
+ jj_la1_0 = new int[] {0xe400000,0x200,0x300000,0x300000,0x0,0x1800000,0x1800000,0xc000,0xc000,0xc000,0x0,0x0,0xfc00,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x1c00,0x0,0x0,0x0,0x40000000,0x30000000,0xdc00,0x0,0xdc00,0x1c00,0xdc00,0x0,0xdc00,0xdc00,0x20000000,0x10000000,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0xfc00,0x0,0x0,0xfc00,0xfc00,0xfc00,0x0,0x400000,0xfc00,0x0,0x0,0xfc00,0xfc00,0x0,0x0,0x0,0xc000,0x1c00,0xc000,0x0,0x0,0x1c00,0x0,0x1c00,0x0,0x1c00,0x800000,0x0,0x0,0x0,0x0,0xfc00,0xfc00,0x0,0xfc00,0x8dc00,0x0,0x8dc00,0x8dc00,0x0,0xfc00,0x8dc00,0x8dc00,0x0,0x8dc00,0x8dc00,0x0,0x0,0x0,0x0,0x81c00,0x0,0x81c00,0x0,0x81c00,0x81c00,0x81c00,0x81c00,0x0,0x0,0xfc00,0xfc00,0xfc00,0xfc00,0xfc00,0xdc00,0xfc00,0xc000,0x3c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0x800000,0xdc00,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x0,0x0,0x0,0x10000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00,0x1800,0x200
0,};
}
private static void jj_la1_init_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x0,0x60,0x0,0x0,0x20,0x40,0x20,0x10,0x40,0x20000,0x40000,0x0,0x0,0xdbe0c000,0x10000,0xdbe0c000,0xdbe0c000,0xdbe0c00c,0xc,0xdbe0c000,0xdbe0c00c,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x100,0x100,0x110,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20003b01,0x0,0x0,0x0,0x0,0x20003b01,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x2,0x400,0xdbe0c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdbe0c000,0xdbe0c000,0x0,0xdbe0c000,0x0,0x0,0x0,0x0,0xdbe0c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1be00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x20,0x20,0x0,0x60,0x0,0x0,0x20,0x40,0x20,0x10,0x40,0x20000,0x40000,0x0,0x0,0xdbe0c000,0x10000,0xdbe0c000,0xdbe0c000,0xdbe0c00c,0xc,0xdbe0c000,0xdbe0c00c,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x100,0x100,0x110,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20003b01,0x0,0x0,0x0,0x0,0x20003b01,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x2,0x400,0xdbe0c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xdbe0c000,0xdbe0c000,0x0,0xdbe0c000,0x0,0x0,0x0,0x0,0xdbe0c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1be00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_2() {
- jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffffe,0x0,0xfffffffe,0xfffffffe,0xfffffffe,0x0,0xfffffffe,0xfffffffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffffe,0xfffffffe,0x0,0xfffffffe,0x0,0x0,0x0,0x0,0xfffffffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffffe,0x0,0xfffffffe,0xfffffffe,0xfffffffe,0x0,0xfffffffe,0xfffffffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffffffe,0xfffffffe,0x0,0xfffffffe,0x0,0x0,0x0,0x0,0xfffffffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_3() {
- jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xeffff,0x0,0xeffff,0xeffff,0xeffff,0x0,0xeffff,0xeffff,0x0,0x0,0x0,0x0,0x0,0xff800000,0xff800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x1800000,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x300000,0x300000,0x300000,0x0,0x0,0x300000,0x0,0x0,0x300000,0x300000,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x300000,0x0,0x300000,0x0,0xeffff,0x0,0x0,0x0,0x0,0x0,0x300000,0x300000,0x0,0x300000,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x300000,0x300000,0x300000,0x300000,0x300000,0x0,0x0,0x300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3effff,0x3effff,0x0,0xeffff,0x0,0x0,0x0,0x0,0x3effff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x0,};
+ jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xeffff,0x0,0xeffff,0xeffff,0xeffff,0x0,0xeffff,0xeffff,0x0,0x0,0x0,0x0,0x0,0xff800000,0xff800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x1800000,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x300000,0x300000,0x300000,0x0,0x0,0x300000,0x0,0x0,0x300000,0x300000,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x300000,0x0,0x300000,0x0,0xeffff,0x0,0x0,0x0,0x0,0x0,0x300000,0x300000,0x0,0x300000,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x300000,0x300000,0x300000,0x300000,0x300000,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3effff,0x3effff,0x0,0xeffff,0x0,0x0,0x0,0x0,0x3effff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x300000,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_4() {
- jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x20000000,0x0,0x0,0xbe1ff000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x0,0x20000000,0x20000000,0x20000000,0x0,0x20000000,0x20000000,0x0,0x0,0x0,0x0,0x0,0x213,0x213,0x8,0x20,0x8,0x8,0x8,0x8,0x8,0x8,0x200,0x0,0x0,0x400,0x0,0x0,0x80,0x180,0xbe1ff000,0x0,0x0,0xbe1ff000,0xbe1ff000,0xbe1ff000,0x0,0x0,0xbe1ff000,0x0,0x0,0xbe1ff000,0xbe1ff000,0x0,0x0,0x8,0xa0000000,0x1e1ff000,0x0,0xa0000000,0xa0000000,0x1e1ff000,0xa0000000,0x1e1ff000,0x0,0x20000000,0x0,0x0,0xa0000000,0x0,0xa0000000,0xbe1ff000,0xbe1ff000,0x0,0xbe1ff000,0x0,0x0,0x0,0x0,0x0,0xbe1ff000,0x20000000,0x20000000,0x0,0x20000000,0x20000000,0x0,0x0,0x0,0x0,0x20000000,0x0,0x20000000,0x0,0x0,0x20000000,0x0,0x0,0x20000000,0x20000000,0xbe1ff000,0xbe1ff000,0xbe1ff000,0xbe1ff000,0x9e1ff000,0x0,0x0,0x9e1ff000,0x0,0x0,0x0,0x0,0x1f8000,0x1f8000,0x0,0x0,0x1f8000,0x0,0x0,0x3e1ff000,0x3e1ff000,0xa0000000,0x0,0x0,0x0,0x0,0x0,0x3e1ff000,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0xa0000000,0x0,0x0,0x1ff000,0x7000,0x38000,0x1c0000,0x0,0x1e000000,0x0,0x0,0x0,};
+ jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x20000000,0x0,0x0,0xbe1ff000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x0,0x20000000,0x20000000,0x20000000,0x0,0x20000000,0x20000000,0x0,0x0,0x0,0x0,0x0,0x213,0x213,0x8,0x20,0x8,0x8,0x8,0x8,0x8,0x8,0x200,0x0,0x0,0x400,0x0,0x0,0x80,0x180,0xbe1ff000,0x0,0x0,0xbe1ff000,0xbe1ff000,0xbe1ff000,0x0,0x0,0xbe1ff000,0x0,0x0,0xbe1ff000,0xbe1ff000,0x0,0x0,0x8,0xa0000000,0x1e1ff000,0x0,0xa0000000,0xa0000000,0x1e1ff000,0xa0000000,0x1e1ff000,0x0,0x20000000,0x0,0x0,0xa0000000,0x0,0xa0000000,0xbe1ff000,0xbe1ff000,0x0,0xbe1ff000,0x0,0x0,0x0,0x0,0x0,0xbe1ff000,0x20000000,0x20000000,0x0,0x20000000,0x20000000,0x0,0x0,0x0,0x0,0x20000000,0x0,0x20000000,0x0,0x0,0x20000000,0x0,0x0,0x20000000,0x20000000,0xbe1ff000,0xbe1ff000,0xbe1ff000,0xbe1ff000,0x9e1ff000,0x0,0x0,0x0,0x9e1ff000,0x0,0x0,0x0,0x0,0x1f8000,0x1f8000,0x0,0x0,0x1f8000,0x0,0x0,0x3e1ff000,0x3e1ff000,0xa0000000,0x0,0x0,0x0,0x0,0x0,0x3e1ff000,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,0x0,0xa0000000,0x0,0x0,0x1ff000,0x7000,0x38000,0x1c0000,0x0,0x1e000000,0x0,0x0,0x0,};
}
private static void jj_la1_init_5() {
- jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x0,0x14,0x1,0x0,0x200000,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x80,0x14,0x14,0x14,0x80,0x0,0x14,0x1,0x80,0x14,0x14,0x80,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x40,0x0,0x14,0x14,0x80,0x14,0x0,0x20,0x0,0x0,0x40,0x14,0x4004000,0x4004000,0x20,0x4004000,0x4004000,0x40,0x2000000,0x400000,0x20280000,0x4004000,0x20280000,0x4000,0x2000000,0x4000000,0x4000000,0x0,0x4000000,0x4,0x4,0x14,0x14,0x14,0x14,0x10,0x0,0x0,0x10,0x20000,0x40000,0x3f00,0x3f00,0x180000,0x0,0x600000,0x600000,0x180000,0x600000,0x600000,0x184000,0x0,0x0,0x0,0x40,0x40,0x40,0x0,0x384000,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x800000,0x800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,};
+ jj_la1_5 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x0,0x14,0x1,0x0,0x200000,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x14,0x0,0x80,0x14,0x14,0x14,0x80,0x0,0x14,0x1,0x80,0x14,0x14,0x80,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x40,0x0,0x14,0x14,0x80,0x14,0x0,0x20,0x0,0x0,0x40,0x14,0x4004000,0x4004000,0x20,0x4004000,0x4004000,0x40,0x2000000,0x400000,0x20280000,0x4004000,0x20280000,0x4000,0x2000000,0x4000000,0x4000000,0x0,0x4000000,0x4,0x4,0x14,0x14,0x14,0x14,0x10,0x0,0x10,0x0,0x10,0x20000,0x40000,0x3f00,0x3f00,0x180000,0x0,0x600000,0x600000,0x180000,0x600000,0x600000,0x184000,0x0,0x0,0x0,0x40,0x40,0x40,0x0,0x384000,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x800000,0x800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,};
}
private static void jj_la1_init_6() {
- jj_la1_6 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_6 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
/** Constructor with InputStream. */
@@ -4932,7 +4958,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 164; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 165; i++) jj_la1[i] = -1;
}
/** Reinitialise. */
@@ -4946,7 +4972,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 164; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 165; i++) jj_la1[i] = -1;
}
/** Constructor. */
@@ -4956,7 +4982,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 164; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 165; i++) jj_la1[i] = -1;
}
/** Reinitialise. */
@@ -4966,7 +4992,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 164; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 165; i++) jj_la1[i] = -1;
}
/** Constructor with generated Token Manager. */
@@ -4975,7 +5001,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 164; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 165; i++) jj_la1[i] = -1;
}
/** Reinitialise. */
@@ -4984,7 +5010,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 164; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 165; i++) jj_la1[i] = -1;
}
private Token jj_consume_token(int kind) throws ParseException {
@@ -5040,7 +5066,7 @@ public class SPARQLParser11 extends SPARQLParser11Base implements SPARQLParser11
la1tokens[jj_kind] = true;
jj_kind = -1;
}
- for (int i = 0; i < 164; i++) {
+ for (int i = 0; i < 165; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
[13/50] [abbrv] jena git commit: JENA-929: Migrate Filter to Java 8
Predicate
Posted by cl...@apache.org.
JENA-929: Migrate Filter to Java 8 Predicate
This closes #55
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c3346910
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c3346910
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c3346910
Branch: refs/heads/add-contract-tests
Commit: c33469108b52b77f821f0efe17206e00e9b6c8e2
Parents: b4b5c1d
Author: ajs6f <aj...@virginia.edu>
Authored: Fri May 1 12:20:17 2015 -0400
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat May 2 18:18:37 2015 +0100
----------------------------------------------------------------------
.../apache/jena/sparql/graph/GraphMemPlain.java | 6 +-
.../sparql/util/graph/GraphContainerUtils.java | 6 +-
.../main/java/org/apache/jena/graph/Triple.java | 26 ++-
.../jena/graph/compose/CompositionBase.java | 47 ++----
.../apache/jena/graph/impl/CollectionGraph.java | 21 +--
.../apache/jena/graph/impl/GraphMatcher.java | 34 ++--
.../org/apache/jena/mem/NodeToTriplesMap.java | 25 ++-
.../apache/jena/mem/NodeToTriplesMapMem.java | 11 +-
.../java/org/apache/jena/ontology/OntTools.java | 8 +-
.../apache/jena/ontology/impl/OntClassImpl.java | 14 +-
.../apache/jena/ontology/impl/OntModelImpl.java | 33 +---
.../jena/ontology/impl/OntPropertyImpl.java | 14 +-
.../jena/ontology/impl/OntResourceImpl.java | 17 +-
.../org/apache/jena/rdf/model/Selector.java | 9 +-
.../apache/jena/rdf/model/impl/ModelCom.java | 70 +++-----
.../apache/jena/rdf/model/impl/ReifierStd.java | 10 +-
.../jena/rdfxml/xmloutput/impl/Unparser.java | 69 ++++----
.../jena/reasoner/rulesys/FBRuleInfGraph.java | 5 +-
.../apache/jena/reasoner/rulesys/Functor.java | 9 +-
.../jena/reasoner/rulesys/impl/SafeGraph.java | 11 +-
.../jena/util/iterator/ExtendedIterator.java | 5 +-
.../org/apache/jena/util/iterator/Filter.java | 165 ++++++++++++-------
.../jena/util/iterator/FilterDropIterator.java | 34 ----
.../jena/util/iterator/FilterIterator.java | 14 +-
.../jena/util/iterator/FilterKeepIterator.java | 34 ----
.../apache/jena/util/iterator/LazyIterator.java | 5 +-
.../apache/jena/util/iterator/NiceIterator.java | 9 +-
.../apache/jena/util/iterator/UniqueFilter.java | 5 +-
.../apache/jena/graph/test/TestTripleField.java | 23 +--
.../apache/jena/ontology/impl/TestOntTools.java | 5 +-
.../jena/util/iterator/test/TestFilters.java | 82 +--------
.../propertytable/graph/GraphPropertyTable.java | 10 +-
.../model/impl/SecuredModelImpl.java | 12 +-
.../model/impl/SecuredNodeIterator.java | 6 +-
.../model/impl/SecuredRSIterator.java | 10 +-
.../model/impl/SecuredResIterator.java | 6 +-
.../permissions/model/impl/SecuredSeqImpl.java | 7 +-
.../model/impl/SecuredStatementIterator.java | 6 +-
.../jena/permissions/utils/ContainerFilter.java | 7 +-
.../permissions/utils/PermStatementFilter.java | 6 +-
.../permissions/utils/PermTripleFilter.java | 6 +-
.../permissions/utils/RDFListSecFilter.java | 6 +-
42 files changed, 338 insertions(+), 570 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphMemPlain.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphMemPlain.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphMemPlain.java
index bd8fd10..8630b8b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphMemPlain.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphMemPlain.java
@@ -22,6 +22,7 @@ import java.util.HashSet ;
import java.util.Iterator ;
import java.util.Locale ;
import java.util.Set ;
+import java.util.function.Predicate;
import org.apache.jena.graph.Capabilities ;
import org.apache.jena.graph.Node ;
@@ -31,7 +32,6 @@ import org.apache.jena.graph.impl.GraphBase ;
import org.apache.jena.graph.impl.SimpleEventManager ;
import org.apache.jena.util.iterator.ClosableIterator ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
/**
* A version of Graph that does term equality only
@@ -114,7 +114,7 @@ public class GraphMemPlain extends GraphBase
return node ;
}
- static class TripleMatchFilterEquality extends Filter<Triple>
+ static class TripleMatchFilterEquality implements Predicate<Triple>
{
final protected Triple tMatch;
@@ -123,7 +123,7 @@ public class GraphMemPlain extends GraphBase
{ this.tMatch = tMatch; }
@Override
- public boolean accept(Triple t)
+ public boolean test(Triple t)
{
return tripleContained(tMatch, t) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphContainerUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphContainerUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphContainerUtils.java
index f35fb25..c3ea9e6 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphContainerUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphContainerUtils.java
@@ -22,6 +22,7 @@ import java.util.Collection ;
import java.util.Iterator ;
import java.util.SortedMap ;
import java.util.TreeMap ;
+import java.util.function.Predicate;
import java.util.regex.Matcher ;
import java.util.regex.Pattern ;
@@ -31,7 +32,6 @@ import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.vocabulary.RDF ;
import org.apache.jena.vocabulary.RDFS ;
@@ -98,9 +98,9 @@ public class GraphContainerUtils
}
private static Node RDFSmember = RDFS.member.asNode() ;
- private static Filter<Triple> filterRDFSmember = new Filter<Triple>() {
+ private static Predicate<Triple> filterRDFSmember = new Predicate<Triple>() {
@Override
- public boolean accept(Triple triple) {
+ public boolean test(Triple triple) {
Node p = triple.getPredicate() ;
if ( ! triple.getPredicate().isURI() )
return false ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/graph/Triple.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/Triple.java b/jena-core/src/main/java/org/apache/jena/graph/Triple.java
index 89d7238..ee3f0e2 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/Triple.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/Triple.java
@@ -18,9 +18,10 @@
package org.apache.jena.graph;
+import java.util.function.Predicate;
+
import org.apache.jena.shared.PrefixMapping ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.util.iterator.NullIterator ;
/**
@@ -173,23 +174,22 @@ public class Triple
{
public abstract Node getField( Triple t );
- public abstract Filter<Triple> filterOn( Node n );
+ public abstract Predicate<Triple> filterOn( Node n );
- public final Filter<Triple> filterOn( Triple t )
+ public final Predicate<Triple> filterOn( Triple t )
{ return filterOn( getField( t ) ); }
- protected static final Filter<Triple> anyTriple = Filter.any();
+ protected static final Predicate<Triple> anyTriple = t -> true;
public static final Field fieldSubject = new Field()
{
@Override public Node getField( Triple t )
{ return t.subj; }
- @Override public Filter<Triple> filterOn( final Node n )
+ @Override public Predicate<Triple> filterOn( final Node n )
{
return n.isConcrete()
- ? new Filter<Triple>()
- { @Override public boolean accept( Triple x ) { return n.equals( x.subj ); } }
+ ? x -> n.equals( x.subj )
: anyTriple
;
}
@@ -200,11 +200,9 @@ public class Triple
@Override public Node getField( Triple t )
{ return t.obj; }
- @Override public Filter<Triple> filterOn( final Node n )
+ @Override public Predicate<Triple> filterOn( final Node n )
{ return n.isConcrete()
- ? new Filter<Triple>()
- { @Override public boolean accept( Triple x )
- { return n.sameValueAs( x.obj ); } }
+ ? x -> n.sameValueAs( x.obj )
: anyTriple;
}
};
@@ -214,11 +212,9 @@ public class Triple
@Override public Node getField( Triple t )
{ return t.pred; }
- @Override public Filter<Triple> filterOn( final Node n )
+ @Override public Predicate<Triple> filterOn( final Node n )
{ return n.isConcrete()
- ? new Filter<Triple>()
- { @Override
- public boolean accept( Triple x ) { return n.equals( x.pred ); } }
+ ? x -> n.equals( x.pred )
: anyTriple;
}
};
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java b/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java
index 7c02bca..a28fec4 100755
--- a/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java
@@ -24,6 +24,7 @@ package org.apache.jena.graph.compose;
// Imports
///////////////
import java.util.*;
+import java.util.function.Predicate;
import org.apache.jena.graph.* ;
import org.apache.jena.graph.impl.* ;
@@ -42,18 +43,17 @@ public abstract class CompositionBase extends GraphBase
{
/**
* <p>
- * Answer a {@link Filter} that will reject any element that is a member of iterator i.
+ * Answer a {@link Predicate} that will reject any element that is a member of iterator i.
* As a side-effect, i will be closed.
* </p>
*
* @param i A closable iterator
- * @return A Filter that will accept any object not a member of i.
+ * @return A Predicate that will accept any object not a member of i.
*/
- public static <T> Filter<T> reject( final ClosableIterator<? extends T> i )
+ public static <T> Predicate<T> reject( final ClosableIterator<? extends T> i )
{
final Set< ? extends T> suppress = IteratorCollection.iteratorToSet( i );
- return new Filter<T>()
- { @Override public boolean accept( T o ) { return !suppress.contains( o ); } };
+ return o -> !suppress.contains( o );
}
/**
@@ -117,10 +117,7 @@ public abstract class CompositionBase extends GraphBase
*/
public static ExtendedIterator<Triple> rejecting( final ExtendedIterator<Triple> i, final Set<Triple> seen )
{
- Filter<Triple> seenFilter = new Filter<Triple>()
- { @Override
- public boolean accept( Triple x ) { return seen.contains( x ); } };
- return i.filterDrop( seenFilter );
+ return i.filterDrop( seen::contains );
}
/**
@@ -129,50 +126,36 @@ public abstract class CompositionBase extends GraphBase
*/
public static ExtendedIterator<Triple> rejecting( final ExtendedIterator<Triple> i, final Graph seen )
{
- Filter<Triple> seenFilter = new Filter<Triple>()
- { @Override public boolean accept( Triple x ) { return seen.contains( x ); } };
- return i.filterDrop( seenFilter );
+ return i.filterDrop( seen::contains );
}
/**
* <p>
- * Answer a {@link Filter} that will accept any object that is an element of
+ * Answer a {@link Predicate} that will accept any object that is an element of
* iterator i. As a side-effect, i will be evaluated and closed.
* </p>
*
* @param i A closable iterator
- * @return A Filter that will accept any object in iterator i.
+ * @return A Predicate that will accept any object in iterator i.
*/
- public static <T> Filter<T> ifIn( final ClosableIterator<T> i )
+ public static <T> Predicate<T> ifIn( final ClosableIterator<T> i )
{
final Set<T> allow = IteratorCollection.iteratorToSet( i );
- return new Filter<T>()
- { @Override public boolean accept( T x ) { return allow.contains( x ); } };
+ return allow::contains;
}
/**
* <p>
- * Answer a {@link Filter} that will accept any triple that is an edge of
+ * Answer a {@link Predicate} that will accept any triple that is an edge of
* graph g.
* </p>
*
* @param g A graph
- * @return A Filter that will accept any triple that is an edge in g.
+ * @return A Predicate that will accept any triple that is an edge in g.
*/
- public static Filter<Triple> ifIn( final Graph g )
+ public static Predicate<Triple> ifIn( final Graph g )
{
- return new Filter<Triple>()
- { @Override public boolean accept( Triple x ) { return g.contains( x ); } };
+ return g::contains;
}
-
- // Internal implementation methods
- //////////////////////////////////
-
-
- //==============================================================================
- // Inner class definitions
- //==============================================================================
-
-
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/graph/impl/CollectionGraph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/impl/CollectionGraph.java b/jena-core/src/main/java/org/apache/jena/graph/impl/CollectionGraph.java
index 8fd02f8..f20e41f 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/impl/CollectionGraph.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/impl/CollectionGraph.java
@@ -21,13 +21,11 @@ import java.util.Collection ;
import java.util.HashSet ;
import java.util.Locale ;
import java.util.Set ;
-
import org.apache.jena.graph.Capabilities ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.util.iterator.WrappedIterator ;
/**
@@ -64,21 +62,6 @@ public class CollectionGraph extends GraphBase
};
- static class TripleMatchFilterEquality extends Filter<Triple>
- {
- final protected Triple tMatch;
-
- /** Creates new TripleMatchFilter */
- public TripleMatchFilterEquality(Triple tMatch)
- { this.tMatch = tMatch; }
-
- @Override
- public boolean accept(Triple t)
- {
- return tripleContained(tMatch, t) ;
- }
-
- }
static boolean tripleContained(Triple patternTriple, Triple dataTriple)
{
return
@@ -122,7 +105,7 @@ public class CollectionGraph extends GraphBase
*/
public CollectionGraph()
{
- this(new HashSet<Triple>(), true);
+ this(new HashSet<>(), true);
}
/**
@@ -163,7 +146,7 @@ public class CollectionGraph extends GraphBase
{
iter = WrappedIterator.createNoRemove( triples.iterator() );
}
- return iter.filterKeep ( new TripleMatchFilterEquality( m ) );
+ return iter.filterKeep ( t -> tripleContained(m, t) );
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java b/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java
index 6268283..55c9f85 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java
@@ -17,6 +17,8 @@
*/
package org.apache.jena.graph.impl;
+import static org.apache.jena.util.iterator.WrappedIterator.create;
+
import java.util.*;
import org.apache.jena.graph.* ;
@@ -256,25 +258,19 @@ public class GraphMatcher extends java.lang.Object {
// Otherwise if some member of the bucket has friends
// we can refine the hash, and we set refinableHash.
check(HASH_OK);
- return new FilterIterator<>(
- new Filter<Bucket>() {
- @Override public boolean accept(Bucket o) {
- Bucket b = o;
- if (b.size()==1)
- return true;
- if (!refinableHash) {
- Iterator<AnonResource> it = b.members();
- while ( it.hasNext() )
- if (!it.next()
- .friends.isEmpty()) {
- refinableHash = true;
- break;
- }
- }
- return false;
- }
- },table.values().iterator());
-
+ return create(table.values().iterator()).filterKeep(b -> {
+ if (b.size() == 1)
+ return true;
+ if (!refinableHash) {
+ Iterator<AnonResource> it = b.members();
+ while (it.hasNext())
+ if (!it.next().friends.isEmpty()) {
+ refinableHash = true;
+ break;
+ }
+ }
+ return false;
+ });
}
private void unbindAll(Set<AnonResource> s) {
for ( AnonResource value : s )
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMap.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMap.java b/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMap.java
index a31a186..3342241 100644
--- a/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMap.java
+++ b/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMap.java
@@ -18,7 +18,10 @@
package org.apache.jena.mem;
+import static org.apache.jena.util.iterator.WrappedIterator.create;
+
import java.util.*;
+import java.util.function.Predicate;
import org.apache.jena.graph.* ;
import org.apache.jena.graph.Triple.* ;
@@ -106,24 +109,18 @@ public class NodeToTriplesMap extends NodeToTriplesMapBase
}
}
- public ExtendedIterator<Triple> iterateAll( Triple pattern )
- {
- return
- indexField.filterOn( pattern )
- .and( f2.filterOn( pattern ) )
- .and( f3.filterOn( pattern ) )
- .filterKeep( iterateAll() )
- ;
- }
+ public ExtendedIterator<Triple> iterateAll(Triple pattern) {
+ Predicate<Triple> filter = indexField.filterOn(pattern)
+ .and(f2.filterOn(pattern)).and(f3.filterOn(pattern));
+ return create(iterateAll()).filterKeep(filter);
+ }
@Override public ExtendedIterator<Triple> iterator( Node index, Node n2, Node n3 )
{
TripleBunch s = bunchMap.get( index.getIndexingValue() );
- return s == null
- ? NullIterator.<Triple>instance()
- : f2.filterOn( n2 ).and( f3.filterOn( n3 ) )
- .filterKeep( s.iterator() )
- ;
+ if (s == null) return NullIterator.<Triple>instance();
+ final Predicate<Triple> filter = f2.filterOn( n2 ).and( f3.filterOn( n3 ) );
+ return create(s.iterator()).filterKeep(filter);
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMapMem.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMapMem.java b/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMapMem.java
index 43e528e..107cf3b 100644
--- a/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMapMem.java
+++ b/jena-core/src/main/java/org/apache/jena/mem/NodeToTriplesMapMem.java
@@ -18,7 +18,10 @@
package org.apache.jena.mem;
+import static org.apache.jena.util.iterator.WrappedIterator.create;
+
import java.util.Iterator ;
+import java.util.function.Predicate;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -122,11 +125,9 @@ public class NodeToTriplesMapMem extends NodeToTriplesMapBase
Object indexValue = index.getIndexingValue();
TripleBunch s = bunchMap.get( indexValue );
// System.err.println( ">> ntmf::iterator: " + (s == null ? (Object) "None" : s.getClass()) );
- return s == null
- ? NullIterator.<Triple>instance()
- : f2.filterOn( n2 ).and( f3.filterOn( n3 ) )
- .filterKeep( s.iterator( new NotifyMe( indexValue ) ) )
- ;
+ if (s == null) return NullIterator.<Triple>instance();
+ final Predicate<Triple> filter = f2.filterOn( n2 ).and( f3.filterOn( n3 ) );
+ return create(s.iterator( new NotifyMe( indexValue ))).filterKeep(filter);
}
protected TripleBunch get( Object index )
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java b/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java
index 594321a..bb3b2a3 100755
--- a/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/OntTools.java
@@ -24,10 +24,10 @@ package org.apache.jena.ontology;
// Imports
///////////////
import java.util.*;
+import java.util.function.Predicate;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.shared.JenaException ;
-import org.apache.jena.util.iterator.Filter ;
/**
@@ -152,7 +152,7 @@ public class OntTools
* @return A path, consisting of a list of statements whose first subject is <code>start</code>,
* and whose last object is <code>end</code>, or null if no such path exists.
*/
- public static Path findShortestPath( Model m, Resource start, RDFNode end, Filter<Statement> onPath ) {
+ public static Path findShortestPath( Model m, Resource start, RDFNode end, Predicate<Statement> onPath ) {
List<Path> bfs = new LinkedList<>();
Set<Resource> seen = new HashSet<>();
@@ -585,7 +585,7 @@ public class OntTools
* A filter which accepts statements whose predicate matches one of a collection
* of predicates held by the filter object.
*/
- public static class PredicatesFilter extends Filter<Statement>
+ public static class PredicatesFilter implements Predicate<Statement>
{
public Collection<Property> m_preds;
@@ -609,7 +609,7 @@ public class OntTools
m_preds.add( pred );
}
- @Override public boolean accept( Statement s ) {
+ @Override public boolean test( Statement s ) {
return m_preds.contains( s.getPredicate() );
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
index 8397e1f..e2aae36 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
@@ -34,7 +34,6 @@ import org.apache.jena.ontology.* ;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.reasoner.InfGraph ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.util.iterator.UniqueFilter ;
import org.apache.jena.util.iterator.WrappedIterator ;
import org.apache.jena.vocabulary.OWL ;
@@ -72,7 +71,6 @@ public class OntClassImpl
* Note: should not be invoked directly by user code: use
* {@link org.apache.jena.rdf.model.RDFNode#as as()} instead.
*/
- @SuppressWarnings("hiding")
public static Implementation factory = new Implementation() {
@Override
public EnhNode wrap( Node n, EnhGraph eg ) {
@@ -177,7 +175,7 @@ public class OntClassImpl
@Override
public ExtendedIterator<OntClass> listSuperClasses( boolean direct ) {
return listDirectPropertyValues( getProfile().SUB_CLASS_OF(), "SUB_CLASS_OF", OntClass.class, getProfile().SUB_CLASS_OF(), direct, false )
- .filterDrop( new SingleEqualityFilter<OntClass>( this ) ).filterKeep( new UniqueFilter<OntClass>());
+ .filterDrop( this::equals ).filterKeep( new UniqueFilter<OntClass>());
}
/**
@@ -367,7 +365,7 @@ public class OntClassImpl
@Override
public ExtendedIterator<OntClass> listSubClasses( boolean direct ) {
return listDirectPropertyValues( getProfile().SUB_CLASS_OF(), "SUB_CLASS_OF", OntClass.class, getProfile().SUB_CLASS_OF(), direct, true )
- .filterDrop( new SingleEqualityFilter<OntClass>( this ) ).filterKeep( new UniqueFilter<OntClass>());
+ .filterDrop( this::equals ).filterKeep( new UniqueFilter<OntClass>());
}
@@ -670,12 +668,8 @@ public class OntClassImpl
return getModel()
.listStatements( null, RDF.type, this )
.mapWith( s -> s.getSubject().as( Individual.class ) )
- .filterKeep( new Filter<Individual>() {
- @Override
- public boolean accept( Individual o ) {
- // if direct, ignore the sub-class typed resources
- return o.hasRDFType( OntClassImpl.this, direct );
- }} ).filterKeep( new UniqueFilter<Individual>());
+ .filterKeep( o -> o.hasRDFType( OntClassImpl.this, direct ))
+ .filterKeep( new UniqueFilter<Individual>());
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
index 458a945..0aac74a 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
@@ -28,6 +28,7 @@ import java.io.OutputStream ;
import java.io.Reader ;
import java.io.Writer ;
import java.util.* ;
+import java.util.function.Predicate;
import org.apache.jena.enhanced.BuiltinPersonalities ;
import org.apache.jena.enhanced.EnhNode ;
@@ -536,17 +537,8 @@ public class OntModelImpl extends ModelCom implements OntModel
// no easy shortcut, so we use brute force
return listClasses()
- .filterDrop( new Filter<OntClass>() {
- @Override
- public boolean accept( OntClass o ) {
- return ((OntResource) o).isOntLanguageTerm();
- }} )
- .filterKeep( new Filter<OntClass>() {
- @Override
- public boolean accept( OntClass o ) {
- return o.isHierarchyRoot();
- }} )
- ;
+ .filterDrop( OntResource::isOntLanguageTerm )
+ .filterKeep( OntClass::isHierarchyRoot );
}
@@ -658,14 +650,7 @@ public class OntModelImpl extends ModelCom implements OntModel
*/
@Override
public ExtendedIterator<OntClass> listNamedClasses() {
- return listClasses().filterDrop(
- new Filter<OntClass>() {
- @Override
- public boolean accept( OntClass x ) {
- return x.isAnon();
- }
- }
- );
+ return listClasses().filterDrop( OntClass::isAnon );
}
@@ -3112,13 +3097,13 @@ public class OntModelImpl extends ModelCom implements OntModel
// Inner class definitions
//==============================================================================
- protected class NodeCanAs<T extends RDFNode> extends Filter<Node>
+ protected class NodeCanAs<T extends RDFNode> implements Predicate<Node>
{
protected Class<T> m_asKey;
protected NodeCanAs( Class<T> asKey ) { m_asKey = asKey; }
@Override
- public boolean accept( Node x ) {
+ public boolean test( Node x ) {
try { getNodeAs( x, m_asKey ); }
catch (Exception ignore) { return false; }
return true;
@@ -3127,14 +3112,14 @@ public class OntModelImpl extends ModelCom implements OntModel
}
- /** Filter that accepts nodes that can be mapped to the given facet */
- protected class SubjectNodeCanAs<T extends RDFNode> extends Filter<T>
+ /** Predicate that accepts nodes that can be mapped to the given facet */
+ protected class SubjectNodeCanAs<T extends RDFNode> implements Predicate<T>
{
protected Class<T> m_asKey;
protected SubjectNodeCanAs( Class<T> asKey ) { m_asKey = asKey; }
@Override
- public boolean accept( T x ) {
+ public boolean test( T x ) {
Node n = (x instanceof Triple)
? ((Triple) x).getSubject()
: ((x instanceof EnhNode) ? ((EnhNode) x).asNode() : (Node) x);
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
index 8d11a72..2280299 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
@@ -24,6 +24,7 @@ package org.apache.jena.ontology.impl;
// Imports
///////////////
import java.util.*;
+import java.util.function.Predicate;
import org.apache.jena.enhanced.* ;
import org.apache.jena.graph.* ;
@@ -53,7 +54,6 @@ public class OntPropertyImpl
* Note: should not be invoked directly by user code: use
* {@link org.apache.jena.rdf.model.RDFNode#as as()} instead.
*/
- @SuppressWarnings("hiding")
public static Implementation factory = new Implementation() {
@Override
public EnhNode wrap( Node n, EnhGraph eg ) {
@@ -175,7 +175,7 @@ public class OntPropertyImpl
@Override
public ExtendedIterator<OntProperty> listSuperProperties( boolean direct ) {
return listDirectPropertyValues( getProfile().SUB_PROPERTY_OF(), "SUB_PROPERTY_OF", OntProperty.class, getProfile().SUB_PROPERTY_OF(), direct, false )
- .filterDrop( new SingleEqualityFilter<OntProperty>( this ) );
+ .filterDrop( this::equals );
}
/**
@@ -835,11 +835,7 @@ public class OntPropertyImpl
// in the non-direct case, global properties appear in the ldp
// of all classes, but we ignore the built-in classes
return ((OntModel) getModel()).listClasses()
- .filterDrop( new Filter<OntClass>() {
- @Override
- public boolean accept( OntClass c ) {
- return c.isOntLanguageTerm();
- }} );
+ .filterDrop( OntClass::isOntLanguageTerm );
}
else {
// in the direct case, global properties only attach to the
@@ -902,7 +898,7 @@ public class OntPropertyImpl
* <p>Filter that accepts classes which have the given property as one of
* their declared properties.</p>
*/
- private class FilterDeclaringClass extends Filter<OntClass>
+ private class FilterDeclaringClass implements Predicate<OntClass>
{
private boolean m_direct;
private Property m_prop;
@@ -912,7 +908,7 @@ public class OntPropertyImpl
m_direct = direct;
}
- @Override public boolean accept( OntClass o ) {
+ @Override public boolean test( OntClass o ) {
return o.hasDeclaredProperty( m_prop, m_direct );
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
index cdd18fe..97911de 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
@@ -25,6 +25,7 @@ package org.apache.jena.ontology.impl;
///////////////
import java.util.*;
import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.jena.datatypes.xsd.XSDDatatype ;
import org.apache.jena.enhanced.* ;
@@ -68,7 +69,6 @@ public class OntResourceImpl
* Note: should not be invoked directly by user code: use
* {@link org.apache.jena.rdf.model.RDFNode#as as()} instead.
*/
- @SuppressWarnings("hiding")
public static Implementation factory = new Implementation() {
@Override
public EnhNode wrap( Node n, EnhGraph eg ) {
@@ -1654,23 +1654,14 @@ public class OntResourceImpl
/** Filter for matching language tags on the objects of statements */
- protected class LangTagFilter extends Filter<Statement>
+ protected class LangTagFilter implements Predicate<Statement>
{
protected String m_lang;
public LangTagFilter( String lang ) { m_lang = lang; }
@Override
- public boolean accept( Statement x ) {
+ public boolean test( Statement x ) {
RDFNode o = x.getObject();
- return o.isLiteral() && langTagMatch( m_lang, ((Literal) o).getLanguage() );
+ return o.isLiteral() && langTagMatch( m_lang, o.asLiteral().getLanguage() );
}
}
-
- /** Filter for accepting only the given value, based on .equals() */
- protected class SingleEqualityFilter<T>
- extends Filter<T>
- {
- private T m_obj;
- public SingleEqualityFilter( T x ) { m_obj = x; }
- @Override public boolean accept( T x ) {return m_obj.equals( x );}
- }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/rdf/model/Selector.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/Selector.java b/jena-core/src/main/java/org/apache/jena/rdf/model/Selector.java
index 7bf1125..415c596 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/Selector.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/Selector.java
@@ -18,6 +18,8 @@
package org.apache.jena.rdf.model;
+import java.util.function.Predicate;
+
/** A Statement selector.
*
* <p>Model includes list and query methods which will return all the
@@ -26,12 +28,7 @@ package org.apache.jena.rdf.model;
*
*/
-public interface Selector {
- /** Determine whether a Statement should be selected.
- * @param s The statement to be considered.
- * @return true if the statement has been selected.
- */
- boolean test( Statement s );
+public interface Selector extends Predicate<Statement> {
/**
Answer true iff this Selector is completely characterised by its subject,
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
index a0ed407..e644f55 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
@@ -21,7 +21,6 @@ package org.apache.jena.rdf.model.impl;
import java.io.* ;
import java.net.URL ;
import java.util.* ;
-
import org.apache.jena.datatypes.DatatypeFormatException ;
import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.datatypes.TypeMapper ;
@@ -494,39 +493,34 @@ implements Model, PrefixMapping, Lock
}
}
- private class StringFilteredStmtIterator extends FilterKeepIterator<Statement> implements StmtIterator {
- public StringFilteredStmtIterator(final String str, Iterator<Statement> it ) {
- super(
- new Filter<Statement>() {
- @Override public boolean accept(Statement s) {
- RDFNode o = s.getObject();
- if (o instanceof Literal) {
- if (str == null) return true; // should not happen
- return (str.equals(((Literal) o).getString()));
- }
- return false;
- }
- },
- it );
- }
+ private class StringFilteredStmtIterator extends FilterIterator<Statement>
+ implements StmtIterator {
+ public StringFilteredStmtIterator(final String str, Iterator<Statement> it) {
+ super(s -> {
+ RDFNode o = s.getObject();
+ if (o instanceof Literal) {
+ if (str == null)
+ return true; // should not happen
+ return (str.equals(o.asLiteral().getString()));
+ }
+ return false;
+ }, it);
+ }
@Override public Statement nextStatement() { return next(); }
}
- private class LangFilteredStmtIterator extends FilterKeepIterator<Statement> implements StmtIterator {
- public LangFilteredStmtIterator(final String l, Iterator<Statement> it ) {
- super(
- new Filter<Statement>() {
- @Override public boolean accept(Statement s) {
- RDFNode o = s.getObject();
- if (o instanceof Literal) {
- if (l == null) return true;
- return (l.equals(((Literal) o).getLanguage()));
- }
- return false;
- }
- },
- it );
- }
+ private class LangFilteredStmtIterator extends FilterIterator<Statement> implements StmtIterator {
+ public LangFilteredStmtIterator(final String l, Iterator<Statement> it) {
+ super(s -> {
+ RDFNode o = s.getObject();
+ if (o instanceof Literal) {
+ if (l == null)
+ return true;
+ return (l.equals(o.asLiteral().getLanguage()));
+ }
+ return false;
+ }, it);
+ }
@Override public Statement nextStatement() { return next(); }
}
@@ -1286,22 +1280,10 @@ implements Model, PrefixMapping, Lock
StmtIterator sts = IteratorFactory.asStmtIterator( findTriplesFrom( selector ), this );
return selector.isSimple()
? sts
- : new StmtIteratorImpl( sts .filterKeep ( asFilter( selector ) ) )
+ : new StmtIteratorImpl( sts .filterKeep ( selector ) )
;
}
- /**
- Answer a Filter that filters exactly those things the Selector selects.
-
- @param s a Selector on statements
- @return a Filter that accepts statements that s passes tests on
- */
- public Filter<Statement> asFilter( final Selector s )
- { return new Filter<Statement>()
- { @Override public boolean accept( Statement x ) { return s.test( x ); } };
- }
-
-
/**
Answer an [extended] iterator which returns the triples in this graph which
are selected by the (S, P, O) triple in the selector, ignoring any special
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ReifierStd.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ReifierStd.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ReifierStd.java
index 5180d7a..0bf7d26 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ReifierStd.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ReifierStd.java
@@ -20,12 +20,12 @@ package org.apache.jena.rdf.model.impl;
import java.util.* ;
+import java.util.function.Predicate;
import org.apache.jena.graph.* ;
import org.apache.jena.shared.AlreadyReifiedException ;
import org.apache.jena.shared.CannotReifyException ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.util.iterator.NullIterator ;
import org.apache.jena.util.iterator.WrappedIterator ;
import org.apache.jena.vocabulary.RDF ;
@@ -60,16 +60,10 @@ public class ReifierStd
return graph.find(match) ;
}
- static Filter<Triple> filterReif = new Filter<Triple>() {
- @Override
- public boolean accept(Triple triple)
- {
- return triple.getPredicate().equals(subject) ||
+ static Predicate<Triple> filterReif = triple -> triple.getPredicate().equals(subject) ||
triple.getPredicate().equals(predicate) ||
triple.getPredicate().equals(object) ||
( triple.getPredicate().equals(rdfType) && triple.getObject().equals(statement) ) ;
- }
- } ;
/**
Answer an iterator over all the reification triples that this Reifier exposes
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
index 409bbd9..8e6d765 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
@@ -115,6 +115,8 @@ package org.apache.jena.rdfxml.xmloutput.impl;
*
* [6.34] literal ::= (any well-formed XML)
*/
+import static org.apache.jena.util.iterator.WrappedIterator.create;
+
import java.io.PrintWriter ;
import java.util.* ;
@@ -1542,12 +1544,12 @@ class Unparser {
* This class is an iterator over the set infinite, but we wait until it is
* used before instantiating the underlying iterator.
*/
- private Iterator<Resource> allInfiniteLeft() {
- return new LateBindingIterator<Resource>() {
+ private ExtendedIterator<Resource> allInfiniteLeft() {
+ return create(new LateBindingIterator<Resource>() {
@Override public Iterator<Resource> create() {
return infinite.iterator();
}
- };
+ });
}
private Iterator<Resource> pleasingTypeIterator() {
@@ -1630,13 +1632,14 @@ class Unparser {
// Subjects that are not objects of anything.
// Iterator<Resource> nonObjects = new FilterIterator<Resource>(new Filter<Resource>() {
-// @Override public boolean accept( Resource o ) {
+// @Override public boolean test( Resource o ) {
// return (!objectTable.containsKey(o))
// && (!wantReification(o));
// }
// }, modelListSubjects());
- Iterator<Resource> nonObjects = modelListSubjects().filterKeep( new Filter<Resource>() {@Override public boolean accept( Resource o ) { return (!objectTable.containsKey(o)) && (!wantReification(o) ); } } );
-
+ Iterator<Resource> nonObjects = modelListSubjects()
+ .filterKeep( o -> !objectTable.containsKey(o) && !wantReification(o));
+
// At these stage we evaluate a dependency graph of the remaining
// resources.
// This is stuck in the master iterator so that it's hasNext is called
@@ -1652,26 +1655,22 @@ class Unparser {
};
// non-anonymous resources that are the object of more than one
// triple that are in infinite cycles.
- Iterator<Resource> firstChoiceCyclic = new FilterIterator<>(new Filter<Resource>() {
- @Override
- public boolean accept(Resource r) {
- codeCoverage[4]++;
- if (r.isAnon())
- return false;
- Integer cnt = objectTable.get(r);
- if (cnt == null || cnt.intValue() <= 1)
- return false;
- return true;
- }
- }, this.allInfiniteLeft());
+ Iterator<Resource> firstChoiceCyclic = allInfiniteLeft()
+ .filterKeep(r -> {
+ codeCoverage[4]++;
+ if (r.isAnon())
+ return false;
+ Integer cnt = objectTable.get(r);
+ if (cnt == null || cnt.intValue() <= 1)
+ return false;
+ return true;
+ });
// any non genuinely anonymous resources that are in infinite cycles
- Iterator<Resource> nonAnonInfinite = new FilterIterator<>(new Filter<Resource>() {
- @Override
- public boolean accept(Resource r) {
- codeCoverage[5]++;
- return !isGenuineAnon(r);
- }
- }, allInfiniteLeft());
+ Iterator<Resource> nonAnonInfinite = allInfiniteLeft()
+ .filterKeep(r -> {
+ codeCoverage[5]++;
+ return !isGenuineAnon(r);
+ });
// any other resource in an infinite cyle
Iterator<Resource> inf = allInfiniteLeft();
Iterator<Resource> anotherFake = new NullIterator<Resource>() {
@@ -1681,13 +1680,10 @@ class Unparser {
return false;
}
};
- Iterator<Resource> reifications = new FilterIterator<>(new Filter<Resource>() {
- @Override
- public boolean accept(Resource r) {
- codeCoverage[6]++;
- return res2statement.containsKey(r);
- }
- }, allInfiniteLeft());
+ Iterator<Resource> reifications = allInfiniteLeft().filterKeep(r -> {
+ codeCoverage[6]++;
+ return res2statement.containsKey(r);
+ });
// any other resource.
Iterator<Resource> backStop = modelListSubjects();
@@ -1703,15 +1699,10 @@ class Unparser {
return false;
}
}, backStop };
- Iterator<Resource> allAsOne = WrappedIterator.createIteratorIterator( Arrays.asList(all).iterator() );
+ ExtendedIterator<Resource> allAsOne = WrappedIterator.createIteratorIterator( Arrays.asList(all).iterator() );
// Filter for those that still have something to list.
- return new FilterIterator<>(new Filter<Resource>() {
- @Override
- public boolean accept(Resource r) {
- return hasProperties(r);
- }
- }, allAsOne);
+ return allAsOne.filterKeep(this::hasProperties);
}
private Set<ResIterator> openResIterators = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/FBRuleInfGraph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/FBRuleInfGraph.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/FBRuleInfGraph.java
index 6aa6a85..34f2e72 100644
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/FBRuleInfGraph.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/FBRuleInfGraph.java
@@ -36,7 +36,6 @@ import org.apache.jena.shared.impl.JenaParameters ;
import org.apache.jena.util.OneToManyMap ;
import org.apache.jena.util.PrintUtil ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.util.iterator.UniqueFilter ;
import org.apache.jena.vocabulary.RDFS ;
import org.apache.jena.vocabulary.ReasonerVocabulary ;
@@ -562,9 +561,7 @@ public class FBRuleInfGraph extends BasicForwardRuleInfGraph implements Backwar
}
if (filterFunctors) {
// return result.filterDrop(Functor.acceptFilter);
- return result.filterDrop( new Filter<Triple>() {
- @Override public boolean accept( Triple o )
- { return FBRuleInfGraph.this.accept( o ); }} );
+ return result.filterDrop( t -> FBRuleInfGraph.this.accept( t ) );
} else {
return result;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java
index b6054cf..27217e6 100755
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java
@@ -21,11 +21,11 @@ package org.apache.jena.reasoner.rulesys;
import org.apache.jena.datatypes.* ;
import org.apache.jena.graph.* ;
import org.apache.jena.util.PrintUtil ;
-import org.apache.jena.util.iterator.Filter ;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
+import java.util.function.Predicate;
/**
* A functor comprises a functor name and a list of
@@ -46,14 +46,11 @@ public class Functor implements ClauseEntry {
/** A built in that implements the functor */
protected Builtin implementor;
- /** A static Filter instance that detects triples with Functor objects */
- public static final Filter<Triple> acceptFilter = new Filter<Triple>() {
- @Override
- public boolean accept( Triple t) {
+ /** A static Predicate instance that detects triples with Functor objects */
+ public static final Predicate<Triple> acceptFilter = t -> {
if (t.getSubject().isLiteral()) return true;
Node n = t.getObject();
return n.isLiteral() && n.getLiteralDatatype() == FunctorDatatype.theFunctorDatatype;
- }
};
protected static Logger logger = LoggerFactory.getLogger(Functor.class);
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/SafeGraph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/SafeGraph.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/SafeGraph.java
index 8a545fa..cc05561 100644
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/SafeGraph.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/SafeGraph.java
@@ -24,7 +24,6 @@ import org.apache.jena.graph.Triple ;
import org.apache.jena.graph.impl.SimpleEventManager ;
import org.apache.jena.graph.impl.WrappedGraph ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
/**
* A SafeGraph wraps a graph which might contain generalized RDF
@@ -46,14 +45,8 @@ public class SafeGraph extends WrappedGraph implements Graph {
@Override
public ExtendedIterator<Triple> find( Node s, Node p, Node o ) {
return SimpleEventManager.notifyingRemove( this,
- base.find( s, p, o ).filterDrop( new Filter<Triple>() {
- @Override
- public boolean accept(Triple t) {
- if (t.getSubject().isLiteral()) return true;
- if (t.getPredicate().isBlank() || t.getPredicate().isLiteral()) return true;
- return false;
- }
- } ) );
+ base.find( s, p, o ).filterDrop( t -> t.getSubject().isLiteral() ||
+ t.getPredicate().isBlank() || t.getPredicate().isLiteral() ) );
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
index 2a0eeb6..9953286 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
@@ -20,6 +20,7 @@ package org.apache.jena.util.iterator;
import java.util.*;
import java.util.function.Function;
+import java.util.function.Predicate;
/**
an ExtendedIterator is a ClosableIterator on which other operations are
@@ -54,14 +55,14 @@ public interface ExtendedIterator<T> extends ClosableIterator<T>
pass the filter _f_. The order of the elements is preserved. Does not
copy _this_, which is consumed as the result is consumed.
*/
- public ExtendedIterator<T> filterKeep( Filter<T> f );
+ public ExtendedIterator<T> filterKeep( Predicate<T> f );
/**
return a new iterator containing only the elements of _this_ which
are rejected by the filter _f_. The order of the elements is preserved.
Does not copy _this_, which is consumed as the result is consumed.
*/
- public ExtendedIterator<T> filterDrop( Filter<T> f );
+ public ExtendedIterator<T> filterDrop( Predicate<T> f );
/**
return a new iterator where each element is the result of applying
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java b/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java
index 5c7faaf..6c85c28 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/Filter.java
@@ -19,66 +19,107 @@
package org.apache.jena.util.iterator;
import java.util.Iterator;
+import java.util.function.Predicate;
-/**
- boolean functions wrapped to be used in filtering iterators.
-*/
-public abstract class Filter<T>
- {
- /**
- Answer true iff the object <code>o</code> is acceptable. This method
- may also throw an exception if the argument is of a wrong type; it
- is not required to return <code>false</code> in such a case.
- */
- public abstract boolean accept( T o );
-
- public ExtendedIterator<T> filterKeep( Iterator<T> it )
- { return new FilterKeepIterator<>( this, it ); }
-
- public Filter<T> and( final Filter<T> other )
- { return other.isAny() ? this : new Filter<T>()
- { @Override public boolean accept( T x )
- { return Filter.this.accept( x ) && other.accept( x ); }
- };
- }
-
- /**
- Answer true iff this filter will deliver true for any argument. Should never
- be overridden except by classes generated by any() below.
- */
- public boolean isAny()
- { return false; }
-
- /**
- A Filter that accepts everything it's offered.
- @deprecated use Filter.any()
- */
- @SuppressWarnings({"unchecked", "rawtypes"})
- // Knowingly suppressed - maximum backward compatibility.
- @Deprecated public static final Filter any = new Filter()
- {
- @Override public final boolean isAny() { return true; }
-
- @Override public final boolean accept( Object o ) { return true; }
-
- @Override public Filter and( Filter other ) { return other; }
-
- @Override public ExtendedIterator filterKeep( Iterator it )
- { return WrappedIterator.create( it ); }
- };
-
- public static <T> Filter<T> any()
- {
- return new Filter<T>()
- {
- @Override public final boolean isAny() { return true; }
-
- @Override public final boolean accept( T o ) { return true; }
-
- @Override public Filter<T> and( Filter<T> other ) { return other; }
-
- @Override public ExtendedIterator<T> filterKeep( Iterator<T> it )
- { return WrappedIterator.create( it ); }
- };
- }
- }
+/**
+ * boolean functions wrapped to be used in filtering iterators.
+ *
+ * Deprecated in favor of {@link Predicate}.
+ */
+@Deprecated
+public abstract class Filter<T> implements Predicate<T> {
+
+ public boolean test(T o) {
+ return accept(o);
+ }
+
+ @Deprecated
+ public abstract boolean accept(T o);
+
+ @Deprecated
+ public ExtendedIterator<T> filterKeep(Iterator<T> it) {
+ return new FilterIterator<>(this, it);
+ }
+
+ /**
+ * Use {@link #and(Predicate)} instead.
+ */
+ @Deprecated
+ public Filter<T> and(final Filter<T> other) {
+ return other.isAny() ? this : new Filter<T>() {
+ @Override
+ public boolean accept(T x) {
+ return Filter.this.accept(x) && other.accept(x);
+ }
+ };
+ }
+
+ /**
+ * Answer true iff this filter will deliver true for any argument. Should
+ * never be overridden except by classes generated by any() below.
+ *
+ * No longer needed after Java 8: optimizations of this kind are now a compiler/JVM concern.
+ */
+ @Deprecated
+ public boolean isAny() {
+ return false;
+ }
+
+ /**
+ * A Filter that accepts everything it's offered.
+ *
+ * @deprecated use Filter.any()
+ */
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ // Knowingly suppressed - maximum backward compatibility.
+ @Deprecated
+ public static final Filter any = new Filter() {
+ @Override
+ public final boolean isAny() {
+ return true;
+ }
+
+ @Override
+ public final boolean accept(Object o) {
+ return true;
+ }
+
+ @Override
+ public Filter and(Filter other) {
+ return other;
+ }
+
+ @Override
+ public ExtendedIterator filterKeep(Iterator it) {
+ return WrappedIterator.create(it);
+ }
+ };
+
+ /**
+ * Use Java 8's lambda syntax, e.g. x -> true.
+ */
+ @Deprecated
+ public static <T> Filter<T> any() {
+ return new Filter<T>() {
+ @Override
+ public final boolean isAny() {
+ return true;
+ }
+
+ @Override
+ public final boolean accept(T o) {
+ return true;
+ }
+
+ @Override
+ public Filter<T> and(Filter<T> other) {
+ return other;
+ }
+
+ @Override
+ public ExtendedIterator<T> filterKeep(Iterator<T> it) {
+ return WrappedIterator.create(it);
+ }
+ };
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/util/iterator/FilterDropIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/FilterDropIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/FilterDropIterator.java
deleted file mode 100644
index 3c442a4..0000000
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/FilterDropIterator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.util.iterator;
-
-import java.util.Iterator;
-
-/**
- A subclass of FiterIterator which discards the elements that pass the
- filter.
- */
-public class FilterDropIterator<T> extends FilterIterator<T> implements Iterator<T>
- {
- public FilterDropIterator( Filter<T> f, Iterator<T> it )
- { super( f, it ); }
-
- @Override protected boolean accept( T x )
- { return !f.accept( x ); }
- }
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/util/iterator/FilterIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/FilterIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/FilterIterator.java
index 6ae9042..c5ddb83 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/FilterIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/FilterIterator.java
@@ -20,6 +20,7 @@ package org.apache.jena.util.iterator;
import java.util.Iterator;
import java.util.NoSuchElementException;
+import java.util.function.Predicate;
/**
Creates a sub-Iterator by filtering. This class should not be used
@@ -28,7 +29,7 @@ import java.util.NoSuchElementException;
*/
public class FilterIterator<T> extends WrappedIterator<T>
{
- protected final Filter<T> f;
+ protected final Predicate<T> f;
protected T current;
protected boolean canRemove;
protected boolean hasCurrent;
@@ -38,7 +39,7 @@ public class FilterIterator<T> extends WrappedIterator<T>
@param fl An object is included if it is accepted by this Filter.
@param e The base Iterator.
*/
- public FilterIterator( Filter<T> fl, Iterator<T> e )
+ public FilterIterator( Predicate<T> fl, Iterator<T> e )
{
super( e );
f = fl;
@@ -52,18 +53,11 @@ public class FilterIterator<T> extends WrappedIterator<T>
@Override public boolean hasNext()
{
while (!hasCurrent && super.hasNext())
- hasCurrent = accept( current = super.next() );
+ hasCurrent = f.test( current = super.next() );
canRemove = false;
return hasCurrent;
}
- /**
- Overridden in Drop/Keep as appropriate. Answer true if the object is
- to be kept in the output, false if it is to be dropped.
- */
- protected boolean accept( T x )
- { return f.accept( x ); }
-
/**
Remove the current member from the underlying iterator. Legal only
after a .next() but before any subsequent .hasNext(), because that
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/util/iterator/FilterKeepIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/FilterKeepIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/FilterKeepIterator.java
deleted file mode 100644
index 10220d8..0000000
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/FilterKeepIterator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.util.iterator;
-
-import java.util.Iterator;
-
-/**
- A subclass of FilterIterator which keeps the elements that pass the
- test.
-*/
-public class FilterKeepIterator<T> extends FilterIterator<T> implements Iterator<T>
- {
- public FilterKeepIterator( Filter<T> f, Iterator<T> it )
- { super( f, it ); }
-
- @Override protected boolean accept( T x )
- { return f.accept( x ); }
- }
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
index 2411413..8a26180 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
@@ -19,6 +19,7 @@
package org.apache.jena.util.iterator;
import java.util.function.Function;
+import java.util.function.Predicate;
/** An ExtendedIterator that is created lazily.
* This is useful when constructing an iterator is expensive and
@@ -64,13 +65,13 @@ abstract public class LazyIterator<T> implements ExtendedIterator<T> {
}
@Override
- public ExtendedIterator<T> filterKeep(Filter<T> f) {
+ public ExtendedIterator<T> filterKeep(Predicate<T> f) {
lazy();
return it.filterKeep(f);
}
@Override
- public ExtendedIterator<T> filterDrop(Filter<T> f) {
+ public ExtendedIterator<T> filterDrop(Predicate<T> f) {
lazy();
return it.filterDrop(f);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java
index 6e0432f..5ebfee1 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java
@@ -20,6 +20,7 @@ package org.apache.jena.util.iterator;
import java.util.*;
import java.util.function.Function;
+import java.util.function.Predicate;
/**
NiceIterator is the standard base class implementing ExtendedIterator. It provides
@@ -152,15 +153,15 @@ public class NiceIterator<T> implements ExtendedIterator<T>
make a new iterator, which is our elements that pass the filter
*/
@Override
- public ExtendedIterator<T> filterKeep( Filter<T> f )
- { return new FilterKeepIterator<>( f, this ); }
+ public FilterIterator<T> filterKeep( Predicate<T> f )
+ { return new FilterIterator<>( f, this ); }
/**
make a new iterator, which is our elements that do not pass the filter
*/
@Override
- public ExtendedIterator<T> filterDrop( final Filter<T> f )
- { return new FilterDropIterator<>( f, this ); }
+ public FilterIterator<T> filterDrop( final Predicate<T> f )
+ { return new FilterIterator<>( f.negate(), this ); }
/**
make a new iterator which is the elementwise _map1_ of the base iterator.
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/main/java/org/apache/jena/util/iterator/UniqueFilter.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/UniqueFilter.java b/jena-core/src/main/java/org/apache/jena/util/iterator/UniqueFilter.java
index 1e82306..bc3be53 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/UniqueFilter.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/UniqueFilter.java
@@ -20,17 +20,18 @@ package org.apache.jena.util.iterator;
import java.util.HashSet;
import java.util.Set;
+import java.util.function.Predicate;
/**
* A Filter that filters out duplicate values.
*/
-public class UniqueFilter<T> extends Filter<T> {
+public class UniqueFilter<T> implements Predicate<T> {
/** The set of objects already seen */
protected Set<T> seen = new HashSet<>();
@Override
- public boolean accept(T o) {
+ public boolean test(T o) {
boolean retval = !seen.contains(o);
if (retval)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/test/java/org/apache/jena/graph/test/TestTripleField.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestTripleField.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestTripleField.java
index 80147ba..46d3b6d 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestTripleField.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestTripleField.java
@@ -54,32 +54,25 @@ public class TestTripleField extends GraphTestBase
public void testFilterSubject()
{
- assertTrue( Field.fieldSubject.filterOn( node( "a" ) ).accept( triple( "a P b" ) ) );
- assertFalse( Field.fieldSubject.filterOn( node( "x" ) ).accept( triple( "a P b" ) ) );
+ assertTrue( Field.fieldSubject.filterOn( node( "a" ) ).test( triple( "a P b" ) ) );
+ assertFalse( Field.fieldSubject.filterOn( node( "x" ) ).test( triple( "a P b" ) ) );
}
public void testFilterObject()
{
- assertTrue( Field.fieldObject.filterOn( node( "b" ) ).accept( triple( "a P b" ) ) );
- assertFalse( Field.fieldObject.filterOn( node( "c" ) ).accept( triple( "a P b" ) ) );
+ assertTrue( Field.fieldObject.filterOn( node( "b" ) ).test( triple( "a P b" ) ) );
+ assertFalse( Field.fieldObject.filterOn( node( "c" ) ).test( triple( "a P b" ) ) );
}
public void testFilterPredicate()
{
- assertTrue( Field.fieldPredicate.filterOn( node( "P" ) ).accept( triple( "a P b" ) ) );
- assertFalse( Field.fieldPredicate.filterOn( node( "Q" ) ).accept( triple( "a P b" ) ) );
+ assertTrue( Field.fieldPredicate.filterOn( node( "P" ) ).test( triple( "a P b" ) ) );
+ assertFalse( Field.fieldPredicate.filterOn( node( "Q" ) ).test( triple( "a P b" ) ) );
}
public void testFilterByTriple()
{
- assertTrue( Field.fieldSubject.filterOn( triple( "s P o" ) ).accept( triple( "s Q p" ) ) );
- assertFalse( Field.fieldSubject.filterOn( triple( "s P o" ) ).accept( triple( "x Q p" ) ) );
- }
-
- public void testWildcardFilterIsAny()
- {
- assertTrue( Field.fieldSubject.filterOn( triple( "?x R s" ) ).isAny() );
- assertTrue( Field.fieldObject.filterOn( triple( "x R ?s" ) ).isAny() );
- assertTrue( Field.fieldPredicate.filterOn( triple( "x ?R s" ) ).isAny() );
+ assertTrue( Field.fieldSubject.filterOn( triple( "s P o" ) ).test( triple( "s Q p" ) ) );
+ assertFalse( Field.fieldSubject.filterOn( triple( "s P o" ) ).test( triple( "x Q p" ) ) );
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/test/java/org/apache/jena/ontology/impl/TestOntTools.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/ontology/impl/TestOntTools.java b/jena-core/src/test/java/org/apache/jena/ontology/impl/TestOntTools.java
index 7bef377..f57a48d 100644
--- a/jena-core/src/test/java/org/apache/jena/ontology/impl/TestOntTools.java
+++ b/jena-core/src/test/java/org/apache/jena/ontology/impl/TestOntTools.java
@@ -24,8 +24,10 @@ package org.apache.jena.ontology.impl;
// Imports
///////////////
import java.util.List ;
+import java.util.function.Predicate;
import junit.framework.TestCase ;
+
import org.apache.jena.ontology.OntClass ;
import org.apache.jena.ontology.OntModel ;
import org.apache.jena.ontology.OntModelSpec ;
@@ -34,7 +36,6 @@ import org.apache.jena.rdf.model.ModelFactory ;
import org.apache.jena.rdf.model.Property ;
import org.apache.jena.rdf.model.ResourceFactory ;
import org.apache.jena.rdf.model.Statement ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.vocabulary.OWL ;
@@ -227,7 +228,7 @@ public class TestOntTools
/** Shortest path tests */
- static final Filter<Statement> ANY = Filter.any();
+ static final Predicate<Statement> ANY = s -> true;
public void testShortestPath0() {
Property p = m_model.createProperty( NS + "p" );
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java
index ac984c5..66e589c 100644
--- a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java
+++ b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java
@@ -19,10 +19,11 @@
package org.apache.jena.util.iterator.test;
import java.util.*;
+import java.util.function.Predicate;
import junit.framework.TestSuite;
+
import org.apache.jena.rdf.model.test.ModelTestBase ;
-import org.apache.jena.shared.JenaException ;
import org.apache.jena.util.iterator.* ;
public class TestFilters extends ModelTestBase
@@ -32,86 +33,13 @@ public class TestFilters extends ModelTestBase
public static TestSuite suite()
{ return new TestSuite( TestFilters.class ); }
-
- public void testFilterAnyExists()
- { assertInstanceOf( Filter.class, Filter.any() ); }
-
- public void testFilterAnyAcceptsThings()
- {
- assertTrue( Filter.any().accept( "hello" ) );
- assertTrue( Filter.any().accept( 17 ) );
- assertTrue( Filter.any().accept( node( "frodo" ) ) );
- assertTrue( Filter.any().accept( node( "_cheshire" ) ) );
- assertTrue( Filter.any().accept( node( "17" ) ) );
- assertTrue( Filter.any().accept( triple( "s p o" ) ) );
- assertTrue( Filter.any().accept( Filter.any() ) );
- assertTrue( Filter.any().accept( this ) );
- }
-
- public void testFilterFilterMethod()
- {
- assertFalse( Filter.any().filterKeep( NullIterator.instance() ).hasNext() );
- }
-
- public void testFilteringThings()
- {
- ExtendedIterator<String> it = iteratorOfStrings( "gab geb bag big lava hall end" );
- Filter<String> f = new Filter<String>()
- {
- @Override public boolean accept( String o )
- { return o.charAt( 1 ) == 'a'; }
- };
- assertEquals( listOfStrings( "gab bag lava hall" ), iteratorToList( f.filterKeep( it ) ) );
- }
-
- public void testAnyFilterSimple()
- {
- ExtendedIterator<String> it = iteratorOfStrings( "" );
- assertSame( it, Filter.<String>any().filterKeep( it ) );
- }
- protected Filter<String> containsA = new Filter<String>()
- { @Override public boolean accept( String o ) { return contains( o, 'a' ); } };
-
- public void testFilterAnd()
- {
- Filter<String> containsB = new Filter<String>()
- { @Override public boolean accept( String o ) { return contains( o, 'b' ); } };
- Filter<String> f12 = containsA.and( containsB );
- assertFalse( f12.accept( "a" ) );
- assertFalse( f12.accept( "b" ) );
- assertTrue( f12.accept( "ab" ) );
- assertTrue( f12.accept( "xyzapqrbijk" ) );
- assertTrue( f12.accept( "ba" ) );
- }
-
- public void testFilterShortcircuit()
- {
- Filter<String> oops = new Filter<String>()
- { @Override public boolean accept( String o ) { throw new JenaException( "oops" ); } };
- Filter<String> f12 = containsA.and( oops );
- assertFalse( f12.accept( "z" ) );
- try { f12.accept( "a" ); fail( "oops" ); }
- catch (JenaException e) { assertEquals( "oops", e.getMessage() ); }
- }
-
- public void testAnyAndTrivial()
- { assertSame( containsA, Filter.<String>any().and( containsA ) ); }
-
- public void testSomethingAndAny()
- { assertSame( containsA, containsA.and( Filter.<String>any() ) ); }
-
- public void testFilterDropIterator()
- {
- Iterator<String> i = iteratorOfStrings( "there's an a in some animals" );
- Iterator<String> it = new FilterDropIterator<>( containsA, i );
- assertEquals( listOfStrings( "there's in some" ), iteratorToList( it ) );
- }
+ protected Predicate<String> containsA = o -> contains( o, 'a' );
- public void testFilterKeepIterator()
+ public void testFilterIterator()
{
Iterator<String> i = iteratorOfStrings( "there's an a in some animals" );
- Iterator<String> it = new FilterKeepIterator<>( containsA, i );
+ Iterator<String> it = new FilterIterator<>( containsA, i );
assertEquals( listOfStrings( "an a animals" ), iteratorToList( it ) );
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java
----------------------------------------------------------------------
diff --git a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java
index 3a5b2af..7e5e5b5 100644
--- a/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java
+++ b/jena-csv/src/main/java/org/apache/jena/propertytable/graph/GraphPropertyTable.java
@@ -20,6 +20,7 @@ package org.apache.jena.propertytable.graph;
import java.util.ArrayList ;
import java.util.Locale ;
+import java.util.function.Predicate;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
@@ -30,7 +31,6 @@ import org.apache.jena.propertytable.PropertyTable ;
import org.apache.jena.propertytable.Row ;
import org.apache.jena.sparql.core.BasicPattern ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.util.iterator.NullIterator ;
import org.apache.jena.util.iterator.WrappedIterator ;
@@ -117,7 +117,7 @@ public class GraphPropertyTable extends GraphBase {
}
- static class RowMatchFilterEquality extends Filter<Row> {
+ static class RowMatchFilterEquality implements Predicate<Row> {
final protected RowMatch rMatch;
public RowMatchFilterEquality(RowMatch rMatch) {
@@ -125,7 +125,7 @@ public class GraphPropertyTable extends GraphBase {
}
@Override
- public boolean accept(Row r) {
+ public boolean test(Row r) {
return rowContained(rMatch, r);
}
@@ -147,7 +147,7 @@ public class GraphPropertyTable extends GraphBase {
}
- static class TripleMatchFilterEquality extends Filter<Triple> {
+ static class TripleMatchFilterEquality implements Predicate<Triple> {
final protected Triple tMatch;
/** Creates new TripleMatchFilter */
@@ -156,7 +156,7 @@ public class GraphPropertyTable extends GraphBase {
}
@Override
- public boolean accept(Triple t) {
+ public boolean test(Triple t) {
return tripleContained(tMatch, t);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
index 072396f..37d856b 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
@@ -20,6 +20,7 @@ package org.apache.jena.permissions.model.impl;
import java.io.* ;
import java.net.URL ;
import java.util.* ;
+import java.util.function.Predicate;
import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.graph.Node ;
@@ -40,7 +41,6 @@ import org.apache.jena.rdf.model.* ;
import org.apache.jena.rdf.model.impl.RDFReaderFImpl ;
import org.apache.jena.shared.* ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.util.iterator.WrappedIterator ;
import org.apache.jena.vocabulary.RDF ;
@@ -265,7 +265,7 @@ public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel
this.p = p;
}
@Override
- public boolean accept(Resource o) {
+ public boolean test(Resource o) {
Triple t = new Triple( r.asNode(), p.asNode(), o.asNode());
return si.canRead( SecuredItemImpl.convert( t ) );
}};
@@ -2673,7 +2673,7 @@ public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel
}
- private class ResourceFilter extends Filter<Resource> {
+ private class ResourceFilter implements Predicate<Resource> {
Property p;
RDFNode o;
@@ -2693,7 +2693,7 @@ public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel
}
@Override
- public boolean accept(Resource s) {
+ public boolean test(Resource s) {
StmtIterator iter = listStatements(s, p, o);
try {
return iter.hasNext();
@@ -2705,7 +2705,7 @@ public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel
}
- private class ObjectFilter extends Filter<RDFNode> {
+ private class ObjectFilter implements Predicate<RDFNode> {
Resource s;
Property p;
@@ -2725,7 +2725,7 @@ public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel
}
@Override
- public boolean accept(RDFNode o) {
+ public boolean test(RDFNode o) {
StmtIterator iter = listStatements(s, p, o);
try {
return iter.hasNext();
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java
index 558f184..c9df0ba 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java
@@ -22,13 +22,13 @@ import java.util.List;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.jena.permissions.model.SecuredModel;
import org.apache.jena.permissions.model.SecuredRDFNode;
import org.apache.jena.rdf.model.NodeIterator ;
import org.apache.jena.rdf.model.RDFNode ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
/**
* A secured RDFNode iterator implementation
@@ -82,13 +82,13 @@ public class SecuredNodeIterator<T extends RDFNode> implements NodeIterator
}
@Override
- public ExtendedIterator<RDFNode> filterDrop( final Filter<RDFNode> f )
+ public ExtendedIterator<RDFNode> filterDrop( final Predicate<RDFNode> f )
{
return iter.filterDrop(f);
}
@Override
- public ExtendedIterator<RDFNode> filterKeep( final Filter<RDFNode> f )
+ public ExtendedIterator<RDFNode> filterKeep( final Predicate<RDFNode> f )
{
return iter.filterKeep(f);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java
index 2160880..2fbbb40 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java
@@ -21,6 +21,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.jena.permissions.SecurityEvaluator;
import org.apache.jena.permissions.SecurityEvaluator.Action;
@@ -30,14 +31,13 @@ import org.apache.jena.permissions.model.SecuredModel;
import org.apache.jena.rdf.model.RSIterator ;
import org.apache.jena.rdf.model.ReifiedStatement ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
/**
* A secured RSIterator implementation
*/
public class SecuredRSIterator implements RSIterator
{
- private class PermReifiedStatementFilter extends Filter<ReifiedStatement>
+ private class PermReifiedStatementFilter implements Predicate<ReifiedStatement>
{
private final SecurityEvaluator evaluator;
private final SecNode modelNode;
@@ -52,7 +52,7 @@ public class SecuredRSIterator implements RSIterator
}
@Override
- public boolean accept( final ReifiedStatement t )
+ public boolean test( final ReifiedStatement t )
{
return evaluator.evaluateAny(evaluator.getPrincipal(), actions, modelNode,
SecuredItemImpl.convert(t.getStatement().asTriple()));
@@ -111,14 +111,14 @@ public class SecuredRSIterator implements RSIterator
@Override
public ExtendedIterator<ReifiedStatement> filterDrop(
- final Filter<ReifiedStatement> f )
+ final Predicate<ReifiedStatement> f )
{
return iter.filterDrop(f);
}
@Override
public ExtendedIterator<ReifiedStatement> filterKeep(
- final Filter<ReifiedStatement> f )
+ final Predicate<ReifiedStatement> f )
{
return iter.filterKeep(f);
}
[12/50] [abbrv] jena git commit: JENA-929: Migrate Filter to Java 8
Predicate
Posted by cl...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java
index 4baa134..86599e0 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java
@@ -21,13 +21,13 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.jena.permissions.model.SecuredModel;
import org.apache.jena.permissions.model.SecuredResource;
import org.apache.jena.rdf.model.ResIterator ;
import org.apache.jena.rdf.model.Resource ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
public class SecuredResIterator implements ResIterator
{
@@ -72,13 +72,13 @@ public class SecuredResIterator implements ResIterator
}
@Override
- public ExtendedIterator<Resource> filterDrop( final Filter<Resource> f )
+ public ExtendedIterator<Resource> filterDrop( final Predicate<Resource> f )
{
return iter.filterDrop(f);
}
@Override
- public ExtendedIterator<Resource> filterKeep( final Filter<Resource> f )
+ public ExtendedIterator<Resource> filterKeep( final Predicate<Resource> f )
{
return iter.filterKeep(f);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java
index c85ea19..d2515b8 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java
@@ -17,13 +17,14 @@
*/
package org.apache.jena.permissions.model.impl;
+import java.util.function.Predicate;
+
import org.apache.jena.graph.Triple ;
import org.apache.jena.permissions.impl.ItemHolder;
import org.apache.jena.permissions.impl.SecuredItemInvoker;
import org.apache.jena.permissions.model.*;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.vocabulary.RDF ;
/**
@@ -35,7 +36,7 @@ import org.apache.jena.vocabulary.RDF ;
*/
public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq
{
- private class RDFNodeFilter extends Filter<Statement>
+ private class RDFNodeFilter implements Predicate<Statement>
{
private final RDFNode n;
@@ -45,7 +46,7 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq
}
@Override
- public boolean accept( final Statement o )
+ public boolean test( final Statement o )
{
return (o.getPredicate().getOrdinal() != 0)
&& n.equals(o.getObject());
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java
index 81df811..29a54c4 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.jena.permissions.SecurityEvaluator.Action;
import org.apache.jena.permissions.model.SecuredModel;
@@ -30,7 +31,6 @@ import org.apache.jena.permissions.utils.PermStatementFilter;
import org.apache.jena.rdf.model.Statement ;
import org.apache.jena.rdf.model.StmtIterator ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Filter ;
/**
* A secured StatementIterator implementation
@@ -87,13 +87,13 @@ public class SecuredStatementIterator implements StmtIterator
}
@Override
- public ExtendedIterator<Statement> filterDrop( final Filter<Statement> f )
+ public ExtendedIterator<Statement> filterDrop( final Predicate<Statement> f )
{
return iter.filterDrop(f);
}
@Override
- public ExtendedIterator<Statement> filterKeep( final Filter<Statement> f )
+ public ExtendedIterator<Statement> filterKeep( final Predicate<Statement> f )
{
return iter.filterKeep(f);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/utils/ContainerFilter.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/ContainerFilter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/ContainerFilter.java
index f9ae910..7b6e74f 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/ContainerFilter.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/ContainerFilter.java
@@ -17,16 +17,17 @@
*/
package org.apache.jena.permissions.utils;
+import java.util.function.Predicate;
+
import org.apache.jena.rdf.model.Property ;
import org.apache.jena.rdf.model.Statement ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.vocabulary.RDF ;
-public class ContainerFilter extends Filter<Statement>
+public class ContainerFilter implements Predicate<Statement>
{
@Override
- public boolean accept( final Statement o )
+ public boolean test( final Statement o )
{
final Property p = o.getPredicate();
if (p.getNameSpace().equals(RDF.getURI())
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java
index b8549bb..ba03fd8 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java
@@ -19,6 +19,7 @@ package org.apache.jena.permissions.utils;
import java.util.Collection;
import java.util.Set;
+import java.util.function.Predicate;
import org.apache.jena.permissions.SecurityEvaluator;
import org.apache.jena.permissions.SecurityEvaluator.Action;
@@ -26,14 +27,13 @@ import org.apache.jena.permissions.SecurityEvaluator.SecNode;
import org.apache.jena.permissions.impl.SecuredItem;
import org.apache.jena.permissions.impl.SecuredItemImpl;
import org.apache.jena.rdf.model.Statement ;
-import org.apache.jena.util.iterator.Filter ;
/**
* A filter for to filter ExtendedIterators on Statements.
* This filter removes any triple that the user can not perform all
* the actions on.
*/
-public class PermStatementFilter extends Filter<Statement>
+public class PermStatementFilter implements Predicate<Statement>
{
private final SecurityEvaluator evaluator;
private final SecNode modelNode;
@@ -155,7 +155,7 @@ public class PermStatementFilter extends Filter<Statement>
}
@Override
- public boolean accept( final Statement s )
+ public boolean test( final Statement s )
{
return evaluator.evaluateAny(principal, actions, modelNode,
SecuredItemImpl.convert(s.asTriple()));
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java
index a96a2cc..5f54814 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java
@@ -19,6 +19,7 @@ package org.apache.jena.permissions.utils;
import java.util.Collection;
import java.util.Set;
+import java.util.function.Predicate;
import org.apache.jena.graph.Triple ;
import org.apache.jena.permissions.SecurityEvaluator;
@@ -26,14 +27,13 @@ import org.apache.jena.permissions.SecurityEvaluator.Action;
import org.apache.jena.permissions.SecurityEvaluator.SecNode;
import org.apache.jena.permissions.impl.SecuredItem;
import org.apache.jena.permissions.impl.SecuredItemImpl;
-import org.apache.jena.util.iterator.Filter ;
/**
* A filter for to filter ExtendedIterators on Triples.
* This filter removes any triple that the user can not perform all
* the actions on.
*/
-public class PermTripleFilter extends Filter<Triple>
+public class PermTripleFilter implements Predicate<Triple>
{
private final SecurityEvaluator evaluator;
private final SecNode modelNode;
@@ -154,7 +154,7 @@ public class PermTripleFilter extends Filter<Triple>
}
@Override
- public boolean accept( final Triple t )
+ public boolean test( final Triple t )
{
return evaluator.evaluateAny(principal, actions, modelNode,
SecuredItemImpl.convert(t));
http://git-wip-us.apache.org/repos/asf/jena/blob/c3346910/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java
index efa87a1..7d08a21 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java
@@ -18,6 +18,7 @@
package org.apache.jena.permissions.utils;
import java.util.Set;
+import java.util.function.Predicate;
import org.apache.jena.permissions.SecurityEvaluator;
import org.apache.jena.permissions.SecurityEvaluator.Action;
@@ -25,10 +26,9 @@ import org.apache.jena.permissions.impl.SecuredItem;
import org.apache.jena.permissions.impl.SecuredItemImpl;
import org.apache.jena.rdf.model.RDFList ;
import org.apache.jena.rdf.model.Statement ;
-import org.apache.jena.util.iterator.Filter ;
import org.apache.jena.vocabulary.RDF ;
-public class RDFListSecFilter<T extends RDFList> extends Filter<T>
+public class RDFListSecFilter<T extends RDFList> implements Predicate<T>
{
private final SecuredItem securedItem;
private final Set<Action> perms;
@@ -48,7 +48,7 @@ public class RDFListSecFilter<T extends RDFList> extends Filter<T>
}
@Override
- public boolean accept( final RDFList o )
+ public boolean test( final RDFList o )
{
final Statement s = o.getRequiredProperty(RDF.first);
return securedItem.getSecurityEvaluator().evaluate(principal, perms,
[18/50] [abbrv] jena git commit: Rename parameters to shorten version
Posted by cl...@apache.org.
Rename parameters to shorten version
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/ada26f25
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/ada26f25
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/ada26f25
Branch: refs/heads/add-contract-tests
Commit: ada26f256ef40931a191da87371a2fbad35ff4fd
Parents: 461cf36
Author: Bruno P. Kinoshita <br...@yahoo.com.br>
Authored: Mon May 4 21:48:21 2015 +1200
Committer: Bruno P. Kinoshita <br...@yahoo.com.br>
Committed: Mon May 4 21:48:21 2015 +1200
----------------------------------------------------------------------
.../src/test/java/org/apache/jena/util/TestOneToManyMap.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/ada26f25/jena-core/src/test/java/org/apache/jena/util/TestOneToManyMap.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/util/TestOneToManyMap.java b/jena-core/src/test/java/org/apache/jena/util/TestOneToManyMap.java
index 0a1d3d9..2e673a7 100644
--- a/jena-core/src/test/java/org/apache/jena/util/TestOneToManyMap.java
+++ b/jena-core/src/test/java/org/apache/jena/util/TestOneToManyMap.java
@@ -83,12 +83,12 @@ public class TestOneToManyMap
assertTrue( map0.contains( s0, s1 ) );
OneToManyMap<String, String> map1 = new OneToManyMap<>( map0 );
- assertTrue( map0.contains( s0, s1 ) );
+ assertTrue( map1.contains( s0, s1 ) );
map0.put( s0, s2 );
assertTrue( map0.contains( s0, s2 ) );
+ assertFalse( map1.contains( s0, s2 ) );
assertFalse( map0.contains( s1, s2 ) );
-
}
public void testClear() {
[47/50] [abbrv] jena git commit: updated contract tests.
Posted by cl...@apache.org.
updated contract tests.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/608c2b40
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/608c2b40
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/608c2b40
Branch: refs/heads/add-contract-tests
Commit: 608c2b402af7bb8367599502cc7e34dd226a77d0
Parents: d12bd57
Author: Claude Warren <cl...@apache.org>
Authored: Mon Apr 27 22:40:03 2015 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Sat May 9 16:15:24 2015 +0100
----------------------------------------------------------------------
jena-core/pom.xml | 1 +
.../apache/jena/graph/GraphContractTest.java | 4 +-
.../graph/GraphEventManagerContractTest.java | 14 ---
.../jena/graph/GraphMakerContractTest.java | 23 +---
.../graph/GraphWithPerformContractTest.java | 37 +++---
.../graph/TransactionHandlerContractTest.java | 13 ---
.../jena/graph/impl/CollectionGraph_CS.java | 67 +++++++++++
.../jena/graph/impl/FileGraphMaker_CS.java | 81 +++++++++++++
.../impl/FileGraphTransactionHandler_CS.java | 56 +++++++++
.../apache/jena/graph/impl/FileGraph_CS.java | 78 +++++++++++++
.../jena/graph/impl/SimpleEventManager_CS.java | 54 +++++++++
.../jena/graph/impl/SimpleGraphMaker_CS.java | 54 +++++++++
.../graph/impl/SimpleTransactionHandler_CS.java | 54 +++++++++
.../jena/graph/impl/TestCollectionGraph.java | 67 -----------
.../jena/graph/impl/TestWrappedGraph.java | 63 ----------
.../graph/impl/TripleStoreContractTest.java | 16 ---
.../apache/jena/graph/impl/WrappedGraph_CS.java | 63 ++++++++++
.../java/org/apache/jena/mem/ArrayBunch_CS.java | 52 +++++++++
.../java/org/apache/jena/mem/GraphMemTest.java | 115 -------------------
.../java/org/apache/jena/mem/GraphMem_CS.java | 115 +++++++++++++++++++
.../apache/jena/mem/GraphTripleStoreMem_CS.java | 51 ++++++++
.../apache/jena/mem/GraphTripleStoreTest.java | 51 --------
.../apache/jena/mem/GraphTripleStore_CS.java | 51 ++++++++
.../org/apache/jena/mem/HashedBunchMap_CS.java | 52 +++++++++
.../apache/jena/mem/HashedTripleBunch_CS.java | 50 ++++++++
.../java/org/apache/jena/mem/SetBunch_CS.java | 50 ++++++++
.../org/apache/jena/mem/WrappedHashMap_CS.java | 52 +++++++++
.../testing_framework/ContractTemplate.java | 18 +++
.../GraphProducerInterface.java | 41 -------
.../testing_framework/IContainerProducer.java | 18 +++
.../testing_framework/IIteratorProducer.java | 18 +++
.../testing_framework/IResourceProducer.java | 18 +++
.../jena/testing_framework/TestFileData.java | 18 +++
.../manifest/ManifestItem.java | 18 +++
.../manifest/ManifestTest.java | 18 +++
.../manifest/ManifestTestRunner.java | 18 +++
36 files changed, 1146 insertions(+), 423 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/pom.xml
----------------------------------------------------------------------
diff --git a/jena-core/pom.xml b/jena-core/pom.xml
index a29e559..e18d331 100644
--- a/jena-core/pom.xml
+++ b/jena-core/pom.xml
@@ -136,6 +136,7 @@
</systemProperties>
<includes>
<include>org/apache/jena/test/TestPackage.java</include>
+ <include>**/*_CS.java</include>
</includes>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
index a989bae..55ad955 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
@@ -57,9 +57,7 @@ import org.apache.jena.util.iterator.Map1;
import static org.apache.jena.testing_framework.GraphHelper.*;
/**
- * AbstractTestGraph provides a bunch of basic tests for something that purports
- * to be a Graph. The abstract method getGraph must be overridden in subclasses
- * to deliver a Graph of interest.
+ * Graph contract test.
*/
@Contract(Graph.class)
public class GraphContractTest<T extends Graph> extends
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java
index 426002d..d18bd52 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphEventManagerContractTest.java
@@ -33,7 +33,6 @@ import static org.junit.Assert.*;
import org.apache.jena.graph.Graph;
import org.apache.jena.graph.GraphEventManager;
import org.apache.jena.graph.Triple;
-import org.apache.jena.graph.Factory;
import org.apache.jena.testing_framework.ContractTemplate;
import org.apache.jena.testing_framework.GraphHelper;
import org.xenei.junit.contract.IProducer;
@@ -61,19 +60,6 @@ public class GraphEventManagerContractTest<T extends GraphEventManager> extends
private GraphEventManager gem;
public GraphEventManagerContractTest() {
-// setProducer(new IProducer<T>() {
-//
-// @SuppressWarnings("unchecked")
-// @Override
-// public T newInstance() {
-// return (T) Factory.createGraphMem().getEventManager();
-// }
-//
-// @Override
-// public void cleanUp() {
-// }
-// });
-
}
@Contract.Inject
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java
index 5fbd9c2..d5a3657 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphMakerContractTest.java
@@ -30,7 +30,6 @@ import org.apache.jena.graph.Graph;
import org.apache.jena.graph.GraphMaker;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.Triple;
-import org.apache.jena.graph.impl.SimpleGraphMaker;
import org.apache.jena.shared.AlreadyExistsException;
import org.apache.jena.shared.DoesNotExistException;
import org.apache.jena.testing_framework.GraphHelper;
@@ -38,14 +37,8 @@ import org.xenei.junit.contract.IProducer;
import org.apache.jena.testing_framework.TestUtils;
/**
- * Abstract base class for testing graph factories. Subclasses define the method
- * <code>getGraphFactory()</code> which supplies a new graph factory to be
- * tested: ATGF invokes that during <code>setUp</code> and closes it in
- * <code>tearDown</code>.
- * <p>
- * This bunch of tests is not remotely exhaustive, but it was sufficent to drive
- * the development of the first full graph factory. (Although at the time it
- * wasn't abstract.)
+ * GraphMaker contract test.
+ *
*/
@Contract(GraphMaker.class)
public class GraphMakerContractTest {
@@ -55,18 +48,6 @@ public class GraphMakerContractTest {
private GraphMaker graphMaker;
public GraphMakerContractTest() {
-// producer = new IProducer<GraphMaker>() {
-//
-// @Override
-// public GraphMaker newInstance() {
-// return new SimpleGraphMaker();
-// }
-//
-// @Override
-// public void cleanUp() {
-//
-// }
-// };
}
@Contract.Inject
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java
index aaaa85a..a4e233f 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphWithPerformContractTest.java
@@ -1,3 +1,21 @@
+/*
+ * 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.graph;
import static org.apache.jena.testing_framework.GraphHelper.graphWith;
@@ -8,13 +26,10 @@ import static org.apache.jena.testing_framework.GraphHelper.txnCommit;
import static org.junit.Assert.*;
import org.junit.After;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.xenei.junit.contract.Contract;
import org.xenei.junit.contract.ContractTest;
import org.apache.jena.graph.impl.GraphWithPerform;
-import org.apache.jena.mem.GraphMem;
import org.apache.jena.testing_framework.ContractTemplate;
import org.xenei.junit.contract.IProducer;
@@ -30,23 +45,7 @@ public class GraphWithPerformContractTest<T extends GraphWithPerform> extends
// Recording listener for tests
protected RecordingGraphListener GL = new RecordingGraphListener();
- private static final Logger LOG = LoggerFactory
- .getLogger(GraphWithPerformContractTest.class);
-
- @SuppressWarnings("unchecked")
public GraphWithPerformContractTest() {
-// setProducer((IProducer<T>) new IProducer<GraphWithPerform>() {
-//
-// @Override
-// public GraphWithPerform newInstance() {
-// return new GraphMem();
-// }
-//
-// @Override
-// public void cleanUp() {
-//
-// }
-// });
}
@Contract.Inject
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java
index d26d7e9..8ffddbc 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/TransactionHandlerContractTest.java
@@ -29,7 +29,6 @@ import static org.junit.Assert.*;
import org.apache.jena.graph.TransactionHandler;
import org.apache.jena.graph.Triple;
-import org.apache.jena.graph.impl.SimpleTransactionHandler;
import org.apache.jena.shared.Command;
import org.apache.jena.shared.JenaException;
import org.xenei.junit.contract.IProducer;
@@ -47,18 +46,6 @@ public class TransactionHandlerContractTest {
private IProducer<TransactionHandler> producer;
public TransactionHandlerContractTest() {
-// producer = new IProducer<TransactionHandler>() {
-//
-// @Override
-// public TransactionHandler newInstance() {
-// return new SimpleTransactionHandler();
-// }
-//
-// @Override
-// public void cleanUp() {
-//
-// }
-// };
}
@Contract.Inject
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/CollectionGraph_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/CollectionGraph_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/CollectionGraph_CS.java
new file mode 100644
index 0000000..b246f2b
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/CollectionGraph_CS.java
@@ -0,0 +1,67 @@
+/*
+ * 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.graph.impl;
+
+import static org.apache.jena.testing_framework.GraphHelper.memGraph;
+
+import java.util.HashSet;
+
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.graph.Triple ;
+import org.apache.jena.graph.impl.CollectionGraph ;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(CollectionGraph.class)
+public class CollectionGraph_CS {
+
+ protected IProducer<CollectionGraph> graphProducer;
+
+ public CollectionGraph_CS() {
+ graphProducer = new AbstractGraphProducer<CollectionGraph>() {
+
+ @Override
+ protected CollectionGraph createNewGraph() {
+ return new CollectionGraph( new HashSet<Triple>() );
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph d) {
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<CollectionGraph> getCollectionTestProducer() {
+ return graphProducer;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphMaker_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphMaker_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphMaker_CS.java
new file mode 100644
index 0000000..5f1d36d
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphMaker_CS.java
@@ -0,0 +1,81 @@
+/*
+ * 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.graph.impl;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(FileGraphMaker.class)
+public class FileGraphMaker_CS {
+
+ protected IProducer<FileGraphMaker> graphProducer;
+
+ public FileGraphMaker_CS() throws IOException {
+ graphProducer = new FileGraphMakerProducer();
+ }
+
+ @Contract.Inject
+ public final IProducer<FileGraphMaker> getCollectionTestProducer() {
+ return graphProducer;
+ }
+
+ private static class FileGraphMakerProducer implements IProducer<FileGraphMaker> {
+ private Map<Path,FileGraphMaker> map;
+
+ public FileGraphMakerProducer () throws IOException {
+ map = new HashMap<Path,FileGraphMaker>();
+ }
+
+
+ @Override
+ public FileGraphMaker newInstance() {
+ Path p;
+ try {
+ p = Files.createTempDirectory("fgm_CS");
+ } catch (IOException e) {
+ throw new RuntimeException( "Unable to create temp directory", e );
+ }
+ FileGraphMaker fgm = new FileGraphMaker( p.toString(), true);
+ map.put(p, fgm);
+ return fgm;
+ }
+
+ @Override
+ public void cleanUp() {
+ for (Path p : map.keySet())
+ {
+ map.get(p).close();
+ p.toFile().delete();
+ }
+ map.clear();
+ }
+
+ };
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphTransactionHandler_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphTransactionHandler_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphTransactionHandler_CS.java
new file mode 100644
index 0000000..5e0feb4
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphTransactionHandler_CS.java
@@ -0,0 +1,56 @@
+/*
+ * 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.graph.impl;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(FileGraphTransactionHandler.class)
+public class FileGraphTransactionHandler_CS {
+
+ protected IProducer<FileGraphTransactionHandler> graphProducer;
+
+ public FileGraphTransactionHandler_CS() {
+ graphProducer = new IProducer<FileGraphTransactionHandler>() {
+
+ private FileGraph_CS.FileGraphProducer fgp = new FileGraph_CS.FileGraphProducer();
+
+ @Override
+ public FileGraphTransactionHandler newInstance() {
+ return new FileGraphTransactionHandler( fgp.newInstance() );
+ }
+
+ @Override
+ public void cleanUp() {
+ fgp.cleanUp();
+ }
+
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<FileGraphTransactionHandler> getCollectionTestProducer() {
+ return graphProducer;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
new file mode 100644
index 0000000..b7bb6c3
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
@@ -0,0 +1,78 @@
+/*
+ * 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.graph.impl;
+
+import static org.apache.jena.testing_framework.GraphHelper.memGraph;
+
+import java.io.File;
+import java.io.IOException;
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(FileGraph.class)
+public class FileGraph_CS {
+
+ protected IProducer<FileGraph> graphProducer;
+
+ public FileGraph_CS() {
+ graphProducer = new FileGraphProducer();
+ }
+
+ @Contract.Inject
+ public final IProducer<FileGraph> getCollectionTestProducer() {
+ return graphProducer;
+ }
+
+ public static class FileGraphProducer extends AbstractGraphProducer<FileGraph> {
+
+ @Override
+ protected FileGraph createNewGraph() {
+ File f;
+ try {
+ f = File.createTempFile("fgp", ".ttl" );
+ } catch (IOException e) {
+ throw new RuntimeException( "Can not create file", e );
+ }
+ return new FileGraph( f, false, true );
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph d) {
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ @Override
+ protected void afterClose(Graph g) {
+ ((FileGraph)g).name.delete();
+ }
+
+ };
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleEventManager_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleEventManager_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleEventManager_CS.java
new file mode 100644
index 0000000..bfe7a3c
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleEventManager_CS.java
@@ -0,0 +1,54 @@
+/*
+ * 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.graph.impl;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+
+import org.xenei.junit.contract.IProducer;
+
+/**
+ * Test the SimpleGraphFactory by extending AbstractTestGraphFactory and
+ * supplying new SimplGraphFactorys via getGraph.
+ */
+@RunWith(ContractSuite.class)
+@ContractImpl(SimpleEventManager.class)
+public class SimpleEventManager_CS {
+
+ private IProducer<SimpleEventManager> producer = new IProducer<SimpleEventManager>() {
+
+ @Override
+ public SimpleEventManager newInstance() {
+ return new SimpleEventManager();
+ }
+
+ @Override
+ public void cleanUp() {
+ // nothing to do.
+ }
+ };
+
+ @Contract.Inject
+ public IProducer<SimpleEventManager> getEventManagerProducer() {
+ return producer;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleGraphMaker_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleGraphMaker_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleGraphMaker_CS.java
new file mode 100644
index 0000000..43dac19
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleGraphMaker_CS.java
@@ -0,0 +1,54 @@
+/*
+ * 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.graph.impl;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(SimpleGraphMaker.class)
+public class SimpleGraphMaker_CS {
+
+ protected IProducer<SimpleGraphMaker> graphProducer;
+
+ public SimpleGraphMaker_CS() {
+ graphProducer = new IProducer<SimpleGraphMaker>() {
+
+ @Override
+ public SimpleGraphMaker newInstance() {
+ return new SimpleGraphMaker();
+ }
+
+ @Override
+ public void cleanUp() {
+ // nothing to do
+ }
+
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<SimpleGraphMaker> getCollectionTestProducer() {
+ return graphProducer;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleTransactionHandler_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleTransactionHandler_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleTransactionHandler_CS.java
new file mode 100644
index 0000000..da845ec
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/SimpleTransactionHandler_CS.java
@@ -0,0 +1,54 @@
+/*
+ * 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.graph.impl;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(SimpleTransactionHandler.class)
+public class SimpleTransactionHandler_CS {
+
+ protected IProducer<SimpleTransactionHandler> graphProducer;
+
+ public SimpleTransactionHandler_CS() {
+ graphProducer = new IProducer<SimpleTransactionHandler>() {
+
+ @Override
+ public SimpleTransactionHandler newInstance() {
+ return new SimpleTransactionHandler();
+ }
+
+ @Override
+ public void cleanUp() {
+ // nothing to do
+ }
+
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<SimpleTransactionHandler> getCollectionTestProducer() {
+ return graphProducer;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java b/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java
deleted file mode 100644
index 4d9f40d..0000000
--- a/jena-core/src/test/java/org/apache/jena/graph/impl/TestCollectionGraph.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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.graph.impl;
-
-import static org.apache.jena.testing_framework.GraphHelper.memGraph;
-
-import java.util.HashSet;
-
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.graph.Triple ;
-import org.apache.jena.graph.impl.CollectionGraph ;
-import org.apache.jena.testing_framework.AbstractGraphProducer;
-import org.junit.runner.RunWith;
-import org.xenei.junit.contract.Contract;
-import org.xenei.junit.contract.ContractImpl;
-import org.xenei.junit.contract.ContractSuite;
-import org.xenei.junit.contract.IProducer;
-
-@RunWith(ContractSuite.class)
-@ContractImpl(CollectionGraph.class)
-public class TestCollectionGraph {
-
- protected IProducer<CollectionGraph> graphProducer;
-
- public TestCollectionGraph() {
- graphProducer = new AbstractGraphProducer<CollectionGraph>() {
-
- @Override
- protected CollectionGraph createNewGraph() {
- return new CollectionGraph( new HashSet<Triple>() );
- }
-
- @Override
- public Graph[] getDependsOn(Graph d) {
- return null;
- }
-
- @Override
- public Graph[] getNotDependsOn(Graph g) {
- return new Graph[] { memGraph() };
- }
-
- };
- }
-
- @Contract.Inject
- public final IProducer<CollectionGraph> getDeltaTestProducer() {
- return graphProducer;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/TestWrappedGraph.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/TestWrappedGraph.java b/jena-core/src/test/java/org/apache/jena/graph/impl/TestWrappedGraph.java
deleted file mode 100644
index 7910660..0000000
--- a/jena-core/src/test/java/org/apache/jena/graph/impl/TestWrappedGraph.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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.graph.impl;
-
-import static org.apache.jena.testing_framework.GraphHelper.memGraph;
-
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.testing_framework.AbstractGraphProducer;
-import org.junit.runner.RunWith;
-import org.xenei.junit.contract.Contract;
-import org.xenei.junit.contract.ContractImpl;
-import org.xenei.junit.contract.ContractSuite;
-import org.xenei.junit.contract.IProducer;
-
-@RunWith(ContractSuite.class)
-@ContractImpl(WrappedGraph.class)
-public class TestWrappedGraph {
-
- protected IProducer<WrappedGraph> graphProducer;
-
- public TestWrappedGraph() {
- graphProducer = new AbstractGraphProducer<WrappedGraph>() {
-
- @Override
- protected WrappedGraph createNewGraph() {
- return new WrappedGraph( memGraph() );
- }
-
- @Override
- public Graph[] getDependsOn(Graph d) {
- return null;
- }
-
- @Override
- public Graph[] getNotDependsOn(Graph g) {
- return new Graph[] { memGraph() };
- }
-
- };
- }
-
- @Contract.Inject
- public final IProducer<WrappedGraph> getDeltaTestProducer() {
- return graphProducer;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java
index 0b074aa..815a40d 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java
@@ -26,7 +26,6 @@ import org.xenei.junit.contract.ContractTest;
import static org.junit.Assert.*;
import static org.apache.jena.testing_framework.GraphHelper.*;
-import org.apache.jena.mem.GraphTripleStore;
import org.apache.jena.graph.impl.TripleStore;
import org.apache.jena.testing_framework.ContractTemplate;
@@ -43,21 +42,6 @@ public class TripleStoreContractTest<T extends TripleStore> extends
protected TripleStore store;
public TripleStoreContractTest() {
- IProducer<TripleStore> producer = new IProducer<TripleStore>() {
-
- @Override
- public TripleStore newInstance() {
- return new GraphTripleStore(memGraph());
- }
-
- @Override
- public void cleanUp() {
- // TODO Auto-generated method stub
-
- }
-
- };
- setProducer((IProducer<T>) producer);
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/graph/impl/WrappedGraph_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/WrappedGraph_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/WrappedGraph_CS.java
new file mode 100644
index 0000000..3cc5b1c
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/graph/impl/WrappedGraph_CS.java
@@ -0,0 +1,63 @@
+/*
+ * 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.graph.impl;
+
+import static org.apache.jena.testing_framework.GraphHelper.memGraph;
+
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(WrappedGraph.class)
+public class WrappedGraph_CS {
+
+ protected IProducer<WrappedGraph> graphProducer;
+
+ public WrappedGraph_CS() {
+ graphProducer = new AbstractGraphProducer<WrappedGraph>() {
+
+ @Override
+ protected WrappedGraph createNewGraph() {
+ return new WrappedGraph( memGraph() );
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph d) {
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ };
+ }
+
+ @Contract.Inject
+ public final IProducer<WrappedGraph> getDeltaTestProducer() {
+ return graphProducer;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/ArrayBunch_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/ArrayBunch_CS.java b/jena-core/src/test/java/org/apache/jena/mem/ArrayBunch_CS.java
new file mode 100644
index 0000000..df8438e
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/ArrayBunch_CS.java
@@ -0,0 +1,52 @@
+/*
+ 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.mem;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract.Inject;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(ArrayBunch.class)
+public class ArrayBunch_CS {
+
+ protected IProducer<ArrayBunch> mapProducer = new IProducer<ArrayBunch>() {
+
+ @Override
+ public ArrayBunch newInstance() {
+ return new ArrayBunch();
+ }
+
+ @Override
+ public void cleanUp() {
+ // nothing to do
+ }
+
+
+
+ };
+
+ @Inject
+ public IProducer<ArrayBunch> getGraphProducer() {
+ return mapProducer;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/GraphMemTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/GraphMemTest.java b/jena-core/src/test/java/org/apache/jena/mem/GraphMemTest.java
deleted file mode 100644
index 8fed109..0000000
--- a/jena-core/src/test/java/org/apache/jena/mem/GraphMemTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- 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.mem;
-
-import static org.apache.jena.testing_framework.GraphHelper.*;
-import static org.junit.Assert.*;
-
-import java.util.Iterator;
-
-import org.junit.runner.RunWith;
-import org.xenei.junit.contract.Contract.Inject;
-import org.xenei.junit.contract.ContractImpl;
-import org.xenei.junit.contract.ContractSuite;
-import org.xenei.junit.contract.ContractTest;
-
-import org.apache.jena.graph.Graph;
-import org.apache.jena.graph.GraphStatisticsHandler;
-import org.apache.jena.graph.Node;
-import org.apache.jena.graph.Node_URI;
-import org.apache.jena.graph.Triple;
-import org.apache.jena.shared.JenaException;
-import org.apache.jena.testing_framework.AbstractGraphProducer;
-import org.xenei.junit.contract.IProducer;
-import org.apache.jena.util.iterator.ExtendedIterator;
-
-@RunWith(ContractSuite.class)
-@ContractImpl(GraphMem.class)
-public class GraphMemTest {
-
- protected IProducer<GraphMem> graphProducer = new AbstractGraphProducer<GraphMem>() {
-
- @Override
- protected GraphMem createNewGraph() {
- return new GraphMem();
- }
-
- @Override
- public Graph[] getDependsOn(Graph g) {
- return null;
- }
-
- @Override
- public Graph[] getNotDependsOn(Graph g) {
- return new Graph[] { memGraph() };
- }
-
- };
-
- @Inject
- public IProducer<GraphMem> getGraphProducer() {
- return graphProducer;
- }
-
- @ContractTest
- public void testHasStatistics() {
- GraphStatisticsHandler h = graphProducer.newInstance()
- .getStatisticsHandler();
- assertNotNull(h);
- }
-
- @ContractTest
- public void testContainsConcreteDoesntUseFind() {
- Graph g = new GraphMemWithoutFind();
- graphAdd(g, "x P y; a Q b");
- assertTrue(g.contains(triple("x P y")));
- assertTrue(g.contains(triple("a Q b")));
- assertFalse(g.contains(triple("a P y")));
- assertFalse(g.contains(triple("y R b")));
- }
-
- protected final class GraphMemWithoutFind extends GraphMem {
- @Override
- public ExtendedIterator<Triple> graphBaseFind(Triple t) {
- throw new JenaException("find is Not Allowed");
- }
- }
-
- @ContractTest
- public void testUnnecessaryMatches() {
- Node special = new Node_URI("eg:foo") {
- @Override
- public boolean matches(Node s) {
- fail("Matched called superfluously.");
- return true;
- }
- };
- Graph g = graphWith(graphProducer.newInstance(), "x p y");
- g.add(new Triple(special, special, special));
- exhaust(g.find(special, Node.ANY, Node.ANY));
- exhaust(g.find(Node.ANY, special, Node.ANY));
- exhaust(g.find(Node.ANY, Node.ANY, special));
-
- }
-
- protected void exhaust(Iterator<?> it) {
- while (it.hasNext())
- it.next();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/GraphMem_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/GraphMem_CS.java b/jena-core/src/test/java/org/apache/jena/mem/GraphMem_CS.java
new file mode 100644
index 0000000..718432b
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/GraphMem_CS.java
@@ -0,0 +1,115 @@
+/*
+ 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.mem;
+
+import static org.apache.jena.testing_framework.GraphHelper.*;
+import static org.junit.Assert.*;
+
+import java.util.Iterator;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract.Inject;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.ContractTest;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphStatisticsHandler;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.Node_URI;
+import org.apache.jena.graph.Triple;
+import org.apache.jena.shared.JenaException;
+import org.apache.jena.testing_framework.AbstractGraphProducer;
+import org.xenei.junit.contract.IProducer;
+import org.apache.jena.util.iterator.ExtendedIterator;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(GraphMem.class)
+public class GraphMem_CS {
+
+ protected IProducer<GraphMem> graphProducer = new AbstractGraphProducer<GraphMem>() {
+
+ @Override
+ protected GraphMem createNewGraph() {
+ return new GraphMem();
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph g) {
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { memGraph() };
+ }
+
+ };
+
+ @Inject
+ public IProducer<GraphMem> getGraphProducer() {
+ return graphProducer;
+ }
+
+ @ContractTest
+ public void testHasStatistics() {
+ GraphStatisticsHandler h = graphProducer.newInstance()
+ .getStatisticsHandler();
+ assertNotNull(h);
+ }
+
+ @ContractTest
+ public void testContainsConcreteDoesntUseFind() {
+ Graph g = new GraphMemWithoutFind();
+ graphAdd(g, "x P y; a Q b");
+ assertTrue(g.contains(triple("x P y")));
+ assertTrue(g.contains(triple("a Q b")));
+ assertFalse(g.contains(triple("a P y")));
+ assertFalse(g.contains(triple("y R b")));
+ }
+
+ protected final class GraphMemWithoutFind extends GraphMem {
+ @Override
+ public ExtendedIterator<Triple> graphBaseFind(Triple t) {
+ throw new JenaException("find is Not Allowed");
+ }
+ }
+
+ @ContractTest
+ public void testUnnecessaryMatches() {
+ Node special = new Node_URI("eg:foo") {
+ @Override
+ public boolean matches(Node s) {
+ fail("Matched called superfluously.");
+ return true;
+ }
+ };
+ Graph g = graphWith(graphProducer.newInstance(), "x p y");
+ g.add(new Triple(special, special, special));
+ exhaust(g.find(special, Node.ANY, Node.ANY));
+ exhaust(g.find(Node.ANY, special, Node.ANY));
+ exhaust(g.find(Node.ANY, Node.ANY, special));
+
+ }
+
+ protected void exhaust(Iterator<?> it) {
+ while (it.hasNext())
+ it.next();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreMem_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreMem_CS.java b/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreMem_CS.java
new file mode 100644
index 0000000..129e706
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreMem_CS.java
@@ -0,0 +1,51 @@
+/*
+ * 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.mem;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.mem.GraphTripleStore;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(GraphTripleStore.class)
+public class GraphTripleStoreMem_CS {
+
+ private IProducer<GraphTripleStoreMem> producer = new IProducer<GraphTripleStoreMem>() {
+
+ @Override
+ public GraphTripleStoreMem newInstance() {
+ return new GraphTripleStoreMem(Graph.emptyGraph);
+ }
+
+ @Override
+ public void cleanUp() {
+ }
+
+ };
+
+ @Contract.Inject
+ public IProducer<GraphTripleStoreMem> getTripleStore() {
+ return producer;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreTest.java b/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreTest.java
deleted file mode 100644
index 1f82935..0000000
--- a/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStoreTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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.mem;
-
-import org.junit.runner.RunWith;
-import org.xenei.junit.contract.Contract;
-import org.xenei.junit.contract.ContractImpl;
-import org.xenei.junit.contract.ContractSuite;
-
-import org.apache.jena.graph.Graph;
-import org.apache.jena.mem.GraphTripleStore;
-import org.xenei.junit.contract.IProducer;
-
-@RunWith(ContractSuite.class)
-@ContractImpl(GraphTripleStore.class)
-public class GraphTripleStoreTest {
-
- private IProducer<GraphTripleStore> producer = new IProducer<GraphTripleStore>() {
-
- @Override
- public GraphTripleStore newInstance() {
- return new GraphTripleStore(Graph.emptyGraph);
- }
-
- @Override
- public void cleanUp() {
- }
-
- };
-
- @Contract.Inject
- public IProducer<GraphTripleStore> getTripleStore() {
- return producer;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStore_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStore_CS.java b/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStore_CS.java
new file mode 100644
index 0000000..c2a2d1c
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/GraphTripleStore_CS.java
@@ -0,0 +1,51 @@
+/*
+ * 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.mem;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.mem.GraphTripleStore;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(GraphTripleStore.class)
+public class GraphTripleStore_CS {
+
+ private IProducer<GraphTripleStore> producer = new IProducer<GraphTripleStore>() {
+
+ @Override
+ public GraphTripleStore newInstance() {
+ return new GraphTripleStore(Graph.emptyGraph);
+ }
+
+ @Override
+ public void cleanUp() {
+ }
+
+ };
+
+ @Contract.Inject
+ public IProducer<GraphTripleStore> getTripleStore() {
+ return producer;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/HashedBunchMap_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/HashedBunchMap_CS.java b/jena-core/src/test/java/org/apache/jena/mem/HashedBunchMap_CS.java
new file mode 100644
index 0000000..cb64b57
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/HashedBunchMap_CS.java
@@ -0,0 +1,52 @@
+/*
+ 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.mem;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract.Inject;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(WrappedHashMap.class)
+public class HashedBunchMap_CS {
+
+ protected IProducer<HashedBunchMap> mapProducer = new IProducer<HashedBunchMap>() {
+
+ @Override
+ public HashedBunchMap newInstance() {
+ return new HashedBunchMap();
+ }
+
+ @Override
+ public void cleanUp() {
+ // nothing to do
+ }
+
+
+
+ };
+
+ @Inject
+ public IProducer<HashedBunchMap> getGraphProducer() {
+ return mapProducer;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/HashedTripleBunch_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/HashedTripleBunch_CS.java b/jena-core/src/test/java/org/apache/jena/mem/HashedTripleBunch_CS.java
new file mode 100644
index 0000000..5db46a3
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/HashedTripleBunch_CS.java
@@ -0,0 +1,50 @@
+/*
+ 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.mem;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract.Inject;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(HashedTripleBunch.class)
+public class HashedTripleBunch_CS {
+
+ protected IProducer<HashedTripleBunch> mapProducer = new IProducer<HashedTripleBunch>() {
+
+ @Override
+ public HashedTripleBunch newInstance() {
+ return new HashedTripleBunch( new ArrayBunch() );
+ }
+
+ @Override
+ public void cleanUp() {
+ // nothing to do
+ }
+
+ };
+
+ @Inject
+ public IProducer<HashedTripleBunch> getGraphProducer() {
+ return mapProducer;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/SetBunch_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/SetBunch_CS.java b/jena-core/src/test/java/org/apache/jena/mem/SetBunch_CS.java
new file mode 100644
index 0000000..b6b1f69
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/SetBunch_CS.java
@@ -0,0 +1,50 @@
+/*
+ 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.mem;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract.Inject;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(SetBunch.class)
+public class SetBunch_CS {
+
+ protected IProducer<SetBunch> mapProducer = new IProducer<SetBunch>() {
+
+ @Override
+ public SetBunch newInstance() {
+ return new SetBunch( new ArrayBunch() );
+ }
+
+ @Override
+ public void cleanUp() {
+ // nothing to do
+ }
+
+ };
+
+ @Inject
+ public IProducer<SetBunch> getGraphProducer() {
+ return mapProducer;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/mem/WrappedHashMap_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/mem/WrappedHashMap_CS.java b/jena-core/src/test/java/org/apache/jena/mem/WrappedHashMap_CS.java
new file mode 100644
index 0000000..25c2bb6
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/mem/WrappedHashMap_CS.java
@@ -0,0 +1,52 @@
+/*
+ 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.mem;
+
+import org.junit.runner.RunWith;
+import org.xenei.junit.contract.Contract.Inject;
+import org.xenei.junit.contract.ContractImpl;
+import org.xenei.junit.contract.ContractSuite;
+import org.xenei.junit.contract.IProducer;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(WrappedHashMap.class)
+public class WrappedHashMap_CS {
+
+ protected IProducer<WrappedHashMap> mapProducer = new IProducer<WrappedHashMap>() {
+
+ @Override
+ public WrappedHashMap newInstance() {
+ return new WrappedHashMap();
+ }
+
+ @Override
+ public void cleanUp() {
+ // nothing to do
+ }
+
+
+
+ };
+
+ @Inject
+ public IProducer<WrappedHashMap> getGraphProducer() {
+ return mapProducer;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java b/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java
index f7a16e5..d981b10 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/ContractTemplate.java
@@ -1,3 +1,21 @@
+/*
+ * 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.testing_framework;
import org.xenei.junit.contract.IProducer;
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/GraphProducerInterface.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphProducerInterface.java b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphProducerInterface.java
deleted file mode 100644
index 8c33eb1..0000000
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphProducerInterface.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- 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.testing_framework;
-
-/**
- * Creates the graph for testing. Implementations must track the creation of
- * graphs created with newGraph and close them when closeGraphs is called.
- *
- */
-//public interface GraphProducerInterface<T> {
-//
-// /**
-// * Returns a new Graph to take part in the test.
-// *
-// * @return The graph implementation to test.
-// */
-// public abstract Graph newGraph();
-//
-// /**
-// * provides a hook to close down graphs. When called all graphs created by
-// * the newGraph() method should be closed. Note that some graphs may have
-// * been closed during the test, so graphs should be tested for being closed
-// * prior to closing.
-// */
-// public abstract void closeGraphs();
-// }
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java
index 41bc6df..6d43847 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/IContainerProducer.java
@@ -1,3 +1,21 @@
+/*
+ * 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.testing_framework;
import org.apache.jena.rdf.model.Container;
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java
index 3178692..8e17cec 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/IIteratorProducer.java
@@ -1,3 +1,21 @@
+/*
+ * 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.testing_framework;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java b/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java
index ef9eead..3c74fb2 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/IResourceProducer.java
@@ -1,3 +1,21 @@
+/*
+ * 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.testing_framework;
import org.apache.jena.rdf.model.Resource;
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java b/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java
index 7b46366..d839c82 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/TestFileData.java
@@ -1,3 +1,21 @@
+/*
+ * 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.testing_framework;
import java.io.ByteArrayInputStream;
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java
index 81999bd..9ba9028 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestItem.java
@@ -1,3 +1,21 @@
+/*
+ * 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.testing_framework.manifest;
import org.apache.jena.n3.turtle.TurtleTestVocab;
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java
index cfde240..f0d66b8 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTest.java
@@ -1,3 +1,21 @@
+/*
+ * 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.testing_framework.manifest;
public abstract class ManifestTest {
http://git-wip-us.apache.org/repos/asf/jena/blob/608c2b40/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java
index 616b444..ef38c7b 100644
--- a/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java
+++ b/jena-core/src/test/java/org/apache/jena/testing_framework/manifest/ManifestTestRunner.java
@@ -1,3 +1,21 @@
+/*
+ * 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.testing_framework.manifest;
import java.lang.annotation.Annotation;
[49/50] [abbrv] jena git commit: Removed FileGraph tests as FileGraph
was deleted. Fixed contract tests
Posted by cl...@apache.org.
Removed FileGraph tests as FileGraph was deleted.
Fixed contract tests
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/335a7617
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/335a7617
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/335a7617
Branch: refs/heads/add-contract-tests
Commit: 335a7617cb73ccf97e3a42f3ae4e9afcc3dbd484
Parents: c004d80
Author: Claude Warren <cl...@apache.org>
Authored: Sun May 10 13:30:17 2015 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Sun May 10 13:30:17 2015 +0100
----------------------------------------------------------------------
jena-core/pom.xml | 2 +-
.../jena/assembler/test/TestAssemblerGroup.java | 8 +-
.../apache/jena/graph/GraphContractTest.java | 9 ++-
.../jena/graph/impl/FileGraphMaker_CS.java | 81 --------------------
.../impl/FileGraphTransactionHandler_CS.java | 56 --------------
.../apache/jena/graph/impl/FileGraph_CS.java | 79 -------------------
6 files changed, 12 insertions(+), 223 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/335a7617/jena-core/pom.xml
----------------------------------------------------------------------
diff --git a/jena-core/pom.xml b/jena-core/pom.xml
index e18d331..d64e195 100644
--- a/jena-core/pom.xml
+++ b/jena-core/pom.xml
@@ -78,7 +78,7 @@
<dependency>
<groupId>org.xenei</groupId>
<artifactId>junit-contracts</artifactId>
- <version>0.0.5</version>
+ <version>0.1.1</version>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/jena/blob/335a7617/jena-core/src/test/java/org/apache/jena/assembler/test/TestAssemblerGroup.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/assembler/test/TestAssemblerGroup.java b/jena-core/src/test/java/org/apache/jena/assembler/test/TestAssemblerGroup.java
index f424993..8b38e5a 100644
--- a/jena-core/src/test/java/org/apache/jena/assembler/test/TestAssemblerGroup.java
+++ b/jena-core/src/test/java/org/apache/jena/assembler/test/TestAssemblerGroup.java
@@ -18,9 +18,11 @@
package org.apache.jena.assembler.test;
+import java.util.Map;
+
import org.apache.jena.assembler.* ;
import org.apache.jena.assembler.assemblers.* ;
-import org.apache.jena.assembler.assemblers.AssemblerGroup.ExpandingAssemblerGroup ;
+import org.apache.jena.assembler.assemblers.AssemblerGroup.ExpandingAssemblerGroup;
import org.apache.jena.assembler.exceptions.* ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.mem.GraphMemBase ;
@@ -66,7 +68,9 @@ public class TestAssemblerGroup extends AssemblerTestBase
public static class Trivial
{
- static { loaded = true; }
+ static {
+ loaded = true;
+ }
}
public void testLoadsClasses()
http://git-wip-us.apache.org/repos/asf/jena/blob/335a7617/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
index 55ad955..589f095 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java
@@ -25,6 +25,8 @@ import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.function.Function;
+
import org.junit.After;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,7 +54,6 @@ import org.apache.jena.testing_framework.ContractTemplate;
import org.apache.jena.testing_framework.NodeCreateUtils;
import org.apache.jena.util.iterator.ClosableIterator;
import org.apache.jena.util.iterator.ExtendedIterator;
-import org.apache.jena.util.iterator.Map1;
import static org.apache.jena.testing_framework.GraphHelper.*;
@@ -1452,10 +1453,10 @@ public class GraphContractTest<T extends Graph> extends
//
// used to find the object set from the returned set for literal testing
- private static final Map1<Triple, Node> getObject = new Map1<Triple, Node>() {
+ private static final Function<Triple, Node> getObject = new Function<Triple, Node>() {
@Override
- public Node map1(Triple o) {
- return o.getObject();
+ public Node apply(Triple t) {
+ return t.getObject();
}
};
http://git-wip-us.apache.org/repos/asf/jena/blob/335a7617/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphMaker_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphMaker_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphMaker_CS.java
deleted file mode 100644
index 5f1d36d..0000000
--- a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphMaker_CS.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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.graph.impl;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.runner.RunWith;
-import org.xenei.junit.contract.Contract;
-import org.xenei.junit.contract.ContractImpl;
-import org.xenei.junit.contract.ContractSuite;
-import org.xenei.junit.contract.IProducer;
-
-@RunWith(ContractSuite.class)
-@ContractImpl(FileGraphMaker.class)
-public class FileGraphMaker_CS {
-
- protected IProducer<FileGraphMaker> graphProducer;
-
- public FileGraphMaker_CS() throws IOException {
- graphProducer = new FileGraphMakerProducer();
- }
-
- @Contract.Inject
- public final IProducer<FileGraphMaker> getCollectionTestProducer() {
- return graphProducer;
- }
-
- private static class FileGraphMakerProducer implements IProducer<FileGraphMaker> {
- private Map<Path,FileGraphMaker> map;
-
- public FileGraphMakerProducer () throws IOException {
- map = new HashMap<Path,FileGraphMaker>();
- }
-
-
- @Override
- public FileGraphMaker newInstance() {
- Path p;
- try {
- p = Files.createTempDirectory("fgm_CS");
- } catch (IOException e) {
- throw new RuntimeException( "Unable to create temp directory", e );
- }
- FileGraphMaker fgm = new FileGraphMaker( p.toString(), true);
- map.put(p, fgm);
- return fgm;
- }
-
- @Override
- public void cleanUp() {
- for (Path p : map.keySet())
- {
- map.get(p).close();
- p.toFile().delete();
- }
- map.clear();
- }
-
- };
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/335a7617/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphTransactionHandler_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphTransactionHandler_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphTransactionHandler_CS.java
deleted file mode 100644
index 5e0feb4..0000000
--- a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraphTransactionHandler_CS.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.graph.impl;
-
-import org.junit.runner.RunWith;
-import org.xenei.junit.contract.Contract;
-import org.xenei.junit.contract.ContractImpl;
-import org.xenei.junit.contract.ContractSuite;
-import org.xenei.junit.contract.IProducer;
-
-@RunWith(ContractSuite.class)
-@ContractImpl(FileGraphTransactionHandler.class)
-public class FileGraphTransactionHandler_CS {
-
- protected IProducer<FileGraphTransactionHandler> graphProducer;
-
- public FileGraphTransactionHandler_CS() {
- graphProducer = new IProducer<FileGraphTransactionHandler>() {
-
- private FileGraph_CS.FileGraphProducer fgp = new FileGraph_CS.FileGraphProducer();
-
- @Override
- public FileGraphTransactionHandler newInstance() {
- return new FileGraphTransactionHandler( fgp.newInstance() );
- }
-
- @Override
- public void cleanUp() {
- fgp.cleanUp();
- }
-
- };
- }
-
- @Contract.Inject
- public final IProducer<FileGraphTransactionHandler> getCollectionTestProducer() {
- return graphProducer;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/335a7617/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java b/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
deleted file mode 100644
index 1b4d321..0000000
--- a/jena-core/src/test/java/org/apache/jena/graph/impl/FileGraph_CS.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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.graph.impl;
-
-import static org.apache.jena.testing_framework.GraphHelper.memGraph;
-
-import java.io.File;
-import java.io.IOException;
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.testing_framework.AbstractGraphProducer;
-import org.junit.runner.RunWith;
-import org.xenei.junit.contract.Contract;
-import org.xenei.junit.contract.ContractImpl;
-import org.xenei.junit.contract.ContractSuite;
-import org.xenei.junit.contract.IProducer;
-
-//@RunWith(ContractSuite.class)
-//@ContractImpl(FileGraph.class)
-public class FileGraph_CS {
-
- protected IProducer<FileGraph> graphProducer;
-
- public FileGraph_CS() {
- graphProducer = new FileGraphProducer();
- }
-
- @Contract.Inject
- public final IProducer<FileGraph> getCollectionTestProducer() {
- return graphProducer;
- }
-
- public static class FileGraphProducer extends AbstractGraphProducer<FileGraph> {
-
- @Override
- protected FileGraph createNewGraph() {
- File f;
- try {
- f = File.createTempFile("fgp", ".ttl" );
- f.delete();
- } catch (IOException e) {
- throw new RuntimeException( "Can not create file", e );
- }
- return new FileGraph( f, true, true );
- }
-
- @Override
- public Graph[] getDependsOn(Graph d) {
- return null;
- }
-
- @Override
- public Graph[] getNotDependsOn(Graph g) {
- return new Graph[] { memGraph() };
- }
-
- @Override
- protected void afterClose(Graph g) {
- ((FileGraph)g).name.delete();
- }
-
- };
-
-}
[28/50] [abbrv] jena git commit: Bringing back NodeTransform
Posted by cl...@apache.org.
Bringing back NodeTransform
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/0ef8184f
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/0ef8184f
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/0ef8184f
Branch: refs/heads/add-contract-tests
Commit: 0ef8184f7b8b49cd2c7a9fdf702649495e62d435
Parents: 6711901
Author: ajs6f <aj...@virginia.edu>
Authored: Tue May 5 12:50:11 2015 -0400
Committer: ajs6f <aj...@virginia.edu>
Committed: Tue May 5 12:50:11 2015 -0400
----------------------------------------------------------------------
.../org/apache/jena/sparql/engine/Rename.java | 19 +++++++------
.../org/apache/jena/sparql/expr/E_Exists.java | 6 ++---
.../apache/jena/sparql/expr/E_NotExists.java | 6 ++---
.../java/org/apache/jena/sparql/expr/Expr.java | 6 ++---
.../apache/jena/sparql/expr/ExprAggregator.java | 5 ++--
.../apache/jena/sparql/expr/ExprFunction0.java | 6 ++---
.../apache/jena/sparql/expr/ExprFunction1.java | 6 ++---
.../apache/jena/sparql/expr/ExprFunction2.java | 6 ++---
.../apache/jena/sparql/expr/ExprFunction3.java | 6 ++---
.../apache/jena/sparql/expr/ExprFunctionN.java | 6 ++---
.../org/apache/jena/sparql/expr/ExprList.java | 6 ++---
.../org/apache/jena/sparql/expr/ExprNode.java | 6 ++---
.../org/apache/jena/sparql/expr/ExprVar.java | 5 ++--
.../org/apache/jena/sparql/expr/NodeValue.java | 5 ++--
.../jena/sparql/expr/aggregate/Aggregator.java | 5 ++--
.../sparql/expr/aggregate/AggregatorBase.java | 5 ++--
.../apache/jena/sparql/graph/NodeTransform.java | 6 +----
.../jena/sparql/graph/NodeTransformLib.java | 28 +++++++++-----------
.../jena/sparql/graph/NodeTransformOp.java | 6 ++---
.../modify/NodeTransformBNodesToVariables.java | 5 ++--
.../jena/sparql/modify/UpdateEngineWorker.java | 5 ++--
.../jena/sparql/resultset/ResultSetCompare.java | 13 ++-------
.../org/apache/jena/sparql/util/NodeUtils.java | 5 +++-
.../jena/riot/thrift/TestResultSetThrift.java | 11 --------
.../query/rewriter/SecuredFunction.java | 5 ++--
25 files changed, 67 insertions(+), 121 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
index bc1d4ea..966941d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
@@ -22,14 +22,13 @@ import java.util.Collection ;
import java.util.HashMap ;
import java.util.Map ;
import java.util.Set ;
-import java.util.function.Function;
-
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.ARQConstants ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.graph.NodeTransformLib ;
/** Support for renaming all the variables in an algebra expession
@@ -49,14 +48,14 @@ public class Rename
/** Rename one node to another */
public static Op renameNode(Op op, Node oldName, Node newName)
{
- Function<Node, Node> renamer = new RenameNode(oldName, newName) ;
+ NodeTransform renamer = new RenameNode(oldName, newName) ;
return NodeTransformLib.transform(renamer, op) ;
}
/** Rename one variable to another */
public static Op renameVar(Op op, Var oldName, Var newName)
{
- Function<Node, Node> renamer = new RenameNode(oldName, newName) ;
+ NodeTransform renamer = new RenameNode(oldName, newName) ;
return NodeTransformLib.transform(renamer, op) ;
}
@@ -76,13 +75,13 @@ public class Rename
/** Rename all variables in an expression, EXCEPT for those named as constant */
public static ExprList renameVars(ExprList exprList, Set<Var> constants)
{
- Function<Node, Node> renamer = new RenameAnyVars(constants, prefix) ;
+ NodeTransform renamer = new RenameAnyVars(constants, prefix) ;
return NodeTransformLib.transform(renamer, exprList) ;
}
public static Expr renameVars(Expr expr, Set<Var> constants)
{
- Function<Node, Node> renamer = new RenameAnyVars(constants, prefix) ;
+ NodeTransform renamer = new RenameAnyVars(constants, prefix) ;
return NodeTransformLib.transform(renamer, expr) ;
}
@@ -90,13 +89,13 @@ public class Rename
* This assumes the op was renamed by VarRename.rename */
public static Op reverseVarRename(Op op, boolean repeatedly)
{
- Function<Node, Node> renamer = new UnrenameAnyVars(prefix, repeatedly) ;
+ NodeTransform renamer = new UnrenameAnyVars(prefix, repeatedly) ;
return NodeTransformLib.transform(renamer, op) ;
}
// ---- Transforms that do the renaming and unrenaming.
- static class RenameNode implements Function<Node, Node>
+ static class RenameNode implements NodeTransform
{
private final Node oldName ;
private final Node newName ;
@@ -116,7 +115,7 @@ public class Rename
}
- static class RenameAnyVars implements Function<Node, Node>
+ static class RenameAnyVars implements NodeTransform
{
private final Map<Var, Var> aliases = new HashMap<>() ;
private final Collection<Var> constants ;
@@ -151,7 +150,7 @@ public class Rename
}
/** Reverse a renaming (assuming renaming was done by prefixing variable names) */
- static class UnrenameAnyVars implements Function<Node, Node>
+ static class UnrenameAnyVars implements NodeTransform
{
private final String varPrefix ;
private final boolean repeatedly ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
index 0445350..c33839e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
@@ -18,15 +18,13 @@
package org.apache.jena.sparql.expr;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.algebra.Algebra ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.core.Substitute ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.graph.NodeTransformLib ;
import org.apache.jena.sparql.sse.Tags ;
import org.apache.jena.sparql.syntax.Element ;
@@ -58,7 +56,7 @@ public class E_Exists extends ExprFunctionOp
}
@Override
- public Expr applyNodeTransform(Function<Node, Node> nodeTransform)
+ public Expr applyNodeTransform(NodeTransform nodeTransform)
{
Op op2 = NodeTransformLib.transform(nodeTransform, getGraphPattern()) ;
return new E_Exists(getElement(), op2) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
index 250d105..e236970 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
@@ -18,15 +18,13 @@
package org.apache.jena.sparql.expr;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.algebra.Algebra ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.core.Substitute ;
import org.apache.jena.sparql.engine.QueryIterator ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.graph.NodeTransformLib ;
import org.apache.jena.sparql.sse.Tags ;
import org.apache.jena.sparql.syntax.Element ;
@@ -59,7 +57,7 @@ public class E_NotExists extends ExprFunctionOp
}
@Override
- public Expr applyNodeTransform(Function<Node, Node> nodeTransform)
+ public Expr applyNodeTransform(NodeTransform nodeTransform)
{
Op op2 = NodeTransformLib.transform(nodeTransform, getGraphPattern()) ;
return new E_NotExists(getElement(), op2) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
index 124a842..3358575 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
@@ -20,14 +20,12 @@ package org.apache.jena.sparql.expr;
import java.util.Collection ;
import java.util.Set ;
-import java.util.function.Function;
-
import javax.xml.datatype.DatatypeConstants ;
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
public interface Expr
{
@@ -64,7 +62,7 @@ public interface Expr
/**
* Rewrite, applying a node->node transformation
*/
- public Expr applyNodeTransform(Function<Node, Node> transform) ;
+ public Expr applyNodeTransform(NodeTransform transform) ;
/** Deep copy */
public Expr deepCopy() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
index 24a2fa5..ed79caf 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
@@ -19,8 +19,6 @@
package org.apache.jena.sparql.expr;
import java.util.Objects;
-import java.util.function.Function;
-
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Node ;
@@ -29,6 +27,7 @@ import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.aggregate.Aggregator ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.serializer.SerializationContext ;
/** Group aggregation functions calculated a value during grouping and
@@ -108,7 +107,7 @@ public class ExprAggregator extends ExprNode
}
@Override
- public ExprAggregator applyNodeTransform(Function<Node, Node> transform)
+ public ExprAggregator applyNodeTransform(NodeTransform transform)
{
// Can't rewrite this to a non-variable.
Node node = transform.apply(var) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
index 696393c..8175b12 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
@@ -18,11 +18,9 @@
package org.apache.jena.sparql.expr;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
/** An expression that is constant (does not depend on evaluating a sub expression). */
@@ -55,7 +53,7 @@ public abstract class ExprFunction0 extends ExprFunction
public abstract NodeValue eval(FunctionEnv env) ;
@Override
- final public Expr applyNodeTransform(Function<Node, Node> transform)
+ final public Expr applyNodeTransform(NodeTransform transform)
{
// Nothing to transform.
return copy() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
index e55548d..8c91cb3 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
@@ -18,12 +18,10 @@
package org.apache.jena.sparql.expr;
-import java.util.function.Function;
-
import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
/** A function that has a single argument */
@@ -86,7 +84,7 @@ public abstract class ExprFunction1 extends ExprFunction
}
@Override
- final public Expr applyNodeTransform(Function<Node, Node> transform)
+ final public Expr applyNodeTransform(NodeTransform transform)
{
Expr e = (expr == null ? null : expr.applyNodeTransform(transform)) ;
return copy(e) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
index 79a824f..06cb6ea 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
@@ -18,12 +18,10 @@
package org.apache.jena.sparql.expr;
-import java.util.function.Function;
-
import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
/** A function of two arguments */
@@ -97,7 +95,7 @@ public abstract class ExprFunction2 extends ExprFunction
@Override
- final public Expr applyNodeTransform(Function<Node, Node> transform)
+ final public Expr applyNodeTransform(NodeTransform transform)
{
Expr e1 = (expr1 == null ? null : expr1.applyNodeTransform(transform)) ;
Expr e2 = (expr2 == null ? null : expr2.applyNodeTransform(transform)) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
index f6d9a41..d003ed2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
@@ -18,12 +18,10 @@
package org.apache.jena.sparql.expr;
-import java.util.function.Function;
-
import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
/** A function of three arguments */
@@ -107,7 +105,7 @@ public abstract class ExprFunction3 extends ExprFunction
@Override
- final public Expr applyNodeTransform(Function<Node, Node> transform)
+ final public Expr applyNodeTransform(NodeTransform transform)
{
Expr e1 = (expr1 == null ? null : expr1.applyNodeTransform(transform)) ;
Expr e2 = (expr2 == null ? null : expr2.applyNodeTransform(transform)) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
index d2cf110..76300ad 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
@@ -20,11 +20,9 @@ package org.apache.jena.sparql.expr;
import java.util.ArrayList ;
import java.util.List ;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
/** A function which takes N arguments (N may be variable e.g. regex) */
@@ -82,7 +80,7 @@ public abstract class ExprFunctionN extends ExprFunction
}
@Override
- public Expr applyNodeTransform(Function<Node, Node> transform)
+ public Expr applyNodeTransform(NodeTransform transform)
{
ExprList newArgs = new ExprList() ;
for ( int i = 1 ; i <= numArgs() ; i++ )
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
index d526bba..9e56851 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
@@ -19,12 +19,10 @@
package org.apache.jena.sparql.expr;
import java.util.* ;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.ExecutionContext ;
import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.util.Context ;
public class ExprList implements Iterable<Expr>
@@ -77,7 +75,7 @@ public class ExprList implements Iterable<Expr>
/**
* Rewrite, applying a node->node transformation
*/
- public ExprList applyNodeTransform(Function<Node, Node> transform) {
+ public ExprList applyNodeTransform(NodeTransform transform) {
ExprList x = new ExprList() ;
for ( Expr e : expressions)
x.add(e.applyNodeTransform(transform));
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
index 87eec7f..9b8c45f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
@@ -20,14 +20,12 @@ package org.apache.jena.sparql.expr;
import java.util.Collection ;
import java.util.Set ;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.nodevalue.XSDFuncOp ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.util.ExprUtils ;
@@ -86,7 +84,7 @@ public abstract class ExprNode implements Expr
public abstract Expr copySubstitute(Binding binding) ;
@Override
- public abstract Expr applyNodeTransform(Function<Node, Node> transform) ;
+ public abstract Expr applyNodeTransform(NodeTransform transform) ;
// ---- Default implementations
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
index a1a589f..df07897 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
@@ -18,8 +18,6 @@
package org.apache.jena.sparql.expr;
-import java.util.function.Function;
-
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.Query ;
@@ -27,6 +25,7 @@ import org.apache.jena.sparql.ARQInternalErrorException ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
/** An expression that is a variable in an expression. */
@@ -76,7 +75,7 @@ public class ExprVar extends ExprNode
}
@Override
- public Expr applyNodeTransform(Function<Node, Node> transform)
+ public Expr applyNodeTransform(NodeTransform transform)
{
Node node = transform.apply(varNode) ;
if ( Var.isVar(node))
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
index d960de1..8cff836 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
@@ -51,8 +51,6 @@ import java.util.Calendar ;
import java.util.Iterator ;
import java.util.Properties ;
import java.util.ServiceLoader ;
-import java.util.function.Function;
-
import javax.xml.datatype.DatatypeConfigurationException ;
import javax.xml.datatype.DatatypeFactory ;
import javax.xml.datatype.Duration ;
@@ -76,6 +74,7 @@ import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.nodevalue.* ;
import org.apache.jena.sparql.function.FunctionEnv ;
import org.apache.jena.sparql.graph.NodeConst ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.serializer.SerializationContext ;
import org.apache.jena.sparql.util.* ;
import org.apache.jena.vocabulary.RDF ;
@@ -468,7 +467,7 @@ public abstract class NodeValue extends ExprNode
}
@Override
- public Expr applyNodeTransform(Function<Node, Node> transform)
+ public Expr applyNodeTransform(NodeTransform transform)
{
Node n = asNode() ;
n = transform.apply(n) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
index 553202c..a3d6a6f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
@@ -18,10 +18,9 @@
package org.apache.jena.sparql.expr.aggregate;
-import java.util.function.Function;
-
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.expr.ExprList ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.serializer.SerializationContext ;
/** An Aggregator is the processor for the whole result stream.
@@ -47,7 +46,7 @@ public interface Aggregator
public ExprList getExprList() ;
public Aggregator copy(ExprList exprs) ;
- public Aggregator copyTransform(Function<Node, Node> transform) ;
+ public Aggregator copyTransform(NodeTransform transform) ;
@Override
public int hashCode() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
index 7fb321b..23c5ccd 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
@@ -21,8 +21,6 @@ package org.apache.jena.sparql.expr.aggregate;
import java.util.HashMap ;
import java.util.Locale ;
import java.util.Map ;
-import java.util.function.Function;
-
import org.apache.jena.atlas.io.IndentedLineBuffer ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.ARQInternalErrorException ;
@@ -30,6 +28,7 @@ import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
import org.apache.jena.sparql.expr.NodeValue ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.serializer.SerializationContext ;
import org.apache.jena.sparql.sse.writers.WriterExpr ;
import org.apache.jena.sparql.util.ExprUtils ;
@@ -86,7 +85,7 @@ public abstract class AggregatorBase implements Aggregator
public String key() { return toPrefixString() ; }
@Override
- public final Aggregator copyTransform(Function<Node, Node> transform)
+ public final Aggregator copyTransform(NodeTransform transform)
{
ExprList e = getExprList() ;
if ( e != null )
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
index a22da5f..90de6fe 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
@@ -23,11 +23,7 @@ import java.util.function.Function;
import org.apache.jena.graph.Node ;
/** Convert nodes to nodes - Vars may need to be translated into Vars. */
-/**
- * Prefer {@link Function<Node, Node>}.
- *
- */
-@Deprecated
+@FunctionalInterface
public interface NodeTransform extends Function<Node, Node>
{
}
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
index 34ba4fb..ce0c517 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
@@ -22,8 +22,6 @@ import java.util.ArrayList ;
import java.util.Iterator ;
import java.util.List ;
import java.util.Objects;
-import java.util.function.Function;
-
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -43,14 +41,14 @@ import org.apache.jena.sparql.expr.ExprList ;
public class NodeTransformLib
{
/** Do a node->node conversion of an Op - return original BGP for "no change" */
- public static Op transform(Function<Node, Node> nodeTransform, Op op)
+ public static Op transform(NodeTransform nodeTransform, Op op)
{
Transform opTransform = new NodeTransformOp(nodeTransform) ;
return Transformer.transform(opTransform, null, op) ; // No expr transform - we do it ourselves.
}
/** Do a node->node conversion of a BGP - return original BGP for "no change" */
- public static BasicPattern transform(Function<Node, Node> nodeTransform, BasicPattern pattern)
+ public static BasicPattern transform(NodeTransform nodeTransform, BasicPattern pattern)
{
BasicPattern bgp2 = new BasicPattern() ;
boolean changed = false ;
@@ -67,7 +65,7 @@ public class NodeTransformLib
}
/** Do a node->node conversion of a QuadPattern - return original QuadPattern for "no change" */
- public static QuadPattern transform(Function<Node, Node> nodeTransform, QuadPattern pattern)
+ public static QuadPattern transform(NodeTransform nodeTransform, QuadPattern pattern)
{
QuadPattern qp2 = new QuadPattern() ;
boolean changed = false ;
@@ -84,7 +82,7 @@ public class NodeTransformLib
}
/** Do a node->node conversion of a Triple - return original Triple for "no change" */
- public static Triple transform(Function<Node, Node> nodeTransform, Triple triple)
+ public static Triple transform(NodeTransform nodeTransform, Triple triple)
{
boolean change = false ;
Node s = triple.getSubject() ;
@@ -104,7 +102,7 @@ public class NodeTransformLib
}
/** Do a node->node conversion of a Quad - return original Quad for "no change" */
- public static Quad transform(Function<Node, Node> nodeTransform, Quad quad)
+ public static Quad transform(NodeTransform nodeTransform, Quad quad)
{
boolean change = false ;
Node s = quad.getSubject() ;
@@ -126,7 +124,7 @@ public class NodeTransformLib
return new Quad(g,s,p,o) ;
}
- public static Table transform(Table table, Function<Node, Node> transform) {
+ public static Table transform(Table table, NodeTransform transform) {
// Non-streaming rewrite
List<Var> vars = transformVars(transform, table.getVars()) ;
Iterator<Binding> iter = table.rows() ;
@@ -139,7 +137,7 @@ public class NodeTransformLib
return new TableData(vars, newRows) ;
}
- public static Binding transform(Binding b, Function<Node, Node> transform) {
+ public static Binding transform(Binding b, NodeTransform transform) {
BindingMap b2 = BindingFactory.create() ;
List<Var> vars = Iter.toList(b.vars()) ;
for ( Var v : vars ) {
@@ -152,7 +150,7 @@ public class NodeTransformLib
/** Do a node->node conversion of a List<Quad> - return original List<Quad> for "no change" */
- public static List<Quad> transformQuads(Function<Node, Node> nodeTransform, List<Quad> quads)
+ public static List<Quad> transformQuads(NodeTransform nodeTransform, List<Quad> quads)
{
List<Quad> x = new ArrayList<>() ;
boolean changed = false ;
@@ -169,7 +167,7 @@ public class NodeTransformLib
}
/** Do a node->node conversion of a VarExprList - return original VarExprList for "no change" */
- public static VarExprList transform(Function<Node, Node> nodeTransform, VarExprList varExprList)
+ public static VarExprList transform(NodeTransform nodeTransform, VarExprList varExprList)
{
VarExprList varExprList2 = new VarExprList() ;
boolean changed = false ;
@@ -188,7 +186,7 @@ public class NodeTransformLib
return varExprList2 ;
}
- public static List<Var> transformVars(Function<Node, Node> nodeTransform, List<Var> varList)
+ public static List<Var> transformVars(NodeTransform nodeTransform, List<Var> varList)
{
List<Var> varList2 = new ArrayList<>(varList.size()) ;
boolean changed = false ;
@@ -204,7 +202,7 @@ public class NodeTransformLib
return varList2 ;
}
- public static ExprList transform(Function<Node, Node> nodeTransform, ExprList exprList)
+ public static ExprList transform(NodeTransform nodeTransform, ExprList exprList)
{
ExprList exprList2 = new ExprList() ;
boolean changed = false ;
@@ -219,12 +217,12 @@ public class NodeTransformLib
return exprList2 ;
}
- public static Expr transform(Function<Node, Node> nodeTransform, Expr expr)
+ public static Expr transform(NodeTransform nodeTransform, Expr expr)
{
return expr.applyNodeTransform(nodeTransform) ;
}
- public static List<SortCondition> transform(Function<Node, Node> nodeTransform, List<SortCondition> conditions)
+ public static List<SortCondition> transform(NodeTransform nodeTransform, List<SortCondition> conditions)
{
List<SortCondition> conditions2 = new ArrayList<>() ;
boolean same = true ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
index d62d176..c6c60af 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
@@ -20,8 +20,6 @@ package org.apache.jena.sparql.graph;
import java.util.ArrayList ;
import java.util.List ;
-import java.util.function.Function;
-
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.query.SortCondition ;
@@ -51,8 +49,8 @@ class NodeTransformOp extends TransformCopy
// Not:
// Conditional (no expression)
- private final Function<Node, Node> transform ;
- NodeTransformOp(Function<Node, Node> transform)
+ private final NodeTransform transform ;
+ NodeTransformOp(NodeTransform transform)
{
this.transform = transform ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
index 85ab116..0ae775f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
@@ -20,14 +20,13 @@ package org.apache.jena.sparql.modify;
import java.util.HashMap ;
import java.util.Map ;
-import java.util.function.Function;
-
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.ARQConstants ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.core.VarAlloc ;
+import org.apache.jena.sparql.graph.NodeTransform;
-public class NodeTransformBNodesToVariables implements Function<Node, Node>
+public class NodeTransformBNodesToVariables implements NodeTransform
{
private VarAlloc varAlloc = new VarAlloc(ARQConstants.allocVarBNodeToVar) ;
private Map<Node, Var> mapping ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
index e97a796..46b2ef9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
@@ -22,8 +22,6 @@ import static org.apache.jena.sparql.modify.TemplateLib.template ;
import java.util.Iterator ;
import java.util.List ;
-import java.util.function.Function;
-
import org.apache.jena.atlas.data.BagFactory ;
import org.apache.jena.atlas.data.DataBag ;
import org.apache.jena.atlas.data.ThresholdPolicy ;
@@ -51,6 +49,7 @@ import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.engine.binding.BindingRoot ;
import org.apache.jena.sparql.graph.GraphFactory ;
import org.apache.jena.sparql.graph.GraphOps ;
+import org.apache.jena.sparql.graph.NodeTransform;
import org.apache.jena.sparql.graph.NodeTransformLib ;
import org.apache.jena.sparql.modify.request.* ;
import org.apache.jena.sparql.syntax.Element ;
@@ -474,7 +473,7 @@ public class UpdateEngineWorker implements UpdateVisitor
protected static List<Quad> unused_convertBNodesToVariables(List<Quad> quads)
{
- Function<Node, Node> bnodesToVariables = new NodeTransformBNodesToVariables() ;
+ NodeTransform bnodesToVariables = new NodeTransformBNodesToVariables() ;
return NodeTransformLib.transformQuads(bnodesToVariables, quads) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
index d0dfa27..34e793a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
@@ -174,9 +174,7 @@ public class ResultSetCompare
if ( ! compareHeader(rs1, rs2) ) return false ;
return equivalentByOrder(convert(rs1) , convert(rs2), new BNodeIso(NodeUtils.sameTerm)) ;
}
-
- private static EqualityTest nodeExactTest = new EqualityTestExact() ;
-
+
/** compare two result sets for exact equality equivalence.
* Exact equalitymeans:
* Each row in rs1 matches the same index row in rs2.
@@ -192,7 +190,7 @@ public class ResultSetCompare
{
if ( ! compareHeader(rs1, rs2) ) return false ;
- return equivalentByOrder(convert(rs1) , convert(rs2), nodeExactTest) ;
+ return equivalentByOrder(convert(rs1) , convert(rs2), new EqualityTest(){}) ;
}
/** Compare two result sets for bNode isomorphism equivalence.
@@ -329,11 +327,4 @@ public class ResultSetCompare
return false ;
}
}
-
- private static class EqualityTestExact implements EqualityTest {
- @Override
- public boolean equal(Node n1, Node n2) {
- return Objects.equals(n1, n2) ;
- }
- }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
index b2a124a..09a4467 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
@@ -21,6 +21,7 @@ package org.apache.jena.sparql.util;
import java.util.Collection ;
import java.util.HashSet ;
import java.util.Iterator ;
+import java.util.Objects;
import java.util.Set ;
import org.apache.jena.atlas.lib.StrUtils ;
@@ -44,7 +45,9 @@ import org.apache.jena.util.iterator.WrappedIterator ;
public class NodeUtils
{
public interface EqualityTest {
- boolean equal(Node n1, Node n2) ;
+ default boolean equal(Node n1, Node n2) {
+ return Objects.equals(n1, n2) ;
+ }
}
/** IRI to Node */
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java
index 1d4874a..72e77a2 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java
@@ -26,7 +26,6 @@ import java.io.InputStream ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.StrUtils ;
-import org.apache.jena.graph.Node ;
import org.apache.jena.query.ResultSet ;
import org.apache.jena.query.ResultSetFactory ;
import org.apache.jena.query.ResultSetRewindable ;
@@ -35,7 +34,6 @@ import org.apache.jena.sparql.resultset.ResultSetCompare ;
import org.apache.jena.sparql.sse.Item ;
import org.apache.jena.sparql.sse.SSE ;
import org.apache.jena.sparql.sse.builders.BuilderResultSet ;
-import org.apache.jena.sparql.util.NodeUtils.EqualityTest ;
import org.junit.Test ;
public class TestResultSetThrift extends BaseTest {
@@ -64,15 +62,6 @@ public class TestResultSetThrift extends BaseTest {
, ")"
) ;
-
- static class EqualityTestExact implements EqualityTest {
- @Override
- public boolean equal(Node n1, Node n2) {
- return n1.equals(n2) ;
- }
- }
- private static EqualityTest exactTest = new EqualityTestExact() ;
-
@Test public void resultSet_01() { test(rs0) ; }
@Test public void resultSet_02() {
http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
index 6f262a5..6690d62 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
@@ -18,8 +18,6 @@
package org.apache.jena.permissions.query.rewriter;
import java.util.List;
-import java.util.function.Function;
-
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.permissions.SecurityEvaluator;
@@ -31,6 +29,7 @@ import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.* ;
import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
public class SecuredFunction extends ExprFunctionN
{
@@ -103,7 +102,7 @@ public class SecuredFunction extends ExprFunctionN
}
@Override
- public Expr applyNodeTransform( Function<Node, Node> transform )
+ public Expr applyNodeTransform( NodeTransform transform )
{
return this;
}
[30/50] [abbrv] jena git commit: JENA-931: Merge commit
'refs/pull/56/head' of github.com:apache/jena
Posted by cl...@apache.org.
JENA-931: Merge commit 'refs/pull/56/head' of github.com:apache/jena
This closes #56
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d480bd1f
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d480bd1f
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d480bd1f
Branch: refs/heads/add-contract-tests
Commit: d480bd1fc36d4f7a9b286a607dbc66ea4988b64d
Parents: bc438d8 0ef8184
Author: Andy Seaborne <an...@apache.org>
Authored: Wed May 6 19:27:12 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed May 6 19:29:13 2015 +0100
----------------------------------------------------------------------
.../org/apache/jena/atlas/csv/CSVParser.java | 9 +-
.../org/apache/jena/atlas/json/JsonBuilder.java | 4 +-
.../org/apache/jena/atlas/web/MediaType.java | 4 +-
.../org/apache/jena/query/SortCondition.java | 5 +-
.../java/org/apache/jena/riot/RDFFormat.java | 7 +-
.../org/apache/jena/riot/RDFFormatVariant.java | 5 +-
.../org/apache/jena/riot/RDFWriterRegistry.java | 29 ++-
.../jena/riot/adapters/RDFReaderRIOT_Web.java | 4 +-
.../org/apache/jena/riot/lang/JsonLDReader.java | 4 +-
.../jena/riot/other/BatchedStreamRDF.java | 6 +-
.../java/org/apache/jena/riot/other/GLib.java | 58 +----
.../org/apache/jena/riot/out/JsonLDWriter.java | 8 +-
.../jena/riot/out/SinkQuadBracedOutput.java | 4 +-
.../process/normalize/CanonicalizeLiteral.java | 6 +-
.../apache/jena/riot/system/PrefixMapBase.java | 25 +--
.../org/apache/jena/riot/thrift/BinRDF.java | 12 +-
.../java/org/apache/jena/riot/tokens/Token.java | 10 +-
.../apache/jena/riot/writer/TurtleShell.java | 5 +-
.../riot/writer/WriterStreamRDFBatched.java | 6 +-
.../jena/riot/writer/WriterStreamRDFBlocks.java | 8 +-
.../apache/jena/sparql/algebra/op/OpAssign.java | 5 +-
.../apache/jena/sparql/algebra/op/OpExtend.java | 5 +-
.../apache/jena/sparql/algebra/op/OpGroup.java | 6 +-
.../apache/jena/sparql/algebra/op/OpLabel.java | 6 +-
.../jena/sparql/algebra/op/OpProject.java | 4 +-
.../optimize/TransformFilterPlacement.java | 3 +-
.../jena/sparql/core/DatasetChangesBatched.java | 8 +-
.../jena/sparql/core/DatasetGraphBase.java | 12 +-
.../sparql/core/DatasetGraphCollection.java | 4 +-
.../jena/sparql/core/DatasetGraphQuad.java | 13 +-
.../org/apache/jena/sparql/core/Prologue.java | 7 +-
.../java/org/apache/jena/sparql/core/Quad.java | 7 +-
.../apache/jena/sparql/core/QueryCompare.java | 4 +-
.../apache/jena/sparql/core/VarExprList.java | 4 +-
.../org/apache/jena/sparql/engine/Rename.java | 19 +-
.../jena/sparql/engine/binding/BindingBase.java | 4 +-
.../sparql/engine/iterator/QueryIterGroup.java | 22 +-
.../sparql/engine/iterator/QueryIterTopN.java | 8 +-
.../ReorderTransformationSubstitution.java | 12 +-
.../org/apache/jena/sparql/expr/E_Exists.java | 2 +-
.../apache/jena/sparql/expr/E_NotExists.java | 2 +-
.../java/org/apache/jena/sparql/expr/Expr.java | 3 +-
.../apache/jena/sparql/expr/ExprAggregator.java | 10 +-
.../apache/jena/sparql/expr/ExprFunction.java | 4 +-
.../apache/jena/sparql/expr/ExprFunction0.java | 2 +-
.../apache/jena/sparql/expr/ExprFunction1.java | 2 +-
.../apache/jena/sparql/expr/ExprFunction2.java | 2 +-
.../apache/jena/sparql/expr/ExprFunction3.java | 2 +-
.../apache/jena/sparql/expr/ExprFunctionN.java | 3 +-
.../org/apache/jena/sparql/expr/ExprList.java | 3 +-
.../org/apache/jena/sparql/expr/ExprNode.java | 3 +-
.../org/apache/jena/sparql/expr/ExprVar.java | 4 +-
.../org/apache/jena/sparql/expr/NodeValue.java | 5 +-
.../jena/sparql/expr/aggregate/AggCustom.java | 6 +-
.../sparql/expr/aggregate/AggGroupConcat.java | 5 +-
.../expr/aggregate/AggGroupConcatDistinct.java | 5 +-
.../jena/sparql/expr/aggregate/AggMax.java | 5 +-
.../sparql/expr/aggregate/AggMaxDistinct.java | 5 +-
.../jena/sparql/expr/aggregate/AggMin.java | 5 +-
.../sparql/expr/aggregate/AggMinDistinct.java | 5 +-
.../jena/sparql/expr/aggregate/AggSample.java | 5 +-
.../jena/sparql/expr/aggregate/Aggregator.java | 2 +-
.../sparql/expr/aggregate/AggregatorBase.java | 3 +-
.../apache/jena/sparql/graph/NodeTransform.java | 8 +-
.../jena/sparql/graph/NodeTransformLib.java | 27 ++-
.../jena/sparql/graph/NodeTransformOp.java | 11 +-
.../modify/NodeTransformBNodesToVariables.java | 5 +-
.../apache/jena/sparql/modify/TemplateLib.java | 31 ++-
.../jena/sparql/modify/UpdateEngineWorker.java | 5 +-
.../jena/sparql/modify/request/UpdateLoad.java | 5 +-
.../org/apache/jena/sparql/path/PathLib.java | 6 +-
.../jena/sparql/path/eval/PathEngine.java | 25 +--
.../jena/sparql/path/eval/PathEvaluator.java | 6 +-
.../jena/sparql/pfunction/library/strSplit.java | 12 +-
.../apache/jena/sparql/resultset/CSVInput.java | 6 +-
.../jena/sparql/resultset/ResultSetCompare.java | 25 +--
.../org/apache/jena/sparql/util/Context.java | 2 +-
.../org/apache/jena/sparql/util/ModelUtils.java | 19 +-
.../org/apache/jena/sparql/util/NodeUtils.java | 5 +-
.../jena/sparql/util/graph/GraphList.java | 12 +-
.../jena/riot/process/TestNormalization.java | 4 +-
.../jena/riot/thrift/TestResultSetThrift.java | 11 -
.../jena/riot/thrift/TestStreamRDFThrift.java | 13 +-
.../org/apache/jena/atlas/iterator/Action.java | 10 +-
.../apache/jena/atlas/iterator/ActionCount.java | 6 +-
.../jena/atlas/iterator/ActionNothing.java | 26 ---
.../org/apache/jena/atlas/iterator/Filter.java | 9 +-
.../atlas/iterator/FilterDistinctAdjacent.java | 11 +-
.../jena/atlas/iterator/FilterOutNulls.java | 32 ---
.../apache/jena/atlas/iterator/FilterStack.java | 16 +-
.../jena/atlas/iterator/FilterUnique.java | 12 +-
.../org/apache/jena/atlas/iterator/Iter.java | 211 +++++-------------
.../jena/atlas/iterator/IteratorArray.java | 7 +
.../apache/jena/atlas/iterator/MapUtils.java | 36 ---
.../apache/jena/atlas/iterator/Transform.java | 9 +-
.../apache/jena/atlas/lib/ActionKeyValue.java | 9 +-
.../org/apache/jena/atlas/lib/Allocator.java | 28 ---
.../java/org/apache/jena/atlas/lib/Cache.java | 3 +-
.../org/apache/jena/atlas/lib/CacheSet.java | 4 +-
.../org/apache/jena/atlas/lib/Callback.java | 5 +-
.../java/org/apache/jena/atlas/lib/Cell.java | 99 ---------
.../apache/jena/atlas/lib/CollectionUtils.java | 27 +--
.../java/org/apache/jena/atlas/lib/FileOps.java | 18 +-
.../java/org/apache/jena/atlas/lib/Lib.java | 14 +-
.../org/apache/jena/atlas/lib/ListUtils.java | 66 ++----
.../org/apache/jena/atlas/lib/MapUtils.java | 45 ----
.../org/apache/jena/atlas/lib/MultiMap.java | 146 -------------
.../apache/jena/atlas/lib/MultiMapToList.java | 43 ----
.../apache/jena/atlas/lib/MultiMapToSet.java | 47 ----
.../org/apache/jena/atlas/lib/MultiSet.java | 218 -------------------
.../java/org/apache/jena/atlas/lib/Pair.java | 4 +-
.../java/org/apache/jena/atlas/lib/Problem.java | 25 ---
.../apache/jena/atlas/lib/PropertyUtils.java | 4 +-
.../org/apache/jena/atlas/lib/SetUtils.java | 26 +--
.../org/apache/jena/atlas/lib/StrUtils.java | 41 +---
.../java/org/apache/jena/atlas/lib/Tuple.java | 28 +--
.../org/apache/jena/atlas/lib/TupleBuilder.java | 50 -----
.../org/apache/jena/atlas/lib/cache/Cache0.java | 4 +-
.../org/apache/jena/atlas/lib/cache/Cache1.java | 12 +-
.../apache/jena/atlas/lib/cache/CacheGuava.java | 9 +-
.../jena/atlas/lib/cache/CacheSetImpl.java | 16 +-
.../jena/atlas/lib/cache/CacheSetSync.java | 5 +-
.../jena/atlas/lib/cache/CacheSetWrapper.java | 5 +-
.../jena/atlas/lib/cache/CacheSimple.java | 13 +-
.../jena/atlas/lib/cache/CacheWrapper.java | 4 +-
.../org/apache/jena/atlas/lib/cache/Getter.java | 25 ---
.../java/org/apache/jena/base/Closeable.java | 27 ---
.../apache/jena/atlas/iterator/TestIter.java | 134 +-----------
.../java/org/apache/jena/atlas/lib/TS_Lib.java | 1 -
.../org/apache/jena/atlas/lib/TestMultiSet.java | 143 ------------
.../impl/PropertyTableHashMapImpl.java | 19 +-
.../java/org/apache/jena/fuseki/FusekiCmd.java | 5 +-
.../java/org/apache/jena/fuseki/FusekiLib.java | 8 +-
.../jena/fuseki/servlets/ResponseResultSet.java | 16 +-
.../jena/fuseki/servlets/SPARQL_Protocol.java | 12 +-
.../java/org/apache/jena/fuseki/FusekiLib.java | 8 +-
.../apache/jena/fuseki/server/DataService.java | 6 +-
.../apache/jena/fuseki/server/FusekiServer.java | 5 +-
.../jena/fuseki/servlets/ResponseResultSet.java | 16 +-
.../jena/fuseki/servlets/SPARQL_Protocol.java | 10 +-
.../query/rewriter/SecuredFunction.java | 3 +-
.../org/apache/jena/sdb/compiler/QuadBlock.java | 6 +-
.../org/apache/jena/sdb/compiler/SDB_QC.java | 14 +-
.../apache/jena/sdb/compiler/TransformSDB.java | 4 +-
.../org/apache/jena/sdb/core/ScopeEntry.java | 28 +--
.../org/apache/jena/sdb/core/ScopeRename.java | 21 --
.../sdb/core/sqlnode/GenerateSQLVisitor.java | 9 +-
.../org/apache/jena/sdb/print/ActionPrint.java | 7 +-
.../java/org/apache/jena/sdb/util/Pair.java | 5 +-
.../jena/sdb/test/junit/ParamAllStoreDesc.java | 11 +-
.../jena/sdb/test/junit/ParamAllStores.java | 11 +-
.../apache/jena/sdb/test/junit/StoreList.java | 21 +-
.../spatial/SpatialDocProducerTriples.java | 19 --
.../jena/tdb/base/block/BlockMgrCache.java | 6 +-
.../jena/tdb/base/block/BlockMgrTracker.java | 31 +--
.../org/apache/jena/tdb/base/file/Location.java | 4 +-
.../org/apache/jena/tdb/base/file/MetaFile.java | 5 +-
.../tdb/index/bplustree/BPlusTreeRewriter.java | 10 +-
.../java/org/apache/jena/tdb/lib/NodeLib.java | 9 +-
.../java/org/apache/jena/tdb/lib/TupleLib.java | 34 +--
.../apache/jena/tdb/solver/OpExecutorTDB1.java | 11 +-
.../java/org/apache/jena/tdb/solver/QC2.java | 9 +-
.../org/apache/jena/tdb/solver/SolverLib.java | 52 ++---
.../tdb/solver/StageGeneratorDirectTDB.java | 9 +-
.../apache/jena/tdb/solver/StageMatchTuple.java | 34 +--
.../tdb/solver/stats/StatsCollectorBase.java | 5 +-
.../apache/jena/tdb/store/DatasetGraphTDB.java | 13 +-
.../org/apache/jena/tdb/store/GraphTDB.java | 19 +-
.../org/apache/jena/tdb/store/QuadTable.java | 9 -
.../org/apache/jena/tdb/store/TripleTable.java | 9 -
.../store/bulkloader2/CmdNodeTableBuilder.java | 5 +-
.../tdb/store/nodetable/NodeTableNative.java | 35 +--
.../tdb/store/tupletable/TupleIndexRecord.java | 18 +-
.../java/org/apache/jena/tdb/sys/FileRef.java | 4 +-
.../apache/jena/tdb/base/record/RecordLib.java | 9 +-
.../apache/jena/tdb/store/TestQuadFilter.java | 20 +-
.../jena/query/text/EntityDefinition.java | 5 +-
.../assembler/EntityDefinitionAssembler.java | 19 +-
178 files changed, 665 insertions(+), 2419 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/d480bd1f/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
----------------------------------------------------------------------
[10/50] [abbrv] jena git commit: JENA-907: Rename to getXMLLocalName
and getXMLNameSpace
Posted by cl...@apache.org.
JENA-907: Rename to getXMLLocalName and getXMLNameSpace
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/103776ed
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/103776ed
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/103776ed
Branch: refs/heads/add-contract-tests
Commit: 103776ed71efb5f6ca963260637274ea3356cea8
Parents: 6d3a74f
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 16:15:01 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 16:15:01 2015 +0100
----------------------------------------------------------------------
.../apache/jena/rdfxml/xmloutput/impl/Unparser.java | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/103776ed/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
index 2f35939..409bbd9 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
@@ -901,7 +901,7 @@ class Unparser {
print(" ");
printRdfAt("ID");
print("=");
- print(quote(getLocalName(r)));
+ print(quote(getXMLLocalName(r)));
return true;
}
@@ -956,7 +956,7 @@ class Unparser {
print(" ");
printRdfAt("ID");
print("=");
- print(quote(getLocalName(res)));
+ print(quote(getXMLLocalName(res)));
haveReified.add(res);
}
}
@@ -1180,7 +1180,7 @@ class Unparser {
}
}
- private String getNameSpace(Resource r) {
+ private String getXMLNameSpace(Resource r) {
if (r.isAnon()) {
logger.error("Internal error - Unparser.getNameSpace; giving up");
throw new BrokenException("Internal error: getNameSpace(bNode)");
@@ -1204,8 +1204,8 @@ class Unparser {
}
private boolean isLocalReference(Resource r) {
- return (!r.isAnon()) && getNameSpace(r).equals(localName + "#")
- && XMLChar.isValidNCName(getLocalName(r));
+ return (!r.isAnon()) && getXMLNameSpace(r).equals(localName + "#")
+ && XMLChar.isValidNCName(getXMLLocalName(r));
}
/*
@@ -1217,7 +1217,7 @@ class Unparser {
* return getSuffix(more) + new Character((char) ('a' + suffixId % 26)); } }
*/
- private String getLocalName(Resource r) {
+ private String getXMLLocalName(Resource r) {
if (r.isAnon()) {
logger.error("Internal error - giving up - Unparser.getLocalName");
throw new BrokenException("Internal error: getLocalName(bNode)");
@@ -1343,7 +1343,7 @@ class Unparser {
if (l.getLanguage().equals("")) {
// j.cook.up bug fix
- if (prettyWriter.isDefaultNamespace(getNameSpace(p)))
+ if (prettyWriter.isDefaultNamespace(getXMLNameSpace(p)))
return false;
String str = l.getString();
[27/50] [abbrv] jena git commit: Emendations in response to comments
from @afs
Posted by cl...@apache.org.
Emendations in response to comments from @afs
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/6711901a
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/6711901a
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/6711901a
Branch: refs/heads/add-contract-tests
Commit: 6711901ab0a0d23dfb99794c8daf5dbf6d0a7e37
Parents: a664cb6
Author: ajs6f <aj...@virginia.edu>
Authored: Tue May 5 11:30:54 2015 -0400
Committer: ajs6f <aj...@virginia.edu>
Committed: Tue May 5 11:30:54 2015 -0400
----------------------------------------------------------------------
.../org/apache/jena/atlas/json/JsonBuilder.java | 4 +--
.../org/apache/jena/atlas/web/MediaType.java | 4 +--
.../org/apache/jena/query/SortCondition.java | 5 ++--
.../java/org/apache/jena/riot/RDFFormat.java | 7 +++--
.../org/apache/jena/riot/RDFFormatVariant.java | 5 ++--
.../org/apache/jena/riot/RDFWriterRegistry.java | 29 ++++++++++----------
.../jena/riot/adapters/RDFReaderRIOT_Web.java | 4 +--
.../org/apache/jena/riot/lang/JsonLDReader.java | 4 +--
.../jena/riot/other/BatchedStreamRDF.java | 6 ++--
.../jena/riot/out/SinkQuadBracedOutput.java | 4 +--
.../java/org/apache/jena/riot/tokens/Token.java | 10 +++----
.../apache/jena/riot/writer/TurtleShell.java | 5 ++--
.../riot/writer/WriterStreamRDFBatched.java | 6 ++--
.../jena/riot/writer/WriterStreamRDFBlocks.java | 8 ++----
.../apache/jena/sparql/algebra/op/OpAssign.java | 5 ++--
.../apache/jena/sparql/algebra/op/OpExtend.java | 5 ++--
.../apache/jena/sparql/algebra/op/OpGroup.java | 6 ++--
.../apache/jena/sparql/algebra/op/OpLabel.java | 6 ++--
.../jena/sparql/algebra/op/OpProject.java | 4 +--
.../optimize/TransformFilterPlacement.java | 3 +-
.../jena/sparql/core/DatasetChangesBatched.java | 8 +++---
.../sparql/core/DatasetGraphCollection.java | 4 +--
.../org/apache/jena/sparql/core/Prologue.java | 7 +++--
.../java/org/apache/jena/sparql/core/Quad.java | 7 +++--
.../apache/jena/sparql/core/QueryCompare.java | 4 ++-
.../apache/jena/sparql/core/VarExprList.java | 4 +--
.../jena/sparql/engine/binding/BindingBase.java | 4 +--
.../apache/jena/sparql/expr/ExprAggregator.java | 7 ++---
.../apache/jena/sparql/expr/ExprFunction.java | 4 +--
.../jena/sparql/expr/aggregate/AggCustom.java | 6 ++--
.../sparql/expr/aggregate/AggGroupConcat.java | 5 ++--
.../expr/aggregate/AggGroupConcatDistinct.java | 5 ++--
.../jena/sparql/expr/aggregate/AggMax.java | 5 ++--
.../sparql/expr/aggregate/AggMaxDistinct.java | 5 ++--
.../jena/sparql/expr/aggregate/AggMin.java | 5 ++--
.../sparql/expr/aggregate/AggMinDistinct.java | 5 ++--
.../jena/sparql/expr/aggregate/AggSample.java | 5 ++--
.../jena/sparql/graph/NodeTransformLib.java | 7 ++---
.../jena/sparql/modify/request/UpdateLoad.java | 5 ++--
.../org/apache/jena/sparql/path/PathLib.java | 4 +--
.../jena/sparql/resultset/ResultSetCompare.java | 4 +--
.../org/apache/jena/atlas/iterator/Action.java | 1 +
.../org/apache/jena/atlas/iterator/Filter.java | 1 +
.../atlas/iterator/FilterDistinctAdjacent.java | 5 ++--
.../jena/atlas/iterator/IteratorArray.java | 2 +-
.../apache/jena/atlas/iterator/Transform.java | 1 +
.../org/apache/jena/atlas/lib/Closeable.java | 2 +-
.../java/org/apache/jena/atlas/lib/Lib.java | 1 +
.../java/org/apache/jena/atlas/lib/Pair.java | 4 ++-
.../org/apache/jena/atlas/lib/cache/Cache1.java | 4 +--
.../java/org/apache/jena/fuseki/FusekiCmd.java | 5 ++--
.../jena/fuseki/servlets/ResponseResultSet.java | 16 +++++------
.../apache/jena/fuseki/server/FusekiServer.java | 5 ++--
.../jena/fuseki/servlets/ResponseResultSet.java | 16 +++++------
.../java/org/apache/jena/sdb/util/Pair.java | 5 ++--
.../org/apache/jena/tdb/base/file/Location.java | 4 +--
.../org/apache/jena/tdb/base/file/MetaFile.java | 5 ++--
.../store/bulkloader2/CmdNodeTableBuilder.java | 5 ++--
.../java/org/apache/jena/tdb/sys/FileRef.java | 4 +--
59 files changed, 175 insertions(+), 151 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonBuilder.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonBuilder.java b/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonBuilder.java
index feb3072..50336f1 100644
--- a/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonBuilder.java
+++ b/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonBuilder.java
@@ -21,8 +21,8 @@ package org.apache.jena.atlas.json ;
import java.math.BigDecimal ;
import java.util.ArrayDeque ;
import java.util.Deque ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.logging.Log ;
/* Builder pattern for JSON.
@@ -90,7 +90,7 @@ public class JsonBuilder {
if ( stack.isEmpty() )
builtValue = value ;
String startMarker = markers.pop();
- if ( ! Lib.equal(startMarker, finishMarker) )
+ if ( ! Objects.equals(startMarker, finishMarker) )
throw new JsonException("JSON build error : start/finish alignment error: start="+startMarker+" finish="+finishMarker) ;
return this ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/atlas/web/MediaType.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/web/MediaType.java b/jena-arq/src/main/java/org/apache/jena/atlas/web/MediaType.java
index b911250..3cafb3e 100644
--- a/jena-arq/src/main/java/org/apache/jena/atlas/web/MediaType.java
+++ b/jena-arq/src/main/java/org/apache/jena/atlas/web/MediaType.java
@@ -18,11 +18,11 @@
package org.apache.jena.atlas.web ;
-import static org.apache.jena.atlas.lib.Lib.equal ;
import static org.apache.jena.atlas.lib.Lib.hashCodeObject ;
import java.util.LinkedHashMap ;
import java.util.Map ;
+import java.util.Objects;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -172,7 +172,7 @@ public class MediaType {
if ( !(object instanceof MediaType) )
return false ;
MediaType mt = (MediaType)object ;
- return equal(type, mt.type) && equal(subType, mt.subType) && equal(params, mt.params) ;
+ return Objects.equals(type, mt.type) && Objects.equals(subType, mt.subType) && Objects.equals(params, mt.params) ;
}
public String getParameter(String name) {
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/query/SortCondition.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/SortCondition.java b/jena-arq/src/main/java/org/apache/jena/query/SortCondition.java
index 424960e..021f70d 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/SortCondition.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/SortCondition.java
@@ -18,8 +18,9 @@
package org.apache.jena.query;
+import java.util.Objects;
+
import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.core.Var ;
@@ -125,7 +126,7 @@ public class SortCondition extends PrintSerializableBase
if ( sc.getDirection() != this.getDirection() )
return false ;
- if ( ! Lib.equal(this.getExpression(), sc.getExpression()) )
+ if ( ! Objects.equals(this.getExpression(), sc.getExpression()) )
return false ;
// if ( ! Utils.eq(this.getVariable(), sc.getVariable()) )
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/RDFFormat.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFFormat.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFFormat.java
index ae99481..5297ca7 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFFormat.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFFormat.java
@@ -19,7 +19,8 @@
package org.apache.jena.riot ;
import static org.apache.jena.riot.RDFLanguages.THRIFT ;
-import org.apache.jena.atlas.lib.Lib ;
+
+import java.util.Objects;
/** Constants for writable formats */
public class RDFFormat {
@@ -144,9 +145,9 @@ public class RDFFormat {
if ( getClass() != obj.getClass() )
return false ;
RDFFormat other = (RDFFormat)obj ;
- if ( !Lib.equal(lang, other.lang) )
+ if ( !Objects.equals(lang, other.lang) )
return false ;
- if ( !Lib.equal(variant, other.variant) )
+ if ( !Objects.equals(variant, other.variant) )
return false ;
return true ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/RDFFormatVariant.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFFormatVariant.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFFormatVariant.java
index 2bda6f4..24ae2fa 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFFormatVariant.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFFormatVariant.java
@@ -18,7 +18,8 @@
package org.apache.jena.riot ;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.sparql.util.Symbol ;
/** Modifier for an RDF Format */
@@ -46,7 +47,7 @@ public class RDFFormatVariant {
if ( getClass() != obj.getClass() )
return false ;
RDFFormatVariant other = (RDFFormatVariant)obj ;
- if ( !Lib.equal(symbol, other.symbol) )
+ if ( !Objects.equals(symbol, other.symbol) )
return false ;
return true ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/RDFWriterRegistry.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/RDFWriterRegistry.java b/jena-arq/src/main/java/org/apache/jena/riot/RDFWriterRegistry.java
index dd238d1..aeb37fc 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/RDFWriterRegistry.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/RDFWriterRegistry.java
@@ -20,7 +20,6 @@ package org.apache.jena.riot;
import java.util.* ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.riot.out.CharSpace ;
import org.apache.jena.riot.out.JsonLDWriter ;
import org.apache.jena.riot.system.RiotLib ;
@@ -48,23 +47,23 @@ public class RDFWriterRegistry
{
// Built-ins
- if ( Lib.equal(RDFFormat.TURTLE_PRETTY, serialization) )
+ if ( Objects.equals(RDFFormat.TURTLE_PRETTY, serialization) )
return new TurtleWriter() ;
- if ( Lib.equal(RDFFormat.TURTLE_BLOCKS, serialization) )
+ if ( Objects.equals(RDFFormat.TURTLE_BLOCKS, serialization) )
return new TurtleWriterBlocks() ;
- if ( Lib.equal(RDFFormat.TURTLE_FLAT, serialization) )
+ if ( Objects.equals(RDFFormat.TURTLE_FLAT, serialization) )
return new TurtleWriterFlat() ;
- if ( Lib.equal(RDFFormat.NTRIPLES_UTF8, serialization) )
+ if ( Objects.equals(RDFFormat.NTRIPLES_UTF8, serialization) )
return new NTriplesWriter() ;
- if ( Lib.equal(RDFFormat.NTRIPLES_ASCII, serialization) )
+ if ( Objects.equals(RDFFormat.NTRIPLES_ASCII, serialization) )
return new NTriplesWriter(CharSpace.ASCII) ;
- if ( Lib.equal(RDFFormat.RDFJSON, serialization) )
+ if ( Objects.equals(RDFFormat.RDFJSON, serialization) )
return new RDFJSONWriter() ;
- if ( Lib.equal(RDFFormat.RDFXML_PRETTY, serialization) )
+ if ( Objects.equals(RDFFormat.RDFXML_PRETTY, serialization) )
return new RDFXMLAbbrevWriter() ;
- if ( Lib.equal(RDFFormat.RDFXML_PLAIN, serialization) )
+ if ( Objects.equals(RDFFormat.RDFXML_PLAIN, serialization) )
return new RDFXMLPlainWriter() ;
WriterDatasetRIOT dsw = wdsfactory.create(serialization) ;
@@ -78,17 +77,17 @@ public class RDFWriterRegistry
@Override
public WriterDatasetRIOT create(RDFFormat serialization)
{
- if ( Lib.equal(RDFFormat.TRIG_PRETTY, serialization) )
+ if ( Objects.equals(RDFFormat.TRIG_PRETTY, serialization) )
return new TriGWriter() ;
- if ( Lib.equal(RDFFormat.TRIG_BLOCKS, serialization) )
+ if ( Objects.equals(RDFFormat.TRIG_BLOCKS, serialization) )
return new TriGWriterBlocks() ;
- if ( Lib.equal(RDFFormat.TRIG_FLAT, serialization) )
+ if ( Objects.equals(RDFFormat.TRIG_FLAT, serialization) )
return new TriGWriterFlat() ;
- if ( Lib.equal(RDFFormat.NQUADS_UTF8, serialization) )
+ if ( Objects.equals(RDFFormat.NQUADS_UTF8, serialization) )
return new NQuadsWriter() ;
- if ( Lib.equal(RDFFormat.NQUADS_ASCII, serialization) )
+ if ( Objects.equals(RDFFormat.NQUADS_ASCII, serialization) )
return new NQuadsWriter(CharSpace.ASCII) ;
- if ( Lib.equal(RDFFormat.RDFNULL, serialization) )
+ if ( Objects.equals(RDFFormat.RDFNULL, serialization) )
return NullWriter.factory.create(RDFFormat.RDFNULL) ;
return null ;
}} ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFReaderRIOT_Web.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFReaderRIOT_Web.java b/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFReaderRIOT_Web.java
index a324222..6d58bf7 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFReaderRIOT_Web.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/adapters/RDFReaderRIOT_Web.java
@@ -20,8 +20,8 @@ package org.apache.jena.riot.adapters;
import java.io.InputStream ;
import java.io.Reader ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.web.TypedInputStream ;
import org.apache.jena.rdf.model.Model ;
import org.apache.jena.riot.Lang ;
@@ -74,7 +74,7 @@ public class RDFReaderRIOT_Web extends RDFReaderRIOT
// Reading a URL, no hint language provided.
// Use the URL structure as the hint.
Lang lang = null ;
- if ( ! Lib.equal(contentType, WebContent.contentTypeTextPlain) )
+ if ( ! Objects.equals(contentType, WebContent.contentTypeTextPlain) )
lang = RDFLanguages.contentTypeToLang(contentType) ;
if ( lang == null )
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java
index f381123..e7b758e 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/JsonLDReader.java
@@ -23,11 +23,11 @@ import java.io.InputStream ;
import java.io.Reader ;
import java.util.List ;
import java.util.Map ;
+import java.util.Objects;
import java.util.Map.Entry;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.InternalErrorException ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.web.ContentType ;
import org.apache.jena.datatypes.RDFDatatype ;
import org.apache.jena.datatypes.xsd.XSDDatatype ;
@@ -155,7 +155,7 @@ public class JsonLDReader implements ReaderRIOT
else if ( type.equals(LITERAL) ) {
String lang = (String)map.get("language") ;
String datatype = (String)map.get("datatype") ;
- if ( Lib.equal(xsdString, datatype) )
+ if ( Objects.equals(xsdString, datatype) )
// In RDF 1.1, simple literals and xsd:string are the same.
// During migration, we prefer simple literals to xsd:strings.
datatype = null ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/other/BatchedStreamRDF.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/other/BatchedStreamRDF.java b/jena-arq/src/main/java/org/apache/jena/riot/other/BatchedStreamRDF.java
index e39209c..d3eedd5 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/other/BatchedStreamRDF.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/other/BatchedStreamRDF.java
@@ -20,8 +20,8 @@ package org.apache.jena.riot.other;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.riot.system.StreamRDF ;
@@ -64,7 +64,7 @@ public class BatchedStreamRDF implements StreamRDF
// Node p = triple.getPredicate() ;
// Node o = triple.getObject() ;
- if ( ! Lib.equal(s, currentSubject) )
+ if ( ! Objects.equals(s, currentSubject) )
{
if ( currentSubject != null )
finishBatchTriple(currentSubject) ;
@@ -110,7 +110,7 @@ public class BatchedStreamRDF implements StreamRDF
// Node p = triple.getPredicate() ;
// Node o = triple.getObject() ;
- if ( ! Lib.equal(g, currentGraph) || ! Lib.equal(s, currentSubject) )
+ if ( ! Objects.equals(g, currentGraph) || ! Objects.equals(s, currentSubject) )
{
if ( currentSubject != null )
finishBatchQuad(currentGraph, currentSubject) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java b/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java
index 0e0c8af..0841c50 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/out/SinkQuadBracedOutput.java
@@ -19,10 +19,10 @@
package org.apache.jena.riot.out ;
import java.io.OutputStream ;
+import java.util.Objects;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.lib.Closeable ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -83,7 +83,7 @@ public class SinkQuadBracedOutput implements Sink<Quad>, Closeable
graphName = null ;
}
- if ( !Lib.equal(currentGraph, graphName) ) {
+ if ( !Objects.equals(currentGraph, graphName) ) {
if ( null != currentGraph ) {
out.decIndent(BLOCK_INDENT) ;
out.println("}") ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java b/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
index 4f39429..7046545 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/tokens/Token.java
@@ -27,7 +27,6 @@ import static org.apache.jena.atlas.lib.Chars.CH_RBRACE ;
import static org.apache.jena.atlas.lib.Chars.CH_RBRACKET ;
import static org.apache.jena.atlas.lib.Chars.CH_RPAREN ;
import static org.apache.jena.atlas.lib.Chars.CH_SEMICOLON ;
-import static org.apache.jena.atlas.lib.Lib.equal ;
import static org.apache.jena.atlas.lib.Lib.hashCodeObject ;
import static org.apache.jena.riot.tokens.TokenType.BNODE ;
import static org.apache.jena.riot.tokens.TokenType.DECIMAL ;
@@ -41,6 +40,7 @@ import static org.apache.jena.riot.tokens.TokenType.VAR ;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.Objects;
import org.apache.jena.atlas.io.PeekReader ;
import org.apache.jena.atlas.iterator.Iter ;
@@ -498,10 +498,10 @@ public final class Token
{
if ( ! ( other instanceof Token ) ) return false ;
Token t = (Token)other ;
- return equal(tokenType, t.tokenType) &&
- equal(tokenImage, t.tokenImage) &&
- equal(tokenImage2, t.tokenImage2) &&
- equal(cntrlCode, t.cntrlCode) ;
+ return Objects.equals(tokenType, t.tokenType) &&
+ Objects.equals(tokenImage, t.tokenImage) &&
+ Objects.equals(tokenImage2, t.tokenImage2) &&
+ Objects.equals(cntrlCode, t.cntrlCode) ;
}
public static Token tokenForChar(char character)
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleShell.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleShell.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleShell.java
index e3acd10..9b1bb21 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleShell.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/TurtleShell.java
@@ -38,7 +38,6 @@ import java.util.* ;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.InternalErrorException ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.lib.Pair ;
import org.apache.jena.atlas.lib.SetUtils ;
import org.apache.jena.graph.Graph ;
@@ -299,14 +298,14 @@ public abstract class TurtleShell {
if ( ! isDefaultGraph(graphName) )
return false ;
} else {
- if ( ! Lib.equal(gn, graphName) )
+ if ( ! Objects.equals(gn, graphName) )
// Not both same named graph
return false ;
}
// Check rest of iterator.
for ( ; iter.hasNext() ; ) {
Quad q2 = iter.next() ;
- if ( ! Lib.equal(gn, q2.getGraph()) )
+ if ( ! Objects.equals(gn, q2.getGraph()) )
return false ;
}
return true ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java
index fb16cee..87573d5 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBatched.java
@@ -22,9 +22,9 @@ import java.io.OutputStream ;
import java.io.Writer ;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.Objects;
import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.sparql.core.Quad ;
@@ -79,7 +79,7 @@ abstract class WriterStreamRDFBatched extends WriterStreamRDFBase
Node g = quad.getGraph() ;
Node s = quad.getSubject() ;
- if ( !Lib.equal(g, currentGraph) || !Lib.equal(s, currentSubject) ) {
+ if ( !Objects.equals(g, currentGraph) || !Objects.equals(s, currentSubject) ) {
if ( currentSubject != null ) {
if ( currentGraph == null )
finishBatchTriples(currentSubject) ;
@@ -96,7 +96,7 @@ abstract class WriterStreamRDFBatched extends WriterStreamRDFBase
@Override
protected final void print(Triple triple) {
Node s = triple.getSubject() ;
- if ( !Lib.equal(s, currentSubject) ) {
+ if ( !Objects.equals(s, currentSubject) ) {
if ( currentSubject != null )
finishBatchTriples(currentSubject) ;
startBatchTriple(s) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java
index 6173bdb..64b4297 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/writer/WriterStreamRDFBlocks.java
@@ -18,15 +18,13 @@
package org.apache.jena.riot.writer;
-import static org.apache.jena.atlas.lib.Lib.equal ;
-
import java.io.OutputStream ;
import java.io.Writer ;
import java.util.Collection ;
import java.util.List ;
+import java.util.Objects;
import org.apache.jena.atlas.io.IndentedWriter ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.riot.other.GLib ;
@@ -85,7 +83,7 @@ public class WriterStreamRDFBlocks extends WriterStreamRDFBatched
protected void printBatchQuads(Node g, Node s, List<Quad> quads) {
if ( g == null )
g = Quad.defaultGraphNodeGenerated ;
- if ( Lib.equal(g, lastGraph) ) {
+ if ( Objects.equals(g, lastGraph) ) {
// Same graph, different subject.
out.println(" .") ;
out.println() ;
@@ -195,7 +193,7 @@ public class WriterStreamRDFBlocks extends WriterStreamRDFBatched
return ;
// End of graph
- if ( !equal(lastGraph, g) ) {
+ if ( !Objects.equals(lastGraph, g) ) {
boolean NL_END = (dftGraph(g) ? NL_GDFT_END : NL_GNMD_END) ;
if ( lastSubject != null )
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpAssign.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpAssign.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpAssign.java
index 290af42..8eafaca 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpAssign.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpAssign.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.algebra.op ;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVisitor ;
import org.apache.jena.sparql.algebra.Transform ;
@@ -108,7 +109,7 @@ public class OpAssign extends OpExtendAssign {
return false ;
OpAssign assign = (OpAssign)other ;
- if ( !Lib.equal(assignments, assign.assignments) )
+ if ( !Objects.equals(assignments, assign.assignments) )
return false ;
return getSubOp().equalTo(assign.getSubOp(), labelMap) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpExtend.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpExtend.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpExtend.java
index 32c4daf..88c1cbe 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpExtend.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpExtend.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.algebra.op ;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVisitor ;
import org.apache.jena.sparql.algebra.Transform ;
@@ -112,7 +113,7 @@ public class OpExtend extends OpExtendAssign {
return false ;
OpExtend assign = (OpExtend)other ;
- if ( !Lib.equal(assignments, assign.assignments) )
+ if ( !Objects.equals(assignments, assign.assignments) )
return false ;
return getSubOp().equalTo(assign.getSubOp(), labelMap) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpGroup.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpGroup.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpGroup.java
index b80c0f1..73b2a9c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpGroup.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpGroup.java
@@ -19,8 +19,8 @@
package org.apache.jena.sparql.algebra.op;
import java.util.List ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVisitor ;
import org.apache.jena.sparql.algebra.Transform ;
@@ -71,9 +71,9 @@ public class OpGroup extends Op1
{
if ( ! (other instanceof OpGroup) ) return false ;
OpGroup opGroup = (OpGroup)other ;
- if ( ! Lib.equal(groupVars, opGroup.groupVars) )
+ if ( ! Objects.equals(groupVars, opGroup.groupVars) )
return false ;
- if ( ! Lib.equal(aggregators, opGroup.aggregators) )
+ if ( ! Objects.equals(aggregators, opGroup.aggregators) )
return false ;
return getSubOp().equalTo(opGroup.getSubOp(), labelMap) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpLabel.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpLabel.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpLabel.java
index 2d9449f..d2f4764 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpLabel.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpLabel.java
@@ -18,6 +18,8 @@
package org.apache.jena.sparql.algebra.op;
+import java.util.Objects;
+
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVisitor ;
@@ -51,10 +53,10 @@ public class OpLabel extends Op1
if ( !(other instanceof OpLabel) )
return false ;
OpLabel opLabel = (OpLabel)other ;
- if ( !Lib.equal(object, opLabel.object) )
+ if ( !Objects.equals(object, opLabel.object) )
return false ;
- return Lib.equal(getSubOp(), opLabel.getSubOp()) ;
+ return Objects.equals(getSubOp(), opLabel.getSubOp()) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProject.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProject.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProject.java
index 978a48f..8b8eda2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProject.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/op/OpProject.java
@@ -20,8 +20,8 @@ package org.apache.jena.sparql.algebra.op;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVisitor ;
import org.apache.jena.sparql.algebra.Transform ;
@@ -63,7 +63,7 @@ public class OpProject extends OpModifier
{
if ( ! (other instanceof OpProject) ) return false ;
OpProject opProject = (OpProject)other ;
- if ( ! Lib.equal(vars, opProject.vars ) )
+ if ( ! Objects.equals(vars, opProject.vars ) )
return false ;
return getSubOp().equalTo(opProject.getSubOp(), labelMap) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java
index 9dff996..fb90412 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterPlacement.java
@@ -21,6 +21,7 @@ package org.apache.jena.sparql.algebra.optimize ;
import java.util.Collection ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.Objects;
import java.util.Set ;
import org.apache.jena.atlas.lib.CollectionUtils ;
@@ -68,7 +69,7 @@ public class TransformFilterPlacement extends TransformCopy {
if ( obj == null ) return false ;
if ( getClass() != obj.getClass() ) return false ;
Placement other = (Placement)obj ;
- return Lib.equal(op, other.op) && Lib.equal(unplaced, other.unplaced) ;
+ return Objects.equals(op, other.op) && Objects.equals(unplaced, other.unplaced) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesBatched.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesBatched.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesBatched.java
index af1ad1f..5e71afd 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesBatched.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetChangesBatched.java
@@ -20,8 +20,8 @@ package org.apache.jena.sparql.core;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
/** Collect a stream of DatasetChanges into batches.
@@ -69,9 +69,9 @@ public abstract class DatasetChangesBatched implements DatasetChanges
startBatch() ;
// Drop and through and include in the current batch.
}
- else if ( ! Lib.equal(currentAction, qaction) ||
- ! Lib.equal(currentGraph, g) ||
- ! Lib.equal(currentSubject, s) )
+ else if ( ! Objects.equals(currentAction, qaction) ||
+ ! Objects.equals(currentGraph, g) ||
+ ! Objects.equals(currentSubject, s) )
{
finishBatch() ;
startBatch() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphCollection.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphCollection.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphCollection.java
index b48769b..7b66d64 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphCollection.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphCollection.java
@@ -19,10 +19,10 @@
package org.apache.jena.sparql.core;
import java.util.Iterator ;
+import java.util.Objects;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.iterator.IteratorConcat;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.shared.JenaException ;
@@ -100,7 +100,7 @@ public abstract class DatasetGraphCollection extends DatasetGraphBaseFind
protected Graph fetchGraph(Node gn)
{
- if ( Quad.isDefaultGraph(gn) || Lib.equal(gn,Quad.tripleInQuad)) // Not preferred style
+ if ( Quad.isDefaultGraph(gn) || Objects.equals(gn,Quad.tripleInQuad)) // Not preferred style
return getDefaultGraph() ;
else
return getGraph(gn) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/core/Prologue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/Prologue.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/Prologue.java
index c2a839b..ca4ff73 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/Prologue.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Prologue.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.core;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.riot.system.IRIResolver ;
import org.apache.jena.shared.PrefixMapping ;
@@ -137,7 +138,7 @@ public class Prologue
// Removal may involve regeneration of the reverse mapping
// so only do if needed.
String oldExpansion = prefixMap.getNsPrefixURI(prefix) ;
- if ( Lib.equal(oldExpansion, expansion) )
+ if ( Objects.equals(oldExpansion, expansion) )
return ;
if ( oldExpansion != null )
prefixMap.removeNsPrefix(prefix) ;
@@ -199,7 +200,7 @@ public class Prologue
// Prologue are mutable and superclasses so .equals is left as the default.
String base1 = explicitlySetBaseURI() ? getBaseURI() : null ;
String base2 = other.explicitlySetBaseURI() ? other.getBaseURI() : null ;
- if (! Lib.equal(base1, base2) )
+ if (! Objects.equals(base1, base2) )
return false ;
if ( getPrefixMapping() == null && other.getPrefixMapping() == null )
return true ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
index 8720fc6..f21266d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.core;
-import static org.apache.jena.atlas.lib.Lib.equal ;
+import java.util.Objects;
+
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.graph.Triple ;
@@ -138,7 +139,7 @@ public class Quad
public boolean isUnionGraph() { return isUnionGraph(graph) ; }
/** Is it really a triple? */
- public boolean isTriple() { return equal(graph, tripleInQuad) ; }
+ public boolean isTriple() { return Objects.equals(graph, tripleInQuad) ; }
/** Is this quad a legal data quad (legal data triple, IRI for graph) */
public boolean isLegalAsData()
@@ -190,7 +191,7 @@ public class Quad
return false ;
Quad quad = (Quad)other ;
- if ( ! equal(graph, quad.graph) ) return false ;
+ if ( ! Objects.equals(graph, quad.graph) ) return false ;
if ( ! subject.equals(quad.subject) ) return false ;
if ( ! predicate.equals(quad.predicate) ) return false ;
if ( ! object.equals(quad.object) ) return false ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/core/QueryCompare.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/QueryCompare.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/QueryCompare.java
index b64209e..a2c2ea9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/QueryCompare.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/QueryCompare.java
@@ -18,6 +18,8 @@
package org.apache.jena.sparql.core ;
+import java.util.Objects;
+
import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.query.Query ;
import org.apache.jena.query.QueryVisitor ;
@@ -171,7 +173,7 @@ public class QueryCompare implements QueryVisitor
private void check(String msg, Object obj1, Object obj2)
{
- check(msg, Lib.equal(obj1,obj2)) ;
+ check(msg, Objects.equals(obj1,obj2)) ;
}
private void check(String msg, boolean b)
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/core/VarExprList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/VarExprList.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/VarExprList.java
index a45e154..3e641f7 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/VarExprList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/VarExprList.java
@@ -22,8 +22,8 @@ import java.util.ArrayList ;
import java.util.HashMap ;
import java.util.List ;
import java.util.Map ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.ARQInternalErrorException ;
import org.apache.jena.sparql.engine.binding.Binding ;
@@ -141,7 +141,7 @@ public class VarExprList
if ( ! ( other instanceof VarExprList ) )
return false ;
VarExprList x = (VarExprList)other ;
- return Lib.equal(vars, x.vars) && Lib.equal(exprs, x.exprs) ;
+ return Objects.equals(vars, x.vars) && Objects.equals(exprs, x.exprs) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingBase.java
index e16e786..cc024b8 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/binding/BindingBase.java
@@ -19,9 +19,9 @@
package org.apache.jena.sparql.engine.binding;
import java.util.Iterator ;
+import java.util.Objects;
import org.apache.jena.atlas.iterator.IteratorConcat ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.util.FmtUtils ;
@@ -219,7 +219,7 @@ abstract public class BindingBase implements Binding
Var var = iter1.next() ;
Node node1 = bind1.get(var) ;
Node node2 = bind2.get(var) ;
- if ( ! Lib.equal(node1, node2) )
+ if ( ! Objects.equals(node1, node2) )
return false ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
index 5f1794e..24a2fa5 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
@@ -18,8 +18,7 @@
package org.apache.jena.sparql.expr;
-import static org.apache.jena.atlas.lib.Lib.equal ;
-
+import java.util.Objects;
import java.util.function.Function;
import org.apache.jena.atlas.lib.Lib ;
@@ -80,9 +79,9 @@ public class ExprAggregator extends ExprNode
if ( ! ( other instanceof ExprAggregator ) )
return false ;
ExprAggregator agg = (ExprAggregator)other ;
- if ( ! equal(var, agg.var) )
+ if ( ! Objects.equals(var, agg.var) )
return false ;
- return equal(aggregator, agg.aggregator) ;
+ return Objects.equals(aggregator, agg.aggregator) ;
}
// Ensure no confusion - in an old design, an ExprAggregator was a subclass of ExprVar.
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java
index a9a8f59..f568d89 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java
@@ -20,8 +20,8 @@ package org.apache.jena.sparql.expr;
import java.util.ArrayList ;
import java.util.List ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.sparql.serializer.SerializationContext ;
/** A function in the expression hierarchy.
@@ -98,7 +98,7 @@ public abstract class ExprFunction extends ExprNode
{
Expr a1 = this.getArg(i) ;
Expr a2 = ex.getArg(i) ;
- if ( ! Lib.equal(a1, a2) )
+ if ( ! Objects.equals(a1, a2) )
return false ;
}
return true ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggCustom.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggCustom.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggCustom.java
index cc09301..db3c0f9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggCustom.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggCustom.java
@@ -19,9 +19,9 @@
package org.apache.jena.sparql.expr.aggregate;
import java.util.Locale ;
+import java.util.Objects;
import org.apache.jena.atlas.io.IndentedLineBuffer ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.QueryExecException ;
import org.apache.jena.sparql.engine.binding.Binding ;
@@ -142,9 +142,9 @@ public class AggCustom extends AggregatorBase
return false ;
AggCustom agg = (AggCustom)other ;
return
- Lib.equal(this.iri, agg.iri) &&
+ Objects.equals(this.iri, agg.iri) &&
this.isDistinct == agg.isDistinct &&
- Lib.equal(this.getExprList(), agg.getExprList()) ;
+ Objects.equals(this.getExprList(), agg.getExprList()) ;
}
public static Accumulator createAccNull() { return new AccCustom() ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcat.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcat.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcat.java
index 9d076d1..700b18c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcat.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcat.java
@@ -18,8 +18,9 @@
package org.apache.jena.sparql.expr.aggregate;
+import java.util.Objects;
+
import org.apache.jena.atlas.io.IndentedLineBuffer ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.engine.binding.Binding ;
@@ -129,7 +130,7 @@ public class AggGroupConcat extends AggregatorBase
if ( ! ( other instanceof AggGroupConcat ) )
return false ;
AggGroupConcat agg = (AggGroupConcat)other ;
- return Lib.equal(agg.getSeparator(),getSeparator()) && agg.getExpr().equals(getExpr()) ;
+ return Objects.equals(agg.getSeparator(),getSeparator()) && agg.getExpr().equals(getExpr()) ;
}
// ---- Accumulator
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
index 9f99594..ad3b422 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggGroupConcatDistinct.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.expr.aggregate;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.Expr ;
@@ -80,7 +81,7 @@ public class AggGroupConcatDistinct extends AggregatorBase
if ( ! ( other instanceof AggGroupConcatDistinct ) )
return false ;
AggGroupConcatDistinct agg = (AggGroupConcatDistinct)other ;
- return Lib.equal(agg.getSeparator(),getSeparator()) && agg.getExpr().equals(getExpr()) ;
+ return Objects.equals(agg.getSeparator(),getSeparator()) && agg.getExpr().equals(getExpr()) ;
}
// ---- Accumulator
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMax.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMax.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMax.java
index acf31a5..539a1ab 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMax.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMax.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.expr.aggregate;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
@@ -39,6 +40,6 @@ public class AggMax extends AggMaxBase
if ( ! ( other instanceof AggMax ) )
return false ;
AggMax agg = (AggMax)other ;
- return Lib.equal(exprList, agg.exprList) ;
+ return Objects.equals(exprList, agg.exprList) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMaxDistinct.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMaxDistinct.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMaxDistinct.java
index f3c576a..c994c2c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMaxDistinct.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMaxDistinct.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.expr.aggregate;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
@@ -39,7 +40,7 @@ public class AggMaxDistinct extends AggMaxBase
if ( ! ( other instanceof AggMaxDistinct ) )
return false ;
AggMaxDistinct agg = (AggMaxDistinct)other ;
- return Lib.equal(exprList, agg.exprList) ;
+ return Objects.equals(exprList, agg.exprList) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMin.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMin.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMin.java
index f5a567f..79e634a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMin.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMin.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.expr.aggregate;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
@@ -39,6 +40,6 @@ public class AggMin extends AggMinBase
if ( ! ( other instanceof AggMin ) )
return false ;
AggMin agg = (AggMin)other ;
- return Lib.equal(exprList, agg.exprList) ;
+ return Objects.equals(exprList, agg.exprList) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMinDistinct.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMinDistinct.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMinDistinct.java
index c7c388c..be774d7 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMinDistinct.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggMinDistinct.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.expr.aggregate;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
@@ -38,6 +39,6 @@ public class AggMinDistinct extends AggMinBase
if ( ! ( other instanceof AggMinDistinct ) )
return false ;
AggMinDistinct agg = (AggMinDistinct)other ;
- return Lib.equal(exprList, agg.exprList) ;
+ return Objects.equals(exprList, agg.exprList) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggSample.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggSample.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggSample.java
index 912ff39..c153af0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggSample.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggSample.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.expr.aggregate;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.Expr ;
@@ -52,7 +53,7 @@ public class AggSample extends AggregatorBase
if ( ! ( other instanceof AggSample ) )
return false ;
AggSample agg = (AggSample)other ;
- return Lib.equal(this.exprList, agg.exprList) ;
+ return Objects.equals(this.exprList, agg.exprList) ;
}
// ---- Accumulator
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
index 94314c2..34ba4fb 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
@@ -21,6 +21,7 @@ package org.apache.jena.sparql.graph;
import java.util.ArrayList ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.Objects;
import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
@@ -39,8 +40,6 @@ import org.apache.jena.sparql.engine.binding.BindingMap ;
import org.apache.jena.sparql.expr.Expr ;
import org.apache.jena.sparql.expr.ExprList ;
-import static org.apache.jena.atlas.lib.Lib.equal ;
-
public class NodeTransformLib
{
/** Do a node->node conversion of an Op - return original BGP for "no change" */
@@ -180,7 +179,7 @@ public class NodeTransformLib
Var v2 = (Var)nodeTransform.apply(v) ;
Expr expr2 = ( expr != null ) ? transform(nodeTransform, expr) : null ;
- if ( ! equal(v, v2) || ! equal(expr, expr2) )
+ if ( ! Objects.equals(v, v2) || ! Objects.equals(expr, expr2) )
changed = true ;
varExprList2.add(v2, expr2) ;
}
@@ -197,7 +196,7 @@ public class NodeTransformLib
{
Var v2 = (Var)nodeTransform.apply(v) ;
varList2.add(v2) ;
- if ( !equal(v, v2) )
+ if ( !Objects.equals(v, v2) )
changed = true ;
}
if ( ! changed )
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateLoad.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateLoad.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateLoad.java
index fc0a1dd..efb605b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateLoad.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateLoad.java
@@ -18,7 +18,8 @@
package org.apache.jena.sparql.modify.request;
-import org.apache.jena.atlas.lib.Lib ;
+import java.util.Objects;
+
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.sparql.util.Iso ;
@@ -73,7 +74,7 @@ public class UpdateLoad extends Update
UpdateLoad other = (UpdateLoad)obj ;
return
silent == other.silent &&
- Lib.equal(source, other.source) &&
+ Objects.equals(source, other.source) &&
Iso.nodeIso(dest, other.dest, isoMap) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java
index c2db208..465f359 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/path/PathLib.java
@@ -21,10 +21,10 @@ package org.apache.jena.sparql.path;
import java.util.ArrayList ;
import java.util.Iterator ;
import java.util.List ;
+import java.util.Objects;
import java.util.function.Predicate;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.ARQInternalErrorException ;
@@ -247,7 +247,7 @@ public class PathLib
if ( ! subject.isConcrete() || !object.isConcrete() )
throw new ARQInternalErrorException("Non concrete node for existsPath evaluation") ;
Iterator<Node> iter = PathEval.eval(graph, subject, path, execCxt.getContext()) ;
- Predicate<Node> filter = node -> Lib.equal(node, object);
+ Predicate<Node> filter = node -> Objects.equals(node, object);
// See if we got to the node we're interested in finishing at.
iter = Iter.filter(iter, filter) ;
long x = Iter.count(iter) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
index 99413a5..d0dfa27 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
@@ -19,8 +19,8 @@
package org.apache.jena.sparql.resultset;
import java.util.* ;
+
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.* ;
import org.apache.jena.rdf.model.Model ;
@@ -333,7 +333,7 @@ public class ResultSetCompare
private static class EqualityTestExact implements EqualityTest {
@Override
public boolean equal(Node n1, Node n2) {
- return Lib.equal(n1, n2) ;
+ return Objects.equals(n1, n2) ;
}
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
index d9c14ab..73756dc 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Action.java
@@ -21,6 +21,7 @@ package org.apache.jena.atlas.iterator;
import java.util.function.Consumer;
/**
+ * @deprecated
* Prefer {@link Consumer}
*/
@Deprecated
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
index 689f5bc..8545eab 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Filter.java
@@ -21,6 +21,7 @@ package org.apache.jena.atlas.iterator;
import java.util.function.Predicate;
/**
+ * @deprecated
* Prefer {@link Predicate}.
*/
@FunctionalInterface
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
index e2bc4b4..f4c0ddf 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/FilterDistinctAdjacent.java
@@ -18,10 +18,9 @@
package org.apache.jena.atlas.iterator;
+import java.util.Objects;
import java.util.function.Predicate;
-import org.apache.jena.atlas.lib.Lib ;
-
public class FilterDistinctAdjacent<T> implements Predicate<T>
{
private boolean isSet = false ;
@@ -30,7 +29,7 @@ public class FilterDistinctAdjacent<T> implements Predicate<T>
@Override
public boolean test(T item)
{
- if ( isSet && Lib.equal(last, item) )
+ if ( isSet && Objects.equals(last, item) )
return false ;
last = item ;
isSet = true ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
index 70a8f26..2c97ca7 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/IteratorArray.java
@@ -21,10 +21,10 @@ package org.apache.jena.atlas.iterator;
import java.util.Arrays;
import java.util.Iterator ;
import java.util.NoSuchElementException ;
-import java.util.Spliterator;
/** Iterator over a Java base array */
/**
+ * @deprecated
* Prefer {@link Arrays#asList(Object...)} with {@link Iterable#iterator()} or
* {@link Arrays#spliterator(Object[])} or {@link Arrays#stream(Object[])}
*/
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
index 67fc3af..2a070ab 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Transform.java
@@ -21,6 +21,7 @@ package org.apache.jena.atlas.iterator;
import java.util.function.Function;
/**
+ * @deprecated
* Prefer {@link Function}.
*/
@Deprecated
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
index e2f6dfd..2b6002a 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Closeable.java
@@ -21,7 +21,7 @@ package org.apache.jena.atlas.lib;
/** Close this object.
* This form does not allow Exceptions (it does allow RuntimeExceptions).
*/
-public interface Closeable extends java.io.Closeable
+public interface Closeable
{
public void close() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
index a866d59..181fe88 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Lib.java
@@ -37,6 +37,7 @@ public class Lib
}
/** Return true if obj1 and obj are both null or are .equals, else return false
+ * @deprecated
* Prefer {@link Objects#equal(Object, Object)}
*/
@Deprecated
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java
index 4f3b055..b472f3d 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Pair.java
@@ -21,6 +21,8 @@ package org.apache.jena.atlas.lib;
import static org.apache.jena.atlas.lib.Lib.hashCodeObject ;
import static org.apache.jena.atlas.lib.StrUtils.str ;
+import java.util.Objects;
+
public class Pair<A, B>
{
public static <L, R> Pair<L,R> create(L x, R y) { return new Pair<>(x,y) ; }
@@ -54,7 +56,7 @@ public class Pair<A, B>
if( ! ( other instanceof Pair<?,?> ) ) return false ;
Pair<?,?> p2 = (Pair<?,?>)other ;
- return Lib.equal(car(), p2.car()) && Lib.equal(cdr(), p2.cdr()) ;
+ return Objects.equals(car(), p2.car()) && Objects.equals(cdr(), p2.cdr()) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
index ffa6e0a..31436b1 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java
@@ -19,12 +19,12 @@
package org.apache.jena.atlas.lib.cache;
import java.util.Iterator ;
+import java.util.Objects;
import java.util.concurrent.Callable ;
import java.util.function.BiConsumer;
import org.apache.jena.atlas.iterator.SingletonIterator ;
import org.apache.jena.atlas.lib.Cache ;
-import org.apache.jena.atlas.lib.Lib ;
/** A one-slot cache.*/
public class Cache1<K, V> implements Cache<K,V>
@@ -85,7 +85,7 @@ public class Cache1<K, V> implements Cache<K,V>
@Override
public void put(K key, V thing)
{
- if ( Lib.equal(cacheKey, key) && Lib.equal(cacheValue, thing) )
+ if ( Objects.equals(cacheKey, key) && Objects.equals(cacheValue, thing) )
// No change.
return ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
index 2ee8248..995c5d7 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
@@ -23,10 +23,10 @@ import static org.apache.jena.fuseki.Fuseki.serverLog ;
import java.io.File ;
import java.io.InputStream ;
import java.util.List ;
+import java.util.Objects;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.atlas.logging.LogCtl ;
import org.apache.jena.fuseki.mgt.ManagementServer ;
@@ -47,6 +47,7 @@ import org.apache.jena.tdb.sys.Names ;
import org.apache.jena.tdb.transaction.TransactionManager ;
import org.eclipse.jetty.server.Server ;
import org.slf4j.Logger ;
+
import arq.cmd.ArgDecl ;
import arq.cmd.CmdException ;
import arq.cmdline.CmdARQ ;
@@ -289,7 +290,7 @@ public class FusekiCmd extends CmdARQ
{
String dir = getValue(argTDB) ;
- if ( Lib.equal(dir, Names.memName) ) {
+ if ( Objects.equals(dir, Names.memName) ) {
log.info("TDB dataset: in-memory") ;
} else {
if ( ! FileOps.exists(dir) )
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
index 4278426..35daf70 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
@@ -19,7 +19,6 @@
package org.apache.jena.fuseki.servlets;
import static java.lang.String.format ;
-import static org.apache.jena.atlas.lib.Lib.equal ;
import static org.apache.jena.fuseki.servlets.ServletBase.errorBadRequest ;
import static org.apache.jena.fuseki.servlets.ServletBase.errorOccurred ;
import static org.apache.jena.fuseki.servlets.ServletBase.log ;
@@ -27,6 +26,7 @@ import static org.apache.jena.fuseki.servlets.ServletBase.log ;
import java.io.IOException ;
import java.util.HashMap ;
import java.util.Map ;
+import java.util.Objects;
import javax.servlet.ServletOutputStream ;
import javax.servlet.http.HttpServletRequest ;
@@ -129,7 +129,7 @@ public class ResponseResultSet
// Stylesheet - change to application/xml.
final String stylesheetURL = ResponseOps.paramStylesheet(request) ;
- if ( stylesheetURL != null && equal(serializationType,WebContent.contentTypeResultsXML) )
+ if ( stylesheetURL != null && Objects.equals(serializationType,WebContent.contentTypeResultsXML) )
contentType = WebContent.contentTypeXML ;
// Force to text/plain?
@@ -139,17 +139,17 @@ public class ResponseResultSet
// Better : dispatch on MediaType
// Fuseki2 uses the SPARQL parser/write registry.
- if ( equal(serializationType, WebContent.contentTypeResultsXML) )
+ if ( Objects.equals(serializationType, WebContent.contentTypeResultsXML) )
sparqlXMLOutput(action, contentType, resultSet, stylesheetURL, booleanResult) ;
- else if ( equal(serializationType, WebContent.contentTypeResultsJSON) )
+ else if ( Objects.equals(serializationType, WebContent.contentTypeResultsJSON) )
jsonOutput(action, contentType, resultSet, booleanResult) ;
- else if ( equal(serializationType, WebContent.contentTypeTextPlain) )
+ else if ( Objects.equals(serializationType, WebContent.contentTypeTextPlain) )
textOutput(action, contentType, resultSet, qPrologue, booleanResult) ;
- else if ( equal(serializationType, WebContent.contentTypeTextCSV) )
+ else if ( Objects.equals(serializationType, WebContent.contentTypeTextCSV) )
csvOutput(action, contentType, resultSet, booleanResult) ;
- else if (equal(serializationType, WebContent.contentTypeTextTSV) )
+ else if (Objects.equals(serializationType, WebContent.contentTypeTextTSV) )
tsvOutput(action, contentType, resultSet, booleanResult) ;
- else if (equal(serializationType, WebContent.contentTypeResultsThrift) )
+ else if (Objects.equals(serializationType, WebContent.contentTypeResultsThrift) )
thriftOutput(action, contentType, resultSet, booleanResult) ;
else
errorBadRequest("Can't determine output serialization: "+serializationType) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
index 70a02e0..f6488c5 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
@@ -29,13 +29,14 @@ import java.util.ArrayList ;
import java.util.HashMap ;
import java.util.List ;
import java.util.Map ;
+import java.util.Objects;
import arq.cmd.CmdException ;
+
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.DS ;
import org.apache.jena.atlas.lib.FileOps ;
import org.apache.jena.atlas.lib.InternalErrorException ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.fuseki.Fuseki ;
import org.apache.jena.fuseki.FusekiConfigException ;
import org.apache.jena.fuseki.build.Builder ;
@@ -256,7 +257,7 @@ public class FusekiServer
Fuseki.configLog.info("Template file: " + params.templateFile) ;
String dir = params.params.get(Template.DIR) ;
if ( dir != null ) {
- if ( Lib.equal(dir, Names.memName) ) {
+ if ( Objects.equals(dir, Names.memName) ) {
Fuseki.configLog.info("TDB dataset: in-memory") ;
} else {
if ( !FileOps.exists(dir) )
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
index 2ab529b..e22ab13 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
@@ -19,7 +19,6 @@
package org.apache.jena.fuseki.servlets;
import static java.lang.String.format ;
-import static org.apache.jena.atlas.lib.Lib.equal ;
import static org.apache.jena.riot.WebContent.charsetUTF8 ;
import static org.apache.jena.riot.WebContent.contentTypeRDFXML ;
import static org.apache.jena.riot.WebContent.contentTypeResultsJSON ;
@@ -33,6 +32,7 @@ import static org.apache.jena.riot.WebContent.contentTypeXML ;
import java.io.IOException ;
import java.util.HashMap ;
import java.util.Map ;
+import java.util.Objects;
import javax.servlet.ServletOutputStream ;
import javax.servlet.http.HttpServletRequest ;
@@ -134,7 +134,7 @@ public class ResponseResultSet
// Stylesheet - change to application/xml.
final String stylesheetURL = ResponseOps.paramStylesheet(request) ;
- if ( stylesheetURL != null && equal(serializationType,contentTypeResultsXML) )
+ if ( stylesheetURL != null && Objects.equals(serializationType,contentTypeResultsXML) )
contentType = contentTypeXML ;
// Force to text/plain?
@@ -143,17 +143,17 @@ public class ResponseResultSet
contentType = contentTypeTextPlain ;
// Better : dispatch on MediaType
- if ( equal(serializationType, contentTypeResultsXML) )
+ if ( Objects.equals(serializationType, contentTypeResultsXML) )
sparqlXMLOutput(action, contentType, resultSet, stylesheetURL, booleanResult) ;
- else if ( equal(serializationType, contentTypeResultsJSON) )
+ else if ( Objects.equals(serializationType, contentTypeResultsJSON) )
jsonOutput(action, contentType, resultSet, booleanResult) ;
- else if ( equal(serializationType, contentTypeTextPlain) )
+ else if ( Objects.equals(serializationType, contentTypeTextPlain) )
textOutput(action, contentType, resultSet, qPrologue, booleanResult) ;
- else if ( equal(serializationType, contentTypeTextCSV) )
+ else if ( Objects.equals(serializationType, contentTypeTextCSV) )
csvOutput(action, contentType, resultSet, booleanResult) ;
- else if (equal(serializationType, contentTypeTextTSV) )
+ else if (Objects.equals(serializationType, contentTypeTextTSV) )
tsvOutput(action, contentType, resultSet, booleanResult) ;
- else if (equal(serializationType, WebContent.contentTypeResultsThrift) )
+ else if (Objects.equals(serializationType, WebContent.contentTypeResultsThrift) )
thriftOutput(action, contentType, resultSet, booleanResult) ;
else
ServletOps.errorBadRequest("Can't determine output serialization: "+serializationType) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-sdb/src/main/java/org/apache/jena/sdb/util/Pair.java
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/java/org/apache/jena/sdb/util/Pair.java b/jena-sdb/src/main/java/org/apache/jena/sdb/util/Pair.java
index 5228e98..acd5abe 100644
--- a/jena-sdb/src/main/java/org/apache/jena/sdb/util/Pair.java
+++ b/jena-sdb/src/main/java/org/apache/jena/sdb/util/Pair.java
@@ -20,7 +20,8 @@ package org.apache.jena.sdb.util;
import static org.apache.jena.atlas.lib.Lib.hashCodeObject ;
import static org.apache.jena.atlas.lib.StrUtils.str ;
-import org.apache.jena.atlas.lib.Lib ;
+
+import java.util.Objects;
public class Pair<A, B>
{
@@ -53,7 +54,7 @@ public class Pair<A, B>
if( ! ( other instanceof Pair<?,?> ) ) return false ;
Pair<?,?> p2 = (Pair<?,?>)other ;
- return Lib.equal(car(), p2.car()) && Lib.equal(cdr(), p2.cdr()) ;
+ return Objects.equals(car(), p2.car()) && Objects.equals(cdr(), p2.cdr()) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/Location.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/Location.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/Location.java
index 780ec0d..a012a5c 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/Location.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/Location.java
@@ -20,8 +20,8 @@ package org.apache.jena.tdb.base.file ;
import java.io.File ;
import java.io.IOException ;
+import java.util.Objects;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.tdb.sys.Names ;
/**
@@ -256,7 +256,7 @@ public class Location {
if ( isMemUnique )
return false ;
- return Lib.equal(pathname, other.pathname) ;
+ return Objects.equals(pathname, other.pathname) ;
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/MetaFile.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/MetaFile.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/MetaFile.java
index 66d979a..4062f01 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/MetaFile.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/MetaFile.java
@@ -25,6 +25,7 @@ import java.io.IOException ;
import java.io.InputStream ;
import java.io.PrintStream ;
import java.util.Comparator ;
+import java.util.Objects;
import java.util.Properties ;
import java.util.SortedSet ;
import java.util.TreeSet ;
@@ -160,7 +161,7 @@ public class MetaFile implements Sync, Closeable
/** Test whether a property has a value. Null tests equal to not present. */
public boolean propertyEquals(String key, String value)
{
- return Lib.equal(getProperty(key), value) ;
+ return Objects.equals(getProperty(key), value) ;
}
/** Set property if not already set. */
@@ -201,7 +202,7 @@ public class MetaFile implements Sync, Closeable
{
String value = getProperty(key) ;
- if ( ! Lib.equal(value, value) )
+ if ( ! Objects.equals(value, value) )
inconsistent(key, value, expected) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java
index 3196182..9662c03 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdNodeTableBuilder.java
@@ -23,12 +23,12 @@ import java.io.FileOutputStream ;
import java.io.OutputStream ;
import java.util.Arrays ;
import java.util.List ;
+import java.util.Objects;
import org.apache.jena.atlas.AtlasException ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.DateTimeUtils ;
import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.logging.LogCtl ;
import org.apache.jena.atlas.logging.ProgressLogger ;
import org.apache.jena.graph.Node ;
@@ -50,6 +50,7 @@ import org.apache.jena.tdb.store.nodetable.NodeTable ;
import org.apache.jena.tdb.store.nodetupletable.NodeTupleTable ;
import org.apache.jena.tdb.sys.Names ;
import org.slf4j.Logger ;
+
import tdb.cmdline.CmdTDB ;
import arq.cmd.ArgDecl ;
import arq.cmd.CmdException ;
@@ -107,7 +108,7 @@ public class CmdNodeTableBuilder extends CmdGeneral
if ( dataFileQuads == null )
dataFileQuads = location.getPath("quads", "tmp") ;
- if ( Lib.equal(dataFileTriples, dataFileQuads) )
+ if ( Objects.equals(dataFileTriples, dataFileQuads) )
cmdError("Triples and Quads work files are the same") ;
if ( super.contains(argNoStats) )
http://git-wip-us.apache.org/repos/asf/jena/blob/6711901a/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java b/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java
index c16180c..af70467 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java
@@ -20,10 +20,10 @@ package org.apache.jena.tdb.sys;
import java.util.HashMap ;
import java.util.Map ;
+import java.util.Objects;
import java.util.TreeMap ;
import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.lib.Lib ;
import org.apache.jena.atlas.lib.Tuple ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.tdb.TDBException ;
@@ -182,7 +182,7 @@ public class FileRef
if ( id != other.id )
return false ;
// Should not be needed.
- if ( ! Lib.equal(filename, other.filename) ) return false ;
+ if ( ! Objects.equals(filename, other.filename) ) return false ;
return true ;
}
}
[29/50] [abbrv] jena git commit: JENA-934: Skip a prefix of the empty
string - not allowed in JSON-LD
Posted by cl...@apache.org.
JENA-934: Skip a prefix of the empty string - not allowed in JSON-LD
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/bc438d84
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/bc438d84
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/bc438d84
Branch: refs/heads/add-contract-tests
Commit: bc438d84975c7d2d480ba29d30678f467030166f
Parents: 2257377
Author: Andy Seaborne <an...@apache.org>
Authored: Tue May 5 18:39:57 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue May 5 18:41:23 2015 +0100
----------------------------------------------------------------------
.../org/apache/jena/riot/out/JsonLDWriter.java | 3 +
.../jena/riot/system/TestJsonLDReadWrite.java | 7 +-
jena-arq/testing/RIOT/jsonld/graph1.jsonld | 108 ++++++++++---------
jena-arq/testing/RIOT/jsonld/graph2.jsonld | 63 +++++++++++
jena-arq/testing/RIOT/jsonld/graph2.ttl | 15 +++
5 files changed, 147 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/bc438d84/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java b/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
index dbd8fff..c7ed85a 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/out/JsonLDWriter.java
@@ -115,6 +115,9 @@ public class JsonLDWriter extends WriterDatasetRIOTBase
Map<String, IRI> pmap = prefixMap.getMapping() ;
for ( Entry<String, IRI> e : pmap.entrySet() ) {
String key = e.getKey() ;
+ if ( key.isEmpty() )
+ // Prefix "" is not allowed in JSON-LD
+ continue ;
IRI iri = e.getValue() ;
ctx.put(e.getKey(), e.getValue().toString()) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/bc438d84/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java b/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
index 3f3e949..b83e666 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/system/TestJsonLDReadWrite.java
@@ -43,9 +43,13 @@ public class TestJsonLDReadWrite extends BaseTest
@Test public void read_g01() { graphJ2R("graph1.jsonld", "graph1.ttl") ; }
+ @Test public void read_g02() { graphJ2R("graph2.jsonld", "graph2.ttl") ; }
+
@Test public void read_ds01() { datasetJ2R("graph1.jsonld", "graph1.ttl") ; }
- @Test public void read_ds02() { datasetJ2R("dataset1.jsonld", "dataset1.trig") ; }
+ @Test public void read_ds02() { datasetJ2R("graph2.jsonld", "graph2.ttl") ; }
+
+ @Test public void read_ds03() { datasetJ2R("dataset1.jsonld", "dataset1.trig") ; }
private void graphJ2R(String inFile, String outFile)
{
@@ -144,6 +148,7 @@ public class TestJsonLDReadWrite extends BaseTest
if (namespaces == null) return;
for (String prefix : namespaces.keySet()) {
+ if ( ! prefix.isEmpty() )
Assert.assertEquals("Model does contain expected namespace " + prefix + ": <" + namespaces.get(prefix) + ">", namespaces.get(prefix), m.getNsPrefixURI(prefix));
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/bc438d84/jena-arq/testing/RIOT/jsonld/graph1.jsonld
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/jsonld/graph1.jsonld b/jena-arq/testing/RIOT/jsonld/graph1.jsonld
index 0f092dc..9b60955 100644
--- a/jena-arq/testing/RIOT/jsonld/graph1.jsonld
+++ b/jena-arq/testing/RIOT/jsonld/graph1.jsonld
@@ -1,50 +1,62 @@
-[ {
- "@id" : "_:b0",
- "http://example/r" : [ {
- "@value" : "4.5",
- "@type" : "http://www.w3.org/2001/XMLSchema#decimal"
- } ]
-}, {
- "@id" : "_:b3"
-}, {
- "@id" : "http://example/a"
-}, {
- "@id" : "http://example/s",
- "http://example/p" : [ {
- "@value" : 2
+{
+ "@graph" : [ {
+ "@id" : "_:b2",
+ "r" : "4.5"
}, {
- "@value" : 1
- } ]
-}, {
- "@id" : "http://example/s1",
- "http://example/b" : [ {
- "@id" : "http://example/a"
- } ]
-}, {
- "@id" : "http://example/s2",
- "http://example/b2" : [ {
- "@id" : "_:b3"
+ "@id" : "http://example/s",
+ "http://example/p" : [ 2, 1 ]
+ }, {
+ "@id" : "http://example/s1",
+ "b" : "http://example/a"
+ }, {
+ "@id" : "http://example/s2",
+ "b" : "http://example/a",
+ "b2" : "_:b3"
+ }, {
+ "@id" : "http://example/s3",
+ "b1" : "_:b3"
+ }, {
+ "@id" : "http://example/x1",
+ "http://example/q" : {
+ "@list" : [ "a", "b" ]
+ }
+ }, {
+ "@id" : "http://example/x2",
+ "q" : "_:b2"
} ],
- "http://example/b" : [ {
- "@id" : "http://example/a"
- } ]
-}, {
- "@id" : "http://example/s3",
- "http://example/b1" : [ {
- "@id" : "_:b3"
- } ]
-}, {
- "@id" : "http://example/x1",
- "http://example/q" : [ {
- "@list" : [ {
- "@value" : "a"
- }, {
- "@value" : "b"
- } ]
- } ]
-}, {
- "@id" : "http://example/x2",
- "http://example/q" : [ {
- "@id" : "_:b0"
- } ]
-} ]
+ "@context" : {
+ "rest" : {
+ "@id" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest",
+ "@type" : "@id"
+ },
+ "first" : {
+ "@id" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#first",
+ "@type" : "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "q" : {
+ "@id" : "http://example/q",
+ "@type" : "@id"
+ },
+ "r" : {
+ "@id" : "http://example/r",
+ "@type" : "http://www.w3.org/2001/XMLSchema#decimal"
+ },
+ "b2" : {
+ "@id" : "http://example/b2",
+ "@type" : "@id"
+ },
+ "b" : {
+ "@id" : "http://example/b",
+ "@type" : "@id"
+ },
+ "p" : {
+ "@id" : "http://example/p",
+ "@type" : "http://www.w3.org/2001/XMLSchema#integer"
+ },
+ "b1" : {
+ "@id" : "http://example/b1",
+ "@type" : "@id"
+ },
+ "xsd" : "http://www.w3.org/2001/XMLSchema#"
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/bc438d84/jena-arq/testing/RIOT/jsonld/graph2.jsonld
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/jsonld/graph2.jsonld b/jena-arq/testing/RIOT/jsonld/graph2.jsonld
new file mode 100644
index 0000000..60fbd22
--- /dev/null
+++ b/jena-arq/testing/RIOT/jsonld/graph2.jsonld
@@ -0,0 +1,63 @@
+{
+ "@graph" : [ {
+ "@id" : "_:b1",
+ "r" : "4.5"
+ }, {
+ "@id" : "http://example/s",
+ "ns:p" : [ 2, 1 ]
+ }, {
+ "@id" : "http://example/s1",
+ "b" : "ns:a"
+ }, {
+ "@id" : "http://example/s2",
+ "b2" : "_:b2",
+ "b" : "ns:a"
+ }, {
+ "@id" : "http://example/s3",
+ "b1" : "_:b2"
+ }, {
+ "@id" : "http://example/x1",
+ "ns:q" : {
+ "@list" : [ "a", "b" ]
+ }
+ }, {
+ "@id" : "http://example/x2",
+ "q" : "_:b1"
+ } ],
+ "@context" : {
+ "rest" : {
+ "@id" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest",
+ "@type" : "@id"
+ },
+ "first" : {
+ "@id" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#first",
+ "@type" : "http://www.w3.org/2001/XMLSchema#string"
+ },
+ "q" : {
+ "@id" : "http://example/q",
+ "@type" : "@id"
+ },
+ "b2" : {
+ "@id" : "http://example/b2",
+ "@type" : "@id"
+ },
+ "b" : {
+ "@id" : "http://example/ns#b",
+ "@type" : "@id"
+ },
+ "r" : {
+ "@id" : "http://example/r",
+ "@type" : "http://www.w3.org/2001/XMLSchema#decimal"
+ },
+ "p" : {
+ "@id" : "http://example/ns#p",
+ "@type" : "http://www.w3.org/2001/XMLSchema#integer"
+ },
+ "b1" : {
+ "@id" : "http://example/b1",
+ "@type" : "@id"
+ },
+ "ns" : "http://example/ns#",
+ "xsd" : "http://www.w3.org/2001/XMLSchema#"
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/bc438d84/jena-arq/testing/RIOT/jsonld/graph2.ttl
----------------------------------------------------------------------
diff --git a/jena-arq/testing/RIOT/jsonld/graph2.ttl b/jena-arq/testing/RIOT/jsonld/graph2.ttl
new file mode 100644
index 0000000..4a3277c
--- /dev/null
+++ b/jena-arq/testing/RIOT/jsonld/graph2.ttl
@@ -0,0 +1,15 @@
+@prefix : <http://example/> .
+@prefix ns: <http://example/ns#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+:s ns:p 1 , 2 .
+
+:x1 ns:q ("a" "b") .
+
+:s1 ns:b ns:a .
+:s2 ns:b ns:a .
+
+:s3 :b1 _:aa .
+:s2 :b2 _:aa .
+
+:x2 :q [ :r 4.5 ] .
[40/50] [abbrv] jena git commit: Rename in NodeFactory:
createUncachedLiteral -> createLiteralByValue.
Posted by cl...@apache.org.
Rename in NodeFactory: createUncachedLiteral -> createLiteralByValue.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d2da6f7a
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d2da6f7a
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d2da6f7a
Branch: refs/heads/add-contract-tests
Commit: d2da6f7a95e2bdaeb0fb92cd637813b0264f13b4
Parents: 1119bf8
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 8 14:06:33 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 8 14:06:33 2015 +0100
----------------------------------------------------------------------
.../apache/jena/sparql/util/TestFmtUtils.java | 10 ++---
.../java/org/apache/jena/graph/NodeFactory.java | 39 ++++++++++++++++++--
.../jena/graph/impl/LiteralLabelFactory.java | 6 +--
.../apache/jena/rdf/model/ResourceFactory.java | 2 +-
.../apache/jena/rdf/model/impl/ModelCom.java | 6 +--
.../apache/jena/reasoner/rulesys/Functor.java | 2 +-
.../jena/graph/test/TestLiteralLabels.java | 10 ++---
.../org/apache/jena/graph/test/TestNode.java | 4 +-
.../jena/graph/test/TestTypedLiterals.java | 2 +-
9 files changed, 57 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java b/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java
index b801e93..1e5b033 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/util/TestFmtUtils.java
@@ -101,31 +101,31 @@ public class TestFmtUtils
@Test
public void stringLiteral() throws Exception {
- Node_Literal nl = (Node_Literal)NodeFactory.createUncachedLiteral("abc", "no", new XSDDatatype("string")) ;
+ Node_Literal nl = (Node_Literal)NodeFactory.createLiteral("abc", "no", new XSDDatatype("string")) ;
assertEquals("\"abc\"@no", FmtUtils.stringForLiteral(nl, getContext())) ;
}
@Test
public void integerLiteral() throws Exception {
- Node_Literal nl = (Node_Literal)NodeFactory.createUncachedLiteral("2", new XSDDatatype("int")) ;
+ Node_Literal nl = (Node_Literal)NodeFactory.createLiteral("2", new XSDDatatype("int")) ;
assertEquals("\"2\"^^<http://www.w3.org/2001/XMLSchema#int>", FmtUtils.stringForLiteral(nl, getContext())) ;
}
@Test
public void doubleLiteral() throws Exception {
- Node_Literal nl = (Node_Literal)NodeFactory.createUncachedLiteral("2.1e2", new XSDDatatype("double")) ;
+ Node_Literal nl = (Node_Literal)NodeFactory.createLiteral("2.1e2", new XSDDatatype("double")) ;
assertEquals("2.1e2", FmtUtils.stringForLiteral(nl, getContext())) ;
}
@Test
public void decimalLiteral() throws Exception {
- Node_Literal nl = (Node_Literal)NodeFactory.createUncachedLiteral("2.4", new XSDDatatype("decimal")) ;
+ Node_Literal nl = (Node_Literal)NodeFactory.createLiteral("2.4", new XSDDatatype("decimal")) ;
assertEquals("2.4", FmtUtils.stringForLiteral(nl, getContext())) ;
}
@Test
public void booleanLiteral() throws Exception {
- Node_Literal nl = (Node_Literal)NodeFactory.createUncachedLiteral("false", new XSDDatatype("boolean")) ;
+ Node_Literal nl = (Node_Literal)NodeFactory.createLiteral("false", new XSDDatatype("boolean")) ;
assertEquals("false", FmtUtils.stringForLiteral(nl, getContext())) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-core/src/main/java/org/apache/jena/graph/NodeFactory.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/NodeFactory.java b/jena-core/src/main/java/org/apache/jena/graph/NodeFactory.java
index 35e9cd9..3f9951a 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/NodeFactory.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/NodeFactory.java
@@ -126,12 +126,45 @@ public class NodeFactory {
return createLiteral(LiteralLabelFactory.create(lex, dtype)) ;
}
- public static Node createUncachedLiteral(Object value, String lang, RDFDatatype dtype) throws DatatypeFormatException {
- return new Node_Literal(LiteralLabelFactory.create(value, lang, dtype)) ;
+ /** Create a Node based on the value
+ * If the value is a string we
+ * assume this is inteded to be a lexical form after all.
+ * @param value
+ * The value, mapped according to registered types.
+ * @param dtype
+ * RDF Datatype.
+ * @return Node
+ * @throws DatatypeFormatException
+ */
+ public static Node createLiteralByValue(Object value, RDFDatatype dtype) throws DatatypeFormatException {
+ return new Node_Literal(LiteralLabelFactory.createByValue(value, "", dtype)) ;
+ }
+
+ /** Create a Node based on the value
+ * If the value is a string we
+ * assume this is inteded to be a lexical form after all.
+ * @param value
+ * The value, mapped according to registered types.
+ * @param lang
+ * (optional) Language tag, if a string.
+ * @param dtype
+ * RDF Datatype.
+ * @return Node
+ * @throws DatatypeFormatException
+ */
+ public static Node createLiteralByValue(Object value, String lang, RDFDatatype dtype) throws DatatypeFormatException {
+ return new Node_Literal(LiteralLabelFactory.createByValue(value, lang, dtype)) ;
}
+ /** @deprecated To be removed: Use {@link #createLiteralByValue(Object, RDFDatatype)} */
+ @Deprecated
public static Node createUncachedLiteral(Object value, RDFDatatype dtype) throws DatatypeFormatException {
- return new Node_Literal(LiteralLabelFactory.create(value, "", dtype)) ;
+ return createLiteralByValue(value, dtype) ;
}
+ /** @deprecated To be removed: Use {@link #createLiteralByValue(Object, String, RDFDatatype)} */
+ @Deprecated
+ public static Node createUncachedLiteral(Object value, String lang, RDFDatatype dtype) throws DatatypeFormatException {
+ return createLiteralByValue(value, lang, dtype) ;
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-core/src/main/java/org/apache/jena/graph/impl/LiteralLabelFactory.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/impl/LiteralLabelFactory.java b/jena-core/src/main/java/org/apache/jena/graph/impl/LiteralLabelFactory.java
index 9f1c8ee..fbfc522 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/impl/LiteralLabelFactory.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/impl/LiteralLabelFactory.java
@@ -75,9 +75,9 @@ public class LiteralLabelFactory
*
* @param value the value of the literal
* @param lang the optional language tag, only relevant for plain literals
- * @param dtype the type of the literal, null for old style "plain" literals
+ * @param dtype the type of the literal, null for old style "plain" literals (which become xsd:string in RDF 1.1)
*/
- public static LiteralLabel create(Object value, String lang, RDFDatatype dtype) throws DatatypeFormatException {
+ public static LiteralLabel createByValue(Object value, String lang, RDFDatatype dtype) throws DatatypeFormatException {
dtype = fixDatatype(dtype, lang) ;
return new LiteralLabelImpl(value, lang, dtype) ;
}
@@ -92,7 +92,7 @@ public class LiteralLabelFactory
* Build a typed literal label from its value form using
* whatever datatype is currently registered as the the default
* representation for this java class. No language tag is supplied.
- * A plain strign becomes an xsd:string.
+ * A plain string becomes an xsd:string.
* @param value the literal value to encapsulate
*/
public static LiteralLabel createTypedLiteral(Object value) {
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-core/src/main/java/org/apache/jena/rdf/model/ResourceFactory.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/ResourceFactory.java b/jena-core/src/main/java/org/apache/jena/rdf/model/ResourceFactory.java
index 57e0bbb..b70493a 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/ResourceFactory.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/ResourceFactory.java
@@ -284,7 +284,7 @@ public class ResourceFactory {
LiteralLabel ll = null;
if (value instanceof Calendar) {
Object valuec = new XSDDateTime( (Calendar) value);
- ll = LiteralLabelFactory.create(valuec, "", XSDDatatype.XSDdateTime);
+ ll = LiteralLabelFactory.createByValue(valuec, "", XSDDatatype.XSDdateTime);
} else {
ll = LiteralLabelFactory.createTypedLiteral(value);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
index e644f55..8d25a3e 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
@@ -692,7 +692,7 @@ implements Model, PrefixMapping, Lock
@Override
public Literal createTypedLiteral(Calendar cal) {
Object value = new XSDDateTime(cal);
- LiteralLabel ll = LiteralLabelFactory.create(value, "", XSDDatatype.XSDdateTime);
+ LiteralLabel ll = LiteralLabelFactory.createByValue(value, "", XSDDatatype.XSDdateTime);
return new LiteralImpl(NodeFactory.createLiteral(ll), this);
}
@@ -720,7 +720,7 @@ implements Model, PrefixMapping, Lock
*/
@Override
public Literal createTypedLiteral(Object value, RDFDatatype dtype) {
- LiteralLabel ll = LiteralLabelFactory.create(value, "", dtype);
+ LiteralLabel ll = LiteralLabelFactory.createByValue(value, "", dtype);
return new LiteralImpl( NodeFactory.createLiteral(ll), this );
}
@@ -749,7 +749,7 @@ implements Model, PrefixMapping, Lock
@Override
public Literal createTypedLiteral(Object value, String typeURI) {
RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(typeURI);
- LiteralLabel ll = LiteralLabelFactory.create(value, "", dt);
+ LiteralLabel ll = LiteralLabelFactory.createByValue(value, "", dt);
return new LiteralImpl(NodeFactory.createLiteral(ll), this);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java
index 27217e6..2eb22e5 100755
--- a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java
+++ b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/Functor.java
@@ -278,7 +278,7 @@ public class Functor implements ClauseEntry {
* @param f the functor data structure to be wrapped in a node.
*/
public static Node makeFunctorNode(Functor f) {
- return NodeFactory.createUncachedLiteral(f, FunctorDatatype.theFunctorDatatype);
+ return NodeFactory.createLiteralByValue(f, FunctorDatatype.theFunctorDatatype);
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-core/src/test/java/org/apache/jena/graph/test/TestLiteralLabels.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestLiteralLabels.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestLiteralLabels.java
index 97c6552..4bc39ab 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestLiteralLabels.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestLiteralLabels.java
@@ -40,14 +40,14 @@ public class TestLiteralLabels extends GraphTestBase
public void testHashCode()
{
- LiteralLabel ll = LiteralLabelFactory.create("test", "", null) ;
+ LiteralLabel ll = LiteralLabelFactory.createByValue("test", "", null) ;
ll.hashCode() ;
}
public void testHashCode2()
{
- LiteralLabel ll1 = LiteralLabelFactory.create("test", "", null) ;
- LiteralLabel ll2 = LiteralLabelFactory.create("test", "", null) ;
+ LiteralLabel ll1 = LiteralLabelFactory.createByValue("test", "", null) ;
+ LiteralLabel ll2 = LiteralLabelFactory.createByValue("test", "", null) ;
assertEquals(ll1.hashCode(), ll2.hashCode()) ;
}
@@ -89,8 +89,8 @@ public class TestLiteralLabels extends GraphTestBase
return false ;
}
} ;
- LiteralLabel A = LiteralLabelFactory.create("17", "", d) ;
- LiteralLabel B = LiteralLabelFactory.create("17", "", null) ;
+ LiteralLabel A = LiteralLabelFactory.createByValue("17", "", d) ;
+ LiteralLabel B = LiteralLabelFactory.createByValue("17", "", null) ;
assertFalse(A.sameValueAs(B)) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java
index 0bfd21b..3be7ac8 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestNode.java
@@ -117,8 +117,8 @@ public class TestNode extends GraphTestBase
AnonId id = AnonId.create();
LiteralLabel L2 = LiteralLabelFactory.create( id.toString(), "", false );
- LiteralLabel LLang1 = LiteralLabelFactory.create( "xyz", "en", null) ;
- LiteralLabel LLang2 = LiteralLabelFactory.create( "xyz", "EN", null) ;
+ LiteralLabel LLang1 = LiteralLabelFactory.createByValue( "xyz", "en", null) ;
+ LiteralLabel LLang2 = LiteralLabelFactory.createByValue( "xyz", "EN", null) ;
String U2 = id.toString();
String N2 = id.toString();
http://git-wip-us.apache.org/repos/asf/jena/blob/d2da6f7a/jena-core/src/test/java/org/apache/jena/graph/test/TestTypedLiterals.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestTypedLiterals.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestTypedLiterals.java
index 954410a..7f5b674 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestTypedLiterals.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestTypedLiterals.java
@@ -678,7 +678,7 @@ public class TestTypedLiterals extends TestCase {
calM1.set(Calendar.MONTH, 10);
calM1.set(Calendar.DATE, 23);
XSDDateTime xdtM = new XSDDateTime(calM1);
- LiteralLabel xdtM_ll = LiteralLabelFactory.create(xdtM, "", XSDDatatype.XSDdateTime);
+ LiteralLabel xdtM_ll = LiteralLabelFactory.createByValue(xdtM, "", XSDDatatype.XSDdateTime);
assertTrue("Pre-1000 calendar value", xdtM_ll.getLexicalForm().matches("-?[0-9]{4}-.*")) ;
assertTrue("Pre-1000 calendar value", xdtM_ll.isWellFormed()) ;
[38/50] [abbrv] jena git commit: Typo
Posted by cl...@apache.org.
Typo
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e15c2240
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e15c2240
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e15c2240
Branch: refs/heads/add-contract-tests
Commit: e15c224068e5a201f438f3ba16022487b8335326
Parents: 473c3e4
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 8 14:04:58 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 8 14:04:58 2015 +0100
----------------------------------------------------------------------
jena-arq/Grammar/BinaryRDF.thrift | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/e15c2240/jena-arq/Grammar/BinaryRDF.thrift
----------------------------------------------------------------------
diff --git a/jena-arq/Grammar/BinaryRDF.thrift b/jena-arq/Grammar/BinaryRDF.thrift
index 841d7e7..e695472 100644
--- a/jena-arq/Grammar/BinaryRDF.thrift
+++ b/jena-arq/Grammar/BinaryRDF.thrift
@@ -70,7 +70,7 @@ struct RDF_REPEAT { }
union RDF_Term {
1: RDF_IRI iri
2: RDF_BNode bnode
-3: RDF_Literal literal # Full form lexical form/datattype/langtag
+3: RDF_Literal literal # Full form lexical form/datatype/langtag
4: RDF_PrefixName prefixName
5: RDF_VAR variable
6: RDF_ANY any
[36/50] [abbrv] jena git commit: Fix XML error in POM
Posted by cl...@apache.org.
Fix XML error in POM
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/806aafc5
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/806aafc5
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/806aafc5
Branch: refs/heads/add-contract-tests
Commit: 806aafc56d408bccb248a30b08f5b9f1beb97436
Parents: 18aaf7d
Author: Andy Seaborne <an...@apache.org>
Authored: Thu May 7 17:41:04 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu May 7 17:41:04 2015 +0100
----------------------------------------------------------------------
jena-maven-tools/src/it/schemagen-integration-0/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/806aafc5/jena-maven-tools/src/it/schemagen-integration-0/pom.xml
----------------------------------------------------------------------
diff --git a/jena-maven-tools/src/it/schemagen-integration-0/pom.xml b/jena-maven-tools/src/it/schemagen-integration-0/pom.xml
index 732a38d..f2f1e57 100644
--- a/jena-maven-tools/src/it/schemagen-integration-0/pom.xml
+++ b/jena-maven-tools/src/it/schemagen-integration-0/pom.xml
@@ -1,4 +1,4 @@
-f<!--
+<!--
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
[16/50] [abbrv] jena git commit: Surppress hiding warnings
Posted by cl...@apache.org.
Surppress hiding warnings
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/461cf36f
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/461cf36f
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/461cf36f
Branch: refs/heads/add-contract-tests
Commit: 461cf36f6cdba77ca6b35f874995019453a9fbe8
Parents: b755fc1
Author: Andy Seaborne <an...@apache.org>
Authored: Sat May 2 18:22:29 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat May 2 18:22:29 2015 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java | 1 +
.../main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java | 1 +
.../main/java/org/apache/jena/ontology/impl/OntResourceImpl.java | 1 +
3 files changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/461cf36f/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
index e2aae36..bbbe316 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
@@ -71,6 +71,7 @@ public class OntClassImpl
* Note: should not be invoked directly by user code: use
* {@link org.apache.jena.rdf.model.RDFNode#as as()} instead.
*/
+ @SuppressWarnings("hiding")
public static Implementation factory = new Implementation() {
@Override
public EnhNode wrap( Node n, EnhGraph eg ) {
http://git-wip-us.apache.org/repos/asf/jena/blob/461cf36f/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
index 2280299..1b9400a 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
@@ -54,6 +54,7 @@ public class OntPropertyImpl
* Note: should not be invoked directly by user code: use
* {@link org.apache.jena.rdf.model.RDFNode#as as()} instead.
*/
+ @SuppressWarnings("hiding")
public static Implementation factory = new Implementation() {
@Override
public EnhNode wrap( Node n, EnhGraph eg ) {
http://git-wip-us.apache.org/repos/asf/jena/blob/461cf36f/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
index 97911de..fe9038b 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
@@ -69,6 +69,7 @@ public class OntResourceImpl
* Note: should not be invoked directly by user code: use
* {@link org.apache.jena.rdf.model.RDFNode#as as()} instead.
*/
+ @SuppressWarnings("hiding")
public static Implementation factory = new Implementation() {
@Override
public EnhNode wrap( Node n, EnhGraph eg ) {
[21/50] [abbrv] jena git commit: Don't expect service name when
config file given
Posted by cl...@apache.org.
Don't expect service name when config file given
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/547b50a1
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/547b50a1
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/547b50a1
Branch: refs/heads/add-contract-tests
Commit: 547b50a164234bb4454e24ec53e2cc6472c85e64
Parents: 44ece03
Author: Andy Seaborne <an...@apache.org>
Authored: Mon May 4 18:13:27 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon May 4 18:13:27 2015 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/547b50a1/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
index 3d91de4..5da6b07 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
@@ -185,7 +185,7 @@ public class FusekiCmd {
throw new CmdException("Multiple ways providing a dataset. Only one of --mem, --file, --loc or --desc") ;
}
- boolean configPresent = ( x != 0 ) || ( cmdLineDataset.fusekiConfigFile != null ) ;
+ boolean cmdlineConfigPresent = ( x != 0 ) ;
if ( contains(argMem) ) {
log.info("Dataset: in-memory") ;
@@ -232,9 +232,9 @@ public class FusekiCmd {
//cmdLineDataset.dsg = ds.asDatasetGraph() ;
}
- if ( configPresent && getPositional().size() == 0 )
+ if ( cmdlineConfigPresent && getPositional().size() == 0 )
throw new CmdException("Missing service name") ;
- if ( !configPresent && getPositional().size() > 0 )
+ if ( !cmdlineConfigPresent && getPositional().size() > 0 )
throw new CmdException("Service name given but no configuration argument to match") ;
if ( cmdLineDataset != null ) {
[04/50] [abbrv] jena git commit: Deprecating Map1 in favor of Java8
Function
Posted by cl...@apache.org.
Deprecating Map1 in favor of Java8 Function
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/65ce6b50
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/65ce6b50
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/65ce6b50
Branch: refs/heads/add-contract-tests
Commit: 65ce6b50a8672b16e7a120e8319a706068a315d6
Parents: fe98924
Author: ajs6f <aj...@virginia.edu>
Authored: Thu Apr 30 15:27:16 2015 -0400
Committer: ajs6f <aj...@virginia.edu>
Committed: Fri May 1 09:07:09 2015 -0400
----------------------------------------------------------------------
jena-core/src/main/java/jena/schemagen.java | 8 +-
.../assembler/assemblers/AssemblerBase.java | 17 +---
.../assembler/assemblers/ModelAssembler.java | 26 ++----
.../java/org/apache/jena/graph/GraphUtil.java | 30 +------
.../main/java/org/apache/jena/graph/Triple.java | 12 +--
.../apache/jena/mem/GraphTripleStoreBase.java | 6 +-
.../jena/ontology/impl/AllDifferentImpl.java | 7 +-
.../impl/BooleanClassDescriptionImpl.java | 2 +-
.../jena/ontology/impl/DataRangeImpl.java | 2 +-
.../jena/ontology/impl/EnumeratedClassImpl.java | 2 +-
.../jena/ontology/impl/IndividualImpl.java | 2 +-
.../apache/jena/ontology/impl/OntClassImpl.java | 4 +-
.../apache/jena/ontology/impl/OntModelImpl.java | 44 ++--------
.../jena/ontology/impl/OntPropertyImpl.java | 4 +-
.../jena/ontology/impl/OntResourceImpl.java | 91 +++-----------------
.../java/org/apache/jena/rdf/model/RDFList.java | 5 +-
.../org/apache/jena/rdf/model/Statement.java | 20 +----
.../jena/rdf/model/impl/IteratorFactory.java | 15 +---
.../apache/jena/rdf/model/impl/ModelCom.java | 13 +--
.../jena/rdf/model/impl/ModelReifier.java | 15 +---
.../apache/jena/rdf/model/impl/RDFListImpl.java | 3 +-
.../jena/rdfxml/xmloutput/impl/Relation.java | 27 +-----
.../jena/rdfxml/xmloutput/impl/Unparser.java | 12 +--
.../jena/util/iterator/ExtendedIterator.java | 3 +-
.../apache/jena/util/iterator/LazyIterator.java | 4 +-
.../org/apache/jena/util/iterator/Map1.java | 17 ++--
.../apache/jena/util/iterator/Map1Iterator.java | 7 +-
.../apache/jena/util/iterator/NiceIterator.java | 3 +-
.../jena/graph/test/TestFindLiterals.java | 9 +-
.../org/apache/jena/graph/test/TestTriple.java | 6 +-
.../apache/jena/rdf/model/test/TestList.java | 9 +-
.../jena/rdf/model/test/TestStatements.java | 6 +-
.../util/iterator/test/TestMapIterators.java | 8 +-
.../model/impl/SecuredContainerImpl.java | 23 +----
.../model/impl/SecuredNodeIterator.java | 8 +-
.../model/impl/SecuredRDFListImpl.java | 29 +++----
.../model/impl/SecuredRSIterator.java | 9 +-
.../model/impl/SecuredResIterator.java | 8 +-
.../model/impl/SecuredStatementIterator.java | 8 +-
39 files changed, 124 insertions(+), 400 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/jena/schemagen.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/jena/schemagen.java b/jena-core/src/main/java/jena/schemagen.java
index 63aed08..50240ed 100644
--- a/jena-core/src/main/java/jena/schemagen.java
+++ b/jena-core/src/main/java/jena/schemagen.java
@@ -30,6 +30,7 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.function.Function;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
@@ -972,12 +973,7 @@ public class schemagen {
}
// collect the classes to list
- List<Resource> classes = m_source.listStatements( null, RDF.type, cls ).mapWith( new Map1<Statement, Resource>() {
- @Override
- public Resource map1( Statement s ) {
- return s.getSubject();
- }}
- ).toList();
+ List<Resource> classes = m_source.listStatements( null, RDF.type, cls ).mapWith( s -> s.getSubject()).toList();
for (Iterator<? extends RDFNode> i = sorted( classes ); i.hasNext(); ) {
writeValue( (Resource) i.next(), template, "Resource", "createResource", "_CLASS" );
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
index df63b68..560eada 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
@@ -19,30 +19,15 @@
package org.apache.jena.assembler.assemblers;
import java.util.List;
-
import org.apache.jena.assembler.* ;
import org.apache.jena.assembler.exceptions.* ;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.shared.JenaException ;
-import org.apache.jena.util.iterator.Map1 ;
import org.apache.jena.vocabulary.RDF ;
public abstract class AssemblerBase implements Assembler
{
- protected static class MapObjectToContent implements Map1<Statement, Content>
- {
- protected final Assembler a;
-
- public MapObjectToContent( Assembler a )
- { this.a = a; }
-
- @Override
- public Content map1( Statement o )
- { return (Content) a.open( getResource( o ) ); }
- }
- protected static final Map1<Statement, RDFNode> getObject = Statement.Util.getObject;
-
@Override
public final Object open( Resource root )
{ return open( this, root ); }
@@ -70,7 +55,7 @@ public abstract class AssemblerBase implements Assembler
protected static RDFNode getUnique( Resource root, Property property )
{
- List<RDFNode> nodes = root.listProperties( property ) .mapWith( getObject ).toList();
+ List<RDFNode> nodes = root.listProperties( property ) .mapWith( s -> s.getObject() ).toList();
if (nodes.size() == 0) return null;
if (nodes.size() == 1) return nodes.get(0);
throw new NotUniqueException( root, property );
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ModelAssembler.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ModelAssembler.java b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ModelAssembler.java
index 1468293..35d7491 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ModelAssembler.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/ModelAssembler.java
@@ -19,12 +19,12 @@
package org.apache.jena.assembler.assemblers;
import java.util.*;
+import java.util.function.Function;
import org.apache.jena.assembler.* ;
import org.apache.jena.assembler.exceptions.* ;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.shared.* ;
-import org.apache.jena.util.iterator.Map1 ;
import org.apache.jena.vocabulary.RDF ;
public abstract class ModelAssembler extends AssemblerBase implements Assembler
@@ -107,27 +107,17 @@ public abstract class ModelAssembler extends AssemblerBase implements Assembler
private void transferContentProperties( Model partial, Resource someInitial, Resource combined )
{
- Map1<Statement, Statement> replace = replaceSubjectMap( partial, combined );
- for ( Property contentProperty : ContentAssembler.contentProperties )
+ for ( Property contentProperty : ContentAssembler.contentProperties )
{
- partial.add( copyProperties( someInitial, replace, contentProperty ) );
+ partial.add( copyProperties( someInitial, replaceSubjectMap( partial, combined ), contentProperty ) );
}
}
- private List<Statement> copyProperties( Resource root, Map1<Statement, Statement> replace, Property property )
+ private List<Statement> copyProperties( Resource root, Function<Statement, Statement> replace, Property property )
{ return root.listProperties( property ).mapWith( replace ).toList(); }
- private Map1<Statement, Statement> replaceSubjectMap( final Model inModel, final Resource newSubject )
- {
- Map1<Statement, Statement> replace = new Map1<Statement, Statement>()
- {
- @Override
- public Statement map1( Statement o )
- {
- Statement s = o;
- return inModel.createStatement( newSubject, s.getPredicate(), s.getObject() );
- }
- };
- return replace;
- }
+ private Function<Statement, Statement> replaceSubjectMap( final Model inModel, final Resource newSubject ) {
+ return s -> inModel.createStatement(newSubject, s.getPredicate(), s.getObject());
+ }
+
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java b/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java
index 932c55a..8b3da79 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java
@@ -21,11 +21,9 @@ package org.apache.jena.graph;
import java.util.Iterator ;
import java.util.List ;
import java.util.Set ;
-
import org.apache.jena.graph.impl.GraphWithPerform ;
import org.apache.jena.util.IteratorCollection ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Map1 ;
import org.apache.jena.util.iterator.WrappedIterator ;
/**
@@ -38,28 +36,6 @@ public class GraphUtil
*/
private GraphUtil()
{}
-
- private static Map1<Triple, Node> mapSubject = new Map1<Triple, Node>() {
- @Override
- public Node map1(Triple triple)
- {
- return triple.getSubject() ;
- }
- } ;
- private static Map1<Triple, Node> mapPredicate = new Map1<Triple, Node>() {
- @Override
- public Node map1(Triple triple)
- {
- return triple.getPredicate() ;
- }
- } ;
- private static Map1<Triple, Node> mapObject = new Map1<Triple, Node>() {
- @Override
- public Node map1(Triple triple)
- {
- return triple.getObject() ;
- }
- } ;
/** Return an iterator over the unique subjects with predciate p and object o.
* p and o can be wildcards (Node.ANY)
@@ -71,7 +47,7 @@ public class GraphUtil
public static ExtendedIterator<Node> listSubjects(Graph g, Node p, Node o) {
// Restore a minimal QueryHandler?
ExtendedIterator<Triple> iter = g.find(Node.ANY, p, o) ;
- Set<Node> nodes = iter.mapWith(mapSubject).toSet() ;
+ Set<Node> nodes = iter.mapWith(t -> t.getSubject()).toSet() ;
return WrappedIterator.createNoRemove(nodes.iterator()) ;
}
@@ -84,7 +60,7 @@ public class GraphUtil
*/
public static ExtendedIterator<Node> listPredicates(Graph g, Node s, Node o) {
ExtendedIterator<Triple> iter = g.find(s,Node.ANY, o) ;
- Set<Node> nodes = iter.mapWith(mapPredicate).toSet() ;
+ Set<Node> nodes = iter.mapWith(t -> t.getPredicate()).toSet() ;
return WrappedIterator.createNoRemove(nodes.iterator()) ;
}
@@ -97,7 +73,7 @@ public class GraphUtil
*/
public static ExtendedIterator<Node> listObjects(Graph g, Node s, Node p) {
ExtendedIterator<Triple> iter = g.find(s, p, Node.ANY) ;
- Set<Node> nodes = iter.mapWith(mapObject).toSet() ;
+ Set<Node> nodes = iter.mapWith(t -> t.getObject()).toSet() ;
return WrappedIterator.createNoRemove(nodes.iterator()) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/graph/Triple.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/Triple.java b/jena-core/src/main/java/org/apache/jena/graph/Triple.java
index b0f748e..e3428f2 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/Triple.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/Triple.java
@@ -83,17 +83,11 @@ public class Triple
public Node getMatchSubject()
{ return anyToNull( subj ); }
- public static final Map1<Triple, Node> getSubject = new Map1<Triple, Node>()
- { @Override
- public Node map1( Triple t ) { return t.getSubject(); } };
+ public static final Map1<Triple, Node> getSubject = t -> t.getSubject();
- public static final Map1<Triple, Node> getPredicate = new Map1<Triple, Node>()
- { @Override
- public Node map1( Triple t ) { return t.getPredicate(); } };
+ public static final Map1<Triple, Node> getPredicate = t -> t.getPredicate();
- public static final Map1<Triple, Node> getObject = new Map1<Triple, Node>()
- { @Override
- public Node map1( Triple t ) { return t.getObject(); } };
+ public static final Map1<Triple, Node> getObject = t -> t.getObject();
/** Return predicate or null, not Node.ANY */
public Node getMatchPredicate()
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/mem/GraphTripleStoreBase.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/mem/GraphTripleStoreBase.java b/jena-core/src/main/java/org/apache/jena/mem/GraphTripleStoreBase.java
index 0708efa..80b46a8 100644
--- a/jena-core/src/main/java/org/apache/jena/mem/GraphTripleStoreBase.java
+++ b/jena-core/src/main/java/org/apache/jena/mem/GraphTripleStoreBase.java
@@ -111,11 +111,7 @@ public abstract class GraphTripleStoreBase implements TripleStore
{ return expectOnlyNodes( predicates.domain() ); }
private ExtendedIterator<Node> expectOnlyNodes( Iterator<Object> elements )
- { return WrappedIterator.createNoRemove( elements ).mapWith( expectNode ); }
-
- private static final Map1<Object, Node> expectNode = new Map1<Object, Node>()
- { @Override
- public Node map1( Object o ) { return (Node) o; }};
+ { return WrappedIterator.createNoRemove( elements ).mapWith( o -> (Node) o ); }
@Override
public ExtendedIterator<Node> listObjects()
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/AllDifferentImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/AllDifferentImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/AllDifferentImpl.java
index 02d4e3f..d72e5d7 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/AllDifferentImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/AllDifferentImpl.java
@@ -30,7 +30,6 @@ import org.apache.jena.graph.* ;
import org.apache.jena.ontology.* ;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Map1 ;
/**
@@ -149,11 +148,7 @@ public class AllDifferentImpl
*/
@Override
public ExtendedIterator<? extends OntResource> listDistinctMembers() {
- return getDistinctMembers().mapWith( new Map1<RDFNode,OntResource>() {
- @Override
- public OntResource map1( RDFNode o ) {
- return ((Resource) o).as( OntResource.class );
- }} );
+ return getDistinctMembers().mapWith( o -> ((Resource) o).as( OntResource.class ));
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/BooleanClassDescriptionImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/BooleanClassDescriptionImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/BooleanClassDescriptionImpl.java
index 0c89cbb..203f3a3 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/BooleanClassDescriptionImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/BooleanClassDescriptionImpl.java
@@ -125,7 +125,7 @@ public abstract class BooleanClassDescriptionImpl
*/
@Override
public ExtendedIterator<? extends OntClass> listOperands() {
- return getOperands().iterator().mapWith( new AsMapper<>( OntClass.class ) );
+ return getOperands().iterator().mapWith( n -> n.as( OntClass.class ) );
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/DataRangeImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/DataRangeImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/DataRangeImpl.java
index bdb2856..557e73c 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/DataRangeImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/DataRangeImpl.java
@@ -153,7 +153,7 @@ public class DataRangeImpl
*/
@Override
public ExtendedIterator<Literal> listOneOf() {
- return getOneOf().iterator().mapWith( new AsMapper<>( Literal.class ) );
+ return getOneOf().iterator().mapWith( n -> n.as( Literal.class ) );
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/EnumeratedClassImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/EnumeratedClassImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/EnumeratedClassImpl.java
index 915fb6e..71f29d6 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/EnumeratedClassImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/EnumeratedClassImpl.java
@@ -151,7 +151,7 @@ public class EnumeratedClassImpl
*/
@Override
public ExtendedIterator<? extends OntResource> listOneOf() {
- return getOneOf().iterator().mapWith( new AsMapper<>( OntResource.class ) );
+ return getOneOf().iterator().mapWith( n -> n.as( OntResource.class ) );
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/IndividualImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/IndividualImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/IndividualImpl.java
index 1c0f9b9..56c249d 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/IndividualImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/IndividualImpl.java
@@ -189,7 +189,7 @@ public class IndividualImpl
public <T extends OntClass> ExtendedIterator<T> listOntClasses( boolean direct ) {
@SuppressWarnings("unchecked")
ExtendedIterator<T> iter =
- (ExtendedIterator<T>)listRDFTypes( direct ).mapWith( new ResourceAsMapper<>( OntClass.class ) );
+ (ExtendedIterator<T>)listRDFTypes( direct ).mapWith( r -> r.as( OntClass.class ) );
return iter ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
index 651cefa..8397e1f 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntClassImpl.java
@@ -624,7 +624,7 @@ public class OntClassImpl
// return the results, using the ont property facet
return WrappedIterator.create( cands.iterator() )
- .mapWith( new AsMapper<>( OntProperty.class ) );
+ .mapWith( n -> n.as( OntProperty.class ) );
}
@@ -669,7 +669,7 @@ public class OntClassImpl
public ExtendedIterator<Individual> listInstances( final boolean direct ) {
return getModel()
.listStatements( null, RDF.type, this )
- .mapWith( new SubjectAsMapper<>( Individual.class ) )
+ .mapWith( s -> s.getSubject().as( Individual.class ) )
.filterKeep( new Filter<Individual>() {
@Override
public boolean accept( Individual o ) {
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
index 5496823..e6dc9af 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntModelImpl.java
@@ -28,6 +28,7 @@ import java.io.OutputStream ;
import java.io.Reader ;
import java.io.Writer ;
import java.util.* ;
+import java.util.function.Function;
import org.apache.jena.enhanced.BuiltinPersonalities ;
import org.apache.jena.enhanced.EnhNode ;
@@ -530,7 +531,7 @@ public class OntModelImpl extends ModelCom implements OntModel
{
// we have have both direct sub-class of and a :Thing class to test against
return listStatements( null, ReasonerVocabulary.directSubClassOf, getProfile().THING() )
- .mapWith( new OntResourceImpl.SubjectAsMapper<>( OntClass.class ));
+ .mapWith( s -> s.getSubject().as( OntClass.class ));
}
}
@@ -750,7 +751,7 @@ public class OntModelImpl extends ModelCom implements OntModel
}
else {
return findByType( r )
- .mapWith( new SubjectNodeAs<>( AnnotationProperty.class ) )
+ .mapWith( p -> getNodeAs( p.getSubject(), AnnotationProperty.class ) )
.filterKeep( new UniqueFilter<AnnotationProperty>());
}
}
@@ -2314,13 +2315,12 @@ public class OntModelImpl extends ModelCom implements OntModel
public ExtendedIterator<OntModel> listSubModels( final boolean withImports ) {
ExtendedIterator<Graph> i = WrappedIterator.create( getSubGraphs().iterator() );
- return i.mapWith( new Map1<Graph, OntModel>() {
- @Override
- public OntModel map1( Graph o ) {
+ return i.mapWith(
+ o -> {
Model base = ModelFactory.createModelForGraph( o );
OntModel om = new OntModelImpl( m_spec, base, withImports );
return om;
- }} );
+ } );
}
@@ -2934,7 +2934,7 @@ public class OntModelImpl extends ModelCom implements OntModel
* @return An iterator over all triples <code>_x rdf:type type</code>
*/
protected <T extends RDFNode> ExtendedIterator<T> findByTypeAs( Resource type, Iterator<Resource> types, Class<T> asKey ) {
- return findByType( type, types ).mapWith( new SubjectNodeAs<>( asKey ) );
+ return findByType( type, types ).mapWith( p -> getNodeAs( p.getSubject(), asKey ) );
}
/**
@@ -2967,7 +2967,7 @@ public class OntModelImpl extends ModelCom implements OntModel
* the given polymorphic class.
*/
protected <T extends RDFNode> ExtendedIterator<T> findByTypeAs( Resource type, Class<T> asKey ) {
- return findByType( type ).mapWith( new SubjectNodeAs<>( asKey ) );
+ return findByType( type ).mapWith( p -> getNodeAs( p.getSubject(), asKey ) );
}
/**
@@ -2994,7 +2994,7 @@ public class OntModelImpl extends ModelCom implements OntModel
* @return ExtendedIterator over subjects of p, presented as the facet.
*/
protected <T extends RDFNode> ExtendedIterator<T> findByDefiningPropertyAs( Property p, Class<T> asKey ) {
- return findByDefiningProperty( p ).mapWith( new SubjectNodeAs<>( asKey ) );
+ return findByDefiningProperty( p ).mapWith( x -> getNodeAs( x.getSubject(), asKey ) );
}
@@ -3113,32 +3113,6 @@ public class OntModelImpl extends ModelCom implements OntModel
// Inner class definitions
//==============================================================================
- /** Map triple subjects or single nodes to subject enh nodes, presented as() the given class */
- protected class SubjectNodeAs<To extends RDFNode> implements Map1<Triple, To>
- {
- protected Class<To> m_asKey;
-
- protected SubjectNodeAs( Class<To> asKey ) { m_asKey = asKey; }
-
- @Override
- public To map1( Triple x ) {
- return getNodeAs( x.getSubject(), m_asKey );
- }
-
- }
-
- /** Map triple subjects or single nodes to subject enh nodes, presented as() the given class */
- protected class NodeAs<To extends RDFNode> implements Map1<Node, To>
- {
- protected Class<To> m_asKey;
- protected NodeAs( Class<To> asKey ) { m_asKey = asKey; }
-
- @Override
- public To map1( Node x ) {
- return getNodeAs( x, m_asKey );
- }
- }
-
protected class NodeCanAs<T extends RDFNode> extends Filter<Node>
{
protected Class<T> m_asKey;
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
index def160d..8d11a72 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntPropertyImpl.java
@@ -762,7 +762,7 @@ public class OntPropertyImpl
*/
@Override
public ExtendedIterator<OntProperty> listInverse() {
- return getModel().listStatements( null, getProfile().INVERSE_OF(), this ).mapWith( new SubjectAsMapper<>( OntProperty.class ) );
+ return getModel().listStatements( null, getProfile().INVERSE_OF(), this ).mapWith( s -> s.getSubject().as( OntProperty.class ) );
}
/**
@@ -874,7 +874,7 @@ public class OntPropertyImpl
@Override
public ExtendedIterator<Restriction> listReferringRestrictions() {
return getModel().listStatements( null, getProfile().ON_PROPERTY(), this )
- .mapWith( new SubjectAsMapper<>( Restriction.class ) );
+ .mapWith( s -> s.getSubject().as( Restriction.class ) );
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
index 64d14c4..cdd18fe 100644
--- a/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/ontology/impl/OntResourceImpl.java
@@ -24,6 +24,7 @@ package org.apache.jena.ontology.impl;
// Imports
///////////////
import java.util.*;
+import java.util.function.Function;
import org.apache.jena.datatypes.xsd.XSDDatatype ;
import org.apache.jena.enhanced.* ;
@@ -338,7 +339,7 @@ public class OntResourceImpl
public ExtendedIterator<RDFNode> listSeeAlso() {
checkProfile( getProfile().SEE_ALSO(), "SEE_ALSO" );
return WrappedIterator.create( listProperties( getProfile().SEE_ALSO() ) )
- .mapWith( new ObjectAsOntResourceMapper() );
+ .mapWith( s -> asOntResource( s.getObject() ) );
}
/**
@@ -406,7 +407,7 @@ public class OntResourceImpl
public ExtendedIterator<RDFNode> listIsDefinedBy() {
checkProfile( getProfile().IS_DEFINED_BY(), "IS_DEFINED_BY" );
return WrappedIterator.create( listProperties( getProfile().IS_DEFINED_BY() ) )
- .mapWith( new ObjectAsOntResourceMapper() );
+ .mapWith( s -> asOntResource( s.getObject() ) );
}
/**
@@ -482,7 +483,7 @@ public class OntResourceImpl
public ExtendedIterator<String> listVersionInfo() {
checkProfile( getProfile().VERSION_INFO(), "VERSION_INFO" );
return WrappedIterator.create( listProperties( getProfile().VERSION_INFO() ) )
- .mapWith( new ObjectAsStringMapper() );
+ .mapWith( s -> s.getString() );
}
/**
@@ -583,7 +584,7 @@ public class OntResourceImpl
checkProfile( getProfile().LABEL(), "LABEL" );
return WrappedIterator.create( listProperties( getProfile().LABEL() ) )
.filterKeep( new LangTagFilter( lang ) )
- .mapWith( new ObjectMapper() );
+ .mapWith( s -> s.getObject() );
}
/**
@@ -713,7 +714,7 @@ public class OntResourceImpl
checkProfile( getProfile().COMMENT(), "COMMENT" );
return WrappedIterator.create( listProperties( getProfile().COMMENT() ) )
.filterKeep( new LangTagFilter( lang ) )
- .mapWith( new ObjectMapper() );
+ .mapWith( s -> s.getObject() );
}
/**
@@ -1014,7 +1015,7 @@ public class OntResourceImpl
*/
@Override
public NodeIterator listPropertyValues( Property property ) {
- return new NodeIteratorImpl( listProperties( property ).mapWith( new ObjectAsOntResourceMapper() ), null );
+ return new NodeIteratorImpl( listProperties( property ).mapWith( s -> asOntResource( s.getObject() ) ), null );
}
/**
@@ -1438,7 +1439,7 @@ public class OntResourceImpl
/** Answer an iterator for the given property, whose values are .as() some class */
protected <T extends RDFNode> ExtendedIterator<T> listAs( Property p, String name, Class<T> cls ) {
checkProfile( p, name );
- return WrappedIterator.create( listProperties( p ) ).mapWith( new ObjectAsMapper<>( cls ) );
+ return WrappedIterator.create( listProperties( p ) ).mapWith( s -> s.getObject().as( cls ) );
}
@@ -1531,7 +1532,7 @@ public class OntResourceImpl
// determine the subject and object pairs for the list statements calls
Resource subject = inverse ? null : this;
Resource object = inverse ? this : null;
- Map1<Statement, T> mapper = inverse ? new SubjectAsMapper<>( cls ) : new ObjectAsMapper<>( cls );
+ Function<Statement, T> mapper = inverse ? s -> s.getSubject().as( cls ) : s -> s.getObject().as( cls );
// are we working on an inference graph?
OntModel m = (OntModel) getGraph();
@@ -1567,7 +1568,7 @@ public class OntResourceImpl
* @return
*/
@SuppressWarnings("unchecked")
- private <T extends Resource> Iterator<T> computeDirectValues( Property p, Property orderRel, boolean inverse, Resource subject, Resource object, Map1<Statement, T> mapper ) {
+ private <T extends Resource> Iterator<T> computeDirectValues( Property p, Property orderRel, boolean inverse, Resource subject, Resource object, Function<Statement, T> mapper ) {
// graph does not support direct directly
ExtendedIterator<T> j = getModel().listStatements( subject, p, object )
.mapWith( mapper );
@@ -1651,78 +1652,6 @@ public class OntResourceImpl
// Inner class definitions
//==============================================================================
- /** Implementation of Map1 that performs as( Class ) for a given class, against an argument {@link RDFNode} */
- protected static class AsMapper<T extends RDFNode> implements Map1<RDFNode, T>
- {
- private Class<T> m_as;
- public AsMapper( Class<T> as ) { m_as = as; }
- @Override
- public T map1( RDFNode x ) { return x.as( m_as ); }
- }
-
- /** Implementation of Map1 that performs as( Class ) for a given class, against an argument {@link Resource} */
- protected static class ResourceAsMapper<T extends RDFNode> implements Map1<Resource, T>
- {
- private Class<T> m_as;
- public ResourceAsMapper( Class<T> as ) { m_as = as; }
- @Override
- public T map1( Resource x ) { return x.as( m_as ); }
- }
-
- /** Implementation of Map1 that performs as( Class ) for a given class, on the subject of a statement */
- protected static class SubjectAsMapper<T extends RDFNode> implements Map1<Statement, T>
- {
- private Class<T> m_as;
- public SubjectAsMapper( Class<T> as ) { m_as = as; }
- @Override
- public T map1( Statement x ) {
- return x.getSubject().as( m_as );
- }
- }
-
- /** Implementation of Map1 that extracts the subject of a statement */
- protected static class SubjectMapper implements Map1<Statement, Resource>
- {
- @Override
- public Resource map1( Statement x ) {
- return x.getSubject();
- }
- }
-
- /** Implementation of Map1 that performs as( Class ) for a given class, on the object of a statement */
- protected static class ObjectAsMapper<T extends RDFNode> implements Map1<Statement, T>
- {
- private Class<T> m_as;
- public ObjectAsMapper( Class<T> as )
- { m_as = as; }
- @Override
- public T map1( Statement x ) {
- return x.getObject().as( m_as );
- }
- }
-
- /** Implementation of Map1 that performs getString on the object of a statement */
- protected class ObjectAsStringMapper implements Map1<Statement, String>
- {
- @Override
- public String map1( Statement x ) { return x.getString(); }
- }
-
- /** Implementation of Map1 that returns the object of a statement */
- protected static class ObjectMapper implements Map1<Statement, RDFNode>
- {
- @Override
- public RDFNode map1( Statement x ) { return x.getObject(); }
- }
-
- /** Implementation of Map1 that returns the object of a statement as an ont resource */
- protected static class ObjectAsOntResourceMapper implements Map1<Statement, RDFNode>
- {
- @Override
- public RDFNode map1( Statement x ) {
- return asOntResource( x.getObject() );
- }
- }
/** Filter for matching language tags on the objects of statements */
protected class LangTagFilter extends Filter<Statement>
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/rdf/model/RDFList.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/RDFList.java b/jena-core/src/main/java/org/apache/jena/rdf/model/RDFList.java
index 0c58f5c..668974f 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/RDFList.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/RDFList.java
@@ -24,6 +24,7 @@ package org.apache.jena.rdf.model;
// Imports
///////////////
import java.util.*;
+import java.util.function.Function;
import org.apache.jena.util.iterator.* ;
@@ -348,10 +349,10 @@ public interface RDFList
/**
* <p>Answer an iterator of the elements of this list, to each of which
* the given map function has been applied.</p>
- * @param fn A Map function
+ * @param fn A mapping function
* @return The iterator of the elements of this list mapped with the given map function.
*/
- public <T> ExtendedIterator<T> mapWith( Map1<RDFNode, T> fn );
+ public <T> ExtendedIterator<T> mapWith( Function<RDFNode, T> fn );
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java b/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java
index a1aecd1..14bb52b 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/Statement.java
@@ -396,22 +396,10 @@ public interface Statement extends FrontsTriple
*/
public static class Util
{
- public static final Map1<Statement, Resource> getSubject = new Map1<Statement, Resource>()
- {
- @Override
- public Resource map1( Statement o ) { return o.getSubject(); }
- };
+ public static final Map1<Statement, Resource> getSubject = s -> s.getSubject();
- public static final Map1<Statement, Property> getPredicate = new Map1<Statement, Property>()
- {
- @Override
- public Property map1( Statement o ) { return o.getPredicate(); }
- };
+ public static final Map1<Statement, Property> getPredicate = s -> s.getPredicate();
- public static final Map1<Statement, RDFNode> getObject = new Map1<Statement, RDFNode>()
- {
- @Override
- public RDFNode map1( Statement o ) { return o.getObject(); }
- };
- }
+ public static final Map1<Statement, RDFNode> getObject = s -> s.getObject();
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/rdf/model/impl/IteratorFactory.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/IteratorFactory.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/IteratorFactory.java
index f6f8b45..622d347 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/IteratorFactory.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/IteratorFactory.java
@@ -39,10 +39,7 @@ public final class IteratorFactory
*/
static public StmtIterator asStmtIterator( Iterator<Triple> i, final ModelCom m )
{
- Map1<Triple, Statement> asStatement = new Map1<Triple, Statement>()
- { @Override
- public Statement map1( Triple t ) { return m.asStatement( t ); }};
- return new StmtIteratorImpl( WrappedIterator.create( i ).mapWith( asStatement ) );
+ return new StmtIteratorImpl( WrappedIterator.create( i ).mapWith( t -> m.asStatement( t ) ) );
}
/**
@@ -50,10 +47,7 @@ public final class IteratorFactory
*/
static public ResIterator asResIterator( Iterator<Node> i, final ModelCom m)
{
- Map1<Node, Resource> asResource = new Map1<Node, Resource>()
- { @Override
- public Resource map1( Node o) { return (Resource) m.asRDFNode( o ); }};
- return new ResIteratorImpl( WrappedIterator.create( i ).mapWith( asResource ), null );
+ return new ResIteratorImpl( WrappedIterator.create( i ).mapWith( o -> (Resource) m.asRDFNode( o ) ), null );
}
/**
@@ -61,10 +55,7 @@ public final class IteratorFactory
*/
static public NodeIterator asRDFNodeIterator( Iterator<Node> i, final ModelCom m)
{
- Map1<Node, RDFNode> asRDFNode = new Map1<Node, RDFNode>()
- { @Override
- public RDFNode map1( Node o) { return m.asRDFNode( o ); }};
- return new NodeIteratorImpl( WrappedIterator.create( i ).mapWith( asRDFNode ), null );
+ return new NodeIteratorImpl( WrappedIterator.create( i ).mapWith( o -> m.asRDFNode( o ) ), null );
}
static Resource asResource( Node n, ModelCom m )
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
index 4410186..7162678 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
@@ -1120,13 +1120,8 @@ implements Model, PrefixMapping, Lock
}
private Iterator<Triple> asTriples( StmtIterator it )
- { return it.mapWith( mapAsTriple ); }
+ { return it.mapWith( s -> s.asTriple() ); }
- private Map1<Statement, Triple> mapAsTriple = new Map1<Statement, Triple>() {
- @Override
- public Triple map1( Statement s ) { return s.asTriple(); }
- };
-
/**
remove all the Statements from the model by converting them to triples and
removing those triples from the underlying graph.
@@ -1413,11 +1408,7 @@ implements Model, PrefixMapping, Lock
{ return new ModelCom( g ); }
public StmtIterator asStatements( final Iterator<Triple> it )
- { return new StmtIteratorImpl( new Map1Iterator<>( mapAsStatement, it ) ); }
-
- protected Map1<Triple, Statement> mapAsStatement = new Map1<Triple, Statement>()
- { @Override
- public Statement map1( Triple t ) { return asStatement( t ); } };
+ { return new StmtIteratorImpl( new Map1Iterator<>( t -> asStatement( t ), it ) ); }
public StmtIterator listBySubject( Container cont )
{ return listStatements( cont, null, (RDFNode) null ); }
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelReifier.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelReifier.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelReifier.java
index c5a6933..5f9be14 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelReifier.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelReifier.java
@@ -24,7 +24,6 @@ import org.apache.jena.graph.Triple ;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.shared.AlreadyReifiedException ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Map1 ;
/**
This class impedance-matches the reification requests of Model[Com] to the operations
@@ -151,22 +150,12 @@ public class ModelReifier
createReifiedStatement( rs.getURI(), rs.getStatement() );
}
}
-
- /**
- A mapper that maps modes to their corresponding ReifiedStatement objects. This
- cannot be static: getRS cannot be static, because the mapping is model-specific.
- */
- protected final Map1<Node, ReifiedStatement> mapToRS = new Map1<Node, ReifiedStatement>()
- {
- @Override
- public ReifiedStatement map1( Node node ) { return getRS( node ); }
- };
private ExtendedIterator<ReifiedStatement> findReifiedStatements()
- { return ReifierStd .allNodes(model.getGraph()) .mapWith( mapToRS ); }
+ { return ReifierStd .allNodes(model.getGraph()) .mapWith( n -> getRS( n ) ); }
private ExtendedIterator<ReifiedStatement> findReifiedStatements( Triple t )
- { return ReifierStd .allNodes(model.getGraph(), t ) .mapWith( mapToRS ); }
+ { return ReifierStd .allNodes(model.getGraph(), t ) .mapWith( n -> getRS( n ) ); }
/**
Answer a ReifiedStatement that is based on the given node.
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFListImpl.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFListImpl.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFListImpl.java
index a99ae92..d9f5e6d 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFListImpl.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/RDFListImpl.java
@@ -24,6 +24,7 @@ package org.apache.jena.rdf.model.impl;
// Imports
///////////////
import java.util.*;
+import java.util.function.Function;
import org.apache.jena.enhanced.* ;
import org.apache.jena.graph.* ;
@@ -669,7 +670,7 @@ public class RDFListImpl
* @return The iterator of the elements of this list mapped with the given map function.
*/
@Override
- public <T> ExtendedIterator<T> mapWith( Map1<RDFNode, T> fn ) {
+ public <T> ExtendedIterator<T> mapWith( Function<RDFNode, T> fn ) {
return iterator().mapWith( fn );
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Relation.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Relation.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Relation.java
index 60e43d9..111ab6d 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Relation.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Relation.java
@@ -23,9 +23,6 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
-import java.util.Map.Entry;
-
-import org.apache.jena.util.iterator.Map1 ;
import org.apache.jena.util.iterator.Map1Iterator ;
import org.apache.jena.util.iterator.WrappedIterator ;
@@ -207,23 +204,11 @@ class Relation<T> {
return cols.get(b);
}
- // ------------
- private static <X> Map1<X, PairEntry<X, X>> inner(final X a)
- {
- return new Map1<X, PairEntry<X, X>>() {
- @Override
- public PairEntry<X, X> map1(X b)
- {
- return new PairEntry<>(a, b) ;
- }
- } ;
- }
-
private static <T> Iterator<PairEntry<T, T>> pairEntry(Map.Entry<T, Set<T>> pair)
{
final T a = pair.getKey() ;
Set<T> bs = pair.getValue() ;
- return new Map1Iterator<>(inner(a), bs.iterator()) ;
+ return new Map1Iterator<>(b -> new PairEntry<>(a, b), bs.iterator()) ;
}
/**
@@ -235,16 +220,8 @@ class Relation<T> {
*/
public Iterator<PairEntry<T, T>> iterator()
{
- Map1<Map.Entry<T, Set<T>>, Iterator<PairEntry<T, T>>> m1 =
- new Map1<Map.Entry<T, Set<T>>, Iterator<PairEntry<T, T>>>(){
- @Override
- public Iterator<PairEntry<T, T>> map1(Entry<T, Set<T>> entry)
- {
- return pairEntry(entry) ;
- }} ;
-
Map1Iterator<Map.Entry<T, Set<T>>,Iterator<PairEntry<T, T>>> iter1 =
- new Map1Iterator<>(m1 , rows.entrySet().iterator()) ;
+ new Map1Iterator<>( entry -> pairEntry(entry) , rows.entrySet().iterator()) ;
// And now flatten it.
Iterator<PairEntry<T, T>> iter2 = WrappedIterator.createIteratorIterator(iter1) ;
return iter2 ;
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
index 9253d3f..24d8ebf 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
@@ -1587,16 +1587,8 @@ class Unparser {
// Now all the pleasing resources are in the buckets.
// Add all their iterators togethor:
- Map1<Set<Resource>, Iterator<Resource>> mapper = new Map1<Set<Resource>, Iterator<Resource>>() {
-
- @Override
- public Iterator<Resource> map1(Set<Resource> bkt)
- {
- return bkt.iterator() ;
- }} ;
-
- return WrappedIterator.createIteratorIterator(
- new Map1Iterator<>(mapper,
+ return WrappedIterator.createIteratorIterator(
+ new Map1Iterator<>(bkt -> bkt.iterator(),
Arrays.asList(bucketArray).iterator()));
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
index af83581..2a0eeb6 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/ExtendedIterator.java
@@ -19,6 +19,7 @@
package org.apache.jena.util.iterator;
import java.util.*;
+import java.util.function.Function;
/**
an ExtendedIterator is a ClosableIterator on which other operations are
@@ -67,7 +68,7 @@ public interface ExtendedIterator<T> extends ClosableIterator<T>
_map1_ to the corresponding element of _this_. _this_ is not
copied; it is consumed as the result is consumed.
*/
- public <U> ExtendedIterator<U> mapWith( Map1<T, U> map1 );
+ public <U> ExtendedIterator<U> mapWith( Function<T, U> map1 );
/**
Answer a list of the [remaining] elements of this iterator, in order,
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
index 4d3b3a4..2411413 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
@@ -18,6 +18,8 @@
package org.apache.jena.util.iterator;
+import java.util.function.Function;
+
/** An ExtendedIterator that is created lazily.
* This is useful when constructing an iterator is expensive and
* you'd prefer to delay doing it until certain it's actually needed.
@@ -74,7 +76,7 @@ abstract public class LazyIterator<T> implements ExtendedIterator<T> {
}
@Override
- public <U> ExtendedIterator<U> mapWith(Map1<T,U> map1) {
+ public <U> ExtendedIterator<U> mapWith(Function<T,U> map1) {
lazy();
return it.mapWith(map1);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/util/iterator/Map1.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/Map1.java b/jena-core/src/main/java/org/apache/jena/util/iterator/Map1.java
index 799f555..bb2fb59 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/Map1.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/Map1.java
@@ -18,13 +18,16 @@
package org.apache.jena.util.iterator;
+import java.util.function.Function;
+
/** Converts an Object to another Object.
*/
-public interface Map1<From, To>
-{ /** Convert an object.
- * @param o The thing to be converted.
- * @return The converted thing.
- *
- */
- To map1( From o );
+@Deprecated
+public interface Map1<From, To> extends Function<From, To>
+{
+ @Deprecated
+ default To map1(From input) {
+ return apply(input);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/util/iterator/Map1Iterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/Map1Iterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/Map1Iterator.java
index ac90c3f..ea79c7a 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/Map1Iterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/Map1Iterator.java
@@ -19,6 +19,7 @@
package org.apache.jena.util.iterator;
import java.util.Iterator;
+import java.util.function.Function;
/**
An iterator that consumes an underlying iterator and maps its results before
@@ -27,7 +28,7 @@ import java.util.Iterator;
public class Map1Iterator<From, To> extends NiceIterator<To> implements ClosableIterator<To>
{
- private Map1<From, To> map;
+ private Function<From, To> map;
private Iterator<From> base;
/**
@@ -35,14 +36,14 @@ public class Map1Iterator<From, To> extends NiceIterator<To> implements Closable
* @param map The conversion to apply.
* @param base the iterator of elements to convert
*/
- public Map1Iterator( Map1<From, To> map, Iterator<From> base )
+ public Map1Iterator( Function<From, To> map, Iterator<From> base )
{
this.map = map;
this.base = base;
}
public @Override To next()
- { return map.map1( base.next() ); }
+ { return map.apply( base.next() ); }
public @Override boolean hasNext()
{ return base.hasNext(); }
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java
index 23db070..6e0432f 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/NiceIterator.java
@@ -19,6 +19,7 @@
package org.apache.jena.util.iterator;
import java.util.*;
+import java.util.function.Function;
/**
NiceIterator is the standard base class implementing ExtendedIterator. It provides
@@ -165,7 +166,7 @@ public class NiceIterator<T> implements ExtendedIterator<T>
make a new iterator which is the elementwise _map1_ of the base iterator.
*/
@Override
- public <U> ExtendedIterator<U> mapWith( Map1<T, U> map1 )
+ public <U> ExtendedIterator<U> mapWith( Function<T, U> map1 )
{ return new Map1Iterator<>( map1, this ); }
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java
index 3c2bdfa..bbe93e9 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java
@@ -27,18 +27,11 @@ import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.graph.impl.LiteralLabelFactory ;
-import org.apache.jena.util.iterator.Map1 ;
public class TestFindLiterals extends GraphTestBase
{
public TestFindLiterals( String name )
{ super( name ); }
-
- static final Map1<Triple, Node> getObject = new Map1<Triple, Node>()
- {
- @Override
- public Node map1( Triple o ) { return o.getObject(); }
- };
public static TestFindLiterals aTest
( final String graph, final int size, final String search, final String results )
@@ -56,7 +49,7 @@ public class TestFindLiterals extends GraphTestBase
Node literal = NodeCreateUtils.create( search );
//
assertEquals( "graph has wrong size", size, g.size() );
- Set<Node> got = g.find( Node.ANY, Node.ANY, literal ).mapWith( getObject ).toSet();
+ Set<Node> got = g.find( Node.ANY, Node.ANY, literal ).mapWith( t -> t.getObject() ).toSet();
assertEquals( nodeSet( results ), got );
}
};
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java
index c21d34e..16fbcd7 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestTriple.java
@@ -258,9 +258,9 @@ public class TestTriple extends GraphTestBase
public void testTripleMaps()
{
- assertEquals( node( "x" ), Triple.getSubject.map1( NodeCreateUtils.createTriple( "x P z" ) ) );
- assertEquals( node( "P" ), Triple.getPredicate.map1( NodeCreateUtils.createTriple( "x P z" ) ) );
- assertEquals( node( "z" ), Triple.getObject.map1( NodeCreateUtils.createTriple( "x P z" ) ) );
+ assertEquals( node( "x" ), Triple.getSubject.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
+ assertEquals( node( "P" ), Triple.getPredicate.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
+ assertEquals( node( "z" ), Triple.getObject.apply( NodeCreateUtils.createTriple( "x P z" ) ) );
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestList.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestList.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestList.java
index 0672bbf..826c3aa 100644
--- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestList.java
+++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestList.java
@@ -29,7 +29,6 @@ import java.util.List;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.rdf.model.test.helpers.TestingModelFactory ;
-import org.apache.jena.util.iterator.Map1 ;
import org.apache.jena.vocabulary.RDF ;
import org.junit.Assert;
import org.slf4j.Logger;
@@ -548,13 +547,7 @@ public class TestList extends AbstractModelTestBase
model.read(getFileName("ontology/list5.rdf"));
final RDFList root = getListRoot(model);
- TestList.iteratorTest(root.mapWith(new Map1<RDFNode, String>() {
- @Override
- public String map1( final RDFNode x )
- {
- return ((Resource) x).getLocalName();
- }
- }), new Object[] { "a", "b", "c", "d", "e" });
+ TestList.iteratorTest(root.mapWith(n ->((Resource) n).getLocalName()), new Object[] { "a", "b", "c", "d", "e" });
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java
index dd0fef0..498f357 100644
--- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java
+++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestStatements.java
@@ -117,11 +117,11 @@ public class TestStatements extends AbstractModelTestBase
{
final Statement s = ModelHelper.statement("sub pred obj");
Assert.assertEquals(ModelHelper.resource("sub"),
- Statement.Util.getSubject.map1(s));
+ Statement.Util.getSubject.apply(s));
Assert.assertEquals(ModelHelper.resource("pred"),
- Statement.Util.getPredicate.map1(s));
+ Statement.Util.getPredicate.apply(s));
Assert.assertEquals(ModelHelper.resource("obj"),
- Statement.Util.getObject.map1(s));
+ Statement.Util.getObject.apply(s));
}
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestMapIterators.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestMapIterators.java b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestMapIterators.java
index 333547a..ca1d9d4 100644
--- a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestMapIterators.java
+++ b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestMapIterators.java
@@ -30,14 +30,8 @@ public class TestMapIterators extends ModelTestBase
public void testCloseClosesBaseIterator()
{
- Map1<String, String> map = new Map1<String, String>()
- {
- @Override
- public String map1( String o )
- { return null; }
- };
LoggingClosableIterator<String> base = new LoggingClosableIterator<>( null );
- Map1Iterator<String, String> mit = new Map1Iterator<>( map, base );
+ Map1Iterator<String, String> mit = new Map1Iterator<>( s -> null, base );
mit.close();
assertTrue( "base must have been closed by closing map", base.isClosed() );
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredContainerImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredContainerImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredContainerImpl.java
index 0339c8b..1f7f969 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredContainerImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredContainerImpl.java
@@ -35,7 +35,6 @@ import org.apache.jena.permissions.utils.ContainerFilter;
import org.apache.jena.permissions.utils.PermStatementFilter;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Map1 ;
import org.apache.jena.util.iterator.WrappedIterator ;
import org.apache.jena.vocabulary.RDF ;
@@ -342,7 +341,7 @@ public class SecuredContainerImpl extends SecuredResourceImpl implements
result.add( stmt );
}
}
- return new SecuredNodeIterator<RDFNode>(getModel(), new StatementRemovingIterator(result.iterator()).mapWith( new NodeMap() ) );
+ return new SecuredNodeIterator<RDFNode>(getModel(), new StatementRemovingIterator(result.iterator()).mapWith( s -> s.getObject() ) );
}
finally {
iter.close();
@@ -356,14 +355,7 @@ public class SecuredContainerImpl extends SecuredResourceImpl implements
final Set<Action> permsCopy = new HashSet<Action>(perms);
permsCopy.add(Action.Read);
final ExtendedIterator<RDFNode> ni = getStatementIterator(perms)
- .mapWith(new Map1<Statement, RDFNode>() {
-
- @Override
- public RDFNode map1( final Statement o )
- {
- return o.getObject();
- }
- });
+ .mapWith(o -> o.getObject());
return new SecuredNodeIterator<RDFNode>(getModel(), ni);
}
@@ -525,18 +517,7 @@ public class SecuredContainerImpl extends SecuredResourceImpl implements
*
* }
*/
-
- static class NodeMap implements Map1<Statement,RDFNode>
- {
- @Override
- public RDFNode map1( Statement o )
- {
- return o.getObject();
- }
-
- }
-
static class ContainerComparator implements Comparator<Statement>
{
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java
index 33b0119..558f184 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredNodeIterator.java
@@ -21,6 +21,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Set;
+import java.util.function.Function;
import org.apache.jena.permissions.model.SecuredModel;
import org.apache.jena.permissions.model.SecuredRDFNode;
@@ -28,14 +29,13 @@ import org.apache.jena.rdf.model.NodeIterator ;
import org.apache.jena.rdf.model.RDFNode ;
import org.apache.jena.util.iterator.ExtendedIterator ;
import org.apache.jena.util.iterator.Filter ;
-import org.apache.jena.util.iterator.Map1 ;
/**
* A secured RDFNode iterator implementation
*/
public class SecuredNodeIterator<T extends RDFNode> implements NodeIterator
{
- private class PermNodeMap<N extends RDFNode> implements Map1<N, RDFNode>
+ private class PermNodeMap<N extends RDFNode> implements Function<N, RDFNode>
{
private final SecuredModel securedModel;
@@ -45,7 +45,7 @@ public class SecuredNodeIterator<T extends RDFNode> implements NodeIterator
}
@Override
- public SecuredRDFNode map1( final RDFNode o )
+ public SecuredRDFNode apply( final RDFNode o )
{
return SecuredRDFNodeImpl.getInstance(securedModel, o);
}
@@ -100,7 +100,7 @@ public class SecuredNodeIterator<T extends RDFNode> implements NodeIterator
}
@Override
- public <U> ExtendedIterator<U> mapWith( final Map1<RDFNode, U> map1 )
+ public <U> ExtendedIterator<U> mapWith( final Function<RDFNode, U> map1 )
{
return iter.mapWith(map1);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java
index 060dca4..8056c1e 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java
@@ -22,6 +22,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.function.Function;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -38,7 +39,6 @@ import org.apache.jena.permissions.utils.RDFListIterator;
import org.apache.jena.permissions.utils.RDFListSecFilter;
import org.apache.jena.rdf.model.* ;
import org.apache.jena.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.Map1 ;
import org.apache.jena.util.iterator.WrappedIterator ;
import org.apache.jena.vocabulary.RDF ;
@@ -46,11 +46,11 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
SecuredRDFList
{
// called plain node but still returns a secured node
- private class PlainNodeMap implements Map1<RDFList, RDFNode>
+ private class PlainNodeMap implements Function<RDFList, RDFNode>
{
@Override
- public RDFNode map1( final RDFList o )
+ public RDFNode apply( final RDFList o )
{
return SecuredRDFNodeImpl.getInstance(getModel(), o
.getRequiredProperty(listFirst()).getObject());
@@ -58,18 +58,18 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
}
- private class SecuredListMap implements Map1<RDFList, SecuredRDFList>
+ private class SecuredListMap implements Function<RDFList, SecuredRDFList>
{
@Override
- public SecuredRDFList map1( final RDFList o )
+ public SecuredRDFList apply( final RDFList o )
{
return SecuredRDFListImpl.getInstance(getModel(), o);
}
}
- private class SecuredNodeMap implements Map1<RDFList, SecuredRDFNode>
+ private class SecuredNodeMap implements Function<RDFList, SecuredRDFNode>
{
private Property p;
@@ -79,7 +79,7 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
}
@Override
- public SecuredRDFNode map1( final RDFList o )
+ public SecuredRDFNode apply( final RDFList o )
{
return SecuredRDFNodeImpl.getInstance(getModel(), o
.getRequiredProperty(p).getObject());
@@ -525,16 +525,7 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
if (canRead())
{
final ExtendedIterator<RDFNode> iter = getSecuredRDFListIterator(Action.Read)
- .mapWith( new Map1<RDFList, RDFNode>()
- {
-
- @Override
- public RDFNode map1( final RDFList o )
- {
- return o.getRequiredProperty(listFirst()).getObject();
- }
-
- });
+ .mapWith( list -> list.getRequiredProperty(listFirst()).getObject());
if (iter.hasNext())
{
retval = getModel().createList(iter);
@@ -756,7 +747,7 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
}
@Override
- public <T> ExtendedIterator<T> mapWith( final Map1<RDFNode, T> fn )
+ public <T> ExtendedIterator<T> mapWith( final Function<RDFNode, T> fn )
{
return iterator().mapWith(fn);
}
@@ -917,7 +908,7 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
if (i == idx)
{
final SecuredRDFList list = iter.next();
- final SecuredRDFNode retval = map.map1(list);
+ final SecuredRDFNode retval = map.apply(list);
final Triple t = new Triple(list.asNode(), listFirst()
.asNode(), retval.asNode());
final Triple t2 = new Triple(list.asNode(), listFirst()
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java
index 6151b58..2160880 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRSIterator.java
@@ -20,6 +20,7 @@ package org.apache.jena.permissions.model.impl;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.function.Function;
import org.apache.jena.permissions.SecurityEvaluator;
import org.apache.jena.permissions.SecurityEvaluator.Action;
@@ -30,7 +31,6 @@ import org.apache.jena.rdf.model.RSIterator ;
import org.apache.jena.rdf.model.ReifiedStatement ;
import org.apache.jena.util.iterator.ExtendedIterator ;
import org.apache.jena.util.iterator.Filter ;
-import org.apache.jena.util.iterator.Map1 ;
/**
* A secured RSIterator implementation
@@ -60,8 +60,7 @@ public class SecuredRSIterator implements RSIterator
}
- private class PermReifiedStatementMap implements
- Map1<ReifiedStatement, ReifiedStatement>
+ private class PermReifiedStatementMap implements Function<ReifiedStatement, ReifiedStatement>
{
private final SecuredModel securedModel;
@@ -71,7 +70,7 @@ public class SecuredRSIterator implements RSIterator
}
@Override
- public ReifiedStatement map1( final ReifiedStatement o )
+ public ReifiedStatement apply( final ReifiedStatement o )
{
return SecuredReifiedStatementImpl.getInstance(securedModel, o);
}
@@ -131,7 +130,7 @@ public class SecuredRSIterator implements RSIterator
}
@Override
- public <U> ExtendedIterator<U> mapWith( final Map1<ReifiedStatement, U> map1 )
+ public <U> ExtendedIterator<U> mapWith( final Function<ReifiedStatement, U> map1 )
{
return iter.mapWith(map1);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java
index e681de3..4baa134 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResIterator.java
@@ -20,6 +20,7 @@ package org.apache.jena.permissions.model.impl;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.function.Function;
import org.apache.jena.permissions.model.SecuredModel;
import org.apache.jena.permissions.model.SecuredResource;
@@ -27,12 +28,11 @@ import org.apache.jena.rdf.model.ResIterator ;
import org.apache.jena.rdf.model.Resource ;
import org.apache.jena.util.iterator.ExtendedIterator ;
import org.apache.jena.util.iterator.Filter ;
-import org.apache.jena.util.iterator.Map1 ;
public class SecuredResIterator implements ResIterator
{
- private class PermResourceMap implements Map1<Resource, Resource>
+ private class PermResourceMap implements Function<Resource, Resource>
{
private final SecuredModel securedModel;
@@ -42,7 +42,7 @@ public class SecuredResIterator implements ResIterator
}
@Override
- public SecuredResource map1( final Resource o )
+ public SecuredResource apply( final Resource o )
{
return SecuredResourceImpl.getInstance(securedModel, o);
}
@@ -90,7 +90,7 @@ public class SecuredResIterator implements ResIterator
}
@Override
- public <U> ExtendedIterator<U> mapWith( final Map1<Resource, U> map1 )
+ public <U> ExtendedIterator<U> mapWith( final Function<Resource, U> map1 )
{
return iter.mapWith(map1);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/65ce6b50/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java
index 96a991d..81df811 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementIterator.java
@@ -21,6 +21,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Set;
+import java.util.function.Function;
import org.apache.jena.permissions.SecurityEvaluator.Action;
import org.apache.jena.permissions.model.SecuredModel;
@@ -30,7 +31,6 @@ import org.apache.jena.rdf.model.Statement ;
import org.apache.jena.rdf.model.StmtIterator ;
import org.apache.jena.util.iterator.ExtendedIterator ;
import org.apache.jena.util.iterator.Filter ;
-import org.apache.jena.util.iterator.Map1 ;
/**
* A secured StatementIterator implementation
@@ -38,7 +38,7 @@ import org.apache.jena.util.iterator.Map1 ;
public class SecuredStatementIterator implements StmtIterator
{
- private class PermStatementMap implements Map1<Statement, Statement>
+ private class PermStatementMap implements Function<Statement, Statement>
{
private final SecuredModel securedModel;
@@ -48,7 +48,7 @@ public class SecuredStatementIterator implements StmtIterator
}
@Override
- public SecuredStatement map1( final Statement o )
+ public SecuredStatement apply( final Statement o )
{
return SecuredStatementImpl.getInstance(securedModel, o);
}
@@ -105,7 +105,7 @@ public class SecuredStatementIterator implements StmtIterator
}
@Override
- public <U> ExtendedIterator<U> mapWith( final Map1<Statement, U> map1 )
+ public <U> ExtendedIterator<U> mapWith( final Function<Statement, U> map1 )
{
return iter.mapWith(map1);
}
[07/50] [abbrv] jena git commit: Handle --syntax
Posted by cl...@apache.org.
Handle --syntax
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c6e1970e
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c6e1970e
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c6e1970e
Branch: refs/heads/add-contract-tests
Commit: c6e1970e8b7c89bdabb9615cfc23598be3968c86
Parents: 3656b68
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 15:10:09 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 15:18:37 2015 +0100
----------------------------------------------------------------------
jena-arq/src/main/java/arq/uparse.java | 51 ++++++++++++++++++-----------
1 file changed, 32 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c6e1970e/jena-arq/src/main/java/arq/uparse.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/arq/uparse.java b/jena-arq/src/main/java/arq/uparse.java
index 12b7108..2e930ff 100644
--- a/jena-arq/src/main/java/arq/uparse.java
+++ b/jena-arq/src/main/java/arq/uparse.java
@@ -39,7 +39,7 @@ public class uparse extends CmdARQ
protected static final ArgDecl syntaxArg = new ArgDecl(ArgDecl.HasValue, "syntax", "syn") ;
protected static final ArgDecl argDeclPrint = new ArgDecl(ArgDecl.HasValue, "print") ;
List<String> requestFiles = null ;
- protected Syntax updateSyntax = Syntax.defaultUpdateSyntax ;
+ protected Syntax updateSyntax = null ;
private boolean printUpdate = false ;
private boolean printNone = false ;
@@ -62,21 +62,24 @@ public class uparse extends CmdARQ
if ( super.cmdStrictMode )
updateSyntax = Syntax.syntaxSPARQL_11 ;
+ // Set syntax
+ if ( super.contains(syntaxArg) ) {
+ // short name
+ String s = super.getValue(syntaxArg) ;
+ Syntax syn = Syntax.lookup(s) ;
+ if ( syn == null )
+ super.cmdError("Unrecognized syntax: " + s) ;
+ updateSyntax = syn ;
+ }
+
for ( String arg : getValues( argDeclPrint ) )
{
if ( arg.equalsIgnoreCase( "query" ) )
- {
printUpdate = true;
- }
else if ( arg.equalsIgnoreCase( "none" ) )
- {
printNone = true;
- }
else
- {
- throw new CmdException(
- "Not a recognized print form: " + arg + " : Choices are: update, none" );
- }
+ throw new CmdException("Not a recognized print form: " + arg + " : Choices are: update, none" );
}
if ( !printUpdate && ! printNone )
@@ -95,17 +98,27 @@ public class uparse extends CmdARQ
{
for ( String filename : requestFiles )
{
+ Syntax syntax = updateSyntax ;
+ if ( syntax == null )
+ syntax = Syntax.guessUpdateFileSyntax(filename) ;
String x = oneFile( filename );
if ( x != null )
- {
- execOne( x );
- }
+ execOne( x, syntax );
}
- for ( String x : super.positionals )
- {
- x = indirect( x );
- execOne( x );
+
+
+
+ for ( String x : super.positionals ) {
+ Syntax syntax = updateSyntax ;
+ if ( matchesIndirect(x) ) {
+ if ( syntax == null )
+ syntax = Syntax.guessUpdateFileSyntax(x) ;
+ x = indirect( x );
+ }
+ if ( syntax == null )
+ syntax = Syntax.defaultUpdateSyntax ;
+ execOne( x, syntax );
}
}
@@ -123,11 +136,11 @@ public class uparse extends CmdARQ
}
}
- private void execOne(String updateString)
+ private void execOne(String updateString, Syntax syntax)
{
UpdateRequest req ;
try {
- req = UpdateFactory.create(updateString, updateSyntax) ;
+ req = UpdateFactory.create(updateString, syntax) ;
} catch (QueryParseException ex)
{
System.err.print("Parse error: ") ;
@@ -147,7 +160,7 @@ public class uparse extends CmdARQ
String updateString2 = w.asString() ;
UpdateRequest req2 = null ;
try {
- req2 = UpdateFactory.create(updateString2, updateSyntax) ;
+ req2 = UpdateFactory.create(updateString2, syntax) ;
} catch (QueryParseException ex)
{
System.err.println("Can not reparse update after serialization") ;
[03/50] [abbrv] jena git commit: JENA-904: This closes #46
Posted by cl...@apache.org.
JENA-904: This closes #46
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3573bd76
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3573bd76
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3573bd76
Branch: refs/heads/add-contract-tests
Commit: 3573bd76d5ed31a9ad89b0d62f8c62d497b9c1fa
Parents: 4edc6d3
Author: Andy Seaborne <an...@apache.org>
Authored: Fri May 1 12:57:10 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Fri May 1 12:57:10 2015 +0100
----------------------------------------------------------------------
----------------------------------------------------------------------
[34/50] [abbrv] jena git commit: openjena -> apache.jena
Posted by cl...@apache.org.
openjena -> apache.jena
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/0ec61c85
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/0ec61c85
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/0ec61c85
Branch: refs/heads/add-contract-tests
Commit: 0ec61c8579af4c8cbfae8df85fc534d80fb4c9b0
Parents: a55e147
Author: Andy Seaborne <an...@apache.org>
Authored: Thu May 7 10:42:27 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu May 7 10:42:27 2015 +0100
----------------------------------------------------------------------
.../org/apache/jena/atlas/data/ThresholdPolicyCount.java | 10 ----------
.../org/apache/jena/atlas/data/ThresholdPolicyMemory.java | 5 -----
.../main/java/org/apache/jena/riot/lang/LangRDFJSON.java | 2 +-
jena-arq/src/test/resources/log4j-testing.properties | 4 +---
jena-arq/src/test/resources/log4j.properties | 3 +--
.../src/main/java/org/apache/jena/atlas/lib/Cache.java | 2 +-
.../main/java/org/apache/jena/atlas/logging/LogCtl.java | 3 +--
jena-core/testing/reasoners/bugs/layeredValidation.owl | 2 +-
jena-csv/src/test/resources/log4j.properties | 3 +--
.../src/test/resources/log4j.properties | 3 +--
.../src/main/java/org/apache/jena/fuseki/FusekiCmd.java | 1 -
.../main/java/org/apache/jena/fuseki/FusekiLogging.java | 1 -
jena-maven-tools/README | 2 +-
jena-maven-tools/src/it/schemagen-integration-0/pom.xml | 4 ++--
jena-maven-tools/src/it/schemagen-integration-1/pom.xml | 2 +-
jena-maven-tools/src/it/schemagen-integration-2/pom.xml | 2 +-
jena-maven-tools/src/it/schemagen-integration-3/pom.xml | 2 +-
jena-spatial/src/test/resources/geoarq-query-1.rq | 2 +-
.../org/apache/jena/tdb/store/bulkloader/BulkLoader.java | 6 +-----
.../java/org/apache/jena/tdb/extra/T_TxnDeadlockTest.java | 8 ++++----
20 files changed, 20 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyCount.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyCount.java b/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyCount.java
index 640bdd2..1612098 100644
--- a/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyCount.java
+++ b/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyCount.java
@@ -36,28 +36,18 @@ public class ThresholdPolicyCount<T> implements ThresholdPolicy<T>
reset();
}
- /* (non-Javadoc)
- * @see org.openjena.atlas.io.ThresholdPolicy#increment(java.lang.Object)
- */
@Override
public void increment(T item)
{
count++;
}
- /* (non-Javadoc)
- * @see org.openjena.atlas.io.ThresholdPolicy#isThresholdExceeded()
- */
@Override
public boolean isThresholdExceeded()
{
return (count >= threshold);
}
- /*
- * (non-Javadoc)
- * @see org.openjena.atlas.data.ThresholdPolicy#reset()
- */
@Override
public void reset()
{
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyMemory.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyMemory.java b/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyMemory.java
index 15af2c4..00ea7b8 100644
--- a/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyMemory.java
+++ b/jena-arq/src/main/java/org/apache/jena/atlas/data/ThresholdPolicyMemory.java
@@ -61,11 +61,6 @@ public class ThresholdPolicyMemory<T> implements ThresholdPolicy<T> {
return (size >= threshold) ;
}
- /*
- * (non-Javadoc)
- *
- * @see org.openjena.atlas.data.ThresholdPolicy#reset()
- */
@Override
public void reset() {
count = 0 ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFJSON.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFJSON.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFJSON.java
index d529763..d495e07 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFJSON.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFJSON.java
@@ -43,7 +43,7 @@ public class LangRDFJSON extends LangBase
super(tokenizer, profile, dest) ;
if (!(tokenizer instanceof TokenizerJSON))
{
- throw new IllegalArgumentException("Tokenizer for the RDF/JSON parser must be an instance of org.openjena.atlas.json.io.parser.TokenizerJSON") ;
+ throw new IllegalArgumentException("Tokenizer for the RDF/JSON parser must be an instance of "+TokenizerJSON.class.getName()) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-arq/src/test/resources/log4j-testing.properties
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/resources/log4j-testing.properties b/jena-arq/src/test/resources/log4j-testing.properties
index 17c9cc6..8ff6f73 100644
--- a/jena-arq/src/test/resources/log4j-testing.properties
+++ b/jena-arq/src/test/resources/log4j-testing.properties
@@ -10,9 +10,7 @@ log4j.logger.com.hp.hpl.jena.arq.info=INFO
log4j.logger.com.hp.hpl.jena.arq.exec=INFO
# Everything else in Jena
-log4j.logger.com.hp.hpl.jena=WARN
-log4j.logger.org.openjena=WARN
-log4j.logger.org.openjena.riot=INFO
+log4j.logger.org.apache.jena.riot=INFO
# Apache Commons HTTP
# May be useful to switch to DEBUG if aiming to debug any HTTP communication issues
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-arq/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/resources/log4j.properties b/jena-arq/src/test/resources/log4j.properties
index 247e450..5cedb50 100644
--- a/jena-arq/src/test/resources/log4j.properties
+++ b/jena-arq/src/test/resources/log4j.properties
@@ -11,8 +11,7 @@ log4j.logger.org.apache.jena.arq.exec=INFO
# Everything else in Jena
log4j.logger.org.apache.jena=WARN
-log4j.logger.org.openjena=WARN
-log4j.logger.org.openjena.riot=INFO
+log4j.logger.org.apache.jena.riot=INFO
# Apache Commons HTTP
# May be useful to turn up to DEBUG if debugging HTTP communication issues
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
index 8ebf2d7..69d6544 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Cache.java
@@ -33,7 +33,7 @@ public interface Cache<Key, Value>
public Value getIfPresent(Key key) ;
/** Get from cache, of not present, call the {@code callable}
- * to try to fill the cache.
+ * to try to fill the cache. This operation should be atomic.
*/
public Value getOrFill(Key key, Callable<Value> callable) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java b/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java
index ad1adce..9e067bc 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/logging/LogCtl.java
@@ -179,7 +179,6 @@ public class LogCtl {
, "## Everything", "log4j.rootLogger=INFO, jena.plainlevel",
"log4j.logger.com.hp.hpl.jena=WARN",
- "log4j.logger.org.openjena=WARN",
"log4j.logger.org.apache.jena=WARN",
"log4j.logger.org.apache.jena.tdb.loader=INFO"
@@ -195,7 +194,7 @@ public class LogCtl {
// "handlers=java.util.logging.ConsoleHandler,org.apache.jena.atlas.logging.java.ConsoleHandlerStdout",
// Atlas.
- "handlers=org.openjena.atlas.logging.java.ConsoleHandlerStdout",
+ "handlers=org.apache.jena.atlas.logging.java.ConsoleHandlerStdout",
"org.apache.atlas.jena.logging.java.ConsoleHandlerStdout.level=INFO",
"java.util.logging.ConsoleHandler.formatter=atlas.logging.java.TextFormatter"
) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-core/testing/reasoners/bugs/layeredValidation.owl
----------------------------------------------------------------------
diff --git a/jena-core/testing/reasoners/bugs/layeredValidation.owl b/jena-core/testing/reasoners/bugs/layeredValidation.owl
index a177cf7..8c7964b 100644
--- a/jena-core/testing/reasoners/bugs/layeredValidation.owl
+++ b/jena-core/testing/reasoners/bugs/layeredValidation.owl
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE owl [
- <!ENTITY eg "http://www.openjena.org/bugs#" >
+ <!ENTITY eg "http://example.jena.apache.org/bugs#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-csv/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/jena-csv/src/test/resources/log4j.properties b/jena-csv/src/test/resources/log4j.properties
index 247e450..5cedb50 100644
--- a/jena-csv/src/test/resources/log4j.properties
+++ b/jena-csv/src/test/resources/log4j.properties
@@ -11,8 +11,7 @@ log4j.logger.org.apache.jena.arq.exec=INFO
# Everything else in Jena
log4j.logger.org.apache.jena=WARN
-log4j.logger.org.openjena=WARN
-log4j.logger.org.openjena.riot=INFO
+log4j.logger.org.apache.jena.riot=INFO
# Apache Commons HTTP
# May be useful to turn up to DEBUG if debugging HTTP communication issues
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-elephas/jena-elephas-common/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/test/resources/log4j.properties b/jena-elephas/jena-elephas-common/src/test/resources/log4j.properties
index 247e450..5cedb50 100644
--- a/jena-elephas/jena-elephas-common/src/test/resources/log4j.properties
+++ b/jena-elephas/jena-elephas-common/src/test/resources/log4j.properties
@@ -11,8 +11,7 @@ log4j.logger.org.apache.jena.arq.exec=INFO
# Everything else in Jena
log4j.logger.org.apache.jena=WARN
-log4j.logger.org.openjena=WARN
-log4j.logger.org.openjena.riot=INFO
+log4j.logger.org.apache.jena.riot=INFO
# Apache Commons HTTP
# May be useful to turn up to DEBUG if debugging HTTP communication issues
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
index 995c5d7..6e79cee 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
@@ -71,7 +71,6 @@ public class FusekiCmd extends CmdARQ
, "## Everything"
, "log4j.rootLogger=INFO, jena.plain"
, "log4j.logger.com.hp.hpl.jena=WARN"
- , "log4j.logger.org.openjena=WARN"
, "log4j.logger.org.apache.jena=WARN"
, "# Server log."
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLogging.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLogging.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLogging.java
index 003b38d..1810f1e 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLogging.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLogging.java
@@ -151,7 +151,6 @@ public class FusekiLogging
"## Most things",
"log4j.rootLogger=INFO, jena.plainstdout",
"log4j.logger.com.hp.hpl.jena=WARN",
- "log4j.logger.org.openjena=WARN",
"log4j.logger.org.apache.jena=WARN",
"# Fuseki System logs.",
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-maven-tools/README
----------------------------------------------------------------------
diff --git a/jena-maven-tools/README b/jena-maven-tools/README
index ba8bbb6..e7f5f03 100644
--- a/jena-maven-tools/README
+++ b/jena-maven-tools/README
@@ -15,7 +15,7 @@ Changes
Version 0.4
- * Moved source code from org.openjena package tree to org.apache.jena
+ * Moved source code to org.apache.jena
* Removed some obsolete project artefacts (e.g. src/site)
* Added license headers to conform to Apache Software Foundation policy,
and added a rat:check target to the pom file.
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-maven-tools/src/it/schemagen-integration-0/pom.xml
----------------------------------------------------------------------
diff --git a/jena-maven-tools/src/it/schemagen-integration-0/pom.xml b/jena-maven-tools/src/it/schemagen-integration-0/pom.xml
index 97ccf1c..732a38d 100644
--- a/jena-maven-tools/src/it/schemagen-integration-0/pom.xml
+++ b/jena-maven-tools/src/it/schemagen-integration-0/pom.xml
@@ -1,4 +1,4 @@
-<!--
+f<!--
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
@@ -18,7 +18,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.openjena.tools</groupId>
+ <groupId>org.apache.jena.tools</groupId>
<artifactId>schemagen-test</artifactId>
<version>@project.version@</version>
<packaging>jar</packaging>
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-maven-tools/src/it/schemagen-integration-1/pom.xml
----------------------------------------------------------------------
diff --git a/jena-maven-tools/src/it/schemagen-integration-1/pom.xml b/jena-maven-tools/src/it/schemagen-integration-1/pom.xml
index bc3c94d..858da18 100644
--- a/jena-maven-tools/src/it/schemagen-integration-1/pom.xml
+++ b/jena-maven-tools/src/it/schemagen-integration-1/pom.xml
@@ -18,7 +18,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.openjena.tools</groupId>
+ <groupId>org.apache.jena.tools</groupId>
<artifactId>schemagen-test</artifactId>
<version>@project.version@</version>
<packaging>jar</packaging>
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-maven-tools/src/it/schemagen-integration-2/pom.xml
----------------------------------------------------------------------
diff --git a/jena-maven-tools/src/it/schemagen-integration-2/pom.xml b/jena-maven-tools/src/it/schemagen-integration-2/pom.xml
index 225ce2f..ef4cf8f 100644
--- a/jena-maven-tools/src/it/schemagen-integration-2/pom.xml
+++ b/jena-maven-tools/src/it/schemagen-integration-2/pom.xml
@@ -18,7 +18,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.openjena.tools</groupId>
+ <groupId>org.apache.jena.tools</groupId>
<artifactId>schemagen-test</artifactId>
<version>@project.version@</version>
<packaging>jar</packaging>
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-maven-tools/src/it/schemagen-integration-3/pom.xml
----------------------------------------------------------------------
diff --git a/jena-maven-tools/src/it/schemagen-integration-3/pom.xml b/jena-maven-tools/src/it/schemagen-integration-3/pom.xml
index 890aafd..a746421 100644
--- a/jena-maven-tools/src/it/schemagen-integration-3/pom.xml
+++ b/jena-maven-tools/src/it/schemagen-integration-3/pom.xml
@@ -18,7 +18,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.openjena.tools</groupId>
+ <groupId>org.apache.jena.tools</groupId>
<artifactId>schemagen-test</artifactId>
<version>@project.version@</version>
<packaging>jar</packaging>
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-spatial/src/test/resources/geoarq-query-1.rq
----------------------------------------------------------------------
diff --git a/jena-spatial/src/test/resources/geoarq-query-1.rq b/jena-spatial/src/test/resources/geoarq-query-1.rq
index a189da9..7f7bb64 100644
--- a/jena-spatial/src/test/resources/geoarq-query-1.rq
+++ b/jena-spatial/src/test/resources/geoarq-query-1.rq
@@ -1,6 +1,6 @@
PREFIX : <http://example/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
-PREFIX geoarq: <http://openjena.org/GeoARQ/property#>
+PREFIX geoarq: <http://jena.apache.org/GeoARQ/property#>
SELECT ?airport {
?s geoarq:nearby (51.3000 -2.71000) .
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/BulkLoader.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/BulkLoader.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/BulkLoader.java
index 0d162d2..04b4108 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/BulkLoader.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/BulkLoader.java
@@ -52,11 +52,7 @@ public class BulkLoader {
/** Number of ticks per super tick */
public static int superTick = 10 ;
- // Events.
- // private static String baseNameGeneral = "http://openjena.org/TDB/event#"
- // ;
-
- private static String baseName = "http://openjena.org/TDB/bulkload/event#" ;
+ private static String baseName = "http://jena.apache.org/TDB/bulkload/event#" ;
public static EventType evStartBulkload = new EventType(baseName + "start-bulkload") ;
public static EventType evFinishBulkload = new EventType(baseName + "finish-bulkload") ;
http://git-wip-us.apache.org/repos/asf/jena/blob/0ec61c85/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TxnDeadlockTest.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TxnDeadlockTest.java b/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TxnDeadlockTest.java
index 269a498..a3f4413 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TxnDeadlockTest.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TxnDeadlockTest.java
@@ -81,13 +81,13 @@ public class T_TxnDeadlockTest {
DatasetGraphTxn txnGraph =
storeConnection.begin(ReadWrite.WRITE);
txnGraph.add(new Quad(
- NodeFactory.createURI("http://openjena.org/"
+ NodeFactory.createURI("http://jena-example.org/"
+ numberGenerator.nextInt()),
- NodeFactory.createURI("http://openjena.org/"
+ NodeFactory.createURI("http://jena-example.org/"
+ numberGenerator.nextInt()),
- NodeFactory.createURI("http://openjena.org/"
+ NodeFactory.createURI("http://jena-example.org/"
+ numberGenerator.nextInt()),
- NodeFactory.createURI("http://openjena.org/"
+ NodeFactory.createURI("http://jena-example.org/"
+ numberGenerator.nextInt())));
txnGraph.commit();
txnGraph.end();