Author: alexdma
Date: Fri Mar  2 16:14:47 2012
New Revision: 1296275

URL: http://svn.apache.org/viewvc?rev=1296275&view=rev
Log:
General cleanup of ontologymaanger.web, including additions of CORS origin and 
removal of obsolete resources (STANBOL-105)

Added:
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionManagerResource.java
      - copied, changed from r1296194, 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionsResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java
      - copied, changed from r1296194, 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionByIdResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/SessionManagerResource/
      - copied from r1296194, 
incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/SessionsResource/
Removed:
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/DocumentationResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionByIdResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionsResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredGraphsResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/SessionsResource/
Modified:
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/RegistryManagerResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeOntologyResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeResource.java
    
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java

Modified: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java?rev=1296275&r1=1296274&r2=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java
 Fri Mar  2 16:14:47 2012
@@ -36,14 +36,13 @@ import org.apache.stanbol.ontologymanage
 import 
org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyProvider;
 import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionManager;
 import org.apache.stanbol.ontologymanager.registry.api.RegistryManager;
-import org.apache.stanbol.ontologymanager.web.resources.DocumentationResource;
 import org.apache.stanbol.ontologymanager.web.resources.OntoNetRootResource;
 import 
org.apache.stanbol.ontologymanager.web.resources.OntologyNetworkResource;
 import 
org.apache.stanbol.ontologymanager.web.resources.RegistryManagerResource;
 import org.apache.stanbol.ontologymanager.web.resources.ScopeOntologyResource;
 import org.apache.stanbol.ontologymanager.web.resources.ScopeResource;
-import org.apache.stanbol.ontologymanager.web.resources.SessionByIdResource;
-import org.apache.stanbol.ontologymanager.web.resources.SessionsResource;
+import org.apache.stanbol.ontologymanager.web.resources.SessionResource;
+import org.apache.stanbol.ontologymanager.web.resources.SessionManagerResource;
 import org.apache.stanbol.ontologymanager.web.resources.StoredOntologyResource;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.component.ComponentContext;
@@ -98,7 +97,6 @@ public class OntonetFragment implements 
         Set<Class<?>> classes = new HashSet<Class<?>>();
         // Temporary resources
         classes.add(OntoNetRootResource.class);
-        classes.add(DocumentationResource.class);
 
         // classes.add(RESTfulResource.class);
         // classes.add(StoredGraphsResource.class);
@@ -108,8 +106,8 @@ public class OntonetFragment implements 
         classes.add(ScopeOntologyResource.class);
         classes.add(StoredOntologyResource.class);
 
-        classes.add(SessionsResource.class);
-        classes.add(SessionByIdResource.class);
+        classes.add(SessionManagerResource.class);
+        classes.add(SessionResource.class);
 
         classes.add(RegistryManagerResource.class);
 

Modified: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java?rev=1296275&r1=1296274&r2=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java
 Fri Mar  2 16:14:47 2012
@@ -1,30 +1,33 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.stanbol.ontologymanager.web.resources;
 
 import static javax.ws.rs.core.MediaType.TEXT_HTML;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
 
 import javax.servlet.ServletContext;
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 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.Response.ResponseBuilder;
 
 import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
 
@@ -47,7 +50,10 @@ public class OntoNetRootResource extends
 
     @GET
     @Produces(TEXT_HTML)
