You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by co...@apache.org on 2011/03/20 17:25:48 UTC

svn commit: r1083487 [1/8] - in /incubator/stanbol/trunk/kres/ontologymanager/web: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/stanbol/ src/main/java/org/apache/stanbol/ontologymanager/ src/mai...

Author: concelvio
Date: Sun Mar 20 16:25:45 2011
New Revision: 1083487

URL: http://svn.apache.org/viewvc?rev=1083487&view=rev
Log:
STANBOL-39:
1) Created the module rules/web and adding required pom.xml and src directory
2) Moved classes ONMOntResource.java, ONRootResource.java, ONMScopeOntologyResource.java, ONMScopeResource.java from eu.iksproject.kres.jersey to org.apache.stanbol.ontologymanager.web (module ontologymanager/web)
3) Added JerseyEndpoint.java, JerseyEndpointApplication.java and JettyServer.java

Added:
    incubator/stanbol/trunk/kres/ontologymanager/web/   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/pom.xml
    incubator/stanbol/trunk/kres/ontologymanager/web/src/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMOntResource.java
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMRootResource.java
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeOntologyResource.java
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeResource.java
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/add.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/addRule.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/ajax-loader.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/anonymous_48.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/black_gear_128.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/black_gear_16.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/caos_puzzle.jpg   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/compass_48.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/compass_map_48.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/configure.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/delete.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/download.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/download_rdf.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/external.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon-black.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon-sw.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_cropped.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_white.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_white_small.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/foldable_folded.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/foldable_unfolded.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/header_bg.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/iks_project_logo.jpg   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/kresLogo.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/kresLogoExtended.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/loading.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/next.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/organization_48.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/previous.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf_flyer.64.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf_flyer_16.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf_flyer_24.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rules.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/stlabLogo.jpg   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/stlabLogo.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/sw-cube.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/user_48.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/user_group_48.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/wikipedia_w_16.png   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/jit-yc.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/jit.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/jquery-1.4.2.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/jquery.rdfquery.core-1.0.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/json2.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/jsonToTurtle.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/kres.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/prettify/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/prettify/kres.css
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/prettify/prettify.css
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/prettify/prettify.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/scout.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/scripts/tinybox.js
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/fise.css
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/images/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/images/date-bottom.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/images/date-top.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/images/footer.jpg   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/images/frontphoto.jpg   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/images/header.jpg   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/images/wrapbg.gif   (with props)
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/kres.css
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/style/kress.css
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/ajax/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/ajax/contentitem.ftl
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/imports/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/imports/common.ftl
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/imports/contentitem.ftl
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/imports/entities.ftl
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/imports/kres.ftl
    incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/templates/imports/sparql.ftl
    incubator/stanbol/trunk/kres/ontologymanager/web/src/test/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/test/java/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/test/java/org/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/test/java/org/apache/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/test/java/org/apache/stanbol/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/test/java/org/apache/stanbol/ontologymanager/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/test/java/org/apache/stanbol/ontologymanager/web/
    incubator/stanbol/trunk/kres/ontologymanager/web/src/test/java/org/apache/stanbol/ontologymanager/web/JettyServerTest.java

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Mar 20 16:25:45 2011
@@ -0,0 +1 @@
+target

