Author: sinaci
Date: Thu Mar 15 13:20:13 2012
New Revision: 1300969
URL: http://svn.apache.org/viewvc?rev=1300969&view=rev
Log:
- CORS support for CMS Adapter, Contenthub
Modified:
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/BridgeDefinitionsResource.java
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ContenthubFeedResource.java
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/NotifyResource.java
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ObjectTypesResource.java
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RDFMapperResource.java
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/SessionResource.java
incubator/stanbol/trunk/contenthub/web/src/main/java/org/apache/stanbol/contenthub/web/resources/RootResource.java
Modified:
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/BridgeDefinitionsResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/BridgeDefinitionsResource.java?rev=1300969&r1=1300968&r2=1300969&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/BridgeDefinitionsResource.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/BridgeDefinitionsResource.java
Thu Mar 15 13:20:13 2012
@@ -16,17 +16,23 @@
*/
package org.apache.stanbol.cmsadapter.web.resources;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
+import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
+
import java.util.Hashtable;
import javax.servlet.ServletContext;
import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
+import javax.ws.rs.OPTIONS;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
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 org.apache.stanbol.cmsadapter.core.mapping.MappingConfigurationImpl;
@@ -52,13 +58,13 @@ public class BridgeDefinitionsResource e
private MappingEngine engine;
- @SuppressWarnings("rawtypes")
public BridgeDefinitionsResource(@Context ServletContext context) {
try {
BundleContext bundleContext = (BundleContext)
context.getAttribute(BundleContext.class.getName());
ServiceReference serviceReference =
bundleContext.getServiceReferences(null,
MAPPING_ENGINE_COMPONENT_FACTORY_FILTER)[0];
ComponentFactory componentFactory = (ComponentFactory)
bundleContext.getService(serviceReference);
+ @SuppressWarnings("rawtypes")
ComponentInstance componentInstance =
componentFactory.newInstance(new Hashtable());
this.engine = (MappingEngine) componentInstance.getInstance();
@@ -68,6 +74,13 @@ public class BridgeDefinitionsResource e
}
}
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
/**
* Takes connection information to access the content managament system
and executes the bridge
* definitions. After completing processing of bridges, generated ontology
is stored through <b>Store</b>
@@ -82,7 +95,8 @@ public class BridgeDefinitionsResource e
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response registeBridgeDefinitions(@FormParam("connectionInfo")
ConnectionInfo connectionInfo,
- @FormParam("bridgeDefinitions")
BridgeDefinitions bridgeDefinitions) {
+ @FormParam("bridgeDefinitions")
BridgeDefinitions bridgeDefinitions,
+ @Context HttpHeaders headers) {
if(connectionInfo == null) {
logger.warn("No specified connection info");
@@ -105,6 +119,8 @@ public class BridgeDefinitionsResource e
logger.warn("Cannot access to repository", e);
}
- return Response.status(Status.INTERNAL_SERVER_ERROR).build();
+ ResponseBuilder rb = Response.status(Status.INTERNAL_SERVER_ERROR);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
\ No newline at end of file
Modified:
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ContenthubFeedResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ContenthubFeedResource.java?rev=1300969&r1=1300968&r2=1300969&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ContenthubFeedResource.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ContenthubFeedResource.java
Thu Mar 15 13:20:13 2012
@@ -17,6 +17,8 @@
package org.apache.stanbol.cmsadapter.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.List;
@@ -27,12 +29,15 @@ import javax.ws.rs.DELETE;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
+import javax.ws.rs.OPTIONS;
import javax.ws.rs.POST;
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 javax.ws.rs.core.Response.Status;
import org.apache.stanbol.cmsadapter.core.mapping.ContenthubFeederManager;
@@ -63,10 +68,19 @@ public class ContenthubFeedResource exte
feederManager =
ContextHelper.getServiceFromContext(ContenthubFeederManager.class, context);
}
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
@GET
@Produces(TEXT_HTML)
- public Response get() {
- return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+ public Response get(@Context HttpHeaders headers) {
+ ResponseBuilder rb = Response.ok(new Viewable("index", this),
TEXT_HTML);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
/**
@@ -115,8 +129,9 @@ public class ContenthubFeedResource exte
@FormParam("id") String id,
@FormParam("path") String path,
@FormParam("recursive")
@DefaultValue("false") boolean recursive,
- @FormParam("contentProperties")
@DefaultValue("skos:definition,content") String contentProperties) throws
RepositoryAccessException,
-
ContenthubFeederException {
+ @FormParam("contentProperties")
@DefaultValue("skos:definition,content") String contentProperties,
+ @Context HttpHeaders headers)
throws RepositoryAccessException,
+
ContenthubFeederException {
sessionKey = RestUtil.nullify(sessionKey);
id = RestUtil.nullify(id);
@@ -144,7 +159,9 @@ public class ContenthubFeedResource exte
.entity("There is no parameter specified to select content
repository objects\n").build();
}
- return Response.ok().build();
+ ResponseBuilder rb = Response.ok();
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
/**
@@ -179,8 +196,9 @@ public class ContenthubFeedResource exte
public Response deleteObjectsFromContenthub(@FormParam("sessionKey")
String sessionKey,
@FormParam("id") String id,
@FormParam("path") String path,
- @FormParam("recursive")
@DefaultValue("false") boolean recursive) throws RepositoryAccessException,
-
ContenthubFeederException {
+ @FormParam("recursive")
@DefaultValue("false") boolean recursive,
+ @Context HttpHeaders headers)
throws RepositoryAccessException,
+
ContenthubFeederException {
sessionKey = RestUtil.nullify(sessionKey);
id = RestUtil.nullify(id);
@@ -205,7 +223,9 @@ public class ContenthubFeedResource exte
.entity("There is no parameter specified to select content
repository objects\n").build();
}
- return Response.ok().build();
+ ResponseBuilder rb = Response.ok();
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
private List<String> parseContentProperties(String contentProperties) {
Modified:
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/NotifyResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/NotifyResource.java?rev=1300969&r1=1300968&r2=1300969&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/NotifyResource.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/NotifyResource.java
Thu Mar 15 13:20:13 2012
@@ -16,6 +16,9 @@
*/
package org.apache.stanbol.cmsadapter.web.resources;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
+import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
+
import java.util.Hashtable;
import java.util.List;
@@ -23,6 +26,7 @@ import javax.servlet.ServletContext;
import javax.ws.rs.DELETE;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.FormParam;
+import javax.ws.rs.OPTIONS;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
@@ -30,7 +34,9 @@ import javax.ws.rs.PathParam;
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.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
import org.apache.clerezza.rdf.core.access.TcManager;
import org.apache.stanbol.cmsadapter.core.helper.TcManagerClient;
@@ -80,12 +86,20 @@ public class NotifyResource extends Base
}
}
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
@SuppressWarnings("unchecked")
@POST
public Response notifyCreate(@PathParam("ontologyURI") String ontologyURI,
@FormParam("createdObjects") CMSObjects
cmsObjects,
@QueryParam("adapterMode") AdapterMode
adapterMode,
- @DefaultValue("true")
@QueryParam("considerBridges") boolean considerBridges) {
+ @DefaultValue("true")
@QueryParam("considerBridges") boolean considerBridges,
+ @Context HttpHeaders headers) {
List<CMSObject> createdObjectList =
cmsObjects.getClassificationObjectOrContentObject();
TcManagerClient tcManagerClient = new TcManagerClient(tcManager);
@@ -100,7 +114,10 @@ public class NotifyResource extends Base
conf.setBridgeDefinitions(OntologyResourceHelper.getBridgeDefinitions(model));
}
engine.createModel(conf);
- return Response.ok().build();
+
+ ResponseBuilder rb = Response.ok();
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
/**
@@ -116,7 +133,8 @@ public class NotifyResource extends Base
public Response notifyUpdate(@PathParam("ontologyURI") String ontologyURI,
@FormParam("updatedObjects") CMSObjects
cmsObjects,
@QueryParam("adapterMode") AdapterMode
adapterMode,
- @QueryParam("considerBridges")
@DefaultValue("true") Boolean considerBridges) {
+ @QueryParam("considerBridges")
@DefaultValue("true") Boolean considerBridges,
+ @Context HttpHeaders headers) {
List<CMSObject> updatedObjectList =
cmsObjects.getClassificationObjectOrContentObject();
TcManagerClient tcManagerClient = new TcManagerClient(tcManager);
OntModel model =
ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM,
@@ -130,7 +148,10 @@ public class NotifyResource extends Base
conf.setBridgeDefinitions(OntologyResourceHelper.getBridgeDefinitions(model));
}
engine.updateModel(conf);
- return Response.ok().build();
+
+ ResponseBuilder rb = Response.ok();
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
/**
@@ -144,7 +165,8 @@ public class NotifyResource extends Base
@DELETE
public Response notifyDelete(@PathParam("ontologyURI") String ontologyURI,
@FormParam("deletedObjects") CMSObjects
cmsObjects,
- @QueryParam("considerBridges")
@DefaultValue("true") Boolean considerBridges) {
+ @QueryParam("considerBridges")
@DefaultValue("true") Boolean considerBridges,
+ @Context HttpHeaders headers) {
List<CMSObject> deletedObjectList =
cmsObjects.getClassificationObjectOrContentObject();
TcManagerClient tcManagerClient = new TcManagerClient(tcManager);
OntModel model =
ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM,
@@ -159,6 +181,9 @@ public class NotifyResource extends Base
conf.setBridgeDefinitions(OntologyResourceHelper.getBridgeDefinitions(model));
}
engine.deleteModel(conf);
- return Response.ok().build();
+
+ ResponseBuilder rb = Response.ok();
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
Modified:
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ObjectTypesResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ObjectTypesResource.java?rev=1300969&r1=1300968&r2=1300969&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ObjectTypesResource.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/ObjectTypesResource.java
Thu Mar 15 13:20:13 2012
@@ -16,19 +16,25 @@
*/
package org.apache.stanbol.cmsadapter.web.resources;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
+import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
+
import java.util.Hashtable;
import java.util.List;
import javax.servlet.ServletContext;
import javax.ws.rs.DELETE;
import javax.ws.rs.FormParam;
+import javax.ws.rs.OPTIONS;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
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.Response.ResponseBuilder;
import org.apache.clerezza.rdf.core.access.TcManager;
import org.apache.stanbol.cmsadapter.core.helper.TcManagerClient;
@@ -77,10 +83,18 @@ public class ObjectTypesResource extends
}
}
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
@SuppressWarnings("unchecked")
@POST
public Response liftObjectTypes(@PathParam("ontologyURI") String
ontologyURI,
- @FormParam("objectTypeDefinitions")
ObjectTypeDefinitions objectTypeDefinitions) {
+ @FormParam("objectTypeDefinitions")
ObjectTypeDefinitions objectTypeDefinitions,
+ @Context HttpHeaders headers) {
List<ObjectTypeDefinition> createdObjectList =
objectTypeDefinitions.getObjectTypeDefinition();
@@ -93,13 +107,17 @@ public class ObjectTypesResource extends
conf.setObjects((List<Object>) (List<?>) createdObjectList);
conf.setAdapterMode(AdapterMode.STRICT_OFFLINE);
engine.createModel(conf);
- return Response.ok().build();
+
+ ResponseBuilder rb = Response.ok();
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
@SuppressWarnings("unchecked")
@PUT
public Response updateClassificationObjects(@PathParam("ontologyURI")
String ontologyURI,
-
@FormParam("objectTypeDefinitions") ObjectTypeDefinitions
objectTypeDefinitions) {
+
@FormParam("objectTypeDefinitions") ObjectTypeDefinitions objectTypeDefinitions,
+ @Context HttpHeaders headers) {
List<ObjectTypeDefinition> createdObjectList =
objectTypeDefinitions.getObjectTypeDefinition();
TcManagerClient tcManagerClient = new TcManagerClient(tcManager);
@@ -111,13 +129,17 @@ public class ObjectTypesResource extends
conf.setObjects((List<Object>) (List<?>) createdObjectList);
conf.setAdapterMode(AdapterMode.STRICT_OFFLINE);
engine.updateModel(conf);
- return Response.ok().build();
+
+ ResponseBuilder rb = Response.ok();
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
@SuppressWarnings("unchecked")
@DELETE
public Response deleteClassificationObjects(@PathParam("ontologyURI")
String ontologyURI,
-
@FormParam("objectTypeDefinitions") ObjectTypeDefinitions
objectTypeDefinitions) {
+
@FormParam("objectTypeDefinitions") ObjectTypeDefinitions objectTypeDefinitions,
+ @Context HttpHeaders headers) {
List<ObjectTypeDefinition> createdObjectList =
objectTypeDefinitions.getObjectTypeDefinition();
TcManagerClient tcManagerClient = new TcManagerClient(tcManager);
@@ -129,6 +151,9 @@ public class ObjectTypesResource extends
conf.setObjects((List<Object>) (List<?>) createdObjectList);
conf.setAdapterMode(AdapterMode.STRICT_OFFLINE);
engine.deleteModel(conf);
- return Response.ok().build();
+
+ ResponseBuilder rb = Response.ok();
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
Modified:
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RDFMapperResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RDFMapperResource.java?rev=1300969&r1=1300968&r2=1300969&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RDFMapperResource.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RDFMapperResource.java
Thu Mar 15 13:20:13 2012
@@ -17,6 +17,8 @@
package org.apache.stanbol.cmsadapter.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.io.ByteArrayInputStream;
import java.io.File;
@@ -31,13 +33,16 @@ import javax.ws.rs.Consumes;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
+import javax.ws.rs.OPTIONS;
import javax.ws.rs.POST;
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 javax.ws.rs.core.Response.Status;
import org.apache.clerezza.rdf.core.Graph;
@@ -78,10 +83,35 @@ public class RDFMapperResource extends B
bridgeManager =
ContextHelper.getServiceFromContext(RDFBridgeManager.class, context);
}
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
+ @OPTIONS
+ @Path("/rdf")
+ public Response handleCorsPreflightRDF(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
+ @OPTIONS
+ @Path("/cms")
+ public Response handleCorsPreflightCMS(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
@GET
@Produces(TEXT_HTML)
- public Response get() {
- return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+ public Response get(@Context HttpHeaders headers) {
+ ResponseBuilder rb = Response.ok(new Viewable("index", this),
TEXT_HTML);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
/**
@@ -110,7 +140,8 @@ public class RDFMapperResource extends B
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response mapRawRDFToRepository(@FormParam("sessionKey") String
sessionKey,
@FormParam("serializedGraph") String
serializedGraph,
- @FormParam("url") String url) throws
MalformedURLException,
+ @FormParam("url") String url,
+ @Context HttpHeaders headers) throws
MalformedURLException,
IOException {
sessionKey = RestUtil.nullify(sessionKey);
@@ -133,7 +164,7 @@ public class RDFMapperResource extends B
.build();
}
- Response r = mapRDF(g, sessionKey);
+ Response r = mapRDF(g, sessionKey, headers);
logger.info("RDF mapping finished in: {} seconds",
((System.currentTimeMillis() - start) / 1000));
return r;
}
@@ -156,8 +187,9 @@ public class RDFMapperResource extends B
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response mapRDFToRepositoryFromFile(@QueryParam("sessionKey")
String sessionKey,
- @FormDataParam("rdfFile") File rdfFile,
- @FormDataParam("rdfFile")
FormDataContentDisposition rdfFileInfo) throws IOException {
+ @FormDataParam("rdfFile") File
rdfFile,
+ @FormDataParam("rdfFile")
FormDataContentDisposition rdfFileInfo,
+ @Context HttpHeaders headers)
throws IOException {
sessionKey = RestUtil.nullify(sessionKey);
if (sessionKey == null) {
@@ -175,12 +207,12 @@ public class RDFMapperResource extends B
return Response.status(Status.BAD_REQUEST).entity("There is no RDF
file specified").build();
}
- Response r = mapRDF(g, sessionKey);
+ Response r = mapRDF(g, sessionKey, headers);
logger.info("RDF mapping finished in: {} seconds",
((System.currentTimeMillis() - start) / 1000));
return r;
}
- private Response mapRDF(Graph g, String sessionKey) {
+ private Response mapRDF(Graph g, String sessionKey, HttpHeaders headers) {
try {
bridgeManager.storeRDFToRepository(sessionKey, g);
} catch (RepositoryAccessException e) {
@@ -192,7 +224,9 @@ public class RDFMapperResource extends B
return
Response.status(Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build();
}
- return Response.ok().entity("RDF data has been mapped to the content
repository").build();
+ ResponseBuilder rb = Response.ok().entity("RDF data has been mapped to
the content repository");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
/**
@@ -226,9 +260,10 @@ public class RDFMapperResource extends B
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(SupportedFormat.RDF_XML)
public Response mapRepositoryToRDF(@FormParam("sessionKey") String
sessionKey,
- @FormParam("baseURI") String baseURI,
- @FormParam("store") boolean store,
- @FormParam("update") @DefaultValue("true") boolean
update) {
+ @FormParam("baseURI") String baseURI,
+ @FormParam("store") boolean store,
+ @FormParam("update")
@DefaultValue("true") boolean update,
+ @Context HttpHeaders headers) {
sessionKey = RestUtil.nullify(sessionKey);
if (sessionKey == null) {
@@ -241,7 +276,9 @@ public class RDFMapperResource extends B
MGraph generatedGraph =
bridgeManager.generateRDFFromRepository(baseURI, sessionKey, store,
update);
logger.info("CMS mapping finished in: {} seconds",
((System.currentTimeMillis() - start) / 1000));
- return Response.ok(generatedGraph,
SupportedFormat.RDF_XML).build();
+ ResponseBuilder rb = Response.ok(generatedGraph,
SupportedFormat.RDF_XML);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} catch (RepositoryAccessException e) {
String message = e.getMessage();
logger.warn(message, e);
Modified:
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java?rev=1300969&r1=1300968&r2=1300969&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java
Thu Mar 15 13:20:13 2012
@@ -17,11 +17,17 @@
package org.apache.stanbol.cmsadapter.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 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.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
@@ -30,10 +36,19 @@ import com.sun.jersey.api.view.Viewable;
@Path("/cmsadapter")
public class RootResource extends BaseStanbolResource {
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
@GET
@Produces(TEXT_HTML)
- public Response get() {
- return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+ public Response get(@Context HttpHeaders headers) {
+ ResponseBuilder rb = Response.ok(new Viewable("index", this),
TEXT_HTML);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
Modified:
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/SessionResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/SessionResource.java?rev=1300969&r1=1300968&r2=1300969&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/SessionResource.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/SessionResource.java
Thu Mar 15 13:20:13 2012
@@ -18,14 +18,19 @@ package org.apache.stanbol.cmsadapter.we
import static javax.ws.rs.core.MediaType.TEXT_HTML;
import static javax.ws.rs.core.MediaType.TEXT_PLAIN;
+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.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.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.core.Response.Status;
import org.apache.stanbol.cmsadapter.core.repository.SessionManager;
@@ -48,10 +53,19 @@ public class SessionResource extends Bas
sessionManager =
ContextHelper.getServiceFromContext(SessionManager.class, context);
}
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder res = Response.ok();
+ enableCORS(servletContext, res, headers);
+ return res.build();
+ }
+
@GET
@Produces(TEXT_HTML)
- public Response get() {
- return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+ public Response get(@Context HttpHeaders headers) {
+ ResponseBuilder rb = Response.ok(new Viewable("index", this),
TEXT_HTML);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
/**
@@ -82,7 +96,8 @@ public class SessionResource extends Bas
@QueryParam("workspaceName") String
workspaceName,
@QueryParam("username") String
username,
@QueryParam("password") String
password,
- @QueryParam("connectionType") String
connectionType) throws RepositoryAccessException {
+ @QueryParam("connectionType") String
connectionType,
+ @Context HttpHeaders headers) throws
RepositoryAccessException {
repositoryURL = RestUtil.nullify(repositoryURL);
workspaceName = RestUtil.nullify(workspaceName);
@@ -100,6 +115,8 @@ public class SessionResource extends Bas
String sessionKey = sessionManager.createSessionKey(repositoryURL,
workspaceName, username, password,
connectionType);
- return Response.status(Status.CREATED).entity(sessionKey).build();
+ ResponseBuilder rb =
Response.status(Status.CREATED).entity(sessionKey);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
Modified:
incubator/stanbol/trunk/contenthub/web/src/main/java/org/apache/stanbol/contenthub/web/resources/RootResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/contenthub/web/src/main/java/org/apache/stanbol/contenthub/web/resources/RootResource.java?rev=1300969&r1=1300968&r2=1300969&view=diff
==============================================================================
---
incubator/stanbol/trunk/contenthub/web/src/main/java/org/apache/stanbol/contenthub/web/resources/RootResource.java
(original)
+++
incubator/stanbol/trunk/contenthub/web/src/main/java/org/apache/stanbol/contenthub/web/resources/RootResource.java
Thu Mar 15 13:20:13 2012
@@ -16,6 +16,7 @@
*/
package org.apache.stanbol.contenthub.web.resources;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
import java.net.URI;
@@ -35,7 +36,7 @@ import org.apache.stanbol.commons.web.ba
* Base resource which automatically redirects to "contenthub/contenthub/store"
*
* @author anil.sinaci
- *
+ *
*/
@Path("/contenthub")
public class RootResource extends BaseStanbolResource {
@@ -46,9 +47,12 @@ public class RootResource extends BaseSt
enableCORS(servletContext, res, headers);
return res.build();
}
-
+
@GET
- public Response getView() throws URISyntaxException {
- return Response.seeOther(new URI(uriInfo.getBaseUri() +
"contenthub/contenthub/store/")).build();
+ public Response getView(@Context HttpHeaders headers) throws
URISyntaxException {
+ ResponseBuilder rb = Response
+ .seeOther(new URI(uriInfo.getBaseUri() +
"contenthub/contenthub/store/"));
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}