Author: anuzzolese
Date: Fri Oct 5 17:20:58 2012
New Revision: 1394666
URL: http://svn.apache.org/viewvc?rev=1394666&view=rev
Log:
[STANBOL-758] Resolved management of IDs for recipes based on non-URI strings.
Updated documentation of Rules' HTTP REST services in Web views.
Modified:
stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java
stanbol/trunk/rules/web/src/main/resources/org/apache/stanbol/rules/web/templates/org/apache/stanbol/rules/web/resources/RulesResource/index.ftl
Modified:
stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java?rev=1394666&r1=1394665&r2=1394666&view=diff
==============================================================================
---
stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java
(original)
+++
stanbol/trunk/rules/web/src/main/java/org/apache/stanbol/rules/web/resources/RefactorResource.java
Fri Oct 5 17:20:58 2012
@@ -21,6 +21,7 @@ import static javax.ws.rs.core.Response.
import static javax.ws.rs.core.Response.Status.NOT_FOUND;
import static javax.ws.rs.core.Response.Status.NO_CONTENT;
import static javax.ws.rs.core.Response.Status.PRECONDITION_FAILED;
+import static javax.ws.rs.core.Response.Status.NOT_ACCEPTABLE;
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;
@@ -32,6 +33,8 @@ import static org.apache.stanbol.commons
import static org.apache.stanbol.commons.web.base.format.KRFormat.X_TURTLE;
import java.io.InputStream;
+import java.net.URI;
+import java.net.URISyntaxException;
import javax.servlet.ServletContext;
import javax.ws.rs.Consumes;
@@ -47,6 +50,7 @@ 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.TripleCollection;
import org.apache.clerezza.rdf.core.UriRef;
@@ -227,9 +231,18 @@ public class RefactorResource extends Ba
// Refactorer semionRefactorer =
semionManager.getRegisteredRefactorer();
ResponseBuilder rb;
- UriRef recipeID = new UriRef(recipe);
Recipe rcp;
try {
+
+
+ URI uri = new URI(recipe);
+ if(uri != null && uri.getScheme() == null){
+ recipe = "urn:" + recipe;
+ log.info("The recipe ID is a URI without
scheme. The ID is set to " + recipe);
+ }
+
+ UriRef recipeID = new UriRef(recipe);
+
rcp = ruleStore.getRecipe(recipeID);
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
@@ -242,15 +255,22 @@ public class RefactorResource extends Ba
MediaType mediaType =
MediaTypeUtil.getAcceptableMediaType(headers, null);
if (mediaType != null) rb.header(HttpHeaders.CONTENT_TYPE,
mediaType);
- } catch (NoSuchRecipeException e1) {
+ } catch (NoSuchRecipeException e) {
rb = Response.status(NOT_FOUND);
- } catch (RecipeConstructionException e1) {
+ log.error(e.getMessage(), e);
+ } catch (RecipeConstructionException e) {
rb = Response.status(NO_CONTENT);
+ log.error(e.getMessage(), e);
} catch (OWLOntologyCreationException e) {
rb = Response.status(PRECONDITION_FAILED);
+ log.error(e.getMessage(), e);
} catch (RefactoringException e) {
rb = Response.status(INTERNAL_SERVER_ERROR);
- }
+ log.error(e.getMessage(), e);
+ } catch (URISyntaxException e) {
+ rb = Response.status(NOT_ACCEPTABLE);
+ log.error(e.getMessage(), e);
+ }
addCORSOrigin(servletContext, rb, headers);
return rb.build();
}
Modified:
stanbol/trunk/rules/web/src/main/resources/org/apache/stanbol/rules/web/templates/org/apache/stanbol/rules/web/resources/RulesResource/index.ftl
URL:
http://svn.apache.org/viewvc/stanbol/trunk/rules/web/src/main/resources/org/apache/stanbol/rules/web/templates/org/apache/stanbol/rules/web/resources/RulesResource/index.ftl?rev=1394666&r1=1394665&r2=1394666&view=diff
==============================================================================
---
stanbol/trunk/rules/web/src/main/resources/org/apache/stanbol/rules/web/templates/org/apache/stanbol/rules/web/resources/RulesResource/index.ftl
(original)
+++
stanbol/trunk/rules/web/src/main/resources/org/apache/stanbol/rules/web/templates/org/apache/stanbol/rules/web/resources/RulesResource/index.ftl
Fri Oct 5 17:20:58 2012
@@ -88,7 +88,7 @@ $('#recipecode').val(recipeTmp);
cURL command for refactor
<div id="refactoringcurl" class="indent" style="display:none">
<pre>
-curl -X POST -H "Accept: application/rdf+xml" -F input=@<span
style="color:red;">%rdfGraph%</span> -F recipe=<span
style="color:red;">%refactoringRecipe%</span>
+curl -X POST -H "Accept: application/rdf+xml" -F input=@<span
style="color:red;">%rdfGraph%</span> -F recipe=<span
style="color:red;">%refactoringRecipe%</span>
http://localhost:8080/refactor/apply
</pre>
</div>
<br>