Author: enridaga
Date: Sun Nov 10 18:01:14 2013
New Revision: 1540501

URL: http://svn.apache.org/r1540501
Log:
STANBOL-1174 Fixed SCR annotations, created ResultData implementations for 
Reasoners resources

Added:
    
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningResult.java
Removed:
    
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningPrettyResultResource.java
Modified:
    
stanbol/trunk/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java
    stanbol/trunk/reasoners/web/pom.xml
    
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/JobsResource.java
    
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java
    
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java
    
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java

Modified: 
stanbol/trunk/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java?rev=1540501&r1=1540500&r2=1540501&view=diff
==============================================================================
--- 
stanbol/trunk/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java
 (original)
+++ 
stanbol/trunk/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java
 Sun Nov 10 18:01:14 2013
@@ -20,6 +20,11 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.stanbol.reasoners.servicesapi.ReasoningService;
 import org.apache.stanbol.reasoners.servicesapi.ReasoningServicesManager;
 import 
org.apache.stanbol.reasoners.servicesapi.UnboundReasoningServiceException;
@@ -32,16 +37,14 @@ import org.slf4j.LoggerFactory;
  * 
  * @author enridaga
  * 
- * @scr.component immediate="true"
- * @scr.service
- * @scr.reference name="ReasoningService"
- *                
interface="org.apache.stanbol.reasoners.servicesapi.ReasoningService" 
cardinality="0..n"
- *                policy="dynamic")
  */
