You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by al...@apache.org on 2011/04/07 01:19:20 UTC

svn commit: r1089668 [2/19] - in /incubator/stanbol/trunk: ./ commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/ commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/format/ commons/web/base/src/main/java/org/apache/stanb...

Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/DocumentationResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/DocumentationResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/DocumentationResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/DocumentationResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,33 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+import javax.ws.rs.Path;
+import javax.ws.rs.core.MediaType;
+
+import com.sun.jersey.api.view.ImplicitProduces;
+
+@Path("/documentation")
+@ImplicitProduces(MediaType.TEXT_HTML + ";qs=2")
+public class DocumentationResource extends NavigationMixin {
+
+	private final String JAVADOC = "http://stlab.istc.cnr.it/documents/iks/kres/";
+	private final String ALPHA_RELEASE_DOCUMENTATION = "http://stlab.istc.cnr.it/documents/iks/IKS-D5.2-1.0-final.pdf";
+	private final String REQUIREMENTS_RELEASE_DOCUMENTATION = "http://www.interactive-knowledge.org/sites/www.interactive-knowledge.org/files/IKS_D3.2-1.1.1.pdf";
+	private final String ALPHA_RELEASE_CODE = "http://iks-project.googlecode.com/svn/sandbox/kres/trunk";
+	
+	
+	public String getJavadoc(){
+		return JAVADOC;
+	}
+	
+	public String getAlphaReleaseDocumentation(){
+		return ALPHA_RELEASE_DOCUMENTATION;
+	}
+	
+	public String getRequirementsReleaseDocumentation(){
+		return REQUIREMENTS_RELEASE_DOCUMENTATION;
+	}
+	
+	public String getAlphaReleaseCode(){
+		return ALPHA_RELEASE_CODE;
+	}
+}

Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/GraphsResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/GraphsResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/GraphsResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/GraphsResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,145 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+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.commons.web.base.format.KRFormat;
+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/resource/NavigationMixin.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/NavigationMixin.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/NavigationMixin.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/NavigationMixin.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,70 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.UriInfo;
+
+public class NavigationMixin {
+
+    @Context
+    protected UriInfo uriInfo;
+
+    public URI getPublicBaseUri() {
+        return uriInfo.getBaseUri();
+    }
+
+    public List<MenuItem> getMainMenuItems() {
+        return Arrays.asList(new MenuItem("Home", "/kres", "homeMenu", uriInfo, null),
+        		new MenuItem("Usage", "javascript:expandMenu('usageMenu')", "usageMenu", uriInfo, 
+        				Arrays.asList(new MenuItem("Documentation", "/ontomgr/documentation", "documentationMenu", uriInfo, null),
+        							  new MenuItem("RESTful services", "/ontomgr/documentation/restful", "restfulMenu", uriInfo, null))));
+        
+        
+    }
+
+    public static class MenuItem {
+
+        public MenuItem(String label, String link, String id, UriInfo uriInfo, List<MenuItem> subMenu) {
+            this.label = label;
+            this.link = link;
+            this.id = id;
+            this.subMenu = subMenu;
+            cssClass = uriInfo.getPath().startsWith(link.substring(1)) ? "current" : "unselected";
+        }
+
+        protected final String label;
+        
+        protected final String id;
+
+        protected final  String link;
+        
+        protected final  List<MenuItem> subMenu;
+
+        protected final  String cssClass;
+
+        public String getLabel() {
+            return label;
+        }
+
+        public String getLink() {
+            return link;
+        }
+
+        public String getCssClass() {
+            return cssClass;
+        }
+        
+        public String getId() {
+			return id;
+		}
+        
+        public List<MenuItem> getSubMenu() {
+			return subMenu;
+		}
+
+    }
+
+}

Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMOntResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMOntResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMOntResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMOntResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,122 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+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.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/resource/ONMRootResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMRootResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMRootResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMRootResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,181 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+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.commons.web.base.format.KRFormat;
+
+/**
+ * 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/resource/ONMScopeOntologyResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMScopeOntologyResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMScopeOntologyResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMScopeOntologyResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,214 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+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.commons.web.base.format.KRFormat;
+
+/**
+ * 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/resource/ONMScopeResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMScopeResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMScopeResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/ONMScopeResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,275 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+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.commons.web.base.format.KRFormat;
+
+@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/resource/RESTfulResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/RESTfulResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/RESTfulResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/RESTfulResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,13 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+import javax.ws.rs.Path;
+import javax.ws.rs.core.MediaType;
+
+import com.sun.jersey.api.view.ImplicitProduces;
+
+@Path("/documentation/restful")
+@ImplicitProduces(MediaType.TEXT_HTML + ";qs=2")
+public class RESTfulResource extends NavigationMixin {
+
+}
+

Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/RootResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/RootResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/RootResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/RootResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,18 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+import javax.ws.rs.Path;
+
+import com.sun.jersey.api.view.ImplicitProduces;
+
+
+/**
+ * 
+ * @author andrea.nuzzolese
+ *
+ */
+
+@Path("/")
+@ImplicitProduces("text/html")
+public class RootResource extends NavigationMixin {
+
+}

Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,58 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+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.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();
+
+	}
+
+}

Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,206 @@
+package org.apache.stanbol.ontologymanager.web.resource;
+
+import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
+import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+
+import java.io.InputStream;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.FormParam;
+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.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.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.ontonet.api.io.RootOntologyIRISource;
+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.OntologySpaceFactory;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologySpaceModificationException;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.ScopeRegistry;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SessionOntologySpace;
+import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
+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;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+
+import org.apache.stanbol.commons.web.base.format.KRFormat;
+
+@Path("/session")
+public class SessionResource extends NavigationMixin {
+
+    /*
+     * Placeholder for the ONManager to be fetched from the servlet context.
+     */
+    protected ONManager onm;
+
+    protected ServletContext servletContext;
+
+    public SessionResource(@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();
+        }
+    }
+
+    @PUT
+    @Consumes(MediaType.MULTIPART_FORM_DATA)
+    public Response addOntology(@QueryParam("scope") String scope,
+                                @QueryParam("import") InputStream importOntology,
+                                @QueryParam("session") String session,
+                                @Context UriInfo uriInfo,
+                                @Context HttpHeaders headers,
+                                @Context ServletContext servletContext) {
+
+        IRI scopeIRI = IRI.create(scope);
+        IRI sessionIRI = IRI.create(session);
+
+        OWLOntology ontology;
+        try {
+            ontology = onm.getOwlCacheManager().loadOntologyFromOntologyDocument(importOntology);
+
+            ScopeRegistry scopeRegistry = onm.getScopeRegistry();
+
+            OntologyScope ontologyScope = scopeRegistry.getScope(scopeIRI);
+            SessionOntologySpace sos = ontologyScope.getSessionSpace(sessionIRI);
+            try {
+                sos.addOntology(new RootOntologySource(ontology));
+                return Response.ok().build();
+            } catch (UnmodifiableOntologySpaceException e) {
+                return Response.status(INTERNAL_SERVER_ERROR).build();
+            }
+        } catch (OWLOntologyCreationException e1) {
+            return Response.status(NOT_FOUND).build();
+        }
+
+    }
+
+    @PUT
+    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
+    public Response addOntology(@QueryParam("scope") String scope,
+                                @QueryParam("session") String session,
+                                @QueryParam("location") String location,
+                                @Context UriInfo uriInfo,
+                                @Context HttpHeaders headers,
+                                @Context ServletContext servletContext) {
+
+        IRI scopeIRI = IRI.create(scope);
+        IRI sessionIRI = IRI.create(session);
+        IRI ontologyIRI = IRI.create(location);
+        ScopeRegistry scopeRegistry = onm.getScopeRegistry();
+
+        OntologyScope ontologyScope = scopeRegistry.getScope(scopeIRI);
+        SessionOntologySpace sos = ontologyScope.getSessionSpace(sessionIRI);
+        try {
+            sos.addOntology(new RootOntologyIRISource(ontologyIRI));
+            return Response.ok().build();
+        } catch (UnmodifiableOntologySpaceException e) {
+            return Response.status(INTERNAL_SERVER_ERROR).build();
+        } catch (OWLOntologyCreationException e) {
+            return Response.status(INTERNAL_SERVER_ERROR).build();
+        }
+
+    }
+
+    @POST
+    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
+    @Produces(value = {KRFormat.RDF_XML, KRFormat.OWL_XML, KRFormat.TURTLE, KRFormat.FUNCTIONAL_OWL,
+                       KRFormat.MANCHESTER_OWL, KRFormat.RDF_JSON})
+    public Response createSession(@FormParam("scope") String scope,
+                                  @Context UriInfo uriInfo,
+                                  @Context HttpHeaders headers) {
+
+        Session ses = null;
+        SessionManager mgr = onm.getSessionManager();
+
+        /*
+         * Create the KReS session to associate to the scope.
+         */
+        ses = mgr.createSession();
+
+        /*
+         * First get the scope registry.
+         */
+        ScopeRegistry scopeRegistry = onm.getScopeRegistry();
+
+        /*
+         * Then retrieve the ontology scope.
+         */
+        IRI scopeIRI = IRI.create(scope);
+        OntologyScope ontologyScope = scopeRegistry.getScope(scopeIRI);
+
+        /*
+         * Finally associate the KReS session to the scope.
+         */
+        OntologySpaceFactory ontologySpaceFactory = onm.getOntologySpaceFactory();
+        SessionOntologySpace sessionOntologySpace = ontologySpaceFactory.createSessionOntologySpace(scopeIRI);
+        ontologyScope.addSessionSpace(sessionOntologySpace, ses.getID());
+
+        return Response.ok(SessionRenderer.getSessionMetadataRDF(ses)).build();
+
+    }
+
+    /**
+     * FIXME what are these path params anyway?
+     * 
+     * @param scope
+     * @param session
+     * @param deleteOntology
+     * @param uriInfo
+     * @param headers
+     * @return
+     */
+    @DELETE
+    public Response deleteSession(@PathParam("scope") String scope,
+                                  @PathParam("session") String session,
+                                  @PathParam("delete") String deleteOntology,
+                                  @Context UriInfo uriInfo,
+                                  @Context HttpHeaders headers) {
+
+        IRI scopeID = IRI.create(scope);
+        IRI sessionID = IRI.create(session);
+
+        if (deleteOntology != null) {
+            IRI ontologyIRI = IRI.create(deleteOntology);
+
+            ScopeRegistry scopeRegistry = onm.getScopeRegistry();
+
+            OntologyScope ontologyScope = scopeRegistry.getScope(scopeID);
+            SessionOntologySpace sos = ontologyScope.getSessionSpace(sessionID);
+
+            try {
+                /*
+                 * TODO : previous implementation reloaded the whole ontology before deleting it, thus
+                 * treating this as a physical IRI. See if it still works this way
+                 */
+                OWLOntology o = sos.getOntology(ontologyIRI);
+                if (o != null) sos.removeOntology(new RootOntologySource(o));
+                return Response.ok().build();
+            } catch (OntologySpaceModificationException e) {
+                return Response.status(INTERNAL_SERVER_ERROR).build();
+            }
+        } else {
+            onm.getSessionManager().destroySession(sessionID);
+            return Response.ok().build();
+        }
+
+    }
+
+}

Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyRenderUtils.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyRenderUtils.java?rev=1089668&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyRenderUtils.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyRenderUtils.java Wed Apr  6 23:19:09 2011
@@ -0,0 +1,183 @@
+package org.apache.stanbol.ontologymanager.web.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.coode.owlapi.manchesterowlsyntax.ManchesterOWLSyntaxOntologyFormat;
+import org.coode.owlapi.turtle.TurtleOntologyFormat;
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.io.OWLFunctionalSyntaxOntologyFormat;
+import org.semanticweb.owlapi.io.OWLXMLOntologyFormat;
+import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;
+import org.semanticweb.owlapi.io.StringDocumentTarget;
+import org.semanticweb.owlapi.model.AddAxiom;
+import org.semanticweb.owlapi.model.AddImport;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLAxiom;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.OWLImportsDeclaration;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyChange;
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.semanticweb.owlapi.model.OWLOntologyFormat;
+import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.semanticweb.owlapi.model.OWLOntologyStorageException;
+
+import org.apache.stanbol.commons.web.base.format.KRFormat;
+
+/**
+ * Contains hacks to regular ontology renderers with replacements for input statements.
+ * 
+ * @author alessandro
+ *
+ */
+public class OntologyRenderUtils {
+
+	/**
+	 * TODO : make a writer for this.
+	 * 
+	 * @param ont
+	 * @param format
+	 * @return
+	 * @throws OWLOntologyStorageException
+	 */
+	public static String renderOntology(OWLOntology ont,
+			OWLOntologyFormat format, String rewritePrefix, ONManager onm)
+			throws OWLOntologyStorageException {
+		OWLOntologyManager tmpmgr = OWLManager.createOWLOntologyManager();
+		OWLDataFactory df = tmpmgr.getOWLDataFactory();
+
+		// Now the hack
+		OWLOntology o2 = null;
+		OWLOntology copy = null;
+		OWLOntologyManager origMgr = ont.getOWLOntologyManager();
+		try {
+			List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>();
+			copy = tmpmgr.createOntology(ont.getOntologyID());
+			for (OWLAxiom ax : ont.getAxioms()) {
+				changes.add(new AddAxiom(copy, ax));
+			}
+			for (OWLImportsDeclaration imp : ont.getImportsDeclarations()) {
+				OWLOntology oi = origMgr.getImportedOntology(imp);
+				if (oi == null)
+					oi = onm.getOwlCacheManager().getImportedOntology(imp);
+				String impiri = "";
+				if (rewritePrefix != null)
+					impiri += rewritePrefix + "/";
+				if (oi == null)
+					// Proprio non riesci a ottenerla questa ontologia? Rinuncia
+					continue;
+				if (oi.isAnonymous())
+					impiri = imp.getIRI().toString();
+				else
+					impiri += oi.getOntologyID().getOntologyIRI();
+				OWLImportsDeclaration im = df.getOWLImportsDeclaration(IRI
+						.create(impiri));
+				changes.add(new AddImport(copy, im));
+			}
+			tmpmgr.applyChanges(changes);
+		} catch (OWLOntologyCreationException e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		}
+
+		if (copy != null)
+			o2 = copy;
+		else
+			o2 = ont;
+
+		StringDocumentTarget tgt = new StringDocumentTarget();
+		tmpmgr.saveOntology(o2, format, tgt);
+		return tgt.toString();
+	}
+
+	public static String renderOntology(OWLOntology ont, String format,
+			String rewritePrefix, ONManager onm)
+			throws OWLOntologyStorageException {
+		OWLOntologyManager tmpmgr = OWLManager.createOWLOntologyManager();
+		OWLDataFactory df = tmpmgr.getOWLDataFactory();
+		StringDocumentTarget tgt = new StringDocumentTarget();
+
+		// Now the hack
+		OWLOntology o2 = null;
+		OWLOntology copy = null;
+		OWLOntologyManager origMgr = ont.getOWLOntologyManager();
+		try {
+			List<OWLOntologyChange> changes = new ArrayList<OWLOntologyChange>();
+			copy = tmpmgr.createOntology(ont.getOntologyID());
+			for (OWLAxiom ax : ont.getAxioms()) {
+				changes.add(new AddAxiom(copy, ax));
+			}
+			for (OWLImportsDeclaration imp : ont.getImportsDeclarations()) {
+				OWLOntology oi = origMgr.getImportedOntology(imp);
+				if (oi == null)
+					oi = onm.getOwlCacheManager().getImportedOntology(imp);
+				String impiri = "";
+				if (rewritePrefix != null)
+					impiri += rewritePrefix + "/";
+				if (oi == null)
+					// Proprio non riesci a ottenerla questa ontologia? Rinuncia
+					continue;
+				if (oi.isAnonymous())
+					impiri = imp.getIRI().toString();
+				else
+					impiri += oi.getOntologyID().getOntologyIRI();
+				OWLImportsDeclaration im = df.getOWLImportsDeclaration(IRI
+						.create(impiri));
+				changes.add(new AddImport(copy, im));
+			}
+			tmpmgr.applyChanges(changes);
+		} catch (OWLOntologyCreationException e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		}
+
+		if (copy != null)
+			o2 = copy;
+		else
+			o2 = ont;
+
+		if (format.equals(KRFormat.RDF_XML)) {
+			try {
+				tmpmgr.saveOntology(o2, new RDFXMLOntologyFormat(), tgt);
+			} catch (OWLOntologyStorageException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		} else if (format.equals(KRFormat.OWL_XML)) {
+			try {
+				tmpmgr.saveOntology(o2, new OWLXMLOntologyFormat(), tgt);
+			} catch (OWLOntologyStorageException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		} else if (format.equals(KRFormat.MANCHESTER_OWL)) {
+			try {
+				tmpmgr.saveOntology(o2,
+						new ManchesterOWLSyntaxOntologyFormat(), tgt);
+			} catch (OWLOntologyStorageException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		} else if (format.equals(KRFormat.FUNCTIONAL_OWL)) {
+			try {
+				tmpmgr.saveOntology(o2,
+						new OWLFunctionalSyntaxOntologyFormat(), tgt);
+			} catch (OWLOntologyStorageException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		} else if (format.equals(KRFormat.TURTLE)) {
+			try {
+				tmpmgr.saveOntology(o2, new TurtleOntologyFormat(), tgt);
+			} catch (OWLOntologyStorageException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+
+		return tgt.toString();
+	}
+
+}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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