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>


Reply via email to