+@Component(immediate=true)
+@Service
 public class ReasoningServicesManagerImpl implements ReasoningServicesManager {
 
     private static final Logger log = 
LoggerFactory.getLogger(ReasoningServicesManagerImpl.class);
 
+    @Reference(name = "ReasoningService", referenceInterface = 
org.apache.stanbol.reasoners.servicesapi.ReasoningService.class, policy = 
ReferencePolicy.DYNAMIC, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE)
     private Set<ReasoningService<?,?,?>> services = new 
HashSet<ReasoningService<?,?,?>>();
 
     public void bindReasoningService(ReasoningService<?,?,?> service) {

Modified: stanbol/trunk/reasoners/web/pom.xml
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/reasoners/web/pom.xml?rev=1540501&r1=1540500&r2=1540501&view=diff
==============================================================================
--- stanbol/trunk/reasoners/web/pom.xml (original)
+++ stanbol/trunk/reasoners/web/pom.xml Sun Nov 10 18:01:14 2013
@@ -202,6 +202,12 @@
       <groupId>com.hp.hpl.jena</groupId>
       <artifactId>jena</artifactId>
       <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <artifactId>slf4j-log4j12</artifactId>
+          <groupId>org.slf4j</groupId>
+        </exclusion>
+      </exclusions>
     </dependency>
 
     <!-- Testing deps -->

Modified: 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/JobsResource.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/JobsResource.java?rev=1540501&r1=1540500&r2=1540501&view=diff
==============================================================================
--- 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/JobsResource.java
 (original)
+++ 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/JobsResource.java
 Sun Nov 10 18:01:14 2013
@@ -28,13 +28,18 @@ import javax.ws.rs.core.Context;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.core.Response.ResponseBuilder;
 import javax.ws.rs.core.Response.Status;
 
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.stanbol.commons.jobs.api.JobManager;
 import org.apache.stanbol.commons.web.viewable.Viewable;
 import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
+import 
org.apache.stanbol.commons.web.base.resource.BaseStanbolResource.ResultData;
 import org.apache.stanbol.reasoners.web.utils.ReasoningServiceResult;
 import org.apache.stanbol.reasoners.web.utils.ResponseTaskBuilder;
 import org.slf4j.Logger;
@@ -47,19 +52,19 @@ import org.slf4j.LoggerFactory;
  * @author enridaga
  * 
  */
+@Component
+@Service(Object.class)
+@Property(name="javax.ws.rs", boolValue=true)
 @Path("/reasoners/jobs")
 public class JobsResource extends BaseStanbolResource {
     private Logger log = LoggerFactory.getLogger(getClass());
     
-    private HttpHeaders headers;
-
     private String jobLocation = "";
 
     @Reference
     private JobManager jobManager;
     
-    public JobsResource(@Context HttpHeaders headers) {
-        this.headers = headers;
+    public JobsResource() {
     }
 
     /**
@@ -70,7 +75,7 @@ public class JobsResource extends BaseSt
      */
     @GET
     @Path("/{jid}")
-    public Response get(@PathParam("jid") String id) {
+    public Response get(@PathParam("jid") String id, @Context HttpHeaders 
headers) {
         
         
         log.info("Pinging job {}", id);
@@ -97,7 +102,7 @@ public class JobsResource extends BaseSt
                     if(o instanceof ReasoningServiceResult){
                         log.debug("Is a ReasoningServiceResult");
                         ReasoningServiceResult<?> result = 
(ReasoningServiceResult<?>) o;
-                        return new ResponseTaskBuilder(uriInfo, 
headers).build(result);
+                        return new ResponseTaskBuilder(new 
JobResultResource(uriInfo, headers)).build(result);
                     }else{
                         log.error("Job {} does not belong to reasoners", id);
                         throw new 
WebApplicationException(Response.Status.NOT_FOUND);
@@ -156,4 +161,28 @@ public class JobsResource extends BaseSt
         ResponseBuilder rb = Response.ok();
         return rb.build();
     }
+    public class JobResultResource extends ResultData implements 
ReasoningResult {
+        private Object result;
+        private UriInfo uriInfo;
+        private HttpHeaders headers;
+        public JobResultResource(UriInfo uriInfo, HttpHeaders headers) {
+            this.headers = headers;
+            this.uriInfo = uriInfo;
+        }
+
+        public void setResult(Object result){
+            this.result = result;
+        }
+        public Object getResult() {
+            return this.result;
+        }
+
+        public HttpHeaders getHeaders() {
+            return headers;
+        }
+        
+        public UriInfo getUriInfo(){
+            return uriInfo;
+        }
+    }
 }

Added: 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningResult.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningResult.java?rev=1540501&view=auto
==============================================================================
--- 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningResult.java
 (added)
+++ 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningResult.java
 Sun Nov 10 18:01:14 2013
@@ -0,0 +1,15 @@
+package org.apache.stanbol.reasoners.web.resources;
+
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.UriInfo;
+
+public interface ReasoningResult {
+    
+    public void setResult(Object result);
+    
+    public Object getResult() ;
+    
+    public HttpHeaders getHeaders() ;
+    
+    public UriInfo getUriInfo();
+}

Modified: 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java?rev=1540501&r1=1540500&r2=1540501&view=diff
==============================================================================
--- 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java
 (original)
+++ 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java
 Sun Nov 10 18:01:14 2013
@@ -20,7 +20,9 @@ import static javax.ws.rs.core.MediaType
 import static javax.ws.rs.core.MediaType.MULTIPART_FORM_DATA;
 import static javax.ws.rs.core.MediaType.TEXT_HTML;
 
+import java.io.UnsupportedEncodingException;
 import java.net.URI;
+import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -48,7 +50,10 @@ import javax.ws.rs.core.UriInfo;
 import org.apache.clerezza.jaxrs.utils.form.FormFile;
 import org.apache.clerezza.jaxrs.utils.form.MultiPartBody;
 import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.stanbol.commons.jobs.api.JobManager;
 import org.apache.stanbol.commons.web.viewable.Viewable;
 import org.apache.stanbol.commons.web.base.format.KRFormat;
@@ -90,20 +95,22 @@ import org.slf4j.LoggerFactory;
  * Support for long term operations is provided by adding /job to the request 
URI.
  * 
  */
+@Component
+@Service(Object.class)
+@Property(name="javax.ws.rs", boolValue=true)
 @Path("/reasoners/{service}/{task: [^/]+}{job: (/job)?}")
 public class ReasoningServiceTaskResource extends BaseStanbolResource {
     private Logger log = LoggerFactory.getLogger(getClass());
 //    private ServletContext context;
     
     private ReasoningService<?,?,?> service;
-    private String taskID;
     
     private Map<String,List<String>> parameters;
     private FormFile file = null;
     
     @Reference
     protected TcManager tcManager;
-    private HttpHeaders headers;
+    
     
     @Reference
     protected ScopeManager onm;
@@ -125,28 +132,27 @@ public class ReasoningServiceTaskResourc
     @Reference
     protected JobManager jobManager;
 
-    @Context private UriInfo uriInfo;
-    @Context private Form form;
+    @Context 
+    private UriInfo uriInfo;
+    @Context 
+    private Form form = null;
+    @Context 
+    private HttpHeaders headers;
+    
+    private String taskID;
     
     /**
      * Constructor
      * 
-     * @param serviceID
-     * @param taskID
-     * @param job
-     * @param servletContext
-     * @param headers
-     * @param httpContext
-     */
-    public ReasoningServiceTaskResource(@PathParam(value = "service") String 
serviceID,
-                                        @PathParam(value = "task") String 
taskID,
-                                        @PathParam(value = "job") String job,
-                                        @Context HttpHeaders headers) {
+     */
+    public ReasoningServiceTaskResource() {
         super();
-        log.debug("Called service {} to perform task {}", serviceID, taskID);
+    }
 
-        // HttpHeaders
-        this.headers = headers;
+    public void prepare(String serviceID, String taskIDstr, String jobFlag) {
+        this.taskID = taskIDstr;
+        
+        log.debug("Called service {} to perform task {}", serviceID, taskID);
 
         // Parameters for customized reasoning services
         this.parameters = prepareParameters();
@@ -168,16 +174,16 @@ public class ReasoningServiceTaskResourc
         log.debug("Service retrieved");
         // Check if the task is allowed
         if (this.service.supportsTask(taskID) || 
taskID.equals(ReasoningServiceExecutor.TASK_CHECK)) {
-            this.taskID = taskID;
+            // Ok
         } else {
             log.error("Unsupported task (not found): {}", taskID);
             throw new WebApplicationException(new Exception("Unsupported task 
(not found): " + taskID),
                     Response.Status.NOT_FOUND);
         }
         // Check for the job parameter
-        if (!job.equals("")) {
+        if (!jobFlag.equals("")) {
             log.debug("Job param is {}", job);
-            if (job.equals("/job")) {
+            if (jobFlag.equals("/job")) {
                 log.debug("Ask for background job");
                 this.job = true;
             } else {
@@ -210,15 +216,33 @@ public class ReasoningServiceTaskResourc
         log.debug("... {} query parameters found", queryParameters.size());
         for (Entry<?,?> e : queryParameters.entrySet()) {
             String k = (String) e.getKey();
-            String[] v = (String[]) e.getValue();
-            parameters.put(k, Arrays.asList(v));
+            log.debug(" param: {} ", k);
+            List<String> v = new ArrayList<String>();
+            /*
+             * XXX 
+             * It looks like that param values here are not urldecoded
+             * This is odd because the not on the method says exactly the 
opposite.
+             * @see getQueryParameters()
+             */
+            for(String s : (List<String>) e.getValue()){
+                try {
+                    s = URLDecoder.decode(s, "UTF-8");
+                } catch (UnsupportedEncodingException e1) {
+                    e1.printStackTrace();
+                }
+                log.debug("   value {}", v);
+                v.add(s);
+            }
+            parameters.put(k, v);
         }
         // Parameters for a POST request with content-type
         // application/x-www-form-urlencoded
-        MultivaluedMap<String,String> formParameters = form.asMap();
-        log.debug("... {} form urlencoded parameters found", 
formParameters.size());
-        for (Entry<String,List<String>> e : formParameters.entrySet()) {
-            parameters.put(e.getKey(), e.getValue());
+        if(form!=null){
+            MultivaluedMap<String,String> formParameters = form.asMap();
+            log.debug("... {} form urlencoded parameters found", 
formParameters.size());
+            for (Entry<String,List<String>> e : formParameters.entrySet()) {
+                parameters.put(e.getKey(), e.getValue());
+            }
         }
         log.debug("Parameters prepared");
         return parameters;
@@ -234,14 +258,19 @@ public class ReasoningServiceTaskResourc
     @POST
     @Consumes({APPLICATION_FORM_URLENCODED})
     @Produces({TEXT_HTML, "text/plain", KRFormat.RDF_XML, KRFormat.TURTLE, 
"text/turtle", "text/n3"})
-    public Response post() {
+    public Response post(@PathParam(value = "service")  String serviceID, 
+                         @PathParam(value = "task") String taskID,
+                         @PathParam(value = "job")  String jobFlg) {
+        prepare(serviceID, taskID, jobFlg);
         return processRequest();
     }
 
     private Response processRequest() {
         if (job) {
+            log.trace("Processing in background");
             return processBackgroundRequest();
         } else {
+            log.trace("Processing in foreground");
             return processRealTimeRequest();
         }
     }
@@ -254,9 +283,15 @@ public class ReasoningServiceTaskResourc
      */
     @GET
     @Produces({TEXT_HTML, "text/plain", KRFormat.RDF_XML, KRFormat.TURTLE, 
"text/turtle", "text/n3"})
-    public Response get(@QueryParam("target") String targetGraphID) {
+    public Response get(@QueryParam("target") String targetGraphID,
+                        @PathParam(value = "service")  String serviceID, 
+                        @PathParam(value = "task") String taskID,
+                        @PathParam(value = "job")  String jobFlg) {
+        log.debug("Called GET serviceID {} taskID {}",serviceID, taskID);
+        prepare(serviceID, taskID, jobFlg);
         log.debug("Called GET with parameters: {} ", parameters.keySet()
                 .toArray(new String[parameters.keySet().size()]));
+        
         return processRequest();
     }
 
@@ -296,7 +331,8 @@ public class ReasoningServiceTaskResourc
     private Response processRealTimeRequest() {
         // If all parameters are missing we produce the service/task welcome
         // page
-        if (this.parameters.isEmpty()) {
+        if (this.parameters.isEmpty() && file == null) {
+            log.debug("no parameters no input file, show default index page");
             // return Response.ok(new Viewable("index", this)).build();
             ResponseBuilder rb = Response.ok(new Viewable("index", this));
             rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
@@ -310,7 +346,7 @@ public class ReasoningServiceTaskResourc
             ReasoningServiceExecutor executor = new 
ReasoningServiceExecutor(tcManager, imngr,
                     getCurrentService(), getCurrentTask(), target, parameters);
             ReasoningServiceResult<?> result = executor.call();
-            return new ResponseTaskBuilder(uriInfo, headers).build(result);
+            return new ResponseTaskBuilder(new ReasoningTaskResult(uriInfo, 
headers)).build(result);
         } catch (Exception e) {
             if (e instanceof RuntimeException) {
                 throw (RuntimeException)e;
@@ -353,12 +389,18 @@ public class ReasoningServiceTaskResourc
     @POST
     @Consumes({MULTIPART_FORM_DATA})
     @Produces({TEXT_HTML, "text/plain", KRFormat.RDF_XML, KRFormat.TURTLE, 
"text/turtle", "text/n3"})
-    public Response post(MultiPartBody data) {
-        log.debug(" post(FormDataMultiPart data)");
+    public Response post(MultiPartBody data,
+                         @PathParam(value = "service")  String serviceID, 
+                         @PathParam(value = "task") String taskID,
+                         @PathParam(value = "job")  String jobFlg) {
+        prepare(serviceID, taskID, jobFlg);
+        log.debug("Called POST post(MultiPartBody data, ...)");
         // In this case we setup the parameter from a multipart request
         
         if(data.getFormFileParameterValues("file").length > 0){
             file = data.getFormFileParameterValues("file")[0]; 
+        }else{
+            log.debug("No files in multipart body");
         }
         
         for(String p : data.getTextParameterNames()){
@@ -587,5 +629,29 @@ public class ReasoningServiceTaskResourc
         serviceProperties.put("path", service.getPath());
         return serviceProperties;
     }
+    
+    public class ReasoningTaskResult extends ResultData implements 
ReasoningResult {
+        private Object result;
+        private UriInfo uriInfo;
+        private HttpHeaders headers;
+        public ReasoningTaskResult(UriInfo uriInfo, HttpHeaders headers) {
+            this.headers = headers;
+            this.uriInfo = uriInfo;
+        }
+
+        public void setResult(Object result){
+            this.result = result;
+        }
+        public Object getResult() {
+            return this.result;
+        }
 
+        public HttpHeaders getHeaders() {
+            return headers;
+        }
+        
+        public UriInfo getUriInfo(){
+            return uriInfo;
+        }
+    }
 }

Modified: 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java?rev=1540501&r1=1540500&r2=1540501&view=diff
==============================================================================
--- 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java
 (original)
+++ 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java
 Sun Nov 10 18:01:14 2013
@@ -33,8 +33,11 @@ import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.ResponseBuilder;
 import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
 
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.stanbol.commons.web.viewable.Viewable;
 import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
 import org.apache.stanbol.reasoners.servicesapi.ReasoningService;
@@ -51,14 +54,18 @@ import org.slf4j.LoggerFactory;
  * @author enridaga
  *
  */
+@Component
+@Service(Object.class)
+@Property(name="javax.ws.rs", boolValue=true)
 @Path("/reasoners")
 public class ReasoningServicesResource extends BaseStanbolResource {
     private Logger log = LoggerFactory.getLogger(getClass());
-    private UriInfo uriInfo;
 
-    public ReasoningServicesResource(@Context UriInfo uriInfo) {
+    @Reference
+    private ReasoningServicesManager reasoningServicesManager;
+
+    public ReasoningServicesResource() {
         super();
-        this.uriInfo = uriInfo;
     }
 
     public String getCurrentPath() {
@@ -74,8 +81,7 @@ public class ReasoningServicesResource e
     }
 
     private ReasoningService<?,?,?> service = null;
-    private ReasoningServicesManager reasoningServicesManager;
-    
+        
     @GET
     @Produces(TEXT_HTML)
     @Path("{service}")
@@ -138,6 +144,7 @@ public class ReasoningServicesResource e
                serviceProperties.put("path", service.getPath());
                return serviceProperties;
     }
+    
     public List<Map<String,String>> getServicesDescription(){
        List<Map<String,String>> descriptions = new 
ArrayList<Map<String,String>>();
        for(ReasoningService<?, ?, ?> service : getActiveServices()){

Modified: 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java?rev=1540501&r1=1540500&r2=1540501&view=diff
==============================================================================
--- 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java
 (original)
+++ 
stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java
 Sun Nov 10 18:01:14 2013
@@ -35,6 +35,7 @@ import javax.ws.rs.core.Response.Status;
 
 import org.apache.stanbol.commons.web.viewable.Viewable;
 import org.apache.stanbol.commons.web.base.format.KRFormat;
+import org.apache.stanbol.reasoners.web.resources.ReasoningResult;
 import org.coode.owlapi.manchesterowlsyntax.ManchesterOWLSyntaxOntologyFormat;
 import org.semanticweb.owlapi.io.StreamDocumentTarget;
 import org.semanticweb.owlapi.model.OWLOntology;
@@ -54,14 +55,18 @@ import com.hp.hpl.jena.rdf.model.Model;
  */
 public class ResponseTaskBuilder {
     private final Logger log = LoggerFactory.getLogger(getClass());
-    private UriInfo info;
+//    private UriInfo info;
 //    private ServletContext context;
-    private HttpHeaders headers;
-    
-    public ResponseTaskBuilder(UriInfo info, HttpHeaders headers) {
-        this.info = info;
-//        this.context = context;
-        this.headers = headers;
+//    private HttpHeaders headers;
+    private ReasoningResult result;
+//    public ResponseTaskBuilder(UriInfo info, HttpHeaders headers) {
+//        this.info = info;
+////        this.context = context;
+//        this.headers = headers;
+//    }
+
+    public ResponseTaskBuilder(ReasoningResult reasoningPrettyResultResource) {
+        this.result = reasoningPrettyResultResource;
     }
 
     /**
@@ -91,11 +96,9 @@ public class ResponseTaskBuilder {
     private Response build(Object object){
         if (isHTML()) {
             OutputStream out = stream(object);
-            
+            this.result.setResult(out);
             ResponseBuilder rb = Response.ok( 
-                   new Viewable("result",
-                       new ReasoningPrettyResultResource(info, out))
-                    );
+                   new Viewable("result", result));
             
             rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
 //            addCORSOrigin(context, rb, headers);
@@ -159,7 +162,7 @@ public class ResponseTaskBuilder {
         String[] formats = { TEXT_HTML, "text/plain", KRFormat.RDF_XML,
                 KRFormat.TURTLE, "text/turtle", "text/n3" };
         rdfformats.addAll(Arrays.asList(formats));
-        List<MediaType> mediaTypes = headers.getAcceptableMediaTypes();
+        List<MediaType> mediaTypes = 
result.getHeaders().getAcceptableMediaTypes();
         for (MediaType t : mediaTypes) {
             String strty = t.toString();
             log.debug("Acceptable is {}", t);
@@ -186,10 +189,10 @@ public class ResponseTaskBuilder {
         if (isHTML()) {
             if (isConsistent) {
                 log.debug("The input is consistent");
-                
+                result.setResult("The input is consistent :)");
                 ResponseBuilder rb = Response.ok( 
                     new Viewable("result",
-                        new ReasoningPrettyResultResource(info, "The input is 
consistent :)")
+                        result
                         )
                      );
              
@@ -208,8 +211,8 @@ public class ResponseTaskBuilder {
                 ResponseBuilder rb = Response.status(Status.CONFLICT);
                 rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; 
charset=utf-8");
 //                addCORSOrigin(context, rb, headers);
-                rb.entity(new Viewable("result", new 
ReasoningPrettyResultResource(info,
-                        "The input is NOT consistent :(")));
+                result.setResult("The input is NOT consistent :(");
+                rb.entity(new Viewable("result", result));
                 return rb.build();
                 
                 /*return Response


Reply via email to