You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by fc...@apache.org on 2012/03/16 14:58:44 UTC
svn commit: r1301518 [2/2] - in
/incubator/stanbol/branches/0.9.0-incubating: ./
enhancer/engines/refactor/src/main/java/org/apache/stanbol/enhancer/engines/refactor/
enhancer/engines/refactor/src/main/java/org/apache/stanbol/enhancer/engines/refactor/...
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/AddRule.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/AddRule.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/AddRule.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/AddRule.java Fri Mar 16 13:58:43 2012
@@ -41,6 +41,8 @@ import org.semanticweb.owlapi.model.OWLO
import org.semanticweb.owlapi.model.OWLOntologyChange;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.hp.hpl.jena.reasoner.rulesys.ClauseEntry;
import com.hp.hpl.jena.reasoner.rulesys.Rule;
@@ -52,6 +54,8 @@ import com.hp.hpl.jena.reasoner.rulesys.
*
*/
public class AddRule {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
private OWLOntology owlmodel;
private OWLOntologyManager owlmanager;
@@ -182,14 +186,14 @@ public class AddRule {
ok = true;
}
else{
- System.err.println("The rule with name "+ruleName+" already exists. Pleas check the name.");
+ log.error("The rule with name "+ruleName+" already exists. Pleas check the name.");
ok = false;
return(ok);
}
}
else{
- System.err.println("The rule with name and the body-head string cannot be empity or null.");
+ log.error("The rule with name and the body-head string cannot be empity or null.");
ok=false;
return(ok);
}
@@ -216,7 +220,6 @@ public class AddRule {
OWLDataProperty bodyhead = factory.getOWLDataProperty(IRI.create(owlIDrmi+"hasBodyAndHead"));
if(((ruleName!=null)&&!ruleName.toString().isEmpty())&&((ruleBodyHead!=null)&&!ruleBodyHead.isEmpty())){
- System.out.println("entriamo "+ruleName);
if(!owlmodel.containsAxiom(factory.getOWLClassAssertionAxiom(ontocls, ontoind))){
//Add the rule istance
@@ -236,14 +239,14 @@ public class AddRule {
ok = true;
}
else{
- System.err.println("The rule with name "+ruleName+" already exists. Pleas check the name.");
+ log.error("The rule with name "+ruleName+" already exists. Pleas check the name.");
ok = false;
return(ok);
}
}
else{
- System.err.println("The rule with name and the body-head string cannot be empity or null.");
+ log.error("The rule with name and the body-head string cannot be empity or null.");
ok=false;
return(ok);
}
@@ -302,13 +305,13 @@ public class AddRule {
ok = true;
}else{
- System.err.println("The rule with name "+ruleName+" already exists. Pleas check the name.");
+ log.error("The rule with name "+ruleName+" already exists. Pleas check the name.");
ok = false;
return(ok);
}
}else{
- System.err.println("The rule with name and the body-head string cannot be empity or null.");
+ log.error("The rule with name and the body-head string cannot be empity or null.");
ok=false;
return(ok);
}
@@ -368,13 +371,13 @@ public class AddRule {
ok= true;
}else{
- System.err.println("The rule with name "+ruleName+" already exists. Pleas check the name.");
+ log.error("The rule with name "+ruleName+" already exists. Pleas check the name.");
ok = false;
return(ok);
}
}else{
- System.err.println("The rule with name and the body-head string cannot be empity or null.");
+ log.error("The rule with name and the body-head string cannot be empity or null.");
ok=false;
return(ok);
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/GetRecipe.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/GetRecipe.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/GetRecipe.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/GetRecipe.java Fri Mar 16 13:58:43 2012
@@ -36,12 +36,16 @@ import org.semanticweb.owlapi.model.OWLL
import org.semanticweb.owlapi.model.OWLNamedIndividual;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
*
* @author elvio
*/
public class GetRecipe {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
private OWLOntology owlmodel;
private String owlID;
@@ -86,7 +90,7 @@ public class GetRecipe {
}
}else{
- System.err.println("The recipe with name "+recipename+" doesn't exist.");
+ log.error("The recipe with name "+recipename+" doesn't exist.");
return(null);
}
@@ -115,7 +119,7 @@ public class GetRecipe {
}
}else{
- System.err.println("The recipe with name "+recipename+" doesn't exist.");
+ log.error("The recipe with name "+recipename+" doesn't exist.");
return(null);
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/GetRule.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/GetRule.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/GetRule.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/GetRule.java Fri Mar 16 13:58:43 2012
@@ -46,12 +46,16 @@ import org.semanticweb.owlapi.model.OWLO
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.util.OWLEntityRemover;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
*
* @author elvio
*/
public class GetRule {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
private OWLOntology owlmodel;
private String owlID;
@@ -92,7 +96,7 @@ public class GetRule {
rule.put(indrule.getIRI(),value.iterator().next().getLiteral());
}else{
- System.err.println("The rule with name "+rulename+" doesn't exist.");
+ log.error("The rule with name "+rulename+" doesn't exist.");
return(null);
}
@@ -118,7 +122,7 @@ public class GetRule {
rule.put(indrule.getIRI(),value.iterator().next().getLiteral());
}else{
- System.err.println("The rule with name "+rulename+" doesn't exist.");
+ log.error("The rule with name "+rulename+" doesn't exist.");
return(null);
}
@@ -165,13 +169,13 @@ public class GetRule {
- System.out.println("RECIPE IRI : "+recipeIRI.toString());
+ log.debug("RECIPE IRI : "+recipeIRI.toString());
if(ontlogy != null){
OWLIndividual ind = factory.getOWLNamedIndividual(recipeIRI);
Set<OWLIndividual> rules = ind.getObjectPropertyValues(prop, owlmodel);
- System.out.println("Rules length : "+rules.size());
+ log.debug("Rules length : "+rules.size());
for(OWLIndividual rule : rules){
OWLAxiom axiom = factory.getOWLObjectPropertyAssertionAxiom(prop, ind, rule);
owlmanager.addAxiom(ontlogy, axiom);
@@ -232,7 +236,7 @@ public class GetRule {
return(ruleusage);
}else{
- System.err.println("The rule with name "+ruleName+" is not inside the ontology. Pleas check the name.");
+ log.error("The rule with name "+ruleName+" is not inside the ontology. Pleas check the name.");
return(null);
}
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/LoadRuleFile.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/LoadRuleFile.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/LoadRuleFile.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/LoadRuleFile.java Fri Mar 16 13:58:43 2012
@@ -44,6 +44,8 @@ import org.semanticweb.owlapi.model.OWLO
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* This class will store a set of rules and recipes, describe in a file, to the KReSRuleStore used as input.<br/>
@@ -79,6 +81,8 @@ import org.semanticweb.owlapi.model.OWLO
*
*/
public class LoadRuleFile {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
private OWLOntology owlmodel;
private OWLClass ontocls;
@@ -141,7 +145,7 @@ public class LoadRuleFile {
dataPropAssertion = factory.getOWLDataPropertyAssertionAxiom(dataprop, ontoind,seq.toString().replace("[","").replace("]",""));
owlmanager.addAxiom(owlmodel,dataPropAssertion);
}else{
- System.err.println("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" exists.");
+ log.error("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" exists.");
this.owlmodel = null;
break;
}
@@ -153,7 +157,7 @@ public class LoadRuleFile {
if(owlmodel.containsClassInSignature(IRI.create(owlIDrmi+cls))){
ontocls = factory.getOWLClass(IRI.create(owlIDrmi+cls));
}else{
- System.err.println("The file contains a wrong class name. Pleas check the name: "+IRI.create(owlIDrmi+cls));
+ log.error("The file contains a wrong class name. Pleas check the name: "+IRI.create(owlIDrmi+cls));
this.owlmodel = null;
break;
}
@@ -168,7 +172,7 @@ public class LoadRuleFile {
classAssertion = factory.getOWLClassAssertionAxiom(ontocls,ontoind);
owlmanager.addAxiom(owlmodel, classAssertion);
}else{
- System.err.println("The file contains a repeated istance name. The istance is already inside the ontology. Pleas check the name: "+input);
+ log.error("The file contains a repeated istance name. The istance is already inside the ontology. Pleas check the name: "+input);
this.owlmodel = null;
break;
}
@@ -182,7 +186,7 @@ public class LoadRuleFile {
dataPropAssertion = factory.getOWLDataPropertyAssertionAxiom(dataprop, ontoind, descrp);
owlmanager.addAxiom(owlmodel, dataPropAssertion);
}else{
- System.err.println("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" exists.");
+ log.error("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" exists.");
this.owlmodel = null;
break;
}
@@ -197,7 +201,7 @@ public class LoadRuleFile {
dataPropAssertion = factory.getOWLDataPropertyAssertionAxiom(dataprop, ontoind, text);
owlmanager.addAxiom(owlmodel,dataPropAssertion);
}else{
- System.err.println("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" exists.");
+ log.error("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" exists.");
this.owlmodel = null;
break;
}
@@ -241,7 +245,7 @@ public class LoadRuleFile {
}
}else{
- System.err.println("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" and/or "+ID+text+" are already inside the ontology.");
+ log.error("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" and/or "+ID+text+" are already inside the ontology.");
this.owlmodel = null;
break;
}
@@ -262,7 +266,7 @@ public class LoadRuleFile {
dataPropAssertion = factory.getOWLDataPropertyAssertionAxiom(dataprop, ontoind,seq.toString().replace("[","").replace("]",""));
owlmanager.addAxiom(owlmodel,dataPropAssertion);
}else{
- System.err.println("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" exists.");
+ log.error("There isn't the istance to which you are trying to add the property. Pleas check that "+ontoind.getIRI()+" exists.");
this.owlmodel = null;
}
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/RemoveRecipe.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/RemoveRecipe.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/RemoveRecipe.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/main/java/org/apache/stanbol/rules/manager/changes/RemoveRecipe.java Fri Mar 16 13:58:43 2012
@@ -43,6 +43,8 @@ import org.semanticweb.owlapi.model.OWLO
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.util.OWLEntityRemover;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* This class will remove a recipe from the KReSRuleStore used as input.<br/>
@@ -51,7 +53,7 @@ import org.semanticweb.owlapi.util.OWLEn
*
*/
public class RemoveRecipe {
-
+ private Logger log = LoggerFactory.getLogger(getClass());
private OWLOntology owlmodel;
private OWLOntologyManager owlmanager;
@@ -185,7 +187,7 @@ public class RemoveRecipe {
remover.reset();
if(owlmodel.containsAxiom(factory.getOWLClassAssertionAxiom(ontocls, ontoind))){
- System.err.println("Some error occurs during deletion.");
+ log.error("Some error occurs during deletion.");
ok = false;
return(ok);
}else{
@@ -199,7 +201,7 @@ public class RemoveRecipe {
if(!owlmodel.containsAxiom(objectPropAssertion)){
ok = true;
}else{
- System.err.println("Some error occurs during deletion.");
+ log.error("Some error occurs during deletion.");
ok = false;
return(ok);
}
@@ -208,7 +210,7 @@ public class RemoveRecipe {
}
}else{
- System.err.println("The rule with name "+recipeName+" is not inside the ontology. Pleas check the name.");
+ log.error("The rule with name "+recipeName+" is not inside the ontology. Pleas check the name.");
ok =false;
return(ok);
}
@@ -262,7 +264,7 @@ public class RemoveRecipe {
remover.reset();
if(owlmodel.containsAxiom(factory.getOWLClassAssertionAxiom(ontocls, ontoind))){
- System.err.println("Some error occurs during deletion.");
+ log.error("Some error occurs during deletion.");
ok = false;
return(ok);
}else{
@@ -277,7 +279,7 @@ public class RemoveRecipe {
if(!owlmodel.containsAxiom(objectPropAssertion)){
ok = true;
}else{
- System.err.println("Some error occurs during deletion.");
+ log.error("Some error occurs during deletion.");
ok = false;
return(ok);
}
@@ -289,7 +291,7 @@ public class RemoveRecipe {
}
}else{
- System.err.println("The rule with name "+recipeName+" is not inside the ontology. Pleas check the name.");
+ log.error("The rule with name "+recipeName+" is not inside the ontology. Pleas check the name.");
ok =false;
return(ok);
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/LoadRuleFileTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/LoadRuleFileTest.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/LoadRuleFileTest.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/LoadRuleFileTest.java Fri Mar 16 13:58:43 2012
@@ -29,9 +29,6 @@ import java.util.Hashtable;
import java.util.Iterator;
import java.util.Set;
-import org.apache.clerezza.rdf.core.access.TcManager;
-import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
-import org.apache.stanbol.ontologymanager.ontonet.impl.ONManagerImpl;
import org.apache.stanbol.rules.base.api.RuleStore;
import org.apache.stanbol.rules.manager.changes.LoadRuleFile;
import org.apache.stanbol.rules.manager.changes.RuleStoreImpl;
@@ -54,12 +51,16 @@ import org.semanticweb.owlapi.model.OWLO
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.model.OWLOntologyStorageException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
*
* @author elvio
*/
public class LoadRuleFileTest {
+
+ private Logger log = LoggerFactory.getLogger(getClass());
public LoadRuleFileTest() {}
@@ -98,7 +99,9 @@ public class LoadRuleFileTest {
OWLOntology owlmodel = newstore.getOntology();
OWLDataFactory factory = owlmanager.getOWLDataFactory();
String ID = owlmodel.getOntologyID().toString().replace("<", "").replace(">", "") + "#";
- System.out.println(ID);
+
+ log.debug(ID);
+
// KReSRule
OWLClass ontocls = factory.getOWLClass(IRI.create(ID + "KReSRule"));
@@ -333,7 +336,7 @@ public class LoadRuleFileTest {
OWLAxiom ax = axiom.next();
if (expaxiom.contains(ax)) num++;
}
- System.out.println(numexp + " " + numres + " " + num + " " + numres);
+ log.debug(numexp + " " + numres + " " + num + " " + numres);
assertEquals(numexp - numres, num - numres);
// assertEquals(numexp,(numres+12));
// TODO review the generated test code and remove the default call to fail.
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/RuleStoreTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/RuleStoreTest.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/RuleStoreTest.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/RuleStoreTest.java Fri Mar 16 13:58:43 2012
@@ -102,7 +102,7 @@ public class RuleStoreTest {
@Test
public void testKReSRuleStore_2() throws Exception {
OWLOntology owlmodel = blankStore.getOntology();
- System.out.println("Path for default store config is " + blankStore.getFilePath());
+ log.debug("Path for default store config is " + blankStore.getFilePath());
assertNotNull(owlmodel);
assertTrue(!owlmodel.isEmpty());
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/parse/RuleParserTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/parse/RuleParserTest.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/parse/RuleParserTest.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/manager/src/test/java/org/apache/stanbol/rules/manager/parse/RuleParserTest.java Fri Mar 16 13:58:43 2012
@@ -21,6 +21,8 @@ import org.apache.stanbol.rules.base.api
import org.apache.stanbol.rules.manager.KB;
import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
@@ -32,6 +34,8 @@ public class RuleParserTest {
private static String kReSRule;
+ private Logger log = LoggerFactory.getLogger(getClass());
+
@BeforeClass
public static void setup() {
kReSRule = "ProvaParent = <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#> . " +
@@ -47,13 +51,13 @@ public class RuleParserTest {
RuleList kReSRuleList = kReSKB.getkReSRuleList();
if(kReSRuleList != null){
for(Rule kReSRule : kReSRuleList){
- System.out.println("RULE : "+kReSRule.toString());
+ log.debug("RULE : "+kReSRule.toString());
}
}
- System.out.println("RULE LIST IS NULL");
+ log.debug("RULE LIST IS NULL");
}
else{
- System.out.println("KB IS NULL");
+ log.debug("KB IS NULL");
}
}catch (Exception e) {
e.printStackTrace();
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RecipeResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RecipeResource.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RecipeResource.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RecipeResource.java Fri Mar 16 13:58:43 2012
@@ -21,6 +21,9 @@
package org.apache.stanbol.rules.web.resources;
+import static org.apache.stanbol.commons.web.base.CorsHelper.addCORSOrigin;
+import static org.apache.stanbol.commons.web.base.CorsHelper.enableCORS;
+
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
@@ -34,6 +37,7 @@ import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
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.PathParam;
@@ -41,13 +45,16 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.core.Response.Status;
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.rules.base.api.Recipe;
import org.apache.stanbol.rules.base.api.RuleStore;
import org.apache.stanbol.rules.manager.changes.GetRecipe;
@@ -71,7 +78,7 @@ import com.sun.jersey.multipart.FormData
/**
*
- * @author elvio, andrea.nuzzolese
+ * @author elvio, andrea.nuzzolese, alberto.musetti
*/
@Path("/recipe")
// /{uri:.+}")
@@ -107,7 +114,8 @@ public class RecipeResource extends Base
@GET
@Path("/{uri:.+}")
@Produces(value = {KRFormat.RDF_XML, KRFormat.RDF_JSON, KRFormat.OWL_XML, KRFormat.FUNCTIONAL_OWL,KRFormat.MANCHESTER_OWL, KRFormat.TURTLE})
- public Response getRecipe(@PathParam("uri") String uri) throws OWLOntologyCreationException {
+ public Response getRecipe(@PathParam("uri") String uri,
+ @Context HttpHeaders headers) throws OWLOntologyCreationException {
try {
GetRecipe rule = new GetRecipe(ruleStore);;
@@ -118,7 +126,11 @@ public class RecipeResource extends Base
Vector<IRI> recipe = rule.getGeneralRecipes();
if (recipe == null) {
// The recipe does not exists in the manager
- return Response.status(Status.NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} else {
// The recipe is retrieved (import declarations point to
@@ -157,7 +169,11 @@ public class RecipeResource extends Base
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
- return Response.ok(newmodel).build();
+ ResponseBuilder rb = Response.ok(newmodel);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
} else {
@@ -166,7 +182,11 @@ public class RecipeResource extends Base
if (recipe == null) {
// The recipe deos not exists in the manager
- return Response.status(Status.NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} else {
// The recipe is retrieved (import declarations point to
// KReS Services)
@@ -217,7 +237,11 @@ public class RecipeResource extends Base
// e.printStackTrace();
// }
- return Response.ok(newmodel).build();
+ ResponseBuilder rb = Response.ok(newmodel);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
} catch (Exception e) {
@@ -242,17 +266,27 @@ public class RecipeResource extends Base
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(value = {KRFormat.RDF_XML, KRFormat.TURTLE, KRFormat.OWL_XML, KRFormat.FUNCTIONAL_OWL,KRFormat.MANCHESTER_OWL, KRFormat.RDF_JSON})
- public Response addRecipe(@FormParam(value = "recipe") String recipe, @FormParam(value = "description") String description) {
+ public Response addRecipe(@FormParam(value = "recipe") String recipe,
+ @FormParam(value = "description") String description,
+ @Context HttpHeaders headers) {
try {
boolean added = ruleStore.addRecipe(IRI.create(recipe), description);
if(added){
- return Response.status(Status.OK).build();
+ ResponseBuilder rb = Response.ok();
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
else{
- return Response.status(Status.CONFLICT).build();
+ ResponseBuilder rb = Response.status(Status.CONFLICT);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
/*
@@ -297,7 +331,9 @@ public class RecipeResource extends Base
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(value = {KRFormat.TEXT_PLAIN, KRFormat.RDF_JSON})
@Path("/{recipeID:.+}")
- public Response addRulesToRecipe(@PathParam(value = "recipeID") String recipeID, @FormDataParam(value = "recipeText") InputStream rules) {
+ public Response addRulesToRecipe(@PathParam(value = "recipeID") String recipeID,
+ @FormDataParam(value = "recipeText") InputStream rules,
+ @Context HttpHeaders headers) {
try {
@@ -306,10 +342,18 @@ public class RecipeResource extends Base
Recipe recipe = ruleStore.addRuleToRecipe(recipeID, rules);
if(recipe != null){
- return Response.ok().build();
+ ResponseBuilder rb = Response.ok();
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
else{
- return Response.status(Status.NO_CONTENT).build();
+ ResponseBuilder rb = Response.status(Status.NO_CONTENT);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
@@ -332,8 +376,9 @@ public class RecipeResource extends Base
*/
@DELETE
// @Consumes(MediaType.TEXT_PLAIN)
- @Produces("text/plain")
- public Response removeRecipe(@QueryParam(value = "recipe") String recipe) {
+ @Produces(MediaType.TEXT_PLAIN)
+ public Response removeRecipe(@QueryParam(value = "recipe") String recipe,
+ @Context HttpHeaders headers) {
try {
@@ -345,15 +390,29 @@ public class RecipeResource extends Base
boolean ok = instance.removeRecipe(IRI.create(recipe));
if (!ok) {
- return Response.status(Status.CONFLICT).build();
+ //return Response.status(Status.CONFLICT).build();
+ ResponseBuilder rb = Response.status(Status.CONFLICT);
+ rb.header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} else {
ruleStore.saveOntology();
- return Response.ok().build();
+ ResponseBuilder rb = Response.ok();
+ rb.header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
} catch (Exception e) {
throw new WebApplicationException(e, Status.INTERNAL_SERVER_ERROR);
}
}
+
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder rb = Response.ok();
+ enableCORS(servletContext, rb, headers);
+ return rb.build();
+ }
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java Fri Mar 16 13:58:43 2012
@@ -16,27 +16,33 @@
*/
package org.apache.stanbol.rules.web.resources;
-import static javax.ws.rs.core.Response.Status.*;
+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 java.io.InputStream;
import javax.servlet.ServletContext;
import javax.ws.rs.Consumes;
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.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.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.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.commons.web.base.utils.MediaTypeUtil;
import org.apache.stanbol.rules.base.api.NoSuchRecipeException;
import org.apache.stanbol.rules.base.api.Recipe;
import org.apache.stanbol.rules.base.api.util.RuleList;
@@ -94,7 +100,8 @@ public class RefactorResource extends Ba
@Produces(value = {KRFormat.TURTLE, KRFormat.FUNCTIONAL_OWL, KRFormat.MANCHESTER_OWL, KRFormat.RDF_XML,
KRFormat.OWL_XML, KRFormat.RDF_JSON})
public Response applyRefactoring(@FormDataParam("recipe") String recipe,
- @FormDataParam("input") InputStream input) {
+ @FormDataParam("input") InputStream input,
+ @Context HttpHeaders headers) {
OWLOntology output = null;
try {
@@ -104,8 +111,16 @@ public class RefactorResource extends Ba
} catch (RefactoringException e1) {
throw new WebApplicationException(e1, INTERNAL_SERVER_ERROR);
}
- if (output == null) return Response.status(NOT_FOUND).build();
- return Response.ok(output).build();
+ if (output == null){
+ ResponseBuilder rb = Response.status(NOT_FOUND);
+ rb.header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }
+ ResponseBuilder rb = Response.ok(output);
+ rb.header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
@@ -125,7 +140,8 @@ public class RefactorResource extends Ba
@Produces(value = {KRFormat.TURTLE, KRFormat.FUNCTIONAL_OWL, KRFormat.MANCHESTER_OWL, KRFormat.RDF_XML,
KRFormat.OWL_XML, KRFormat.RDF_JSON})
public Response applyRefactoringFromRuleFile(@FormDataParam("recipe") InputStream recipeStream,
- @FormDataParam("input") InputStream input) {
+ @FormDataParam("input") InputStream input,
+ @Context HttpHeaders headers) {
OWLOntology output = null;
try {
@@ -135,8 +151,16 @@ public class RefactorResource extends Ba
} catch (RefactoringException e1) {
throw new WebApplicationException(e1, INTERNAL_SERVER_ERROR);
}
- if (output == null) return Response.status(NOT_FOUND).build();
- return Response.ok(output).build();
+ if (output == null){
+ ResponseBuilder rb = Response.status(NOT_FOUND);
+ rb.header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }
+ ResponseBuilder rb = Response.ok(output);
+ rb.header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
@@ -164,12 +188,13 @@ public class RefactorResource extends Ba
return refactorer.ontologyRefactoring(inputOntology, actualRecipe);
}
- @POST
+ @POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(value = {KRFormat.TURTLE, KRFormat.FUNCTIONAL_OWL, KRFormat.MANCHESTER_OWL, KRFormat.RDF_XML,
KRFormat.OWL_XML, KRFormat.RDF_JSON})
public Response performRefactoring(@FormDataParam("recipe") String recipe,
- @FormDataParam("input") InputStream input) {
+ @FormDataParam("input") InputStream input,
+ @Context HttpHeaders headers) {
// Refactorer semionRefactorer = semionManager.getRegisteredRefactorer();
@@ -188,9 +213,17 @@ public class RefactorResource extends Ba
throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
} catch (NoSuchRecipeException e) {
// missing recipes result in a status 404
- return Response.status(NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
- return Response.ok(outputOntology).build();
+ ResponseBuilder rb = Response.ok(outputOntology);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} catch (OWLOntologyCreationException e) {
throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
}
@@ -200,7 +233,8 @@ public class RefactorResource extends Ba
@GET
public Response performRefactoringLazyCreateGraph(@QueryParam("recipe") String recipe,
@QueryParam("input-graph") String inputGraph,
- @QueryParam("output-graph") String outputGraph) {
+ @QueryParam("output-graph") String outputGraph,
+ @Context HttpHeaders headers) {
log.info("recipe: {}", recipe);
log.info("input-graph: {}", inputGraph);
@@ -213,15 +247,30 @@ public class RefactorResource extends Ba
try {
refactorer.ontologyRefactoring(outputGraphIRI, inputGraphIRI, recipeIRI);
- return Response.ok().build();
+ ResponseBuilder rb = Response.ok();
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} catch (RefactoringException e) {
// refactoring exceptions are re-thrown
throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
} catch (NoSuchRecipeException e) {
// missing recipes result in a status 404
- return Response.status(NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ 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();
+ }
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RuleResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RuleResource.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RuleResource.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RuleResource.java Fri Mar 16 13:58:43 2012
@@ -21,6 +21,10 @@
package org.apache.stanbol.rules.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.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
@@ -35,6 +39,7 @@ import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
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.PathParam;
@@ -42,14 +47,16 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.core.Response.Status;
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.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.commons.web.base.utils.MediaTypeUtil;
import org.apache.stanbol.rules.base.api.RuleStore;
import org.apache.stanbol.rules.manager.changes.AddRecipe;
import org.apache.stanbol.rules.manager.changes.AddRule;
@@ -71,7 +78,7 @@ import org.slf4j.LoggerFactory;
/**
*
- * @author elvio, andrea.nuzzolese
+ * @author elvio, andrea.nuzzolese, alberto.musetti
*
*/
@Path("/rule")
@@ -110,7 +117,7 @@ public class RuleResource extends BaseSt
@Path("/{uri:.+}")
@Produces(value = {KRFormat.RDF_XML, KRFormat.TURTLE, KRFormat.OWL_XML, KRFormat.RDF_JSON,
KRFormat.FUNCTIONAL_OWL, KRFormat.MANCHESTER_OWL})
- public Response getRule(@PathParam("uri") String uri) {
+ public Response getRule(@PathParam("uri") String uri, @Context HttpHeaders headers) {
try {
@@ -120,9 +127,13 @@ public class RuleResource extends BaseSt
HashMap<IRI,String> rule = recipe.getAllRules();
Iterator<IRI> keys = rule.keySet().iterator();
- if (rule == null) {
- return Response.status(Status.NOT_FOUND).build();
- } else {
+ if (rule.isEmpty()){
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }else {
OWLOntology onto = ruleStore.getOntology();
OWLOntology newmodel = OWLManager.createOWLOntologyManager().createOntology(
@@ -158,7 +169,11 @@ public class RuleResource extends BaseSt
// e.printStackTrace();
// }
- return Response.ok(newmodel).build();
+ ResponseBuilder rb = Response.ok(newmodel);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
} else {
@@ -166,7 +181,11 @@ public class RuleResource extends BaseSt
HashMap<IRI,String> rule = recipe.getRule(IRI.create(uri));
if (rule == null) {
- return Response.status(Status.NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} else {
OWLOntology onto = ruleStore.getOntology();
@@ -201,7 +220,12 @@ public class RuleResource extends BaseSt
// e.printStackTrace();
// }
- return Response.ok(newmodel).build();
+
+ ResponseBuilder rb = Response.ok(newmodel);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
} catch (Exception e) {
@@ -215,7 +239,7 @@ public class RuleResource extends BaseSt
@Path("/of-recipe/{uri:.+}")
@Produces(value = {KRFormat.RDF_XML, KRFormat.TURTLE, KRFormat.OWL_XML, KRFormat.FUNCTIONAL_OWL,
KRFormat.MANCHESTER_OWL, KRFormat.RDF_JSON})
- public Response getRulesOfRecipe(@PathParam("uri") String recipeURI) {
+ public Response getRulesOfRecipe(@PathParam("uri") String recipeURI,@Context HttpHeaders headers) {
GetRule kReSGetRule = new GetRule(ruleStore);
String recipeURIEnc;
@@ -231,7 +255,11 @@ public class RuleResource extends BaseSt
log.debug("Recipe IRI: " + IRI.create(recipeURI));
OWLOntology ontology = kReSGetRule.getAllRulesOfARecipe(IRI.create(recipeURI));
- 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();
}
@@ -265,7 +293,8 @@ public class RuleResource extends BaseSt
public Response addRuleToRecipe(@FormParam(value = "recipe") String recipe,
@FormParam(value = "rule") String rule,
@FormParam(value = "kres-syntax") String kres_syntax,
- @FormParam(value = "description") String description) {
+ @FormParam(value = "description") String description,
+ @Context HttpHeaders headers) {
// System.err.println("recipe "+recipe);
// System.err.println("rule " + rule);
@@ -277,7 +306,11 @@ public class RuleResource extends BaseSt
try {
if ((recipe == null) && (rule == null)) {
- return Response.status(Status.BAD_REQUEST).build();
+ ResponseBuilder rb = Response.status(Status.BAD_REQUEST);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
recipe = recipe.replace(" ", "").trim();
@@ -290,7 +323,11 @@ public class RuleResource extends BaseSt
this.map = inrule.getRule(IRI.create(rule));
if (map == null) {
- return Response.status(Status.NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
// Get the recipe
@@ -300,7 +337,11 @@ public class RuleResource extends BaseSt
this.desc = getrecipe.getDescription(IRI.create(recipe));
if (desc == null) Response.status(Status.NOT_FOUND).build();
} else {
- return Response.status(Status.NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
String[] sequence = map.get(IRI.create(recipe)).split(",");
@@ -314,7 +355,13 @@ public class RuleResource extends BaseSt
RemoveRecipe remove = new RemoveRecipe(ruleStore);
boolean ok = remove.removeRecipe(IRI.create(recipe));
- if (!ok) return Response.status(Status.CONFLICT).build();
+ if (!ok){
+ ResponseBuilder rb = Response.status(Status.CONFLICT);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }
// Add the recipe with the new rule
AddRecipe newadd = new AddRecipe(ruleStore);
@@ -322,9 +369,17 @@ public class RuleResource extends BaseSt
if (ok) {
ruleStore.saveOntology();
- return Response.ok().build();
+ ResponseBuilder rb = Response.ok();
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} else {
- return Response.status(Status.NO_CONTENT).build();
+ ResponseBuilder rb = Response.status(Status.NO_CONTENT);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
@@ -335,8 +390,11 @@ public class RuleResource extends BaseSt
boolean ok = inrule.addRule(IRI.create(rule), kres_syntax, description);
if (!ok) {
log.error("Problem to add: " + rule);
- System.err.println("PROBLEM TO ADD: " + rule);
- return Response.status(Status.CONFLICT).build();
+ ResponseBuilder rb = Response.status(Status.CONFLICT);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
// Get the recipe
@@ -345,9 +403,19 @@ public class RuleResource extends BaseSt
if (map != null) {
this.desc = getrecipe.getDescription(IRI.create(recipe));
- if (desc == null) return Response.status(Status.NOT_FOUND).build();
+ if (desc == null){
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }
} else {
- return Response.status(Status.NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
String[] sequence = map.get(IRI.create(recipe)).split(",");
@@ -361,8 +429,12 @@ public class RuleResource extends BaseSt
RemoveRecipe remove = new RemoveRecipe(ruleStore);
ok = remove.removeRecipe(IRI.create(recipe));
if (!ok) {
- System.err.println("ERROR TO REMOVE OLD RECIPE: " + recipe);
- return Response.status(Status.CONFLICT).build();
+ log.error("ERROR TO REMOVE OLD RECIPE: " + recipe);
+ ResponseBuilder rb = Response.status(Status.CONFLICT);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
// Add the recipe with the new rule
@@ -370,12 +442,24 @@ public class RuleResource extends BaseSt
ok = newadd.addRecipe(IRI.create(recipe), ruleseq, desc);
if (ok) {
ruleStore.saveOntology();
- return Response.ok().build();
+ ResponseBuilder rb = Response.ok();
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} else {
- return Response.status(Status.NO_CONTENT).build();
+ ResponseBuilder rb = Response.status(Status.NO_CONTENT);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
} else {
- return Response.status(Status.BAD_REQUEST).build();
+ ResponseBuilder rb = Response.status(Status.BAD_REQUEST);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
} catch (Exception e) {
@@ -404,7 +488,8 @@ public class RuleResource extends BaseSt
// @Consumes(MediaType.TEXT_PLAIN)
@Produces(KRFormat.TEXT_PLAIN)
public Response removeRule(@QueryParam(value = "rule") String rule,
- @QueryParam(value = "recipe") String recipe) {
+ @QueryParam(value = "recipe") String recipe,
+ @Context HttpHeaders headers) {
boolean ok;
@@ -418,7 +503,10 @@ public class RuleResource extends BaseSt
GetRule getrule = new GetRule(ruleStore);
this.map = getrule.getRule(IRI.create(rule));
if (map == null) {
- return Response.status(Status.NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
// Get the recipe
@@ -426,9 +514,20 @@ public class RuleResource extends BaseSt
this.map = getrecipe.getRecipe(IRI.create(recipe));
if (map != null) {
this.desc = getrecipe.getDescription(IRI.create(recipe));
- if (desc.isEmpty()) return Response.status(Status.NOT_FOUND).build();
+ if (desc.isEmpty()){
+ //return Response.status(Status.NOT_FOUND).build();
+
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }
} else {
- return Response.status(Status.NOT_FOUND).build();
+
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
// Remove rule from recipe
@@ -437,9 +536,15 @@ public class RuleResource extends BaseSt
if (ok) {
ruleStore.saveOntology();
- return Response.status(Status.OK).build();
+ ResponseBuilder rb = Response.ok();
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} else {
- return Response.status(Status.NO_CONTENT).build();
+ ResponseBuilder rb = Response.status(Status.NO_CONTENT);
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}
@@ -450,7 +555,10 @@ public class RuleResource extends BaseSt
GetRule getrule = new GetRule(ruleStore);
this.map = getrule.getRule(IRI.create(rule));
if (map == null) {
- return Response.status(Status.NOT_FOUND).build();
+ ResponseBuilder rb = Response.status(Status.NOT_FOUND);
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
// Remove the old rule
@@ -458,17 +566,33 @@ public class RuleResource extends BaseSt
ok = remove.removeRule(IRI.create(rule));
if (ok) {
ruleStore.saveOntology();
- return Response.status(Status.OK).build();
+ ResponseBuilder rb = Response.ok();
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
} else {
- return Response.status(Status.NO_CONTENT).build();
+ ResponseBuilder rb = Response.status(Status.NO_CONTENT);
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
} else {
- return Response.status(Status.BAD_REQUEST).build();
+ ResponseBuilder rb = Response.status(Status.BAD_REQUEST);
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
} catch (Exception e) {
throw new WebApplicationException(e, Status.INTERNAL_SERVER_ERROR);
}
}
+
+ @OPTIONS
+ public Response handleCorsPreflight(@Context HttpHeaders headers) {
+ ResponseBuilder rb = Response.ok();
+ enableCORS(servletContext, rb, headers);
+ return rb.build();
+ }
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RuleStoreResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RuleStoreResource.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RuleStoreResource.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RuleStoreResource.java Fri Mar 16 13:58:43 2012
@@ -21,14 +21,22 @@
package org.apache.stanbol.rules.web.resources;
+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.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;
+import org.apache.stanbol.commons.web.base.utils.MediaTypeUtil;
import org.apache.stanbol.rules.manager.changes.RuleStoreImpl;
/**
@@ -60,8 +68,19 @@ public class RuleStoreResource extends B
@GET
//@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces("application/rdf+xml")
- public Response getRuleStore(){
- return Response.ok(this.ruleStore).build();
+ public Response getRuleStore(@Context HttpHeaders headers){
+ ResponseBuilder rb = Response.ok(this.ruleStore);
+ MediaType mediaType = MediaTypeUtil.getAcceptableMediaType(headers, null);
+ if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE, mediaType);
+ 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();
}
}
Modified: incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesRootResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesRootResource.java?rev=1301518&r1=1301517&r2=1301518&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesRootResource.java (original)
+++ incubator/stanbol/branches/0.9.0-incubating/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RulesRootResource.java Fri Mar 16 13:58:43 2012
@@ -17,14 +17,17 @@
package org.apache.stanbol.rules.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;
@@ -50,8 +53,11 @@ public class RulesRootResource extends B
@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));
+ rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
}
}