You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by en...@apache.org on 2011/04/01 14:08:31 UTC
svn commit: r1087671 [6/13] - in /incubator/stanbol/trunk/ontologymanager:
./ ontonet/ ontonet/.settings/ ontonet/src/ ontonet/src/main/
ontonet/src/main/java/ ontonet/src/main/java/org/
ontonet/src/main/java/org/apache/ ontonet/src/main/java/org/apach...
Added: incubator/stanbol/trunk/ontologymanager/web/.classpath
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/.classpath?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/.classpath (added)
+++ incubator/stanbol/trunk/ontologymanager/web/.classpath Fri Apr 1 12:08:25 2011
@@ -0,0 +1,168 @@
+<classpath>
+ <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm/3.1/asm-3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-discovery/commons-discovery/0.4/commons-discovery-0.4.jar" sourcepath="M2_REPO/commons-discovery/commons-discovery/0.4/commons-discovery-0.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.4/commons-io-1.4.jar" sourcepath="M2_REPO/commons-io/commons-io/1.4/commons-io-1.4-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/freemarker/freemarker/2.3.9/freemarker-2.3.9.jar" sourcepath="M2_REPO/org/freemarker/freemarker/2.3.9/freemarker-2.3.9-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.0/httpcore-4.0.jar" sourcepath="M2_REPO/org/apache/httpcomponents/httpcore/4.0/httpcore-4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/ibm/icu/icu4j/3.4.4/icu4j-3.4.4.jar" sourcepath="M2_REPO/com/ibm/icu/icu4j/3.4.4/icu4j-3.4.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/hp/hpl/jena/iri/0.7/iri-0.7.jar" sourcepath="M2_REPO/com/hp/hpl/jena/iri/0.7/iri-0.7-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/com/hp/hpl/jena/iri/0.7/iri-0.7-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/jackson/jackson-core-asl/1.1.1/jackson-core-asl-1.1.1.jar" sourcepath="M2_REPO/org/codehaus/jackson/jackson-core-asl/1.1.1/jackson-core-asl-1.1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/hp/hpl/jena/jena/2.6.2/jena-2.6.2.jar" sourcepath="M2_REPO/com/hp/hpl/jena/jena/2.6.2/jena-2.6.2-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/com/hp/hpl/jena/jena/2.6.2/jena-2.6.2-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/com/sun/jersey/jersey-client/1.1.5.1/jersey-client-1.1.5.1.jar" sourcepath="M2_REPO/com/sun/jersey/jersey-client/1.1.5.1/jersey-client-1.1.5.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/com/sun/jersey/jersey-client/1.1.5.1/jersey-client-1.1.5.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/com/sun/jersey/jersey-core/1.1.5.1/jersey-core-1.1.5.1.jar" sourcepath="M2_REPO/com/sun/jersey/jersey-core/1.1.5.1/jersey-core-1.1.5.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/com/sun/jersey/jersey-core/1.1.5.1/jersey-core-1.1.5.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/com/sun/jersey/jersey-json/1.1.5.1/jersey-json-1.1.5.1.jar" sourcepath="M2_REPO/com/sun/jersey/jersey-json/1.1.5.1/jersey-json-1.1.5.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/com/sun/jersey/jersey-json/1.1.5.1/jersey-json-1.1.5.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/com/sun/jersey/jersey-server/1.1.5.1/jersey-server-1.1.5.1.jar" sourcepath="M2_REPO/com/sun/jersey/jersey-server/1.1.5.1/jersey-server-1.1.5.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/com/sun/jersey/jersey-server/1.1.5.1/jersey-server-1.1.5.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.2/jettison-1.2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.2/jettison-1.2-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/codehaus/jettison/jettison/1.2/jettison-1.2-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/mortbay/jetty/jetty/6.1.22/jetty-6.1.22.jar" sourcepath="M2_REPO/org/mortbay/jetty/jetty/6.1.22/jetty-6.1.22-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mortbay/jetty/jetty-util/6.1.22/jetty-util-6.1.22.jar" sourcepath="M2_REPO/org/mortbay/jetty/jetty-util/6.1.22/jetty-util-6.1.22-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.jar" sourcepath="M2_REPO/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.7/junit-4.7.jar" sourcepath="M2_REPO/junit/junit/4.7/junit-4.7-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar" sourcepath="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-all/1.6/mockito-all-1.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/base/ops4j-base-io/1.2.1/ops4j-base-io-1.2.1.jar" sourcepath="M2_REPO/org/ops4j/base/ops4j-base-io/1.2.1/ops4j-base-io-1.2.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/base/ops4j-base-io/1.2.1/ops4j-base-io-1.2.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/base/ops4j-base-lang/1.2.1/ops4j-base-lang-1.2.1.jar" sourcepath="M2_REPO/org/ops4j/base/ops4j-base-lang/1.2.1/ops4j-base-lang-1.2.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/base/ops4j-base-lang/1.2.1/ops4j-base-lang-1.2.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/base/ops4j-base-monitors/1.2.1/ops4j-base-monitors-1.2.1.jar" sourcepath="M2_REPO/org/ops4j/base/ops4j-base-monitors/1.2.1/ops4j-base-monitors-1.2.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/base/ops4j-base-monitors/1.2.1/ops4j-base-monitors-1.2.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/base/ops4j-base-net/1.2.1/ops4j-base-net-1.2.1.jar" sourcepath="M2_REPO/org/ops4j/base/ops4j-base-net/1.2.1/ops4j-base-net-1.2.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/base/ops4j-base-net/1.2.1/ops4j-base-net-1.2.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/base/ops4j-base-store/1.2.1/ops4j-base-store-1.2.1.jar" sourcepath="M2_REPO/org/ops4j/base/ops4j-base-store/1.2.1/ops4j-base-store-1.2.1-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/base/ops4j-base-store/1.2.1/ops4j-base-store-1.2.1-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.jaxrs.rdf.providers/0.13-incubating-SNAPSHOT/org.apache.clerezza.jaxrs.rdf.providers-0.13-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.jaxrs.rdf.providers/0.13-incubating-SNAPSHOT/org.apache.clerezza.jaxrs.rdf.providers-0.13-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.core/0.12-incubating-SNAPSHOT/org.apache.clerezza.rdf.core-0.12-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.core/0.12-incubating-SNAPSHOT/org.apache.clerezza.rdf.core-0.12-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.core.test/0.13-incubating-SNAPSHOT/org.apache.clerezza.rdf.core.test-0.13-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.core.test/0.13-incubating-SNAPSHOT/org.apache.clerezza.rdf.core.test-0.13-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.jena.commons/0.5-incubating-SNAPSHOT/org.apache.clerezza.rdf.jena.commons-0.5-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.jena.commons/0.5-incubating-SNAPSHOT/org.apache.clerezza.rdf.jena.commons-0.5-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.jena.facade/0.12-incubating-SNAPSHOT/org.apache.clerezza.rdf.jena.facade-0.12-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.jena.facade/0.12-incubating-SNAPSHOT/org.apache.clerezza.rdf.jena.facade-0.12-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.jena.serializer/0.9-incubating-SNAPSHOT/org.apache.clerezza.rdf.jena.serializer-0.9-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.jena.serializer/0.9-incubating-SNAPSHOT/org.apache.clerezza.rdf.jena.serializer-0.9-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.ontologies/0.11-incubating-SNAPSHOT/org.apache.clerezza.rdf.ontologies-0.11-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.ontologies/0.11-incubating-SNAPSHOT/org.apache.clerezza.rdf.ontologies-0.11-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.rdfjson/0.3-incubating-SNAPSHOT/org.apache.clerezza.rdf.rdfjson-0.3-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.rdfjson/0.3-incubating-SNAPSHOT/org.apache.clerezza.rdf.rdfjson-0.3-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.utils/0.13-incubating-SNAPSHOT/org.apache.clerezza.rdf.utils-0.13-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.rdf.utils/0.13-incubating-SNAPSHOT/org.apache.clerezza.rdf.utils-0.13-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/org.apache.clerezza.utils/0.1-incubating-SNAPSHOT/org.apache.clerezza.utils-0.1-incubating-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/clerezza/org.apache.clerezza.utils/0.1-incubating-SNAPSHOT/org.apache.clerezza.utils-0.1-incubating-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.apache.felix.scr.annotations/1.2.0/org.apache.felix.scr.annotations-1.2.0.jar" sourcepath="M2_REPO/org/apache/felix/org.apache.felix.scr.annotations/1.2.0/org.apache.felix.scr.annotations-1.2.0-sources.jar"/>
+ <classpathentry kind="src" path="/org.apache.stanbol.kres.jersey"/>
+ <classpathentry kind="src" path="/org.apache.stanbol.ontologymanager.ontonet"/>
+ <classpathentry kind="src" path="/org.apache.stanbol.owlapi"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/clerezza/ext/org.json.simple/0.3-incubating-SNAPSHOT/org.json.simple-0.3-incubating-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/osgi/org.osgi.compendium/4.1.0/org.osgi.compendium-4.1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0.jar" sourcepath="M2_REPO/org/apache/felix/org.osgi.core/1.4.0/org.osgi.core-1.4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/osgi/org.osgi.core/4.1.0/org.osgi.core-4.1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/owlapi/owlapi/3.0.0/owlapi-3.0.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/exam/pax-exam/1.2.0/pax-exam-1.2.0.jar" sourcepath="M2_REPO/org/ops4j/pax/exam/pax-exam/1.2.0/pax-exam-1.2.0-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/pax/exam/pax-exam/1.2.0/pax-exam-1.2.0-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/exam/pax-exam-container-default/1.2.0/pax-exam-container-default-1.2.0.jar" sourcepath="M2_REPO/org/ops4j/pax/exam/pax-exam-container-default/1.2.0/pax-exam-container-default-1.2.0-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/pax/exam/pax-exam-container-default/1.2.0/pax-exam-container-default-1.2.0-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/exam/pax-exam-container-rbc/1.2.0/pax-exam-container-rbc-1.2.0.jar" sourcepath="M2_REPO/org/ops4j/pax/exam/pax-exam-container-rbc/1.2.0/pax-exam-container-rbc-1.2.0-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/pax/exam/pax-exam-container-rbc/1.2.0/pax-exam-container-rbc-1.2.0-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/exam/pax-exam-container-rbc-client/1.2.0/pax-exam-container-rbc-client-1.2.0.jar" sourcepath="M2_REPO/org/ops4j/pax/exam/pax-exam-container-rbc-client/1.2.0/pax-exam-container-rbc-client-1.2.0-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/pax/exam/pax-exam-container-rbc-client/1.2.0/pax-exam-container-rbc-client-1.2.0-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/exam/pax-exam-junit/1.2.0/pax-exam-junit-1.2.0.jar" sourcepath="M2_REPO/org/ops4j/pax/exam/pax-exam-junit/1.2.0/pax-exam-junit-1.2.0-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/pax/exam/pax-exam-junit/1.2.0/pax-exam-junit-1.2.0-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/exam/pax-exam-junit-extender/1.2.0/pax-exam-junit-extender-1.2.0.jar" sourcepath="M2_REPO/org/ops4j/pax/exam/pax-exam-junit-extender/1.2.0/pax-exam-junit-extender-1.2.0-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/pax/exam/pax-exam-junit-extender/1.2.0/pax-exam-junit-extender-1.2.0-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/exam/pax-exam-runtime/1.2.0/pax-exam-runtime-1.2.0.jar" sourcepath="M2_REPO/org/ops4j/pax/exam/pax-exam-runtime/1.2.0/pax-exam-runtime-1.2.0-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/pax/exam/pax-exam-runtime/1.2.0/pax-exam-runtime-1.2.0-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/exam/pax-exam-spi/1.2.0/pax-exam-spi-1.2.0.jar" sourcepath="M2_REPO/org/ops4j/pax/exam/pax-exam-spi/1.2.0/pax-exam-spi-1.2.0-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/ops4j/pax/exam/pax-exam-spi/1.2.0/pax-exam-spi-1.2.0-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/ops4j/pax/runner/pax-runner-no-jcl/1.3.0/pax-runner-no-jcl-1.3.0.jar" sourcepath="M2_REPO/org/ops4j/pax/runner/pax-runner-no-jcl/1.3.0/pax-runner-no-jcl-1.3.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar" sourcepath="M2_REPO/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211-sources.jar">
+ <attributes>
+ <attribute value="jar:file:/home/x-marley/.m2/repository/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211-javadoc.jar!/" name="javadoc_location"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.2/slf4j-api-1.5.2.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.5.2/slf4j-api-1.5.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-simple/1.5.2/slf4j-simple-1.5.2.jar" sourcepath="M2_REPO/org/slf4j/slf4j-simple/1.5.2/slf4j-simple-1.5.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/wymiwyg/wymiwyg-commons-core/0.7.5/wymiwyg-commons-core-0.7.5.jar" sourcepath="M2_REPO/org/wymiwyg/wymiwyg-commons-core/0.7.5/wymiwyg-commons-core-0.7.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.7.1/xercesImpl-2.7.1.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+</classpath>
\ No newline at end of file
Added: incubator/stanbol/trunk/ontologymanager/web/.project
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/.project?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/.project (added)
+++ incubator/stanbol/trunk/ontologymanager/web/.project Fri Apr 1 12:08:25 2011
@@ -0,0 +1,22 @@
+<projectDescription>
+ <name>org.apache.stanbol.ontologymanager.web</name>
+ <comment>Parent POM for the Apache Stanbol project. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+ <projects>
+ <project>org.apache.stanbol.kres.jersey</project>
+ <project>org.apache.stanbol.ontologymanager.ontonet</project>
+ <project>org.apache.stanbol.owlapi</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Added: incubator/stanbol/trunk/ontologymanager/web/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/pom.xml?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/pom.xml (added)
+++ incubator/stanbol/trunk/ontologymanager/web/pom.xml Fri Apr 1 12:08:25 2011
@@ -0,0 +1,312 @@
+<?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>
+
+ <parent>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>stanbol-parent</artifactId>
+ <version>${stanbol-version}</version>
+ <relativePath>../../parent</relativePath>
+ </parent>
+
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.ontologymanager.web</artifactId>
+ <version>${stanbol-version}</version>
+ <packaging>bundle</packaging>
+
+ <name>Apache Stanbol Ontology Manager Web</name>
+
+ <dependencies>
+
+ <!-- dependencies on other IKS modules -->
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.core</artifactId>
+ <version>0.12-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.rdfjson</artifactId>
+ <version>0.3-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.jaxrs.rdf.providers</artifactId>
+ <version>0.13-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.jena.serializer</artifactId>
+ <version>0.9-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.rdfjson</artifactId>
+ <version>0.3-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- specific deps for this project -->
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>${jersey-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-core</artifactId>
+ <version>${jersey-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
+ <version>${jersey-version}</version>
+ <exclusions>
+ <!-- jaxb is now part of java 6 -->
+ <exclusion>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <!--
+ <dependency> <groupId>com.sun.jersey.contribs</groupId>
+ <artifactId>jersey-multipart</artifactId> <version>1.4</version>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>freemarker</groupId>
+ <artifactId>freemarker</artifactId>
+ <version>2.3.9</version>
+ </dependency>
+ <!-- indirect dependency for freemarker -->
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>1.2</version>
+ </dependency>
+
+ <!-- servlet container, most useful for the tests -->
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>6.1.22</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- generic tax -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- OSGi tax -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>4.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>4.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ <version>1.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Stanbol deps -->
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.kres.jersey</artifactId>
+ <version>${stanbol-version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.ontologymanager.ontonet</artifactId>
+ <version>${stanbol-version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.owl</artifactId>
+ <version>${stanbol-version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- for tests -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.7</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.6</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-client</artifactId>
+ <version>${jersey-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam</artifactId>
+ <version>${pax-exam-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-junit</artifactId>
+ <version>${pax-exam-version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-container-default</artifactId>
+ <version>${pax-exam-version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.hp.hpl.jena</groupId>
+ <artifactId>jena</artifactId>
+ <version>2.6.2</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <repositories>
+ <!-- needed for jersey -->
+ <repository>
+ <id>maven2-repository.dev.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ </repository>
+ <repository>
+ <id>repository-codehaus</id>
+ <name>Codehaus maven repository</name>
+ <url>http://repository.codehaus.org</url>
+ </repository>
+
+ <!-- needed for clerezza SNAPSHOT only -->
+ <repository>
+ <id>apache repository - snapshot repo</id>
+ <name>apache repository</name>
+ <url>https://repository.apache.org/content/repositories/snapshots</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <!-- make it an OSGi bundle -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Export-Package>
+ org.apache.stanbol.ontologymanager.web.*;version=${stanbol-version}
+ </Export-Package>
+ <Embed-Dependency>*;scope=compile|runtime;inline=false;artifactId=jersey-json|jettison|jackson-core-asl</Embed-Dependency>
+ <Embed-Transitive>true</Embed-Transitive>
+ <Import-Package>
+ org.semanticweb.owlapi.*,
+ !javax.servlet.jsp.*,
+ !org.apache.tools.*,
+ !org.mortbay.*,
+ !org.apache.xpath.*,
+ !org.jdom.*,
+ !org.jaxen.*,
+ !org.apache.xml.*,
+ !org.mozilla.javascript.*,
+ !org.python.*,
+ !org.dom4j.*,
+ !org.apache.log.*,
+ *
+ </Import-Package>
+ <Embed-Dependency>freemarker</Embed-Dependency>
+ <_nouses>true</_nouses>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/main/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/main/java/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,131 @@
+package org.apache.stanbol.ontologymanager.web;
+
+import java.io.IOException;
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.http.HttpService;
+import org.osgi.service.http.NamespaceException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.sun.jersey.spi.container.servlet.ServletContainer;
+
+import org.apache.stanbol.kres.jersey.processors.ViewProcessorImpl;
+
+/**
+ * Jersey-based RESTful endpoint for KReS.
+ *
+ * This OSGi component serves as a bridge between the OSGi context and the
+ * Servlet context available to JAX-RS resources.
+ *
+ * @author andrea.nuzzolese
+ */
+
+@Component(immediate = true, metatype = true)
+public class JerseyEndpoint {
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+ @Property(value = "/kres/ontoman")
+ public static final String ALIAS_PROPERTY = "org.apache.stanbol.ontologymanager.web.alias";
+
+ @Property(value = "/kres/ontoman/static")
+ public static final String STATIC_RESOURCES_URL_ROOT_PROPERTY = "org.apache.stanbol.ontologymanager.web.static.url";
+
+ @Property(value = "/META-INF/static")
+ public static final String STATIC_RESOURCES_CLASSPATH_PROPERTY = "org.apache.stanbol.ontologymanager.web.static.classpath";
+
+ @Property(value = "/META-INF/templates")
+ public static final String FREEMARKER_TEMPLATE_CLASSPATH_PROPERTY = "org.apache.stanbol.ontologymanager.web.templates.classpath";
+
+ @Reference
+ HttpService httpService;
+
+ @Reference
+ ONManager onm;
+
+ protected ServletContext servletContext;
+
+ public Dictionary<String, String> getInitParams() {
+ // pass configuration for Jersey resource
+ // TODO: make the list of enabled JAX-RS resources and providers
+ // configurable using an OSGi service
+ Dictionary<String, String> initParams = new Hashtable<String, String>();
+ initParams.put("javax.ws.rs.Application",
+ JerseyEndpointApplication.class.getName());
+
+ // make jersey automatically turn resources into Viewable models and
+ // hence lookup matching freemarker templates
+ initParams.put("com.sun.jersey.config.feature.ImplicitViewables",
+ "true");
+ return initParams;
+ }
+
+ protected void activate(ComponentContext ctx) throws IOException,
+ ServletException, NamespaceException {
+
+ // register the JAX-RS resources as a servlet under configurable alias
+ ServletContainer container = new ServletContainer();
+ String alias = (String) ctx.getProperties().get(ALIAS_PROPERTY);
+ String staticUrlRoot = (String) ctx.getProperties().get(
+ STATIC_RESOURCES_URL_ROOT_PROPERTY);
+ String staticClasspath = (String) ctx.getProperties().get(
+ STATIC_RESOURCES_CLASSPATH_PROPERTY);
+ String freemakerTemplates = (String) ctx.getProperties().get(
+ FREEMARKER_TEMPLATE_CLASSPATH_PROPERTY);
+
+ log.info("Registering servlets with HTTP service "
+ + httpService.toString());
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ Thread.currentThread().setContextClassLoader(
+ getClass().getClassLoader());
+ try {
+ httpService.registerServlet(alias, container, getInitParams(), null);
+ httpService.registerResources(staticUrlRoot, staticClasspath, null);
+ } finally {
+ Thread.currentThread().setContextClassLoader(classLoader);
+ }
+
+ // forward the main KReS OSGi components to the servlet context so that
+ // they can be looked up by the JAX-RS resources
+ servletContext = container.getServletContext();
+ servletContext.setAttribute(BundleContext.class.getName(),
+ ctx.getBundleContext());
+ servletContext.setAttribute(ONManager.class.getName(), onm);
+
+ servletContext.setAttribute(STATIC_RESOURCES_URL_ROOT_PROPERTY,
+ staticUrlRoot);
+ servletContext.setAttribute(
+ ViewProcessorImpl.FREEMARKER_TEMPLATE_PATH_INIT_PARAM,
+ freemakerTemplates);
+
+ log.info("Jersey servlet registered at {}", alias);
+ }
+
+ protected void deactivate(ComponentContext ctx) {
+ log.info("Deactivating jersey bundle");
+ String alias = (String) ctx.getProperties().get(ALIAS_PROPERTY);
+ httpService.unregister(alias);
+ servletContext = null;
+ }
+
+
+ protected void bindHttpService(HttpService httpService) {
+ this.httpService = httpService;
+ }
+
+ protected void unbindHttpService(HttpService httpService) {
+ this.httpService = null;
+ }
+
+}
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,64 @@
+package org.apache.stanbol.ontologymanager.web;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.ws.rs.core.Application;
+
+import org.apache.stanbol.kres.jersey.processors.ViewProcessorImpl;
+import org.apache.stanbol.kres.jersey.writers.GraphWriter;
+import org.apache.stanbol.owl.web.OWLOntologyWriter;
+import org.apache.stanbol.kres.jersey.writers.ResultSetWriter;
+import org.apache.stanbol.ontologymanager.web.resources.GraphsResource;
+import org.apache.stanbol.ontologymanager.web.resources.ONMOntResource;
+import org.apache.stanbol.ontologymanager.web.resources.ONMRootResource;
+import org.apache.stanbol.ontologymanager.web.resources.ONMScopeOntologyResource;
+import org.apache.stanbol.ontologymanager.web.resources.ONMScopeResource;
+import org.apache.stanbol.ontologymanager.web.resources.SessionIDResource;
+import org.apache.stanbol.ontologymanager.web.resources.SessionResource;
+
+/**
+ * Statically define the list of available resources and providers to be used by the KReS JAX-RS Endpoint.
+ *
+ * The jersey auto-scan mechanism does not seem to work when deployed through OSGi's HttpService
+ * initialization.
+ *
+ * In the future this class might get refactored as an OSGi service to allow for dynamic configuration and
+ * deployment of additional JAX-RS resources and providers.
+ *
+ * @author andrea.nuzzolese
+ */
+
+public class JerseyEndpointApplication extends Application {
+
+ @Override
+ public Set<Class<?>> getClasses() {
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+
+ classes.add(GraphsResource.class);
+
+ classes.add(ONMRootResource.class);
+ classes.add(ONMScopeResource.class);
+ classes.add(ONMScopeOntologyResource.class);
+ classes.add(ONMOntResource.class);
+
+ classes.add(SessionResource.class);
+ classes.add(SessionIDResource.class);
+
+ // message body writers
+ classes.add(GraphWriter.class);
+ classes.add(ResultSetWriter.class);
+ // classes.add(OwlModelWriter.class);
+ classes.add(OWLOntologyWriter.class);
+ return classes;
+ }
+
+ @Override
+ public Set<Object> getSingletons() {
+ Set<Object> singletons = new HashSet<Object>();
+ // view processors
+ singletons.add(new ViewProcessorImpl());
+ return singletons;
+ }
+
+}
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,96 @@
+package org.apache.stanbol.ontologymanager.web;
+
+import java.net.URI;
+import java.util.Dictionary;
+import java.util.Enumeration;
+
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.ServletHolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.sun.jersey.spi.container.servlet.ServletContainer;
+
+/**
+ * Standalone (OSGi independent) Jetty-based server with the KReS Jersey
+ * endpoint. The OSGi component need be injected manually to the ServletContext
+ * to make them available to the resources.
+ *
+ * This class is mainly useful for testing the JAX-RS resources without faking a
+ * complete OSGI runtime.
+ *
+ * For seamless OSGi deployments the JerseyEndpoint component should be
+ * automatically registered in the container and registers the JAXRS resources
+ * automatically.
+ *
+ * @author andrea.nuzzolese
+ */
+public class JettyServer {
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+ public static String DEFAUL_BASE_URI = "http://localhost:9998/";
+
+ protected Server server = new Server();
+
+ private Context context;
+
+ public void start(String baseUri) throws Exception {
+ log.info("starting the Jetty / Jersey endpoint");
+ ServletHolder servletHolder = new ServletHolder(ServletContainer.class);
+ Dictionary<String, String> initParams = new JerseyEndpoint().getInitParams();
+ Enumeration<String> keys = initParams.keys();
+ while (keys.hasMoreElements()) {
+ String key = keys.nextElement();
+ servletHolder.setInitParameter(key, initParams.get(key));
+ }
+
+ URI uri = new URI(baseUri);
+ // restart any previous server instance while keeping the previous
+ // attribute settings
+ if (server.isRunning()) {
+ server.stop();
+ }
+ server = new Server(uri.getPort());
+ context = new Context(server, "/", Context.SESSIONS);
+ context.addServlet(servletHolder, "/*");
+ server.start();
+ }
+
+ public void stop() throws Exception {
+ log.info("stopping the Jetty / Jersey endpoint");
+ server.stop();
+ }
+
+ public void setAttribute(String name, Object value) {
+ if (context != null) {
+ context.getServletContext().setAttribute(name, value);
+ }
+ }
+
+ public Object getAttribute(String name) {
+ if (context != null) {
+ return context.getServletContext().getAttribute(name);
+ }
+ return null;
+ }
+
+ public void removeAttribute(String name) {
+ if (context != null) {
+ context.getServletContext().removeAttribute(name);
+ }
+ }
+
+ /**
+ * For starting manually.
+ */
+ public static void main(String[] args) throws Exception {
+ JettyServer server = new JettyServer();
+ server.start(DEFAUL_BASE_URI);
+ System.out.println("Hit enter to stop it...");
+ System.in.read();
+ server.stop();
+ }
+
+}
\ No newline at end of file
Propchange: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:08:25 2011
@@ -0,0 +1 @@
+target
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/GraphsResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/GraphsResource.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/GraphsResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/GraphsResource.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,146 @@
+package org.apache.stanbol.ontologymanager.web.resources;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.stanbol.kres.jersey.format.KRFormat;
+import org.apache.stanbol.kres.jersey.resource.NavigationMixin;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.NoSuchStoreException;
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.model.AddAxiom;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.OWLNamedIndividual;
+import org.semanticweb.owlapi.model.OWLObjectProperty;
+import org.semanticweb.owlapi.model.OWLObjectPropertyAssertionAxiom;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.sun.jersey.api.view.ImplicitProduces;
+
+@Path("/graphs")
+@ImplicitProduces(MediaType.TEXT_HTML + ";qs=2")
+public class GraphsResource extends NavigationMixin {
+
+ protected TcManager tcManager;
+ protected ONManager onManager;
+ protected ClerezzaOntologyStorage storage;
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+ public GraphsResource(@Context ServletContext servletContext) {
+ storage = (ClerezzaOntologyStorage) (servletContext.getAttribute(ClerezzaOntologyStorage.class.getName()));
+ tcManager = (TcManager) servletContext.getAttribute(TcManager.class.getName());
+ onManager = (ONManager) (servletContext.getAttribute(ONManager.class.getName()));
+ if (onManager == null) {
+ throw new IllegalStateException("OntologyStorage missing in ServletContext");
+ } else {
+ storage = onManager.getOntologyStore();
+ }
+ }
+
+ @GET
+ @Path("/resume")
+ @Produces( {KRFormat.FUNCTIONAL_OWL, KRFormat.MANCHESTER_OWL, KRFormat.OWL_XML, KRFormat.RDF_XML,
+ KRFormat.TURTLE, KRFormat.RDF_JSON})
+ public Response graphs(@Context HttpHeaders headers, @Context ServletContext servletContext) {
+ Set<IRI> iris = storage.listGraphs();
+ if (iris != null) {
+
+ OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
+ OWLDataFactory factory = OWLManager.getOWLDataFactory();
+
+ OWLOntology ontology;
+ try {
+ ontology = manager.createOntology();
+
+ String ns = onManager.getKReSNamespace();
+
+ OWLNamedIndividual storage = factory.getOWLNamedIndividual(IRI.create(ns + "Storage"));
+
+ OWLObjectProperty p = factory.getOWLObjectProperty(IRI.create(ns + "hasGraph"));
+
+ for (IRI iri : iris) {
+ iri = IRI.create(iri.toString().replace("<", "").replace(">", ""));
+ OWLNamedIndividual graph = factory.getOWLNamedIndividual(iri);
+ OWLObjectPropertyAssertionAxiom axiom = factory.getOWLObjectPropertyAssertionAxiom(p,
+ storage, graph);
+ manager.applyChange(new AddAxiom(ontology, axiom));
+ }
+
+ return Response.ok(ontology).build();
+ } catch (OWLOntologyCreationException e) {
+ return Response.status(500).build();
+ }
+
+ }
+
+ return Response.status(404).build();
+ }
+
+ @GET
+ @Path("/{graphid:.+}")
+ public Response getGraph(@PathParam("graphid") String graphid,
+ @Context UriInfo uriInfo,
+ @Context HttpHeaders headers) {
+
+ IRI ontologyID = IRI.create(graphid);
+
+ // return Response.ok(tcManager.getMGraph(new UriRef(graphid))).build();
+ try {
+ return Response.ok(storage.getGraph(ontologyID)).build();
+ } catch (NoSuchStoreException e) {
+ return Response.status(204).build();
+ }
+
+ }
+
+ @POST
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
+ public Response storeGraph(@FormParam("graph") InputStream graph, @FormParam("id") String id) {
+ try {
+ OWLOntology ontology = OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(
+ graph);
+ storage.store(ontology, IRI.create(id));
+ return Response.ok().build();
+ } catch (OWLOntologyCreationException e) {
+ return Response.status(500).build();
+ }
+ }
+
+ public String getNamespace() {
+ return onManager.getKReSNamespace();
+ }
+
+ public List<String> getStoredGraphs() {
+ Set<IRI> iris = storage.listGraphs();
+
+ ArrayList<String> graphs = new ArrayList<String>();
+ for (IRI iri : iris) {
+ graphs.add(iri.toString());
+ }
+ return graphs;
+ }
+}
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMOntResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMOntResource.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMOntResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMOntResource.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,123 @@
+package org.apache.stanbol.ontologymanager.web.resources;
+
+import java.util.Hashtable;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.Response;
+
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.serializedform.Serializer;
+import org.apache.stanbol.kres.jersey.resource.NavigationMixin;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyIndex;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl;
+import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.coode.owlapi.turtle.TurtleOntologyFormat;
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;
+import org.semanticweb.owlapi.io.StringDocumentTarget;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.semanticweb.owlapi.model.OWLOntologyStorageException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Path("/ontology/get")
+public class ONMOntResource extends NavigationMixin {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ /*
+ * Placeholder for the ONManager to be fetched from the servlet context.
+ */
+ protected ONManager onm;
+ protected ClerezzaOntologyStorage storage;
+
+ protected ServletContext servletContext;
+
+ protected Serializer serializer;
+
+ public ONMOntResource(@Context ServletContext servletContext) {
+ this.servletContext = servletContext;
+ this.onm = (ONManager) servletContext.getAttribute(ONManager.class.getName());
+// this.storage = (OntologyStorage) servletContext
+// .getAttribute(OntologyStorage.class.getName());
+// Contingency code for missing components follows.
+/*
+ * FIXME! The following code is required only for the tests. This should
+ * be removed and the test should work without this code.
+ */
+if (onm == null) {
+ log
+ .warn("No KReSONManager in servlet context. Instantiating manually...");
+ onm = new ONManagerImpl(new TcManager(), null,
+ new Hashtable<String, Object>());
+}
+this.storage = onm.getOntologyStore();
+if (storage == null) {
+ log.warn("No OntologyStorage in servlet context. Instantiating manually...");
+ storage = new ClerezzaOntologyStorage(new TcManager(),null);
+}
+ serializer = (Serializer) this.servletContext.getAttribute(Serializer.class.getName());
+ }
+
+ @GET
+ @Produces("application/rdf+xml")
+ public Response getOntology(@QueryParam("iri") String ontologyIri) {
+
+ IRI iri = null;
+ try {
+ iri = IRI.create(ontologyIri);
+ } catch (Exception ex) {
+ throw new WebApplicationException(404);
+ }
+ OntologyIndex index = onm.getOntologyIndex();
+ if (!index.isOntologyLoaded(iri))
+ // No such ontology registered, so return 404.
+ return Response.status(404).build();
+
+ OWLOntology ont = index.getOntology(iri);
+ OWLOntologyManager tmpmgr = OWLManager.createOWLOntologyManager();
+ StringDocumentTarget tgt = new StringDocumentTarget();
+ try {
+ tmpmgr.saveOntology(ont, new RDFXMLOntologyFormat(), tgt);
+ } catch (OWLOntologyStorageException e) {
+ throw new WebApplicationException(500);
+ }
+ return Response.ok(tgt.toString()).build();
+ }
+
+ @GET
+ @Produces("text/turtle")
+ public Response getOntologyT(@QueryParam("iri") String ontologyIri) {
+
+ IRI iri = null;
+ try {
+ iri = IRI.create(ontologyIri);
+ } catch (Exception ex) {
+ throw new WebApplicationException(404);
+ }
+ OntologyIndex index = onm.getOntologyIndex();
+ if (!index.isOntologyLoaded(iri))
+ // No such ontology registered, so return 404.
+ return Response.status(404).build();
+
+ OWLOntology ont = index.getOntology(iri);
+ OWLOntologyManager tmpmgr = OWLManager.createOWLOntologyManager();
+ StringDocumentTarget tgt = new StringDocumentTarget();
+ try {
+ tmpmgr.saveOntology(ont, new TurtleOntologyFormat(), tgt);
+ } catch (OWLOntologyStorageException e) {
+ throw new WebApplicationException(500);
+ }
+ return Response.ok(tgt.toString()).build();
+ }
+
+}
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMRootResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMRootResource.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMRootResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMRootResource.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,182 @@
+package org.apache.stanbol.ontologymanager.web.resources;
+
+import java.util.Hashtable;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyScope;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.ScopeRegistry;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl;
+import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.apache.stanbol.ontologymanager.ontonet.impl.renderers.ScopeSetRenderer;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.stanbol.kres.jersey.format.KRFormat;
+import org.apache.stanbol.kres.jersey.resource.NavigationMixin;
+
+/**
+ * The main Web resource of the KReS ontology manager. All the scopes, sessions and ontologies are accessible
+ * as subresources of ONMRootResource.<br>
+ * <br>
+ * This resource allows a GET method for obtaining an RDF representation of the set of registered scopes and a
+ * DELETE method for clearing the scope set and ontology store accordingly.
+ *
+ * @author alessandro
+ *
+ */
+@Path("/ontology")
+public class ONMRootResource extends NavigationMixin {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ /*
+ * Placeholder for the ONManager to be fetched from the servlet context.
+ */
+ protected ONManager onm;
+ protected ClerezzaOntologyStorage storage;
+
+ protected ServletContext servletContext;
+
+ public ONMRootResource(@Context ServletContext servletContext) {
+ this.servletContext = servletContext;
+ this.onm = (ONManager) servletContext.getAttribute(ONManager.class.getName());
+// this.storage = (OntologyStorage) servletContext
+// .getAttribute(OntologyStorage.class.getName());
+// Contingency code for missing components follows.
+/*
+ * FIXME! The following code is required only for the tests. This should
+ * be removed and the test should work without this code.
+ */
+if (onm == null) {
+ log
+ .warn("No KReSONManager in servlet context. Instantiating manually...");
+ onm = new ONManagerImpl(new TcManager(), null,
+ new Hashtable<String, Object>());
+}
+this.storage = onm.getOntologyStore();
+if (storage == null) {
+ log.warn("No OntologyStorage in servlet context. Instantiating manually...");
+ storage = new ClerezzaOntologyStorage(new TcManager(),null);
+}
+ }
+
+ /**
+ * RESTful DELETE method that clears the entire scope registry and managed ontology store.
+ */
+ @DELETE
+ public void clearOntologies() {
+ // First clear the registry...
+ ScopeRegistry reg = onm.getScopeRegistry();
+ for (OntologyScope scope : reg.getRegisteredScopes())
+ reg.deregisterScope(scope);
+ // ...then clear the store.
+ // TODO : the other way around?
+ onm.getOntologyStore().clear();
+ }
+
+ @GET
+ @Path("/{param:.+}")
+ public Response echo(@PathParam("param") String s) {
+ return Response.ok(s).build();
+ }
+
+ /**
+ * Default GET method for obtaining the set of (both active and, optionally, inactive) ontology scopes
+ * currently registered with this instance of KReS.
+ *
+ * @param inactive
+ * if true, both active and inactive scopes will be included. Default is false.
+ * @param headers
+ * the HTTP headers, supplied by the REST call.
+ * @param servletContext
+ * the servlet context, supplied by the REST call.
+ * @return a string representation of the requested scope set, in a format acceptable by the client.
+ */
+ @GET
+ @Produces(value = {KRFormat.RDF_XML, KRFormat.OWL_XML, KRFormat.TURTLE, KRFormat.FUNCTIONAL_OWL,
+ KRFormat.MANCHESTER_OWL, KRFormat.RDF_JSON})
+ public Response getScopes(@DefaultValue("false") @QueryParam("with-inactive") boolean inactive,
+ @Context HttpHeaders headers,
+ @Context ServletContext servletContext) {
+
+ ScopeRegistry reg = onm.getScopeRegistry();
+
+ Set<OntologyScope> scopes = inactive ? reg.getRegisteredScopes() : reg.getActiveScopes();
+
+ OWLOntology ontology = ScopeSetRenderer.getScopes(scopes);
+
+ return Response.ok(ontology).build();
+ }
+
+ // @Path("upload")
+ // @Consumes(MediaType.MULTIPART_FORM_DATA)
+ // @POST
+ // public void uploadDumb(@FormParam("file") InputStream is) {
+ // Writer writer = new StringWriter();
+ //
+ // char[] buffer = new char[1024];
+ //
+ // try {
+ //
+ // Reader reader = new BufferedReader(
+ //
+ // new InputStreamReader(is, "UTF-8"));
+ //
+ // int n;
+ //
+ // while ((n = reader.read(buffer)) != -1) {
+ //
+ // writer.write(buffer, 0, n);
+ //
+ // }
+ // } catch (IOException ex) {
+ // throw new WebApplicationException(ex);
+ // } finally {
+ //
+ // try {
+ // is.close();
+ // } catch (IOException e) {
+ // throw new WebApplicationException(e);
+ // }
+ //
+ // }
+ // System.out.println(writer.toString());
+ // }
+ //
+ // @Path("formdata")
+ // @Consumes(MediaType.MULTIPART_FORM_DATA)
+ // @POST
+ // public void uploadUrlFormData(
+ // @FormDataParam("file") List<FormDataBodyPart> parts,
+ // @FormDataParam("submit") FormDataBodyPart submit)
+ // throws IOException, ParseException {
+ //
+ // System.out.println("XXXX: " + submit.getMediaType());
+ // System.out.println("XXXX: "
+ // + submit.getHeaders().getFirst("Content-Type"));
+ //
+ // for (FormDataBodyPart bp : parts) {
+ // System.out.println(bp.getMediaType());
+ // System.out.println(bp.getHeaders().get("Content-Disposition"));
+ // System.out.println(bp.getParameterizedHeaders().getFirst(
+ // "Content-Disposition").getParameters().get("name"));
+ // bp.cleanup();
+ // }
+ // }
+
+}
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeOntologyResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeOntologyResource.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeOntologyResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeOntologyResource.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,215 @@
+package org.apache.stanbol.ontologymanager.web.resources;
+
+import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
+import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+
+import java.net.URI;
+import java.util.Hashtable;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.RootOntologySource;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyScope;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologySpace;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologySpaceModificationException;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.ScopeRegistry;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl;
+import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.apache.stanbol.ontologymanager.web.util.OntologyRenderUtils;
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLImportsDeclaration;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.semanticweb.owlapi.model.OWLOntologySetProvider;
+import org.semanticweb.owlapi.model.OWLOntologyStorageException;
+import org.semanticweb.owlapi.util.OWLOntologyMerger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.stanbol.kres.jersey.format.KRFormat;
+import org.apache.stanbol.kres.jersey.resource.NavigationMixin;
+
+/**
+ * This resource represents ontologies loaded within a scope.
+ *
+ * @author alessandro
+ *
+ */
+@Path("/ontology/{scopeid}/{uri:.+}")
+public class ONMScopeOntologyResource extends NavigationMixin {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ /*
+ * Placeholder for the ONManager to be fetched from the servlet context.
+ */
+ protected ONManager onm;
+ protected ClerezzaOntologyStorage storage;
+
+ protected ServletContext servletContext;
+
+ public ONMScopeOntologyResource(@Context ServletContext servletContext) {
+ this.servletContext = servletContext;
+ this.onm = (ONManager) servletContext.getAttribute(ONManager.class.getName());
+// this.storage = (OntologyStorage) servletContext
+// .getAttribute(OntologyStorage.class.getName());
+// Contingency code for missing components follows.
+/*
+ * FIXME! The following code is required only for the tests. This should
+ * be removed and the test should work without this code.
+ */
+if (onm == null) {
+ log
+ .warn("No KReSONManager in servlet context. Instantiating manually...");
+ onm = new ONManagerImpl(new TcManager(), null,
+ new Hashtable<String, Object>());
+}
+this.storage = onm.getOntologyStore();
+if (storage == null) {
+ log.warn("No OntologyStorage in servlet context. Instantiating manually...");
+ storage = new ClerezzaOntologyStorage(new TcManager(),null);
+}
+ }
+
+ /**
+ * Returns an RDF/XML representation of the ontology identified by logical IRI <code>ontologyid</code>, if
+ * it is loaded within the scope <code>[baseUri]/scopeid</code>.
+ *
+ * @param scopeid
+ * @param ontologyid
+ * @param uriInfo
+ * @return, or a status 404 if either the scope is not registered or the ontology is not loaded within
+ * that scope.
+ */
+ @GET
+ @Produces(value = {KRFormat.RDF_XML, KRFormat.OWL_XML, KRFormat.TURTLE, KRFormat.FUNCTIONAL_OWL,
+ KRFormat.MANCHESTER_OWL, KRFormat.RDF_JSON})
+ public Response getScopeOntology(@PathParam("scopeid") String scopeid,
+ @PathParam("uri") String ontologyid,
+ @Context UriInfo uriInfo) {
+
+ String absur = uriInfo.getAbsolutePath().toString();
+ URI uri = URI.create(absur.substring(0, absur.lastIndexOf(ontologyid) - 1));
+
+ IRI sciri = IRI.create(uri);
+ IRI ontiri = IRI.create(ontologyid);
+
+ // TODO: hack (ma anche no)
+ if (!ontiri.isAbsolute()) ontiri = IRI.create(absur);
+
+ ScopeRegistry reg = onm.getScopeRegistry();
+ OntologyScope scope = reg.getScope(sciri);
+ if (scope == null) return Response.status(NOT_FOUND).build();
+
+ /* BEGIN debug code, uncomment only for local testing */
+ OWLOntology test = null, top = null;
+ test = scope.getCustomSpace().getOntology(ontiri);
+ System.out.println("Ontology " + ontiri);
+ for (OWLImportsDeclaration imp : test.getImportsDeclarations())
+ System.out.println("\timports " + imp.getIRI());
+ top = scope.getCoreSpace().getTopOntology();
+ System.out.println("Core root for scope " + scopeid);
+ for (OWLImportsDeclaration imp : top.getImportsDeclarations())
+ System.out.println("\timports " + imp.getIRI());
+ /* END debug code */
+
+ OWLOntology ont = null;
+ // By default, always try retrieving the ontology from the custom space
+ // first.
+ OntologySpace space = scope.getCustomSpace();
+ if (space == null) space = scope.getCoreSpace();
+ if (space != null) ont = space.getOntology(ontiri);
+
+ if (ont == null) {
+ OWLOntologyManager man = OWLManager.createOWLOntologyManager();
+ final Set<OWLOntology> ontologies = scope.getSessionSpace(ontiri).getOntologies();
+
+ OWLOntologySetProvider provider = new OWLOntologySetProvider() {
+
+ @Override
+ public Set<OWLOntology> getOntologies() {
+ // System.out.println("ID SPACE : " + ontologies);
+ return ontologies;
+ }
+ };
+ OWLOntologyMerger merger = new OWLOntologyMerger(provider);
+
+ /*
+ * Set<OntologySpace> spaces = scope.getSessionSpaces(); for(OntologySpace space : spaces){
+ * System.out.println("ID SPACE : "+space.getID()); }
+ */
+
+ try {
+ ont = merger.createMergedOntology(man, ontiri);
+ } catch (OWLOntologyCreationException e) {
+ throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
+ }
+
+ }
+ if (ont == null) {
+ return Response.status(NOT_FOUND).build();
+ }
+ String res = null;
+ try {
+ res = OntologyRenderUtils.renderOntology(ont, new RDFXMLOntologyFormat(), sciri.toString(), onm);
+ } catch (OWLOntologyStorageException e) {
+ throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
+ }
+ return Response.ok(/* ont */res).build();
+
+ }
+
+ /**
+ * Unloads an ontology from an ontology scope.
+ *
+ * @param scopeId
+ * @param ontologyid
+ * @param uriInfo
+ * @param headers
+ */
+ @DELETE
+ public void unloadOntology(@PathParam("scopeid") String scopeId,
+ @PathParam("uri") String ontologyid,
+ @Context UriInfo uriInfo,
+ @Context HttpHeaders headers) {
+
+ if (ontologyid != null && !ontologyid.equals("")) {
+ String scopeURI = uriInfo.getAbsolutePath().toString().replace(ontologyid, "");
+ System.out
+ .println("Received DELETE request for ontology " + ontologyid + " in scope " + scopeURI);
+ IRI scopeIri = IRI.create(uriInfo.getBaseUri() + "ontology/" + scopeId);
+ System.out.println("SCOPE IRI : " + scopeIri);
+ IRI ontIri = IRI.create(ontologyid);
+ ScopeRegistry reg = onm.getScopeRegistry();
+ OntologyScope scope = reg.getScope(scopeIri);
+ OntologySpace cs = scope.getCustomSpace();
+ if (cs.hasOntology(ontIri)) {
+ try {
+ reg.setScopeActive(scopeIri, false);
+ cs.removeOntology(new RootOntologySource(cs.getOntology(ontIri)));
+ reg.setScopeActive(scopeIri, true);
+ } catch (OntologySpaceModificationException e) {
+ reg.setScopeActive(scopeIri, true);
+ throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
+ }
+ }
+ }
+ }
+
+}
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ONMScopeResource.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,276 @@
+package org.apache.stanbol.ontologymanager.web.resources;
+
+import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
+import static javax.ws.rs.core.Response.Status.CONFLICT;
+import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
+
+import java.util.Hashtable;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.DuplicateIDException;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.OntologyInputSource;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.RootOntologyIRISource;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyScope;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyScopeFactory;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologySpace;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.ScopeRegistry;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl;
+import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.apache.stanbol.ontologymanager.ontonet.impl.io.OntologyRegistryIRISource;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.stanbol.kres.jersey.format.KRFormat;
+import org.apache.stanbol.kres.jersey.resource.NavigationMixin;
+
+@Path("/ontology/{scopeid}")
+public class ONMScopeResource extends NavigationMixin {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ /*
+ * Placeholder for the ONManager to be fetched from the servlet context.
+ */
+ protected ONManager onm;
+ protected ClerezzaOntologyStorage storage;
+
+ protected ServletContext servletContext;
+
+ public ONMScopeResource(@Context ServletContext servletContext) {
+ this.servletContext = servletContext;
+ this.onm = (ONManager) servletContext
+ .getAttribute(ONManager.class.getName());
+ this.storage = (ClerezzaOntologyStorage) servletContext
+ .getAttribute(ClerezzaOntologyStorage.class.getName());
+// this.storage = (OntologyStorage) servletContext
+// .getAttribute(OntologyStorage.class.getName());
+// Contingency code for missing components follows.
+/*
+ * FIXME! The following code is required only for the tests. This should
+ * be removed and the test should work without this code.
+ */
+if (onm == null) {
+ log
+ .warn("No KReSONManager in servlet context. Instantiating manually...");
+ onm = new ONManagerImpl(new TcManager(), null,
+ new Hashtable<String, Object>());
+}
+this.storage = onm.getOntologyStore();
+if (storage == null) {
+ log.warn("No OntologyStorage in servlet context. Instantiating manually...");
+ storage = new ClerezzaOntologyStorage(new TcManager(),null);
+}
+ }
+
+ @DELETE
+ public void deregisterScope(@PathParam("scopeid") String scopeid,
+ @Context UriInfo uriInfo, @Context HttpHeaders headers,
+ @Context ServletContext servletContext) {
+
+ ScopeRegistry reg = onm.getScopeRegistry();
+
+ OntologyScope scope = reg.getScope(IRI
+ .create(uriInfo.getAbsolutePath()));
+ if (scope == null)
+ return;
+ reg.deregisterScope(scope);
+ }
+
+ @GET
+ @Produces(value = { KRFormat.RDF_XML, KRFormat.OWL_XML,
+ KRFormat.TURTLE, KRFormat.FUNCTIONAL_OWL,
+ KRFormat.MANCHESTER_OWL, KRFormat.RDF_JSON })
+ public Response getTopOntology(@Context UriInfo uriInfo,
+ @Context HttpHeaders headers, @Context ServletContext servletContext) {
+
+ ScopeRegistry reg = onm.getScopeRegistry();
+
+ OntologyScope scope = reg.getScope(IRI
+ .create(uriInfo.getAbsolutePath()));
+ if (scope == null)
+ return Response.status(404).build();
+
+ OntologySpace cs = scope.getCustomSpace();
+ OWLOntology ont = null;
+ if (cs != null)
+ ont = scope.getCustomSpace().getTopOntology();
+ if (ont == null)
+ ont = scope.getCoreSpace().getTopOntology();
+
+ return Response.ok(ont).build();
+
+ }
+
+ @POST
+ // @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
+ @Produces("text/plain")
+ public Response loadCustomOntology(@PathParam("scopeid") String scopeid,
+ @FormParam("location") String physIri,
+ @FormParam("registry") boolean asRegistry,
+ @Context UriInfo uriInfo, @Context HttpHeaders headers,
+ @Context ServletContext servletContext) {
+
+ ScopeRegistry reg = onm.getScopeRegistry();
+
+ String res = "";
+ IRI scopeiri = null;
+ IRI ontoiri = null;
+ try {
+ scopeiri = IRI.create(uriInfo.getAbsolutePath());
+ ontoiri = IRI.create(physIri);
+ } catch (Exception ex) {
+ // Malformed IRI, throw bad request.
+ throw new WebApplicationException(ex, BAD_REQUEST);
+ }
+ if (reg.containsScope(scopeiri)) {
+ res = "Ok, scope is there";
+ OntologyScope scope = reg.getScope(scopeiri);
+ try {
+ OntologyInputSource src = new RootOntologyIRISource(ontoiri);
+ OntologySpace space = scope.getCustomSpace();
+ if (space == null) {
+ space = onm.getOntologySpaceFactory()
+ .createCustomOntologySpace(scopeiri, src);
+
+ scope.setCustomSpace(space);
+ // space.setUp();
+ } else
+ space.addOntology(src);
+ } catch (OWLOntologyCreationException e) {
+ throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
+ } catch (UnmodifiableOntologySpaceException e) {
+ throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
+ }
+ } else
+ throw new WebApplicationException(404);
+ return Response.ok(res).build();
+ }
+
+ /**
+ * At least one between corereg and coreont must be present. Registry iris
+ * supersede ontology iris.
+ *
+ * @param scopeid
+ * @param coreRegistry
+ * a. If it is a well-formed IRI it supersedes
+ * <code>coreOntology</code>.
+ * @param coreOntology
+ * @param customRegistry
+ * a. If it is a well-formed IRI it supersedes
+ * <code>customOntology</code>.
+ * @param customOntology
+ * @param activate
+ * if true, the new scope will be activated upon creation.
+ * @param uriInfo
+ * @param headers
+ * @return
+ */
+ @PUT
+ @Consumes(MediaType.WILDCARD)
+ public Response registerScope(@PathParam("scopeid") String scopeid,
+ @QueryParam("corereg") String coreRegistry,
+ @QueryParam("coreont") String coreOntology,
+ @QueryParam("customreg") String customRegistry,
+ @QueryParam("customont") String customOntology,
+ @DefaultValue("false") @QueryParam("activate") String activate,
+ @Context UriInfo uriInfo, @Context HttpHeaders headers,
+ @Context ServletContext servletContext) {
+
+ ScopeRegistry reg = onm.getScopeRegistry();
+ OntologyScopeFactory f = onm.getOntologyScopeFactory();
+
+ System.out.println("GOT PUT");
+
+ OntologyScope scope;
+ OntologyInputSource coreSrc = null, custSrc = null;
+
+ // First thing, check the core source.
+ try {
+ coreSrc = new OntologyRegistryIRISource(IRI.create(coreRegistry),
+ onm.getOwlCacheManager(), onm.getRegistryLoader());
+ } catch (Exception e1) {
+ // Bad or not supplied core registry, try the ontology.
+ try {
+ coreSrc = new RootOntologyIRISource(IRI.create(coreOntology));
+ } catch (Exception e2) {
+ // If this fails too, throw a bad request.
+ // System.out.println("1.1");
+ e2.printStackTrace();
+ throw new WebApplicationException(e2, BAD_REQUEST);
+ }
+ }
+
+ // Don't bother if no custom was supplied at all...
+ if (customOntology != null || customRegistry != null) {
+ // ...but if it was, be prepared to throw exceptions.
+ try {
+ custSrc = new OntologyRegistryIRISource(IRI
+ .create(customRegistry), onm.getOwlCacheManager(), onm
+ .getRegistryLoader());
+ } catch (Exception e1) {
+ // Bad or not supplied custom registry, try the ontology.
+ try {
+ custSrc = new RootOntologyIRISource(IRI
+ .create(customOntology));
+ } catch (Exception e2) {
+ // If this fails too, throw a bad request.
+ // System.out.println("1.2");
+ e2.printStackTrace();
+ throw new WebApplicationException(e2, BAD_REQUEST);
+ }
+ }
+ }
+ // If we weren't able to build core source, throw bad request.
+ if (coreSrc == null) {
+ // System.out.println("1.3");
+ throw new WebApplicationException(BAD_REQUEST);
+ }
+
+ // Now the creation.
+ try {
+ IRI scopeId = IRI.create(uriInfo.getAbsolutePath());
+ // Invoke the appropriate factory method depending on the
+ // availability of a custom source.
+ scope = (custSrc != null) ? f.createOntologyScope(scopeId, coreSrc,
+ custSrc) : f.createOntologyScope(scopeId, coreSrc);
+ // Setup and register the scope. If no custom space was set, it will
+ // still be open for modification.
+ scope.setUp();
+ reg.registerScope(scope);
+ boolean activateBool = true;
+ if (activate != null && !activate.equals("")) {
+ activateBool = Boolean.valueOf(activate);
+ }
+ reg.setScopeActive(scopeId, activateBool);
+ } catch (DuplicateIDException e) {
+ throw new WebApplicationException(e, CONFLICT);
+ }
+
+ return Response.ok().build();
+ }
+
+}
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionIDResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionIDResource.java?rev=1087671&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionIDResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionIDResource.java Fri Apr 1 12:08:25 2011
@@ -0,0 +1,59 @@
+package org.apache.stanbol.ontologymanager.web.resources;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import javax.ws.rs.core.Response.Status;
+
+import org.apache.stanbol.kres.jersey.resource.NavigationMixin;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.session.Session;
+import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionManager;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl;
+import org.apache.stanbol.ontologymanager.ontonet.impl.renderers.SessionRenderer;
+import org.semanticweb.owlapi.model.IRI;
+
+@Path("/session/{id:.+}")
+public class SessionIDResource extends NavigationMixin {
+
+ /*
+ * Placeholder for the ONManager to be fetched from the servlet context.
+ */
+ protected ONManager onm;
+
+ protected ServletContext servletContext;
+
+ public SessionIDResource(@Context ServletContext servletContext) {
+ this.servletContext = servletContext;
+ onm = (ONManager) this.servletContext
+ .getAttribute(ONManager.class.getName());
+ if (onm == null) {
+ System.err
+ .println("[KReS] :: No KReS Ontology Network Manager provided by Servlet Context. Instantiating now...");
+ onm = new ONManagerImpl();
+ }
+ }
+
+ @GET
+ @Produces("application/rdf+xml")
+ public Response getSessionMetadataOntology(
+ @PathParam("id") String sessionId, @Context UriInfo uriInfo,
+ @Context HttpHeaders headers) {
+
+ Session ses = null;
+ SessionManager mgr = onm.getSessionManager();
+ ses = mgr.getSession(IRI.create(sessionId));
+ if (ses == null)
+ return Response.status(Status.NO_CONTENT).build();
+
+ return Response.ok(SessionRenderer.getSessionMetadataRDF(ses)).build();
+
+ }
+
+}