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();
}