-    public Response get() {
-        return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+    public Response getHtmlInfo(@Context HttpHeaders headers) {
+        ResponseBuilder rb = Response.ok(new Viewable("index", this));
+        rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 }

Modified: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource.java?rev=1296275&r1=1296274&r2=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource.java
 Fri Mar  2 16:14:47 2012
@@ -17,6 +17,8 @@
 package org.apache.stanbol.ontologymanager.web.resources;
 
 import static javax.ws.rs.core.MediaType.TEXT_HTML;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
+import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
 
 import java.util.Set;
 
@@ -24,17 +26,21 @@ import javax.servlet.ServletContext;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.DefaultValue;
 import javax.ws.rs.GET;
+import javax.ws.rs.OPTIONS;
 import javax.ws.rs.Path;
 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.Response.ResponseBuilder;
 
 import org.apache.clerezza.rdf.core.access.TcManager;
 import org.apache.stanbol.commons.web.base.ContextHelper;
 import org.apache.stanbol.commons.web.base.format.KRFormat;
 import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
+import org.apache.stanbol.commons.web.base.utils.MediaTypeUtil;
 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;
@@ -66,8 +72,6 @@ public class OntologyNetworkResource ext
      */
     protected ONManager onm;
 
-    protected ServletContext servletContext;
-
     protected TcManager tcManager;
 
     public OntologyNetworkResource(@Context ServletContext servletContext) {
@@ -89,6 +93,19 @@ public class OntologyNetworkResource ext
         // TODO : the other way around?
     }
 
+    public Set<OntologyScope> getActiveScopes() {
+        return onm.getScopeRegistry().getActiveScopes();
+    }
+
+    @GET
+    @Produces(TEXT_HTML)
+    public Response getHtmlInfo(@Context HttpHeaders headers) {
+        ResponseBuilder rb = Response.ok(new Viewable("index", this));
+        rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
+    }
+
     /**
      * Default GET method for obtaining the set of (both active and, 
optionally, inactive) ontology scopes
      * currently registered with this instance of KReS.
@@ -114,21 +131,22 @@ public class OntologyNetworkResource ext
 
         OWLOntology ontology = ScopeSetRenderer.getScopes(scopes);
 
-        return Response.ok(ontology).build();
+        ResponseBuilder rb = Response.ok(ontology);
+        MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, 
null);
+        if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     public Set<OntologyScope> getScopes() {
         return onm.getScopeRegistry().getRegisteredScopes();
     }
-    
-    public Set<OntologyScope> getActiveScopes() {
-        return onm.getScopeRegistry().getActiveScopes();
-    }
 
-    @GET
-    @Produces(TEXT_HTML)
-    public Response getView() {
-        return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+    @OPTIONS
+    public Response handleCorsPreflight(@Context HttpHeaders headers) {
+        ResponseBuilder rb = Response.ok();
+        enableCORS(servletContext, rb, headers);
+        return rb.build();
     }
 
 }

Modified: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/RegistryManagerResource.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/RegistryManagerResource.java?rev=1296275&r1=1296274&r2=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/RegistryManagerResource.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/RegistryManagerResource.java
 Fri Mar  2 16:14:47 2012
@@ -1,24 +1,23 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements.  See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License.  You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.stanbol.ontologymanager.web.resources;
 
 import static javax.ws.rs.core.MediaType.TEXT_HTML;
 import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
-import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -26,15 +25,14 @@ import java.util.List;
 
 import javax.servlet.ServletContext;
 import javax.ws.rs.GET;
-import javax.ws.rs.OPTIONS;
 import javax.ws.rs.Path;
 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 javax.ws.rs.core.Response.ResponseBuilder;
+import javax.ws.rs.core.UriInfo;
 
 import org.apache.stanbol.commons.web.base.ContextHelper;
 import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
@@ -48,20 +46,16 @@ import com.sun.jersey.api.view.Viewable;
 @Path("/ontonet/registry")
 public class RegistryManagerResource extends BaseStanbolResource {
 
-    protected RegistryManager regMgr;
-
     private final Logger log = LoggerFactory.getLogger(getClass());
 
+    protected RegistryManager regMgr;
+
     // bind the registry manager by looking it up from the servlet request 
context
     public RegistryManagerResource(@Context ServletContext context, @Context 
UriInfo uriInfo) {
         super();
         regMgr = ContextHelper.getServiceFromContext(RegistryManager.class, 
context);
         this.uriInfo = uriInfo;
     }
-    
-    public String getPath() {
-        return uriInfo.getPath().replaceAll("[\\/]*$", "");
-    }
 
     @GET
     @Produces(value = MediaType.TEXT_HTML)
@@ -72,13 +66,6 @@ public class RegistryManagerResource ext
         return rb.build();
     }
 
-    @OPTIONS
-    public Response handleCorsPreflight(@Context HttpHeaders headers) {
-        ResponseBuilder rb = Response.ok();
-        enableCORS(servletContext, rb, headers);
-        return rb.build();
-    }
-
     public List<Library> getLibraries() {
         if (regMgr != null) {
             log.debug("There are {} ontology libraries registered.", 
regMgr.getLibraries().size());
@@ -89,4 +76,8 @@ public class RegistryManagerResource ext
         }
     }
 
+    public String getPath() {
+        return uriInfo.getPath().replaceAll("[\\/]*$", "");
+    }
+
 }

Modified: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeOntologyResource.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeOntologyResource.java?rev=1296275&r1=1296274&r2=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeOntologyResource.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeOntologyResource.java
 Fri Mar  2 16:14:47 2012
@@ -18,11 +18,14 @@ package org.apache.stanbol.ontologymanag
 
 import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
 import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
+import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
 
 import javax.servlet.ServletContext;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.DefaultValue;
 import javax.ws.rs.GET;
+import javax.ws.rs.OPTIONS;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
@@ -31,6 +34,7 @@ import javax.ws.rs.WebApplicationExcepti
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
 import javax.ws.rs.core.Response.Status;
 import javax.ws.rs.core.UriInfo;
 
@@ -129,7 +133,16 @@ public class ScopeOntologyResource exten
             o = spc.getOntology(ontologyIri, Graph.class, merge);
         }
         if (o == null) return Response.status(NOT_FOUND).build();
-        return Response.ok(o).build();
+        ResponseBuilder rb = Response.ok(o);
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
+    }
+
+    @OPTIONS
+    public Response handleCorsPreflight(@Context HttpHeaders headers) {
+        ResponseBuilder rb = Response.ok();
+        enableCORS(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -141,10 +154,10 @@ public class ScopeOntologyResource exten
      * @param headers
      */
     @DELETE
-    public void unloadOntology(@PathParam("scopeid") String scopeId,
-                               @PathParam("uri") String ontologyid,
-                               @Context UriInfo uriInfo,
-                               @Context HttpHeaders headers) {
+    public Response 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, "");
@@ -164,6 +177,9 @@ public class ScopeOntologyResource exten
                 }
             }
         }
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
 }

