Author: enridaga
Date: Wed Nov 23 15:38:07 2011
New Revision: 1205449
URL: http://svn.apache.org/viewvc?rev=1205449&view=rev
Log:
* Created interface JobInfo and related JobInfoImpl, both in /api
* Fixed JSON output in JobInfoWriter
* Added commons.jobs.api.impl to imported packages in web/pom.xml
* Removed unused 'reasoners' folders
(STANBOL-383)
Removed:
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/utils/JobInfo.java
Modified:
incubator/stanbol/trunk/commons/jobs/web/pom.xml
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/JobsFragment.java
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/resources/JobsResource.java
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/writers/JobInfoWriter.java
Modified: incubator/stanbol/trunk/commons/jobs/web/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/jobs/web/pom.xml?rev=1205449&r1=1205448&r2=1205449&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/jobs/web/pom.xml (original)
+++ incubator/stanbol/trunk/commons/jobs/web/pom.xml Wed Nov 23 15:38:07 2011
@@ -56,7 +56,8 @@
com.sun.jersey.api.view.*,
org.apache.commons.io.*,
org.apache.stanbol.commons.web.base.*,
- org.apache.stanbol.commons.jobs.api.*
+ org.apache.stanbol.commons.jobs.api.*,
+ org.apache.stanbol.commons.jobs.impl.*
</Import-Package>
</instructions>
</configuration>
Modified:
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/JobsFragment.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/JobsFragment.java?rev=1205449&r1=1205448&r2=1205449&view=diff
==============================================================================
---
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/JobsFragment.java
(original)
+++
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/JobsFragment.java
Wed Nov 23 15:38:07 2011
@@ -9,6 +9,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.apache.stanbol.commons.jobs.web.resources.JobsResource;
+import org.apache.stanbol.commons.jobs.web.writers.JobInfoWriter;
import org.apache.stanbol.commons.web.base.LinkResource;
import org.apache.stanbol.commons.web.base.NavigationLink;
import org.apache.stanbol.commons.web.base.ScriptResource;
@@ -43,6 +44,8 @@ public class JobsFragment implements Web
public Set<Class<?>> getJaxrsResourceClasses() {
Set<Class<?>> classes = new HashSet<Class<?>>();
classes.add(JobsResource.class);
+ // Writer
+ classes.add(JobInfoWriter.class);
return classes;
}
Modified:
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/resources/JobsResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/resources/JobsResource.java?rev=1205449&r1=1205448&r2=1205449&view=diff
==============================================================================
---
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/resources/JobsResource.java
(original)
+++
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/resources/JobsResource.java
Wed Nov 23 15:38:07 2011
@@ -23,9 +23,10 @@ import javax.ws.rs.core.Response;
import org.apache.stanbol.commons.web.base.ContextHelper;
import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
import org.apache.stanbol.commons.jobs.api.Job;
+import org.apache.stanbol.commons.jobs.api.JobInfo;
import org.apache.stanbol.commons.jobs.api.JobManager;
import org.apache.stanbol.commons.jobs.api.JobResult;
-import org.apache.stanbol.commons.jobs.web.utils.JobInfo;
+import org.apache.stanbol.commons.jobs.impl.JobInfoImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -69,7 +70,7 @@ public class JobsResource extends BaseSt
@GET
@Path("/{jid}")
public Response get(@PathParam("jid") String id) {
- log.info("Job {}", id);
+ log.info("Called get() with id {}", id);
// No id
if(id == null || id.equals("")){
@@ -82,7 +83,7 @@ public class JobsResource extends BaseSt
if (m.hasJob(id)) {
log.info("Found job with id {}", id);
Future<?> f = m.ping(id);
- this.info = new JobInfo();
+ this.info = new JobInfoImpl();
if(f.isDone()){
// The job is finished
if(f.isCancelled()){
@@ -106,8 +107,10 @@ public class JobsResource extends BaseSt
info.setOutputLocation(getPublicBaseUri() +
m.getResultLocation(id));
if(isHTML()){
+ // Result as HTML
return Response.ok(new Viewable("info", this)).build();
}else{
+ // Result as application/json, text/plain
return Response.ok(info).build();
}
} else {
Modified:
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/writers/JobInfoWriter.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/writers/JobInfoWriter.java?rev=1205449&r1=1205448&r2=1205449&view=diff
==============================================================================
---
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/writers/JobInfoWriter.java
(original)
+++
incubator/stanbol/trunk/commons/jobs/web/src/main/java/org/apache/stanbol/commons/jobs/web/writers/JobInfoWriter.java
Wed Nov 23 15:38:07 2011
@@ -14,7 +14,8 @@ import javax.ws.rs.ext.MessageBodyWriter
import javax.ws.rs.ext.Provider;
import org.apache.commons.io.IOUtils;
-import org.apache.stanbol.commons.jobs.web.utils.JobInfo;
+import org.apache.stanbol.commons.jobs.api.JobInfo;
+import org.apache.stanbol.commons.jobs.impl.JobInfoImpl;
/**
* Writer for job info
@@ -34,14 +35,14 @@ public class JobInfoWriter implements Me
// Json
StringBuilder b = new StringBuilder()
.append("{")
- .append("\n\t").append("\"status\":
").append("\"").append(t.getStatus()).append("\"").append(",")
- .append("\n\t").append("\"outputLocation\":
").append("\"").append(t.getOutputLocation()).append("\"")
- .append("\n\t").append("\"messages\": ").append("{");
+ .append("\n\t").append("\"status\":
").append("\"").append(t.getStatus()).append("\"")
+ .append(",\n\t").append("\"outputLocation\":
").append("\"").append(t.getOutputLocation()).append("\"")
+ .append(",\n\t").append("\"messages\": ").append("[");
for(String m : t.getMessages()){
b.append("\n\t\t\"").append(m).append("\",");
}
- b.append("\n\t\t}\n}")
- .toString();
+ b.append("\n\t\t]\n}");
+ IOUtils.write(b.toString(), stream);
} else if (mediaType.equals("text/plain")) {
// Plain text
StringBuilder b = new StringBuilder()
@@ -59,7 +60,7 @@ public class JobInfoWriter implements Me
@Override
public boolean isWriteable(Class<?> type, Type genericType, Annotation[]
annotations, MediaType mediaType) {
- return JobInfo.class.isAssignableFrom(type);
+ return JobInfoImpl.class.isAssignableFrom(type);
}
@Override