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 2014/01/05 19:21:10 UTC
svn commit: r1555602 [1/2] - in /jena/Experimental/jena-rmi: ./
jena-rmi-client/ jena-rmi-client/src/ jena-rmi-client/src/main/
jena-rmi-client/src/main/java/ jena-rmi-client/src/main/java/org/
jena-rmi-client/src/main/java/org/apache/ jena-rmi-client/...
Author: claude
Date: Sun Jan 5 18:21:09 2014
New Revision: 1555602
URL: http://svn.apache.org/r1555602
Log:
Share project "jena-rmi" into "https://svn.apache.org/repos/asf/jena/Experimental/jena-rmi"
Added:
jena/Experimental/jena-rmi/jena-rmi-client/ (with props)
jena/Experimental/jena-rmi/jena-rmi-client/client.policy
jena/Experimental/jena-rmi/jena-rmi-client/pom.xml (with props)
jena/Experimental/jena-rmi/jena-rmi-client/src/
jena/Experimental/jena-rmi/jena-rmi-client/src/main/
jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/
jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/
jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/
jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/
jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/rmi/
jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/rmi/client/
jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/rmi/client/ClientEngine.java (with props)
jena/Experimental/jena-rmi/jena-rmi-client/src/main/resources/
jena/Experimental/jena-rmi/jena-rmi-client/src/test/
jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/
jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/
jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/
jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/
jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/
jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/
jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphEventManagerTest.java (with props)
jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphTest.java (with props)
jena/Experimental/jena-rmi/jena-rmi-client/src/test/resources/
jena/Experimental/jena-rmi/jena-rmi-server/
jena/Experimental/jena-rmi/jena-rmi-server/pom.xml (with props)
jena/Experimental/jena-rmi/jena-rmi-server/server.policy
jena/Experimental/jena-rmi/jena-rmi-server/src/
jena/Experimental/jena-rmi/jena-rmi-server/src/main/
jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/
jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/
jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/
jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/
jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/rmi/
jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/rmi/server/
jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/rmi/server/GraphEngine.java (with props)
jena/Experimental/jena-rmi/jena-rmi-server/src/main/resources/
jena/Experimental/jena-rmi/jena-rmi-server/src/test/
jena/Experimental/jena-rmi/jena-rmi-server/src/test/java/
jena/Experimental/jena-rmi/jena-rmi-server/src/test/resources/
jena/Experimental/jena-rmi/jena-rmi-shared/ (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/pom.xml (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_Graph.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphEventManager.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphListener.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphStatisticsHandler.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_PrefixMapping.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_RemoteIterator.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_TransactionHandler.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphEventManagerImpl.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphImpl.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphListenerImpl.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphStatisticsHandlerImpl.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteIteratorImpl.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemotePrefixMappingImpl.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteTransactionHandlerImpl.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/GraphExistsException.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/NodeType.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteCapabilities.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteGraph.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteGraphEngine.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteGraphEventManager.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteGraphListener.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteGraphStatisticsHandler.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteIterator.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteNode.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemotePrefixMapping.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteTransactionHandler.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteTriple.java (with props)
jena/Experimental/jena-rmi/jena-rmi-shared/src/main/resources/
jena/Experimental/jena-rmi/jena-rmi-shared/src/test/
jena/Experimental/jena-rmi/jena-rmi-shared/src/test/java/
jena/Experimental/jena-rmi/jena-rmi-shared/src/test/resources/
jena/Experimental/jena-rmi/pom.xml (with props)
jena/Experimental/jena-rmi/src/
Modified:
jena/Experimental/jena-rmi/ (props changed)
Propchange: jena/Experimental/jena-rmi/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jan 5 18:21:09 2014
@@ -0,0 +1,7 @@
+target
+
+.classpath
+
+.project
+
+.settings
Propchange: jena/Experimental/jena-rmi/jena-rmi-client/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jan 5 18:21:09 2014
@@ -0,0 +1,5 @@
+target
+
+.project
+
+.classpath
Added: jena/Experimental/jena-rmi/jena-rmi-client/client.policy
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-client/client.policy?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-client/client.policy (added)
+++ jena/Experimental/jena-rmi/jena-rmi-client/client.policy Sun Jan 5 18:21:09 2014
@@ -0,0 +1,4 @@
+grant {
+ permission java.security.AllPermission;
+};
+
Added: jena/Experimental/jena-rmi/jena-rmi-client/pom.xml
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-client/pom.xml?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-client/pom.xml (added)
+++ jena/Experimental/jena-rmi/jena-rmi-client/pom.xml Sun Jan 5 18:21:09 2014
@@ -0,0 +1,78 @@
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.xenei</groupId>
+ <artifactId>jena-rmi</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>jena-rmi-client</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.xenei</groupId>
+ <artifactId>jena-rmi-shared</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.xenei</groupId>
+ <artifactId>junit-contracts</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>new-test</artifactId>
+ <scope>test</scope>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <!-- <plugin>
+ <groupId>org.dstovall</groupId>
+ <artifactId>onejar-maven-plugin</artifactId>
+ <version>${onejar.version}</version>
+ <executions>
+ <execution>
+ <configuration>
+ <mainClass>org.apache.jena.rmi.client.ClientEngine</mainClass>
+
+ <onejarVersion>0.97</onejarVersion>
+
+ <attachToBuild>true</attachToBuild>
+
+ <classifier>onejar</classifier>
+ </configuration>
+ <goals>
+ <goal>one-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>${shade.version}</version>
+ <configuration>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <mainClass>org.apache.jena.rmi.client.ClientEngine</mainClass>
+ </transformer>
+ </transformers>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <name>Apache Jena - RMI Client</name>
+</project>
\ No newline at end of file
Propchange: jena/Experimental/jena-rmi/jena-rmi-client/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/rmi/client/ClientEngine.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/rmi/client/ClientEngine.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/rmi/client/ClientEngine.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/rmi/client/ClientEngine.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,84 @@
+package org.apache.jena.rmi.client;
+
+import java.rmi.RemoteException;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+
+import org.apache.jena.rmi.shared.RMI_Graph;
+import org.apache.jena.rmi.shared.remote.RemoteGraph;
+import org.apache.jena.rmi.shared.remote.RemoteGraphEngine;
+
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.Node;
+import com.hp.hpl.jena.graph.NodeFactory;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.shared.NotFoundException;
+import com.hp.hpl.jena.vocabulary.RDF;
+
+public class ClientEngine implements RemoteGraphEngine {
+
+ private static RemoteGraphEngine graphEngine;
+
+ public static void main(String args[]) throws RemoteException {
+ if (System.getSecurityManager() == null) {
+ System.setSecurityManager(new SecurityManager());
+ }
+ try {
+ String name = "GraphEngine";
+ Registry registry = LocateRegistry.getRegistry();
+ graphEngine = (RemoteGraphEngine) registry.lookup(name);
+ } catch (Exception e) {
+ System.err.println("GraphEngine exception:");
+ e.printStackTrace();
+ }
+
+ RemoteGraph rg = null;
+ try {
+ rg = graphEngine.getGraph("foo");
+ }
+ catch (NotFoundException e)
+ {
+ rg = graphEngine.createGraph("foo");
+ }
+
+ Graph g = new RMI_Graph(rg);
+ Node s = NodeFactory.createURI("http://example.com/s");
+ Node p = NodeFactory.createURI("http://example.com/p");
+ Node o = NodeFactory.createURI("http://example.com/o");
+ g.add(new Triple(s, p, o));
+ boolean b = g.contains(new Triple(s, p, o));
+ System.out.print(b);
+
+ Model m = ModelFactory.createModelForGraph(g);
+ Statement stmt = m.asStatement(new Triple(s, RDF.type.asNode(),
+ NodeFactory.createURI("http://example.com/sType")));
+ m.add(stmt);
+ stmt = m.asStatement(new Triple(p, RDF.type.asNode(), NodeFactory
+ .createURI("http://example.com/pType")));
+ m.add(stmt);
+ stmt = m.asStatement(new Triple(o, RDF.type.asNode(), NodeFactory
+ .createURI("http://example.com/oType")));
+ m.add(stmt);
+ m.write(System.out, "TURTLE");
+ m.close();
+ }
+
+ @Override
+ public RemoteGraph getGraph(String graphName) throws RemoteException {
+ return graphEngine.getGraph(graphName);
+ }
+
+ @Override
+ public RemoteGraph createGraph(String graphName) throws RemoteException {
+ return graphEngine.createGraph(graphName);
+ }
+
+ @Override
+ public void destroyGraph(String graphName) throws RemoteException {
+ graphEngine.destroyGraph(graphName);
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-client/src/main/java/org/apache/jena/rmi/client/ClientEngine.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphEventManagerTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphEventManagerTest.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphEventManagerTest.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphEventManagerTest.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,101 @@
+package og.apache.jena.rmi.client;
+
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+import java.util.Iterator;
+
+import org.apache.jena.rmi.shared.RMI_Graph;
+import org.apache.jena.rmi.shared.RMI_GraphEventManager;
+import org.apache.jena.rmi.shared.RMI_GraphListener;
+import org.apache.jena.rmi.shared.remote.GraphExistsException;
+import org.apache.jena.rmi.shared.remote.RemoteGraph;
+import org.apache.jena.rmi.shared.remote.RemoteGraphEngine;
+import org.junit.BeforeClass;
+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.xenei.junit.contract.IProducer;
+
+import static org.junit.Assert.*;
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.GraphStatisticsHandler;
+import com.hp.hpl.jena.graph.Node;
+import com.hp.hpl.jena.graph.Node_URI;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.mem.GraphMem;
+import com.hp.hpl.jena.testing_framework.AbstractGraphProducer;
+import static com.hp.hpl.jena.testing_framework.GraphHelper.*;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(RMI_GraphEventManager.class)
+public class GraphEventManagerTest {
+
+ static RemoteGraphEngine graphEngine;
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ if (System.getSecurityManager() == null) {
+ System.setSecurityManager(new SecurityManager());
+ }
+
+ String name = "GraphEngine";
+ Registry registry = LocateRegistry.getRegistry();
+ graphEngine = (RemoteGraphEngine) registry.lookup(name);
+
+ }
+
+ protected IProducer<RMI_GraphEventManager> eventManagerProducer = new IProducer<RMI_GraphEventManager>() {
+
+ private RemoteGraph rGraph;
+
+ private RemoteGraph getRemoteGraph() throws RemoteException {
+ if (rGraph == null)
+ {
+ try {
+ rGraph = graphEngine.createGraph("test0" );
+ }
+ catch (GraphExistsException e)
+ {
+ rGraph = graphEngine.getGraph("test0");
+ }
+ }
+ return rGraph;
+ }
+
+ @Override
+ public RMI_GraphEventManager newInstance() {
+ try {
+ return new RMI_GraphEventManager(
+ getRemoteGraph().getEventManager());
+ } catch (RemoteException e) {
+ throw new RuntimeException( e );
+ } catch (NotBoundException e) {
+ throw new RuntimeException( e );
+ }
+ }
+
+ @Override
+ public void cleanUp() {
+ if (rGraph != null)
+ {
+ try {
+ graphEngine.destroyGraph("test0" );
+ } catch (RemoteException e) {
+ // do nothing.
+ }
+ }
+ }
+
+ };
+
+ @Inject
+ public IProducer<RMI_GraphEventManager> getGraphProducer() {
+ return eventManagerProducer;
+ }
+
+
+}
\ No newline at end of file
Propchange: jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphEventManagerTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphTest.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphTest.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphTest.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,131 @@
+package og.apache.jena.rmi.client;
+
+import java.rmi.RemoteException;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+import java.util.Iterator;
+
+import org.apache.jena.rmi.shared.RMI_Graph;
+import org.apache.jena.rmi.shared.remote.GraphExistsException;
+import org.apache.jena.rmi.shared.remote.RemoteGraph;
+import org.apache.jena.rmi.shared.remote.RemoteGraphEngine;
+import org.junit.BeforeClass;
+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.xenei.junit.contract.IProducer;
+
+import static org.junit.Assert.*;
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.GraphStatisticsHandler;
+import com.hp.hpl.jena.graph.Node;
+import com.hp.hpl.jena.graph.Node_URI;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.mem.GraphMem;
+import com.hp.hpl.jena.testing_framework.AbstractGraphProducer;
+import static com.hp.hpl.jena.testing_framework.GraphHelper.*;
+
+@RunWith(ContractSuite.class)
+@ContractImpl(RMI_Graph.class)
+public class GraphTest {
+
+ static RemoteGraphEngine graphEngine;
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ if (System.getSecurityManager() == null) {
+ System.setSecurityManager(new SecurityManager());
+ }
+
+ String name = "GraphEngine";
+ Registry registry = LocateRegistry.getRegistry();
+ graphEngine = (RemoteGraphEngine) registry.lookup(name);
+
+ }
+
+ protected IProducer<RMI_Graph> graphProducer = new AbstractGraphProducer<RMI_Graph>() {
+
+ int i = 0;
+
+ @Override
+ protected RMI_Graph createNewGraph() {
+ RemoteGraph rg = null;
+ try {
+ try {
+ rg = graphEngine.createGraph("test"
+ + (i++));
+ }
+ catch (GraphExistsException e)
+ {
+ graphEngine.destroyGraph("test"+ i);
+ rg = graphEngine.createGraph("test"+ i );
+ }
+
+ RMI_Graph g = new RMI_Graph(rg);
+ return g;
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Override
+ public Graph[] getDependsOn(Graph g) {
+ return null;
+ }
+
+ @Override
+ public Graph[] getNotDependsOn(Graph g) {
+ return new Graph[] { new GraphMem() };
+ }
+
+ @Override
+ protected void afterClose(Graph g) {
+ if (g instanceof RMI_Graph) {
+ try {
+ graphEngine.destroyGraph(((RMI_Graph) g).getName());
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ super.afterClose(g);
+ }
+
+ };
+
+ @Inject
+ public IProducer<RMI_Graph> getGraphProducer() {
+ return graphProducer;
+ }
+
+ @ContractTest
+ public void testHasStatistics() {
+ GraphStatisticsHandler h = graphProducer.newInstance()
+ .getStatisticsHandler();
+ assertNotNull(h);
+ }
+
+ @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();
+ }
+
+}
\ No newline at end of file
Propchange: jena/Experimental/jena-rmi/jena-rmi-client/src/test/java/og/apache/jena/rmi/client/GraphTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-server/pom.xml
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-server/pom.xml?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-server/pom.xml (added)
+++ jena/Experimental/jena-rmi/jena-rmi-server/pom.xml Sun Jan 5 18:21:09 2014
@@ -0,0 +1,72 @@
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.xenei</groupId>
+ <artifactId>jena-rmi</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>jena-rmi-server</artifactId>
+ <name>Apache Jena - RMI Server</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.xenei</groupId>
+ <artifactId>jena-rmi-shared</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <!--
+ <plugin>
+ <groupId>org.dstovall</groupId>
+ <artifactId>onejar-maven-plugin</artifactId>
+ <version>${onejar.version}</version>
+ <executions>
+ <execution>
+ <configuration>
+ <mainClass>org.apache.jena.rmi.server.GraphEngine</mainClass>
+
+ <onejarVersion>0.97</onejarVersion>
+
+ <attachToBuild>true</attachToBuild>
+
+ <classifier>onejar</classifier>
+ </configuration>
+ <goals>
+ <goal>one-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>${shade.version}</version>
+ <configuration>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <mainClass>org.apache.jena.rmi.server.GraphEngine</mainClass>
+ </transformer>
+ </transformers>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Propchange: jena/Experimental/jena-rmi/jena-rmi-server/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-server/server.policy
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-server/server.policy?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-server/server.policy (added)
+++ jena/Experimental/jena-rmi/jena-rmi-server/server.policy Sun Jan 5 18:21:09 2014
@@ -0,0 +1,4 @@
+grant {
+ permission java.security.AllPermission;
+};
+
Added: jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/rmi/server/GraphEngine.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/rmi/server/GraphEngine.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/rmi/server/GraphEngine.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/rmi/server/GraphEngine.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,92 @@
+package org.apache.jena.rmi.server;
+
+import java.rmi.RemoteException;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+import java.rmi.server.UnicastRemoteObject;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.jena.rmi.shared.RemoteGraphImpl;
+import org.apache.jena.rmi.shared.remote.GraphExistsException;
+import org.apache.jena.rmi.shared.remote.RemoteGraph;
+import org.apache.jena.rmi.shared.remote.RemoteGraphEngine;
+import com.hp.hpl.jena.mem.GraphMem;
+import com.hp.hpl.jena.shared.NotFoundException;
+
+public class GraphEngine implements RemoteGraphEngine {
+
+ public Map<String, RemoteGraph> lst = new HashMap<String, RemoteGraph>();
+
+ public static void main(String[] args) {
+ if (System.getSecurityManager() == null) {
+ System.setSecurityManager(new SecurityManager());
+ }
+
+ try {
+ String name = "GraphEngine";
+ RemoteGraphEngine engine = new GraphEngine();
+ RemoteGraphEngine stub = (RemoteGraphEngine) UnicastRemoteObject
+ .exportObject(engine, 0);
+ Registry registry = LocateRegistry.getRegistry();
+
+ registry.rebind(name, stub);
+ System.out.println("GraphEngine bound");
+ } catch (Exception e) {
+ System.err.println("GraphEngine exception:");
+ e.printStackTrace();
+ }
+ }
+
+ public static void addCodeBaseFor(Class<?> clazz) {
+ System.setProperty("java.rmi.server.codebase", clazz
+ .getProtectionDomain().getCodeSource().getLocation().toString());
+ }
+
+ // public static void setPolicy() {
+ // System.setProperty("java.security.policy",
+ // PolicyFileLocator.getLocationOfPolicyFile());
+ // }
+
+ public static void setHost(String hostAddress) {
+ System.setProperty("java.rmi.server.hostname", hostAddress);
+ }
+
+ public static String getHost() {
+ return System.getProperty("java.rmi.server.hostname");
+ }
+
+ protected GraphEngine() throws RemoteException {
+ super();
+ }
+
+ @Override
+ public synchronized RemoteGraph getGraph(String graphName)
+ throws RemoteException {
+ RemoteGraph g = lst.get(graphName);
+ if (g == null) {
+ throw new NotFoundException(graphName);
+ }
+ return g;
+ }
+
+ @Override
+ public synchronized RemoteGraph createGraph(String graphName)
+ throws RemoteException {
+ RemoteGraph g = lst.get(graphName);
+ if (g == null) {
+ g = new RemoteGraphImpl(graphName, new GraphMem());
+ lst.put(graphName, g);
+ return g;
+ }
+ throw new GraphExistsException(graphName);
+
+ }
+
+ @Override
+ public synchronized void destroyGraph(String graphName)
+ throws RemoteException {
+ lst.remove(graphName);
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-server/src/main/java/org/apache/jena/rmi/server/GraphEngine.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jan 5 18:21:09 2014
@@ -0,0 +1,7 @@
+.settings
+
+target
+
+.project
+
+.classpath
Added: jena/Experimental/jena-rmi/jena-rmi-shared/pom.xml
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/pom.xml?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/pom.xml (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/pom.xml Sun Jan 5 18:21:09 2014
@@ -0,0 +1,20 @@
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.xenei</groupId>
+ <artifactId>jena-rmi</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>jena-rmi-shared</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+ </dependencies>
+ <name>Apache Jena - RMI Shared Library</name>
+</project>
\ No newline at end of file
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_Graph.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_Graph.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_Graph.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_Graph.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,389 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.jena.rmi.shared.remote.RemoteCapabilities;
+import org.apache.jena.rmi.shared.remote.RemoteGraph;
+import org.apache.jena.rmi.shared.remote.RemoteNode;
+import org.apache.jena.rmi.shared.remote.RemoteTriple;
+
+import com.hp.hpl.jena.graph.BulkUpdateHandler;
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.GraphStatisticsHandler;
+import com.hp.hpl.jena.graph.Node;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.graph.TripleMatch;
+import com.hp.hpl.jena.shared.AddDeniedException;
+import com.hp.hpl.jena.shared.ClosedException;
+import com.hp.hpl.jena.shared.DeleteDeniedException;
+import com.hp.hpl.jena.shared.JenaException;
+import com.hp.hpl.jena.shared.PrefixMapping;
+import com.hp.hpl.jena.util.iterator.ExtendedIterator;
+import com.hp.hpl.jena.util.iterator.WrappedIterator;
+
+public class RMI_Graph implements Graph {
+
+ private RemoteGraph rGraph;
+ private String name;
+ private RemoteCapabilities capabilities;
+ private RMI_PrefixMapping prefixMapping;
+ private RMI_TransactionHandler transactionHandler;
+ private RMI_GraphEventManager eventManager;
+ private RMI_GraphStatisticsHandler statisticsHandler;
+
+ public static final RMI_Graph create(Graph g) throws RemoteException {
+ return create(UUID.randomUUID().toString(), g);
+ }
+
+ public static final RMI_Graph create(String name, Graph g)
+ throws RemoteException {
+ if (g instanceof RMI_Graph) {
+ return (RMI_Graph) g;
+ }
+ RMI_Graph retval = new RMI_Graph(new RemoteGraphImpl(name, g));
+ return retval;
+ }
+
+ public RMI_Graph(RemoteGraph rGraph) {
+ this.rGraph = rGraph;
+ try {
+ this.name = rGraph.getName();
+ } catch (RemoteException e) {
+ throw new JenaException("Unable to retrieve graph name", e);
+ }
+ }
+
+ public RemoteGraph getRemoteGraph() {
+ return rGraph;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public boolean dependsOn(Graph other) {
+ verifyOpen();
+ try {
+ return rGraph.dependsOn(RMI_Graph.create(other).getRemoteGraph());
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public RMI_TransactionHandler getTransactionHandler() {
+ verifyOpen();
+ if (transactionHandler == null) {
+ try {
+ transactionHandler = new RMI_TransactionHandler(
+ rGraph.getTransactionHandler());
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+ return transactionHandler;
+ }
+
+ @Override
+ @Deprecated
+ public BulkUpdateHandler getBulkUpdateHandler() {
+ verifyOpen();
+ return new BUH();
+ }
+
+ @Override
+ public RemoteCapabilities getCapabilities() {
+ verifyOpen();
+ if (capabilities == null) {
+ try {
+ capabilities = rGraph.getCapabilities();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+ return capabilities;
+ }
+
+ @Override
+ public RMI_GraphEventManager getEventManager() {
+ verifyOpen();
+ if (eventManager == null) {
+ try {
+ eventManager = new RMI_GraphEventManager(
+ rGraph.getEventManager());
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ } catch (NotBoundException e) {
+ throw new JenaException(e);
+ }
+ }
+ return eventManager;
+ }
+
+ @Override
+ public GraphStatisticsHandler getStatisticsHandler() {
+ verifyOpen();
+ if (statisticsHandler == null) {
+ try {
+ statisticsHandler = new RMI_GraphStatisticsHandler(
+ rGraph.getStatisticsHandler());
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+ return statisticsHandler;
+ }
+
+ @Override
+ public PrefixMapping getPrefixMapping() {
+ verifyOpen();
+ if (prefixMapping == null) {
+ try {
+ prefixMapping = new RMI_PrefixMapping(rGraph.getPrefixMapping());
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+ return prefixMapping;
+ }
+
+ @Override
+ public void add(Triple t) throws AddDeniedException {
+ verifyOpen();
+ try {
+ rGraph.add(new RemoteTriple(t));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void delete(Triple t) throws DeleteDeniedException {
+ verifyOpen();
+ try {
+ rGraph.delete(new RemoteTriple(t));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public ExtendedIterator<Triple> find(TripleMatch m) {
+ verifyOpen();
+ try {
+ Iterator<RemoteTriple> iter = RMI_RemoteIterator.create(rGraph
+ .find(new RemoteTriple(m.asTriple())));
+ return WrappedIterator.create(iter)
+ .mapWith(RemoteTriple.FromRemote);
+
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public ExtendedIterator<Triple> find(Node s, Node p, Node o) {
+ verifyOpen();
+ RemoteNode rs = RemoteNode.create(s);
+ RemoteNode rp = RemoteNode.create(p);
+ RemoteNode ro = RemoteNode.create(o);
+ try {
+ Iterator<RemoteTriple> iter = RMI_RemoteIterator.create(rGraph
+ .find(rs, rp, ro));
+ return WrappedIterator.create(iter)
+ .mapWith(RemoteTriple.FromRemote);
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public boolean isIsomorphicWith(Graph g) {
+ verifyOpen();
+ try {
+ return rGraph
+ .isIsomorphicWith(RMI_Graph.create(g).getRemoteGraph());
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public boolean contains(Node s, Node p, Node o) {
+ verifyOpen();
+ try {
+ return rGraph.contains(RemoteNode.create(s), RemoteNode.create(p),
+ RemoteNode.create(o));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public boolean contains(Triple t) {
+ verifyOpen();
+ try {
+ return rGraph.contains(new RemoteTriple(t));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void clear() {
+ verifyOpen();
+ try {
+ rGraph.clear();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void remove(Node s, Node p, Node o) {
+ verifyOpen();
+ try {
+ rGraph.remove(RemoteNode.create(s), RemoteNode.create(p),
+ RemoteNode.create(o));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void close() {
+ // only close the local copy
+ rGraph = null;
+ }
+
+ @Override
+ public boolean isEmpty() {
+ verifyOpen();
+ try {
+ return rGraph.isEmpty();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public int size() {
+ verifyOpen();
+ try {
+ return rGraph.size();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ private void verifyOpen() {
+ if (rGraph == null) {
+ throw new ClosedException("Graph already closed", this);
+ }
+ }
+
+ @Override
+ public boolean isClosed() {
+ if (rGraph == null) {
+ return true;
+ }
+ try {
+ return rGraph.isClosed();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ private class BUH implements BulkUpdateHandler {
+
+ @Override
+ @Deprecated
+ public void add(Triple[] triples) {
+ for (Triple t : triples) {
+ RMI_Graph.this.add(t);
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void add(List<Triple> triples) {
+ for (Triple t : triples) {
+ RMI_Graph.this.add(t);
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void add(Iterator<Triple> it) {
+ while (it.hasNext()) {
+ RMI_Graph.this.add(it.next());
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void add(Graph g, boolean withReifications) {
+ add(g);
+ }
+
+ @Override
+ @Deprecated
+ public void add(Graph g) {
+ add(g.find(Triple.ANY));
+ }
+
+ @Override
+ @Deprecated
+ public void delete(Triple[] triples) {
+ for (Triple t : triples) {
+ RMI_Graph.this.delete(t);
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void delete(List<Triple> triples) {
+ for (Triple t : triples) {
+ RMI_Graph.this.delete(t);
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void delete(Iterator<Triple> it) {
+ while (it.hasNext()) {
+ RMI_Graph.this.delete(it.next());
+ }
+ }
+
+ @Override
+ @Deprecated
+ public void delete(Graph g) {
+ delete(g.find(Triple.ANY));
+ }
+
+ @Override
+ @Deprecated
+ public void delete(Graph g, boolean withReifications) {
+ delete(g);
+ }
+
+ @Override
+ @Deprecated
+ public void removeAll() {
+ delete(find(Triple.ANY));
+ }
+
+ @Override
+ @Deprecated
+ public void remove(Node s, Node p, Node o) {
+ RMI_Graph.this.delete(new Triple(s, p, o));
+ }
+
+ }
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_Graph.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphEventManager.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphEventManager.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphEventManager.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphEventManager.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,106 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.jena.rmi.shared.remote.RemoteGraphEventManager;
+import org.apache.jena.rmi.shared.remote.RemoteGraphListener;
+import org.apache.jena.rmi.shared.remote.RemoteTriple;
+
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.GraphEventManager;
+import com.hp.hpl.jena.graph.GraphListener;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.shared.JenaException;
+import com.hp.hpl.jena.util.iterator.WrappedIterator;
+
+public class RMI_GraphEventManager extends RMI_GraphListener implements
+ GraphEventManager {
+
+ private RemoteGraphEventManager remoteMgr;
+ private Map<GraphListener, RemoteGraphListener> map = new HashMap<GraphListener, RemoteGraphListener>();
+
+ public RMI_GraphEventManager(RemoteGraphEventManager remoteMgr) {
+ super(remoteMgr);
+ this.remoteMgr = remoteMgr;
+ }
+
+ @Override
+ public GraphEventManager register(GraphListener listener) {
+ RemoteGraphListener rgl = null;
+ try {
+ synchronized (map) {
+ rgl = map.get(listener);
+ if (rgl == null) {
+ rgl = new RemoteGraphListenerImpl(listener);
+ map.put(listener, rgl);
+ }
+ }
+ remoteMgr.register(rgl);
+ return this;
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ } catch (NotBoundException e) {
+ throw new JenaException(e);
+ }
+
+ }
+
+ @Override
+ public GraphEventManager unregister(GraphListener listener) {
+ RemoteGraphListener rgl = null;
+ synchronized (map) {
+ rgl = map.get(listener);
+
+ }
+ if (rgl != null) {
+ try {
+ remoteMgr.unregister(rgl);
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+ return this;
+ }
+
+ @Override
+ public boolean listening() {
+ try {
+ return remoteMgr.listening();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void notifyAddIterator(Graph g, List<Triple> triples) {
+
+ Iterator<RemoteTriple> iter = WrappedIterator
+ .create(triples.iterator()).mapWith(RemoteTriple.ToRemote);
+ ;
+ try {
+ notifyAdd(g, RemoteGraphListener.Type.Iterator,
+ new RemoteIteratorImpl<RemoteTriple>(iter));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void notifyDeleteIterator(Graph g, List<Triple> triples) {
+ Iterator<RemoteTriple> iter = WrappedIterator
+ .create(triples.iterator()).mapWith(RemoteTriple.ToRemote);
+ ;
+ try {
+ notifyDelete(g, RemoteGraphListener.Type.Iterator,
+ new RemoteIteratorImpl<RemoteTriple>(iter));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphEventManager.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphListener.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphListener.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphListener.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphListener.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,195 @@
+package org.apache.jena.rmi.shared;
+
+import java.io.Serializable;
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.jena.rmi.shared.remote.RemoteGraphListener;
+import org.apache.jena.rmi.shared.remote.RemoteIterator;
+import org.apache.jena.rmi.shared.remote.RemoteTriple;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.GraphListener;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.shared.JenaException;
+import com.hp.hpl.jena.util.iterator.WrappedIterator;
+
+public class RMI_GraphListener implements GraphListener {
+ private RemoteGraphListener remoteListener;
+
+ private static Logger LOG = LoggerFactory
+ .getLogger(RMI_GraphListener.class);
+
+ public static RMI_GraphListener create(GraphListener listener)
+ throws RemoteException, NotBoundException {
+ if (listener instanceof RMI_GraphListener) {
+ return (RMI_GraphListener) listener;
+ }
+ return new RMI_GraphListener(new RemoteGraphListenerImpl(listener));
+ }
+
+ protected RMI_GraphListener(RemoteGraphListener listener) {
+ this.remoteListener = listener;
+ }
+
+ @Override
+ public void notifyAddTriple(Graph g, Triple t) {
+ try {
+ remoteListener.notifyAdd(RMI_Graph.create(g).getRemoteGraph(),
+ new RemoteTriple(t));
+ } catch (RemoteException e) {
+ LOG.warn("Unable to sent notification", e);
+ }
+ }
+
+ @Override
+ public void notifyAddArray(Graph g, Triple[] triples) {
+
+ Iterator<RemoteTriple> iter = WrappedIterator.create(
+ Arrays.asList(triples).iterator()).mapWith(
+ RemoteTriple.ToRemote);
+ try {
+ notifyAdd(g, RemoteGraphListener.Type.Array,
+ new RemoteIteratorImpl<RemoteTriple>(iter));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+
+ }
+
+ protected void notifyAdd(Graph g, RemoteGraphListener.Type type,
+ RemoteIterator<RemoteTriple> Triples) {
+ try {
+ remoteListener.notifyAdd(RMI_Graph.create(g).getRemoteGraph(),
+ type, Triples);
+ } catch (RemoteException e) {
+ LOG.warn("Unable to sent notification", e);
+ }
+
+ }
+
+ @Override
+ public void notifyAddList(Graph g, List<Triple> triples) {
+ Iterator<RemoteTriple> iter = WrappedIterator
+ .create(triples.iterator()).mapWith(RemoteTriple.ToRemote);
+ try {
+ notifyAdd(g, RemoteGraphListener.Type.Array,
+ new RemoteIteratorImpl<RemoteTriple>(iter));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void notifyAddIterator(Graph g, Iterator<Triple> it) {
+ Iterator<RemoteTriple> iter = WrappedIterator.create(it).mapWith(
+ RemoteTriple.ToRemote);
+ try {
+ notifyAdd(g, RemoteGraphListener.Type.Array,
+ new RemoteIteratorImpl<RemoteTriple>(iter));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void notifyAddGraph(Graph g, Graph added) {
+ try {
+ remoteListener.notifyAdd(RMI_Graph.create(g).getRemoteGraph(),
+ RMI_Graph.create(added).getRemoteGraph());
+ } catch (RemoteException e) {
+ LOG.warn("Unable to sent notification", e);
+ }
+
+ }
+
+ protected void notifyDelete(Graph g, RemoteGraphListener.Type type,
+ RemoteIterator<RemoteTriple> Triples) {
+ try {
+ remoteListener.notifyDelete(RMI_Graph.create(g).getRemoteGraph(),
+ type, Triples);
+ } catch (RemoteException e) {
+ LOG.warn("Unable to sent notification", e);
+ }
+
+ }
+
+ @Override
+ public void notifyDeleteTriple(Graph g, Triple t) {
+ try {
+ remoteListener.notifyDelete(RMI_Graph.create(g).getRemoteGraph(),
+ new RemoteTriple(t));
+ } catch (RemoteException e) {
+ LOG.warn("Unable to sent notification", e);
+ }
+
+ }
+
+ @Override
+ public void notifyDeleteList(Graph g, List<Triple> L) {
+ Iterator<RemoteTriple> iter = WrappedIterator.create(L.iterator())
+ .mapWith(RemoteTriple.ToRemote);
+ try {
+ notifyDelete(g, RemoteGraphListener.Type.Array,
+ new RemoteIteratorImpl<RemoteTriple>(iter));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void notifyDeleteArray(Graph g, Triple[] triples) {
+ Iterator<RemoteTriple> iter = WrappedIterator.create(
+ Arrays.asList(triples).iterator()).mapWith(
+ RemoteTriple.ToRemote);
+ try {
+ notifyDelete(g, RemoteGraphListener.Type.Array,
+ new RemoteIteratorImpl<RemoteTriple>(iter));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void notifyDeleteIterator(Graph g, Iterator<Triple> it) {
+ Iterator<RemoteTriple> iter = WrappedIterator.create(it).mapWith(
+ RemoteTriple.ToRemote);
+ try {
+ notifyDelete(g, RemoteGraphListener.Type.Array,
+ new RemoteIteratorImpl<RemoteTriple>(iter));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void notifyDeleteGraph(Graph g, Graph removed) {
+
+ try {
+ remoteListener.notifyDelete(RMI_Graph.create(g).getRemoteGraph(),
+ RMI_Graph.create(removed).getRemoteGraph());
+ } catch (RemoteException e) {
+ LOG.warn("Unable to sent notification", e);
+ }
+
+ }
+
+ @Override
+ public void notifyEvent(Graph source, Object value) {
+
+ if (value instanceof Serializable) {
+ try {
+ remoteListener.notifyEvent(RMI_Graph.create(source)
+ .getRemoteGraph(), value);
+ } catch (RemoteException e) {
+ LOG.warn("Unable to sent notification", e);
+ }
+ }
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphStatisticsHandler.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphStatisticsHandler.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphStatisticsHandler.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphStatisticsHandler.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,28 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.RemoteException;
+
+import org.apache.jena.rmi.shared.remote.RemoteGraphStatisticsHandler;
+import org.apache.jena.rmi.shared.remote.RemoteNode;
+
+import com.hp.hpl.jena.graph.GraphStatisticsHandler;
+import com.hp.hpl.jena.graph.Node;
+
+public class RMI_GraphStatisticsHandler implements GraphStatisticsHandler {
+ private RemoteGraphStatisticsHandler rgsh;
+
+ public RMI_GraphStatisticsHandler(RemoteGraphStatisticsHandler rgsh) {
+ this.rgsh = rgsh;
+ }
+
+ @Override
+ public long getStatistic(Node S, Node P, Node O) {
+ try {
+ return rgsh.getStatistic(RemoteNode.create(S),
+ RemoteNode.create(P), RemoteNode.create(O));
+ } catch (RemoteException e) {
+ return -1;
+ }
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_GraphStatisticsHandler.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_PrefixMapping.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_PrefixMapping.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_PrefixMapping.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_PrefixMapping.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,150 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.RemoteException;
+import java.util.Map;
+
+import org.apache.jena.rmi.shared.remote.RemotePrefixMapping;
+
+import com.hp.hpl.jena.shared.JenaException;
+import com.hp.hpl.jena.shared.PrefixMapping;
+
+public class RMI_PrefixMapping implements PrefixMapping {
+ private RemotePrefixMapping pm;
+
+ public RMI_PrefixMapping(RemotePrefixMapping pm) {
+ this.pm = pm;
+ }
+
+ @Override
+ public PrefixMapping setNsPrefix(String prefix, String uri) {
+ try {
+ pm.setNsPrefix(prefix, uri);
+ return this;
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public PrefixMapping removeNsPrefix(String prefix) {
+ try {
+ pm.removeNsPrefix(prefix);
+ return this;
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ private RemotePrefixMapping createRemotePrefixMapping(PrefixMapping other)
+ throws RemoteException {
+ if (other instanceof RMI_PrefixMapping) {
+ return ((RMI_PrefixMapping) other).pm;
+ } else {
+ return new RemotePrefixMappingImpl(other);
+ }
+ }
+
+ @Override
+ public PrefixMapping setNsPrefixes(PrefixMapping other) {
+ try {
+ pm.setNsPrefixes(createRemotePrefixMapping(other));
+ return this;
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public PrefixMapping setNsPrefixes(Map<String, String> map) {
+ try {
+ pm.setNsPrefixes(RemotePrefixMappingImpl.makeSerializable(map));
+ return this;
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public PrefixMapping withDefaultMappings(PrefixMapping map) {
+ try {
+ pm.setNsPrefixes(createRemotePrefixMapping(map));
+ return this;
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public String getNsPrefixURI(String prefix) {
+ try {
+ return pm.getNsPrefixURI(prefix);
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public String getNsURIPrefix(String uri) {
+ try {
+ return pm.getNsURIPrefix(uri);
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public Map<String, String> getNsPrefixMap() {
+ try {
+ return pm.getNsPrefixMap();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public String expandPrefix(String prefixed) {
+ try {
+ return pm.expandPrefix(prefixed);
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public String shortForm(String uri) {
+ try {
+ return pm.shortForm(uri);
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public String qnameFor(String uri) {
+ try {
+ return pm.qnameFor(uri);
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public PrefixMapping lock() {
+ try {
+ pm.lock();
+ return this;
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public boolean samePrefixMappingAs(PrefixMapping other) {
+ try {
+ return pm.samePrefixMappingAs(createRemotePrefixMapping(other));
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_PrefixMapping.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_RemoteIterator.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_RemoteIterator.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_RemoteIterator.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_RemoteIterator.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,49 @@
+package org.apache.jena.rmi.shared;
+
+import java.io.Serializable;
+import java.rmi.RemoteException;
+import java.util.Iterator;
+
+import org.apache.jena.rmi.shared.remote.RemoteIterator;
+
+public class RMI_RemoteIterator<T extends Serializable> implements Iterator<T> {
+
+ private RemoteIterator<T> wrapped;
+
+ public static <T extends Serializable> Iterator<T> create(
+ RemoteIterator<T> wrapped) {
+ return new RMI_RemoteIterator<T>(wrapped);
+ }
+
+ private RMI_RemoteIterator(RemoteIterator<T> wrapped) {
+ this.wrapped = wrapped;
+ }
+
+ @Override
+ public boolean hasNext() {
+ try {
+ return wrapped.hasNext();
+ } catch (RemoteException e) {
+ return false;
+ }
+ }
+
+ @Override
+ public T next() {
+ try {
+ return wrapped.next();
+ } catch (RemoteException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ @Override
+ public void remove() {
+ try {
+ wrapped.remove();
+ } catch (RemoteException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_RemoteIterator.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_TransactionHandler.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_TransactionHandler.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_TransactionHandler.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_TransactionHandler.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,64 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.RemoteException;
+
+import org.apache.jena.rmi.shared.remote.RemoteTransactionHandler;
+
+import com.hp.hpl.jena.graph.TransactionHandler;
+import com.hp.hpl.jena.shared.Command;
+import com.hp.hpl.jena.shared.JenaException;
+
+public class RMI_TransactionHandler implements TransactionHandler {
+
+ private RemoteTransactionHandler rth;
+
+ public RMI_TransactionHandler(RemoteTransactionHandler rth) {
+ this.rth = rth;
+ }
+
+ @Override
+ public boolean transactionsSupported() {
+ try {
+ return rth.transactionsSupported();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void begin() {
+ try {
+ rth.begin();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void abort() {
+ try {
+ rth.abort();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public void commit() {
+ try {
+ rth.commit();
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+ @Override
+ public Object executeInTransaction(Command c) {
+ try {
+ return rth.executeInTransaction(c);
+ } catch (RemoteException e) {
+ throw new JenaException(e);
+ }
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RMI_TransactionHandler.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphEventManagerImpl.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphEventManagerImpl.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphEventManagerImpl.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphEventManagerImpl.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,62 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.jena.rmi.shared.remote.RemoteGraphEventManager;
+import org.apache.jena.rmi.shared.remote.RemoteGraphListener;
+
+import com.hp.hpl.jena.graph.GraphEventManager;
+
+public class RemoteGraphEventManagerImpl extends RemoteGraphListenerImpl
+ implements RemoteGraphEventManager {
+
+ private static final long serialVersionUID = -1944589946996952294L;
+ private GraphEventManager em;
+ private Map<RemoteGraphListener, List<RMI_GraphListener>> map = new HashMap<RemoteGraphListener, List<RMI_GraphListener>>();
+
+ public RemoteGraphEventManagerImpl(GraphEventManager em)
+ throws RemoteException, NotBoundException {
+ super(em);
+ this.em = em;
+ }
+
+ @Override
+ public RemoteGraphEventManager register(RemoteGraphListener listener)
+ throws RemoteException {
+ synchronized (map) {
+ List<RMI_GraphListener> lst = map.get(listener);
+ if (lst == null) {
+ lst = new ArrayList<RMI_GraphListener>();
+ map.put(listener, lst);
+ }
+ RMI_GraphListener l = new RMI_GraphListener(listener);
+ lst.add(l);
+ em.register(l);
+ }
+ return this;
+ }
+
+ @Override
+ public RemoteGraphEventManager unregister(RemoteGraphListener listener)
+ throws RemoteException {
+ synchronized (map) {
+ List<RMI_GraphListener> lst = map.get(listener);
+ if (lst != null) {
+ RMI_GraphListener l = lst.remove(lst.size() - 1);
+ em.unregister(l);
+ }
+ }
+ return this;
+ }
+
+ @Override
+ public boolean listening() throws RemoteException {
+ return em.listening();
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphEventManagerImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphImpl.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphImpl.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphImpl.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphImpl.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,159 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+import org.apache.jena.rmi.shared.RMI_Graph;
+import org.apache.jena.rmi.shared.remote.RemoteCapabilities;
+import org.apache.jena.rmi.shared.remote.RemoteGraph;
+import org.apache.jena.rmi.shared.remote.RemoteGraphEventManager;
+import org.apache.jena.rmi.shared.remote.RemoteGraphStatisticsHandler;
+import org.apache.jena.rmi.shared.remote.RemoteIterator;
+import org.apache.jena.rmi.shared.remote.RemoteNode;
+import org.apache.jena.rmi.shared.remote.RemotePrefixMapping;
+import org.apache.jena.rmi.shared.remote.RemoteTransactionHandler;
+import org.apache.jena.rmi.shared.remote.RemoteTriple;
+
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.shared.AddDeniedException;
+import com.hp.hpl.jena.shared.DeleteDeniedException;
+import com.hp.hpl.jena.util.iterator.ExtendedIterator;
+
+public class RemoteGraphImpl extends UnicastRemoteObject implements RemoteGraph {
+
+ private static final long serialVersionUID = 2850582873636797611L;
+ private Graph graph;
+ private String name;
+
+ private RemoteGraphEventManager em;
+ private RemotePrefixMapping rpm;
+
+ public RemoteGraphImpl(String name, Graph graph) throws RemoteException {
+ super();
+ this.graph = graph;
+ this.name = name;
+ }
+
+ public Graph getGraph() {
+ return graph;
+ }
+
+ @Override
+ public String getName() throws RemoteException {
+ return name;
+ }
+
+ @Override
+ public boolean dependsOn(RemoteGraph other) throws RemoteException {
+ return graph.dependsOn(new RMI_Graph(other));
+ }
+
+ @Override
+ public RemoteTransactionHandler getTransactionHandler()
+ throws RemoteException {
+ return new RemoteTransactionHandlerImpl(graph.getTransactionHandler());
+ }
+
+ @Override
+ public RemoteCapabilities getCapabilities() throws RemoteException {
+ return RemoteCapabilities.construct(graph.getCapabilities());
+ }
+
+ @Override
+ public RemoteGraphEventManager getEventManager() throws RemoteException,
+ NotBoundException {
+ if (em == null) {
+ em = new RemoteGraphEventManagerImpl(graph.getEventManager());
+ }
+ return em;
+ }
+
+ @Override
+ public RemoteGraphStatisticsHandler getStatisticsHandler()
+ throws RemoteException {
+ return new RemoteGraphStatisticsHandlerImpl(
+ graph.getStatisticsHandler());
+ }
+
+ @Override
+ public RemotePrefixMapping getPrefixMapping() throws RemoteException {
+ if (rpm == null) {
+ rpm = new RemotePrefixMappingImpl(graph.getPrefixMapping());
+ }
+ return rpm;
+ }
+
+ @Override
+ public void add(RemoteTriple t) throws AddDeniedException, RemoteException {
+ graph.add(t.asTriple());
+ }
+
+ @Override
+ public void delete(RemoteTriple t) throws DeleteDeniedException,
+ RemoteException {
+ graph.delete(t.asTriple());
+ }
+
+ @Override
+ public RemoteIterator<RemoteTriple> find(RemoteTriple m)
+ throws RemoteException {
+ return new RemoteIteratorImpl<RemoteTriple>(graph.find(m.asTriple())
+ .mapWith(RemoteTriple.ToRemote));
+ }
+
+ @Override
+ public RemoteIterator<RemoteTriple> find(RemoteNode s, RemoteNode p,
+ RemoteNode o) throws RemoteException {
+ ExtendedIterator<RemoteTriple> t = graph.find(s.asNode(), p.asNode(),
+ o.asNode()).mapWith(RemoteTriple.ToRemote);
+ return new RemoteIteratorImpl<RemoteTriple>(t);
+ }
+
+ @Override
+ public boolean isIsomorphicWith(RemoteGraph g) throws RemoteException {
+ return graph.isIsomorphicWith(new RMI_Graph(g));
+ }
+
+ @Override
+ public boolean contains(RemoteNode s, RemoteNode p, RemoteNode o)
+ throws RemoteException {
+ return graph.contains(s.asNode(), p.asNode(), o.asNode());
+ }
+
+ @Override
+ public boolean contains(RemoteTriple t) throws RemoteException {
+ return graph.contains(t.asTriple());
+ }
+
+ @Override
+ public void clear() throws RemoteException {
+ graph.clear();
+ }
+
+ @Override
+ public void remove(RemoteNode s, RemoteNode p, RemoteNode o)
+ throws RemoteException {
+ graph.remove(s.asNode(), p.asNode(), o.asNode());
+ }
+
+ @Override
+ public void close() throws RemoteException {
+ graph.close();
+ }
+
+ @Override
+ public boolean isEmpty() throws RemoteException {
+ return graph.isEmpty();
+ }
+
+ @Override
+ public int size() throws RemoteException {
+ return graph.size();
+ }
+
+ @Override
+ public boolean isClosed() throws RemoteException {
+ return graph.isClosed();
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphListenerImpl.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphListenerImpl.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphListenerImpl.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphListenerImpl.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,107 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.NotBoundException;
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+import java.util.Iterator;
+import org.apache.jena.rmi.shared.remote.RemoteGraph;
+import org.apache.jena.rmi.shared.remote.RemoteGraphListener;
+import org.apache.jena.rmi.shared.remote.RemoteIterator;
+import org.apache.jena.rmi.shared.remote.RemoteTriple;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.hp.hpl.jena.graph.GraphListener;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.util.iterator.ExtendedIterator;
+import com.hp.hpl.jena.util.iterator.WrappedIterator;
+
+public class RemoteGraphListenerImpl extends UnicastRemoteObject implements
+ RemoteGraphListener {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private static final Logger LOG = LoggerFactory
+ .getLogger(RemoteGraphListenerImpl.class);
+ private GraphListener em;
+
+ public RemoteGraphListenerImpl(GraphListener em) throws RemoteException,
+ NotBoundException {
+ super();
+ this.em = em;
+
+ }
+
+ @Override
+ public void notifyAdd(RemoteGraph g, RemoteTriple t) throws RemoteException {
+ em.notifyAddTriple(new RMI_Graph(g), t.asTriple());
+ }
+
+ @Override
+ public void notifyAdd(RemoteGraph rg, Type type,
+ RemoteIterator<RemoteTriple> triples) throws RemoteException {
+ RMI_Graph g = new RMI_Graph(rg);
+ Iterator<RemoteTriple> rIter = RMI_RemoteIterator.create(triples);
+ ExtendedIterator<Triple> iter = WrappedIterator.create(rIter).mapWith(
+ RemoteTriple.FromRemote);
+ switch (type) {
+ case Array:
+ em.notifyAddArray(g, iter.toList().toArray(new Triple[0]));
+ break;
+ case Iterator:
+ em.notifyAddIterator(g, iter);
+ case List:
+ em.notifyAddList(g, iter.toList());
+ default:
+ LOG.error("Unexpected type " + type);
+ throw new RemoteException("Unexpected type " + type);
+ }
+ }
+
+ @Override
+ public void notifyAdd(RemoteGraph g, RemoteGraph added)
+ throws RemoteException {
+ em.notifyAddGraph(new RMI_Graph(g), new RMI_Graph(added));
+ }
+
+ @Override
+ public void notifyDelete(RemoteGraph g, RemoteTriple t)
+ throws RemoteException {
+ em.notifyDeleteTriple(new RMI_Graph(g), t.asTriple());
+ }
+
+ @Override
+ public void notifyDelete(RemoteGraph rg, Type type,
+ RemoteIterator<RemoteTriple> triples) throws RemoteException {
+ RMI_Graph g = new RMI_Graph(rg);
+ Iterator<RemoteTriple> rIter = RMI_RemoteIterator.create(triples);
+ ExtendedIterator<Triple> iter = WrappedIterator.create(rIter).mapWith(
+ RemoteTriple.FromRemote);
+ switch (type) {
+ case Array:
+ em.notifyDeleteArray(g, iter.toList().toArray(new Triple[0]));
+ break;
+ case Iterator:
+ em.notifyDeleteIterator(g, iter);
+ case List:
+ em.notifyDeleteList(g, iter.toList());
+ default:
+ LOG.error("Unexpected type " + type);
+ throw new RemoteException("Unexpected type " + type);
+ }
+ }
+
+ @Override
+ public void notifyDelete(RemoteGraph g, RemoteGraph removed)
+ throws RemoteException {
+ em.notifyDeleteGraph(new RMI_Graph(g), new RMI_Graph(removed));
+ }
+
+ @Override
+ public void notifyEvent(RemoteGraph g, Object value) throws RemoteException {
+ em.notifyEvent(new RMI_Graph(g), value);
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphListenerImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphStatisticsHandlerImpl.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphStatisticsHandlerImpl.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphStatisticsHandlerImpl.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphStatisticsHandlerImpl.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,29 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+
+import org.apache.jena.rmi.shared.remote.RemoteGraphStatisticsHandler;
+import org.apache.jena.rmi.shared.remote.RemoteNode;
+
+import com.hp.hpl.jena.graph.GraphStatisticsHandler;
+
+public class RemoteGraphStatisticsHandlerImpl extends UnicastRemoteObject
+ implements RemoteGraphStatisticsHandler {
+
+ private static final long serialVersionUID = -1049555222940831135L;
+ private GraphStatisticsHandler gsh;
+
+ public RemoteGraphStatisticsHandlerImpl(GraphStatisticsHandler gsh)
+ throws RemoteException {
+ super();
+ this.gsh = gsh;
+ }
+
+ @Override
+ public long getStatistic(RemoteNode S, RemoteNode P, RemoteNode O)
+ throws RemoteException {
+ return gsh.getStatistic(S.asNode(), P.asNode(), O.asNode());
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteGraphStatisticsHandlerImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteIteratorImpl.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteIteratorImpl.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteIteratorImpl.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteIteratorImpl.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,36 @@
+package org.apache.jena.rmi.shared;
+
+import java.io.Serializable;
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+import java.util.Iterator;
+
+import org.apache.jena.rmi.shared.remote.RemoteIterator;
+
+public class RemoteIteratorImpl<T extends Serializable> extends
+ UnicastRemoteObject implements RemoteIterator<T> {
+
+ private static final long serialVersionUID = 3485559617280172013L;
+ private Iterator<T> wrapped;
+
+ public RemoteIteratorImpl(Iterator<T> wrapped) throws RemoteException {
+ super();
+ this.wrapped = wrapped;
+ }
+
+ @Override
+ public boolean hasNext() throws RemoteException {
+ return wrapped.hasNext();
+ }
+
+ @Override
+ public T next() throws RemoteException {
+ return wrapped.next();
+ }
+
+ @Override
+ public void remove() throws RemoteException {
+ wrapped.remove();
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteIteratorImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemotePrefixMappingImpl.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemotePrefixMappingImpl.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemotePrefixMappingImpl.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemotePrefixMappingImpl.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,110 @@
+package org.apache.jena.rmi.shared;
+
+import java.io.Serializable;
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.jena.rmi.shared.remote.RemotePrefixMapping;
+
+import com.hp.hpl.jena.shared.PrefixMapping;
+
+public class RemotePrefixMappingImpl extends UnicastRemoteObject implements
+ RemotePrefixMapping {
+
+ private static final long serialVersionUID = -4458373363085254243L;
+ private PrefixMapping pm;
+
+ public RemotePrefixMappingImpl(PrefixMapping pm) throws RemoteException {
+ super();
+ this.pm = pm;
+ }
+
+ @Override
+ public RemotePrefixMapping setNsPrefix(String prefix, String uri)
+ throws RemoteException {
+ pm.setNsPrefix(prefix, uri);
+ return this;
+ }
+
+ @Override
+ public RemotePrefixMapping removeNsPrefix(String prefix)
+ throws RemoteException {
+ pm.removeNsPrefix(prefix);
+ return this;
+
+ }
+
+ @Override
+ public RemotePrefixMapping setNsPrefixes(RemotePrefixMapping other)
+ throws RemoteException {
+ pm.setNsPrefixes(new RMI_PrefixMapping(other));
+ return this;
+ }
+
+ @Override
+ public RemotePrefixMapping setNsPrefixes(Map<String, String> map)
+ throws RemoteException {
+ pm.setNsPrefixes(map);
+ return this;
+ }
+
+ @Override
+ public RemotePrefixMapping withDefaultMappings(RemotePrefixMapping map)
+ throws RemoteException {
+ pm.withDefaultMappings(new RMI_PrefixMapping(map));
+ return this;
+ }
+
+ @Override
+ public String getNsPrefixURI(String prefix) throws RemoteException {
+ return pm.getNsPrefixURI(prefix);
+ }
+
+ @Override
+ public String getNsURIPrefix(String uri) throws RemoteException {
+ return pm.getNsURIPrefix(uri);
+ }
+
+ @Override
+ public Map<String, String> getNsPrefixMap() throws RemoteException {
+ return makeSerializable(pm.getNsPrefixMap());
+ }
+
+ @Override
+ public String expandPrefix(String prefixed) throws RemoteException {
+ return pm.expandPrefix(prefixed);
+ }
+
+ @Override
+ public String shortForm(String uri) throws RemoteException {
+ return pm.shortForm(uri);
+ }
+
+ @Override
+ public String qnameFor(String uri) throws RemoteException {
+ return pm.qnameFor(uri);
+ }
+
+ @Override
+ public RemotePrefixMapping lock() throws RemoteException {
+ pm.lock();
+ return this;
+ }
+
+ @Override
+ public boolean samePrefixMappingAs(RemotePrefixMapping other)
+ throws RemoteException {
+ return pm.samePrefixMappingAs(new RMI_PrefixMapping(other));
+ }
+
+ public static Map<String, String> makeSerializable(Map<String, String> map) {
+ Map<String, String> retval = map;
+ if (!(map instanceof Serializable)) {
+ retval = new HashMap<String, String>();
+ retval.putAll(map);
+ }
+ return retval;
+ }
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemotePrefixMappingImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteTransactionHandlerImpl.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteTransactionHandlerImpl.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteTransactionHandlerImpl.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteTransactionHandlerImpl.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,48 @@
+package org.apache.jena.rmi.shared;
+
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+
+import org.apache.jena.rmi.shared.remote.RemoteTransactionHandler;
+
+import com.hp.hpl.jena.graph.TransactionHandler;
+import com.hp.hpl.jena.shared.Command;
+
+public class RemoteTransactionHandlerImpl extends UnicastRemoteObject implements
+ RemoteTransactionHandler {
+
+ private static final long serialVersionUID = 5093113235785722635L;
+ private TransactionHandler th;
+
+ public RemoteTransactionHandlerImpl(TransactionHandler th)
+ throws RemoteException {
+ super();
+ this.th = th;
+ }
+
+ @Override
+ public boolean transactionsSupported() throws RemoteException {
+ return th.transactionsSupported();
+ }
+
+ @Override
+ public void begin() throws RemoteException {
+ th.begin();
+ }
+
+ @Override
+ public void abort() throws RemoteException {
+ th.abort();
+ }
+
+ @Override
+ public void commit() throws RemoteException {
+ th.commit();
+ }
+
+ @Override
+ public Object executeInTransaction(Command c) throws RemoteException {
+ return th.executeInTransaction(c);
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/RemoteTransactionHandlerImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/GraphExistsException.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/GraphExistsException.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/GraphExistsException.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/GraphExistsException.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,19 @@
+package org.apache.jena.rmi.shared.remote;
+
+import com.hp.hpl.jena.shared.JenaException;
+
+public class GraphExistsException extends JenaException {
+
+ private static final long serialVersionUID = -6334403104189748233L;
+ private String graphName;
+
+ public GraphExistsException(String graphName) {
+ super(String.format("Graph %s alreadys exists", graphName));
+ this.graphName = graphName;
+ }
+
+ public String getGraphName() {
+ return graphName;
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/GraphExistsException.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/NodeType.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/NodeType.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/NodeType.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/NodeType.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,14 @@
+package org.apache.jena.rmi.shared.remote;
+
+import java.io.Serializable;
+
+public interface NodeType extends Serializable {
+ static final byte _ANY = 0x00;
+ static final byte _ANON = 0x01;
+ static final byte _LIT = 0x02;
+ static final byte _URI = 0x03;
+ static final byte _VAR = 0x04;
+
+ //
+ static final byte _COMPRESSED = 0x10; // compressed literal
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/NodeType.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteCapabilities.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteCapabilities.java?rev=1555602&view=auto
==============================================================================
--- jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteCapabilities.java (added)
+++ jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteCapabilities.java Sun Jan 5 18:21:09 2014
@@ -0,0 +1,82 @@
+package org.apache.jena.rmi.shared.remote;
+
+import java.io.Serializable;
+
+import com.hp.hpl.jena.graph.Capabilities;
+
+public class RemoteCapabilities implements Serializable, Capabilities {
+
+ private static final long serialVersionUID = -3083244116679797251L;
+ private boolean sizeAccurate;
+ private boolean addAllowed;
+ private boolean addAllowedEvery;
+ private boolean deleteAllowed;
+ private boolean deleteAllowedEvery;
+ private boolean iteratorRemoveAllowed;
+ private boolean canBeEmpty;
+ private boolean findContractSafe;
+ private boolean handlesLiteralTyping;
+
+ public static RemoteCapabilities construct(Capabilities orig) {
+ if (orig instanceof RemoteCapabilities) {
+ return (RemoteCapabilities) orig;
+ }
+ RemoteCapabilities retval = new RemoteCapabilities();
+ retval.sizeAccurate = orig.sizeAccurate();
+ retval.addAllowed = orig.addAllowed();
+ retval.addAllowedEvery = orig.addAllowed(true);
+ retval.deleteAllowed = orig.deleteAllowed();
+ retval.deleteAllowedEvery = orig.deleteAllowed(true);
+ retval.iteratorRemoveAllowed = orig.iteratorRemoveAllowed();
+ retval.canBeEmpty = orig.canBeEmpty();
+ retval.findContractSafe = orig.findContractSafe();
+ retval.handlesLiteralTyping = orig.handlesLiteralTyping();
+ return retval;
+ }
+
+ @Override
+ public boolean sizeAccurate() {
+ return sizeAccurate;
+ }
+
+ @Override
+ public boolean addAllowed() {
+ return addAllowed;
+ }
+
+ @Override
+ public boolean addAllowed(boolean everyTriple) {
+ return everyTriple ? addAllowedEvery : addAllowed;
+ }
+
+ @Override
+ public boolean deleteAllowed() {
+ return deleteAllowed;
+ }
+
+ @Override
+ public boolean deleteAllowed(boolean everyTriple) {
+ return everyTriple ? deleteAllowedEvery : deleteAllowed;
+ }
+
+ @Override
+ public boolean iteratorRemoveAllowed() {
+ return iteratorRemoveAllowed;
+ }
+
+ @Override
+ public boolean canBeEmpty() {
+ return canBeEmpty;
+ }
+
+ @Override
+ public boolean findContractSafe() {
+ return findContractSafe;
+ }
+
+ @Override
+ public boolean handlesLiteralTyping() {
+ return handlesLiteralTyping;
+ }
+
+}
Propchange: jena/Experimental/jena-rmi/jena-rmi-shared/src/main/java/org/apache/jena/rmi/shared/remote/RemoteCapabilities.java
------------------------------------------------------------------------------
svn:mime-type = text/plain