Added: incubator/stanbol/trunk/kres/ontologymanager/web/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/pom.xml?rev=1083487&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/web/pom.xml (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/web/pom.xml Sun Mar 20 16:25:45 2011
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>0.9-SNAPSHOT</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>
+	<description>Set of rest services to deal with ontology manager</description>
+
+	<properties>
+		<kres-version>0.7</kres-version>
+	</properties>
+
+	<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>
+			<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>
+
+		<!-- for tests -->
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-simple</artifactId>
+			<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>
+
+
+		<!-- KReS -->
+		<!--
+			<dependency> <groupId>eu.iksproject</groupId>
+			<artifactId>eu.iksproject.kres.api</artifactId>
+			<version>${kres-version}</version> <scope>provided</scope>
+			</dependency>
+		-->
+		<dependency>
+			<groupId>org.apache.stanbol</groupId>
+			<artifactId>org.apache.stanbol.ontologymanager.ontonet</artifactId>
+			<version>${stanbol-version}</version>
+		</dependency>
+		<!--<dependency>
+			<groupId>org.apache.stanbol</groupId>
+			<artifactId>org.apache.stanbol.ontologymanager.store</artifactId>
+			<version>${stanbol-version}</version>
+		</dependency>-->
+		<dependency>
+			<groupId>org.apache.stanbol</groupId>
+			<artifactId>org.apache.stanbol.reasoners.base</artifactId>
+			<version>${stanbol-version}</version>
+		</dependency>
+                <dependency>
+			<groupId>org.apache.stanbol</groupId>
+			<artifactId>org.apache.stanbol.rules.base</artifactId>
+			<version>${stanbol-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.stanbol</groupId>
+			<artifactId>org.apache.stanbol.reengineer.base</artifactId>
+			<version>${stanbol-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.stanbol</groupId>
+			<artifactId>org.apache.stanbol.rules.manager</artifactId>
+			<version>${stanbol-version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.stanbol</groupId>
+			<artifactId>org.apache.stanbol.rules.refactor</artifactId>
+			<version>${stanbol-version}</version>
+		</dependency>
+                <dependency>
+			<groupId>org.apache.stanbol</groupId>
+			<artifactId>org.apache.stanbol.kres.jersey</artifactId>
+			<version>${stanbol-version}</version>
+			<scope>provided</scope>
+		</dependency>
+
+		<!--
+			<dependency> <groupId>eu.iksproject</groupId>
+			<artifactId>eu.iksproject.kres.manager</artifactId>
+			<version>${kres-version}</version> <scope>provided</scope>
+			</dependency> <dependency> <groupId>eu.iksproject</groupId>
+			<artifactId>eu.iksproject.kres.rules</artifactId>
+			<version>${kres-version}</version> <scope>provided</scope>
+			</dependency> <dependency> <groupId>eu.iksproject</groupId>
+			<artifactId>eu.iksproject.kres.semion.manager</artifactId>
+			<version>${kres-version}</version> <scope>provided</scope>
+			</dependency> <dependency> <groupId>eu.iksproject</groupId>
+			<artifactId>eu.iksproject.kres.semion.refactorer</artifactId>
+			<version>${kres-version}</version> <scope>provided</scope>
+			</dependency>
+		-->
+		<dependency>
+			<groupId>eu.iksproject</groupId>
+			<artifactId>eu.iksproject.kres.shared.dependency.owlapi</artifactId>
+			<version>${kres-version}</version>
+			<scope>provided</scope>
+		</dependency>
+                
+		<!--
+			<dependency> <groupId>eu.iksproject</groupId>
+			<artifactId>eu.iksproject.kres.reasoners</artifactId>
+			<version>${kres-version}</version> <scope>provided</scope>
+			</dependency> <dependency> <groupId>eu.iksproject</groupId>
+			<artifactId>eu.iksproject.kres.storage.provider</artifactId>
+			<version>${kres-version}</version> <scope>provided</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>
\ No newline at end of file

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java?rev=1083487&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java Sun Mar 20 16:25:45 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.KReSONManager;
+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.KReSViewProcessor;
+
+/**
+ * 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
+    KReSONManager 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(KReSONManager.class.getName(), onm);
+
+        servletContext.setAttribute(STATIC_RESOURCES_URL_ROOT_PROPERTY,
+                staticUrlRoot);
+        servletContext.setAttribute(
+                KReSViewProcessor.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/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java?rev=1083487&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java Sun Mar 20 16:25:45 2011
@@ -0,0 +1,52 @@
+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.KReSViewProcessor;
+import org.apache.stanbol.kres.jersey.writers.GraphWriter;
+import org.apache.stanbol.kres.jersey.writers.OWLOntologyWriter;
+import org.apache.stanbol.kres.jersey.writers.ResultSetWriter;
+
+/**
+ * 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(ONMRootResource.class);
+        classes.add(ONMScopeResource.class);
+        classes.add(ONMScopeOntologyResource.class);
+        classes.add(ONMOntResource.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 KReSViewProcessor());
+        return singletons;
+    }
+
+}

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java?rev=1083487&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java Sun Mar 20 16:25:45 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

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMOntResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMOntResource.java?rev=1083487&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMOntResource.java (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMOntResource.java Sun Mar 20 16:25:45 2011
@@ -0,0 +1,123 @@
+package org.apache.stanbol.ontologymanager.web;
+
+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.KReSONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyIndex;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
+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 KReSONManager to be fetched from the servlet context.
+     */
+    protected KReSONManager onm;
+    protected OntologyStorage storage;
+
+    protected ServletContext servletContext;
+
+    protected Serializer serializer;
+
+    public ONMOntResource(@Context ServletContext servletContext) {
+        this.servletContext = servletContext;
+        this.onm = (KReSONManager) servletContext.getAttribute(KReSONManager.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 ONManager(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 OntologyStorage(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/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMRootResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMRootResource.java?rev=1083487&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMRootResource.java (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMRootResource.java Sun Mar 20 16:25:45 2011
@@ -0,0 +1,182 @@
+package org.apache.stanbol.ontologymanager.web;
+
+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.KReSONManager;
+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.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
+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.KReSFormat;
+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 KReSONManager to be fetched from the servlet context.
+     */
+    protected KReSONManager onm;
+    protected OntologyStorage storage;
+
+    protected ServletContext servletContext;
+
+    public ONMRootResource(@Context ServletContext servletContext) {
+        this.servletContext = servletContext;
+        this.onm = (KReSONManager) servletContext.getAttribute(KReSONManager.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 ONManager(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 OntologyStorage(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 = {KReSFormat.RDF_XML, KReSFormat.OWL_XML, KReSFormat.TURTLE, KReSFormat.FUNCTIONAL_OWL,
+                       KReSFormat.MANCHESTER_OWL, KReSFormat.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/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeOntologyResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeOntologyResource.java?rev=1083487&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeOntologyResource.java (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeOntologyResource.java Sun Mar 20 16:25:45 2011
@@ -0,0 +1,215 @@
+package org.apache.stanbol.ontologymanager.web;
+
+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.KReSONManager;
+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.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
+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.KReSFormat;
+import org.apache.stanbol.kres.jersey.resource.NavigationMixin;
+import org.apache.stanbol.kres.jersey.util.OntologyRenderUtils;
+
+/**
+ * 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 KReSONManager to be fetched from the servlet context.
+     */
+    protected KReSONManager onm;
+    protected OntologyStorage storage;
+
+    protected ServletContext servletContext;
+
+    public ONMScopeOntologyResource(@Context ServletContext servletContext) {
+        this.servletContext = servletContext;
+        this.onm = (KReSONManager) servletContext.getAttribute(KReSONManager.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 ONManager(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 OntologyStorage(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 = {KReSFormat.RDF_XML, KReSFormat.OWL_XML, KReSFormat.TURTLE, KReSFormat.FUNCTIONAL_OWL,
+                       KReSFormat.MANCHESTER_OWL, KReSFormat.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/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeResource.java?rev=1083487&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeResource.java (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/ONMScopeResource.java Sun Mar 20 16:25:45 2011
@@ -0,0 +1,276 @@
+package org.apache.stanbol.ontologymanager.web;
+
+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.KReSONManager;
+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.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.impl.io.OntologyRegistryIRISource;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
+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.KReSFormat;
+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 KReSONManager to be fetched from the servlet context.
+	 */
+	protected KReSONManager onm;
+	protected OntologyStorage storage;
+
+	protected ServletContext servletContext;
+
+	public ONMScopeResource(@Context ServletContext servletContext) {
+		this.servletContext = servletContext;
+		this.onm = (KReSONManager) servletContext
+				.getAttribute(KReSONManager.class.getName());
+		this.storage = (OntologyStorage) servletContext
+				.getAttribute(OntologyStorage.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 ONManager(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 OntologyStorage(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 = { KReSFormat.RDF_XML, KReSFormat.OWL_XML,
+			KReSFormat.TURTLE, KReSFormat.FUNCTIONAL_OWL,
+			KReSFormat.MANCHESTER_OWL, KReSFormat.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/kres/ontologymanager/web/src/main/resources/META-INF/static/images/add.gif
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/add.gif?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/add.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/addRule.gif
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/addRule.gif?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/addRule.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/ajax-loader.gif
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/ajax-loader.gif?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/ajax-loader.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/anonymous_48.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/anonymous_48.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/anonymous_48.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/black_gear_128.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/black_gear_128.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/black_gear_128.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/black_gear_16.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/black_gear_16.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/black_gear_16.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/caos_puzzle.jpg
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/caos_puzzle.jpg?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/caos_puzzle.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/compass_48.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/compass_48.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/compass_48.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/compass_map_48.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/compass_map_48.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/compass_map_48.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/configure.gif
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/configure.gif?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/configure.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/delete.gif
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/delete.gif?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/delete.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/download.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/download.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/download.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/download_rdf.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/download_rdf.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/download_rdf.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/external.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/external.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/external.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon-black.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon-black.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon-black.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon-sw.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon-sw.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon-sw.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/favicon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_cropped.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_cropped.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_cropped.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_white.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_white.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_white.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_white_small.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_white_small.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/fise_logo_white_small.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/foldable_folded.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/foldable_folded.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/foldable_folded.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/foldable_unfolded.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/foldable_unfolded.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/foldable_unfolded.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/header_bg.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/header_bg.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/header_bg.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/iks_project_logo.jpg
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/iks_project_logo.jpg?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/iks_project_logo.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/kresLogo.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/kresLogo.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/kresLogo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/kresLogoExtended.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/kresLogoExtended.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/kresLogoExtended.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/loading.gif
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/loading.gif?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/loading.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/next.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/next.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/next.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/organization_48.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/organization_48.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/organization_48.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/previous.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/previous.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/previous.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf_flyer.64.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf_flyer.64.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf_flyer.64.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf_flyer_16.png
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/web/src/main/resources/META-INF/static/images/rdf_flyer_16.png?rev=1083487&view=auto
==============================================================================
Binary file - no diff available.