Modified: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeResource.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeResource.java?rev=1296275&r1=1296274&r2=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeResource.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/ScopeResource.java
 Fri Mar  2 16:14:47 2012
@@ -22,7 +22,8 @@ import static javax.ws.rs.core.Response.
 import static javax.ws.rs.core.Response.Status.FORBIDDEN;
 import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
 import static javax.ws.rs.core.Response.Status.NOT_FOUND;
-import static javax.ws.rs.core.Response.Status.OK;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
+import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
 import static 
org.apache.stanbol.commons.web.base.format.KRFormat.FUNCTIONAL_OWL;
 import static 
org.apache.stanbol.commons.web.base.format.KRFormat.MANCHESTER_OWL;
 import static org.apache.stanbol.commons.web.base.format.KRFormat.N_TRIPLE;
@@ -40,6 +41,7 @@ import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.DefaultValue;
 import javax.ws.rs.GET;
+import javax.ws.rs.OPTIONS;
 import javax.ws.rs.POST;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
@@ -51,6 +53,7 @@ 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.Response.ResponseBuilder;
 import javax.ws.rs.core.Response.Status;
 import javax.ws.rs.core.UriInfo;
 
@@ -128,7 +131,9 @@ public class ScopeResource extends BaseS
                                     @Context HttpHeaders headers) {
         if (scope == null) return Response.status(NOT_FOUND).build();
         // Export to Clerezza Graph, which can be rendered as JSON-LD.
-        else return Response.ok(scope.export(Graph.class, merge)).build();
+        ResponseBuilder rb = Response.ok(scope.export(Graph.class, merge));
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     @GET
@@ -138,19 +143,32 @@ public class ScopeResource extends BaseS
                                   @Context HttpHeaders headers) {
         if (scope == null) return Response.status(NOT_FOUND).build();
         // Export to OWLOntology due to the more human-readable rendering.
-        if (merge) return Response.ok(scope.export(Graph.class, 
merge)).build();
-        else return Response.ok(scope.export(OWLOntology.class, 
merge)).build();
+        ResponseBuilder rb;
+        if (merge) rb = Response.ok(scope.export(Graph.class, merge));
+        else rb = Response.ok(scope.export(OWLOntology.class, merge));
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     @DELETE
-    public void deregisterScope(@PathParam("scopeid") String scopeid,
-                                @Context UriInfo uriInfo,
-                                @Context HttpHeaders headers,
-                                @Context ServletContext servletContext) {
+    public Response deregisterScope(@PathParam("scopeid") String scopeid,
+                                    @Context UriInfo uriInfo,
+                                    @Context HttpHeaders headers,
+                                    @Context ServletContext servletContext) {
 
         ScopeRegistry reg = onm.getScopeRegistry();
         reg.deregisterScope(scope);
         scope = null;
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
+    }
+
+    @OPTIONS
+    public Response handleCorsPreflight(@Context HttpHeaders headers) {
+        ResponseBuilder rb = Response.ok();
+        enableCORS(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -167,7 +185,6 @@ public class ScopeResource extends BaseS
      */
     @POST
     @Consumes(value = {RDF_XML, OWL_XML, N_TRIPLE, TURTLE, FUNCTIONAL_OWL, 
MANCHESTER_OWL, RDF_JSON})
-    @Produces(MediaType.TEXT_PLAIN)
     public Response manageOntology(InputStream content, @Context HttpHeaders 
headers) {
         long before = System.currentTimeMillis();
         if (scope == null) return Response.status(NOT_FOUND).build();
@@ -181,7 +198,9 @@ public class ScopeResource extends BaseS
         }
         log.debug("POST request for ontology addition completed in {} ms.",
             (System.currentTimeMillis() - before));
-        return Response.status(OK).type(MediaType.TEXT_PLAIN).build();
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -198,8 +217,7 @@ public class ScopeResource extends BaseS
      */
     @POST
     @Consumes(value = MediaType.TEXT_PLAIN)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response manageOntology(String iri) {
+    public Response manageOntology(String iri, @Context HttpHeaders headers) {
         if (scope == null) return Response.status(NOT_FOUND).build();
         try {
             scope.getCustomSpace().addOntology(new 
RootOntologyIRISource(IRI.create(iri)));
@@ -208,7 +226,9 @@ public class ScopeResource extends BaseS
         } catch (OWLOntologyCreationException e) {
             throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
         }
-        return Response.status(OK).type(MediaType.TEXT_PLAIN).build();
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -310,7 +330,9 @@ public class ScopeResource extends BaseS
             throw new WebApplicationException(ex, INTERNAL_SERVER_ERROR);
         }
 
-        return Response.ok().build();
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
 }

Copied: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionManagerResource.java
 (from r1296194, 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionsResource.java)
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionManagerResource.java?p2=incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionManagerResource.java&p1=incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionsResource.java&r1=1296194&r2=1296275&rev=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionsResource.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionManagerResource.java
 Fri Mar  2 16:14:47 2012
@@ -17,6 +17,7 @@
 package org.apache.stanbol.ontologymanager.web.resources;
 
 import static javax.ws.rs.core.MediaType.TEXT_HTML;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,13 +29,16 @@ 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.MediaType;
 import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
 import javax.ws.rs.core.Response.Status;
 import javax.ws.rs.core.UriInfo;
 
 import org.apache.stanbol.commons.web.base.ContextHelper;
 import org.apache.stanbol.commons.web.base.format.KRFormat;
 import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
+import org.apache.stanbol.commons.web.base.utils.MediaTypeUtil;
 import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionManager;
 import org.semanticweb.owlapi.apibinding.OWLManager;
 import org.semanticweb.owlapi.model.AddAxiom;
@@ -50,27 +54,32 @@ import org.semanticweb.owlapi.model.OWLO
 import com.sun.jersey.api.view.Viewable;
 
 @Path("/ontonet/session")
-public class SessionsResource extends BaseStanbolResource {
+public class SessionManagerResource extends BaseStanbolResource {
 
     /*
      * Placeholder for the ONManager to be fetched from the servlet context.
      */
     protected SessionManager sessionManager;
 
-    protected ServletContext servletContext;
-
-    public SessionsResource(@Context ServletContext servletContext) {
+    public SessionManagerResource(@Context ServletContext servletContext) {
         this.servletContext = servletContext;
         this.sessionManager = (SessionManager) 
ContextHelper.getServiceFromContext(SessionManager.class,
             servletContext);
     }
 
     @GET
+    @Produces(TEXT_HTML)
+    public Response getHtmlInfo(@Context HttpHeaders headers) {
+        ResponseBuilder rb = Response.ok(new Viewable("index", this));
+        rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
+    }
+
+    @GET
     @Produces(value = {KRFormat.RDF_XML, KRFormat.OWL_XML, KRFormat.TURTLE, 
KRFormat.FUNCTIONAL_OWL,
                        KRFormat.MANCHESTER_OWL, KRFormat.RDF_JSON})
     public Response listSessions(@Context UriInfo uriInfo, @Context 
HttpHeaders headers) {
-
-        // SessionManager sesMgr = onm.getSessionManager();
         OWLOntologyManager ontMgr = OWLManager.createOWLOntologyManager();
         OWLDataFactory df = ontMgr.getOWLDataFactory();
         OWLClass cSession = 
df.getOWLClass(IRI.create("http://stanbol.apache.org/ontologies/meta/Session";));
@@ -88,13 +97,11 @@ public class SessionsResource extends Ba
         } catch (OWLOntologyCreationException e) {
             throw new WebApplicationException(e, Status.INTERNAL_SERVER_ERROR);
         }
-        return Response.ok(o).build();
-    }
-
-    @GET
-    @Produces(TEXT_HTML)
-    public Response getView() {
-        return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+        ResponseBuilder rb = Response.ok(o);
+        MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, 
null);
+        if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
 }

Copied: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java
 (from r1296194, 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionByIdResource.java)
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java?p2=incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java&p1=incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionByIdResource.java&r1=1296194&r2=1296275&rev=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionByIdResource.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/SessionResource.java
 Fri Mar  2 16:14:47 2012
@@ -21,7 +21,8 @@ import static javax.ws.rs.core.Response.
 import static javax.ws.rs.core.Response.Status.FORBIDDEN;
 import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
 import static javax.ws.rs.core.Response.Status.NOT_FOUND;
-import static javax.ws.rs.core.Response.Status.OK;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
+import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
 import static 
org.apache.stanbol.commons.web.base.format.KRFormat.FUNCTIONAL_OWL;
 import static 
org.apache.stanbol.commons.web.base.format.KRFormat.MANCHESTER_OWL;
 import static org.apache.stanbol.commons.web.base.format.KRFormat.OWL_XML;
@@ -36,6 +37,7 @@ import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.DefaultValue;
 import javax.ws.rs.GET;
+import javax.ws.rs.OPTIONS;
 import javax.ws.rs.POST;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
@@ -47,6 +49,7 @@ 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.Response.ResponseBuilder;
 import javax.ws.rs.core.Response.Status;
 import javax.ws.rs.core.UriInfo;
 
@@ -76,7 +79,7 @@ import org.slf4j.LoggerFactory;
  * 
  */
 @Path("/ontonet/session/{id}")
-public class SessionByIdResource extends BaseStanbolResource {
+public class SessionResource extends BaseStanbolResource {
 
     private Logger log = LoggerFactory.getLogger(getClass());
 
@@ -87,7 +90,7 @@ public class SessionByIdResource extends
 
     protected Session session;
 
-    public SessionByIdResource(@PathParam(value = "id") String sessionId,
+    public SessionResource(@PathParam(value = "id") String sessionId,
                                @Context ServletContext servletContext) {
         this.servletContext = servletContext;
         this.sesMgr = (SessionManager) 
ContextHelper.getServiceFromContext(SessionManager.class,
@@ -102,8 +105,11 @@ public class SessionByIdResource extends
                                     @DefaultValue("false") 
@QueryParam("merge") boolean merge,
                                     @Context HttpHeaders headers) {
         if (session == null) return Response.status(NOT_FOUND).build();
+
         // Export to Clerezza Graph, which can be rendered as JSON-LD.
-        else return Response.ok(session.export(Graph.class, merge)).build();
+        ResponseBuilder rb = Response.ok(session.export(Graph.class, merge));
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     @GET
@@ -113,8 +119,11 @@ public class SessionByIdResource extends
                                   @Context HttpHeaders headers) {
         if (session == null) return Response.status(NOT_FOUND).build();
         // Export to OWLOntology due to the more human-readable rendering.
-        if (merge) return Response.ok(session.export(Graph.class, 
merge)).build();
-        else return Response.ok(session.export(OWLOntology.class, 
merge)).build();
+        ResponseBuilder rb;
+        if (merge) rb = Response.ok(session.export(Graph.class, merge));
+        else rb = Response.ok(session.export(OWLOntology.class, merge));
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -128,7 +137,6 @@ public class SessionByIdResource extends
      *         that ID already exists.
      */
     @PUT
-    @Produces(MediaType.TEXT_PLAIN)
     public Response createSession(@PathParam("id") String sessionId,
                                   @Context UriInfo uriInfo,
                                   @Context HttpHeaders headers) {
@@ -139,7 +147,9 @@ public class SessionByIdResource extends
         } catch (SessionLimitException e) {
             throw new WebApplicationException(e, FORBIDDEN);
         }
-        return Response.status(OK).type(MediaType.TEXT_PLAIN).build();
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -154,14 +164,15 @@ public class SessionByIdResource extends
      */
     @DELETE
     @Consumes(MediaType.WILDCARD)
-    @Produces(MediaType.TEXT_PLAIN)
     public Response deleteSession(@PathParam("id") String sessionId,
                                   @Context UriInfo uriInfo,
                                   @Context HttpHeaders headers) {
         if (session == null) return Response.status(NOT_FOUND).build();
         sesMgr.destroySession(sessionId);
         session = null;
-        return Response.status(OK).type(MediaType.TEXT_PLAIN).build();
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -189,7 +200,16 @@ public class SessionByIdResource extends
         Graph o = session.getOntology(IRI.create(ontologyId), Graph.class, 
merge);
         // OWLOntology o = session.getOntology(IRI.create(ontologyId), merge);
         if (o == null) return Response.status(NOT_FOUND).build();
-        return Response.ok(o).build();
+        ResponseBuilder rb = Response.ok(o);
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
+    }
+
+    @OPTIONS
+    public Response handleCorsPreflight(@Context HttpHeaders headers) {
+        ResponseBuilder rb = Response.ok();
+        enableCORS(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -207,8 +227,7 @@ public class SessionByIdResource extends
     @POST
     @Consumes(value = {KRFormat.RDF_XML, KRFormat.OWL_XML, KRFormat.TURTLE, 
KRFormat.FUNCTIONAL_OWL,
                        KRFormat.MANCHESTER_OWL, KRFormat.RDF_JSON, 
KRFormat.N3, KRFormat.N_TRIPLE})
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response manageOntology(InputStream content) {
+    public Response manageOntology(InputStream content, @Context HttpHeaders 
headers) {
         long before = System.currentTimeMillis();
         if (session == null) return Response.status(NOT_FOUND).build();
         try {
@@ -220,7 +239,9 @@ public class SessionByIdResource extends
         }
         log.debug("POST request for ontology addition completed in {} ms.",
             (System.currentTimeMillis() - before));
-        return Response.status(OK).type(MediaType.TEXT_PLAIN).build();
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -237,8 +258,7 @@ public class SessionByIdResource extends
      */
     @POST
     @Consumes(value = MediaType.TEXT_PLAIN)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response manageOntology(String iri) {
+    public Response manageOntology(String iri, @Context HttpHeaders headers) {
         if (session == null) return Response.status(NOT_FOUND).build();
         try {
             session.addOntology(new RootOntologyIRISource(IRI.create(iri)));
@@ -247,7 +267,9 @@ public class SessionByIdResource extends
         } catch (OWLOntologyCreationException e) {
             throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
         }
-        return Response.status(OK).type(MediaType.TEXT_PLAIN).build();
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
     /**
@@ -268,7 +290,6 @@ public class SessionByIdResource extends
     @DELETE
     @Path(value = "/{ontologyId:.+}")
     @Consumes(MediaType.WILDCARD)
-    @Produces(MediaType.TEXT_PLAIN)
     public Response unmanageOntology(@PathParam("id") String sessionId,
                                      @PathParam("ontologyId") String 
ontologyId,
                                      @Context UriInfo uriInfo,
@@ -286,7 +307,9 @@ public class SessionByIdResource extends
         } catch (OntologyCollectorModificationException e) {
             throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
         }
-        return Response.status(OK).type(MediaType.TEXT_PLAIN).build();
+        ResponseBuilder rb = Response.ok();
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
     }
 
 }

Modified: 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java?rev=1296275&r1=1296274&r2=1296275&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java
 (original)
+++ 
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java
 Fri Mar  2 16:14:47 2012
@@ -17,6 +17,7 @@
 package org.apache.stanbol.ontologymanager.web.resources;
 
 import static javax.ws.rs.core.Response.Status.NOT_FOUND;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
 
 import java.net.URI;
 import java.util.ArrayList;
@@ -32,6 +33,7 @@ import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
 import javax.ws.rs.core.Response.Status;
 import javax.ws.rs.core.UriInfo;
 
@@ -55,7 +57,6 @@ import org.slf4j.LoggerFactory;
 @Path("/ontonet/{ontologyId:.+}")
 public class StoredOntologyResource extends BaseStanbolResource {
 
-    @SuppressWarnings("unused")
     private Logger log = LoggerFactory.getLogger(getClass());
 
     /*
@@ -153,7 +154,9 @@ public class StoredOntologyResource exte
         }
         o.getOWLOntologyManager().applyChanges(changes);
 
-        return Response.ok(o).build();
+        ResponseBuilder rb = Response.ok(o);
+        addCORSOrigin(servletContext, rb, headers);
+        return rb.build();
 
     }
 


Reply via email to