You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by en...@apache.org on 2011/11/23 19:18:42 UTC
svn commit: r1205524 - in
/incubator/stanbol/branches/lto-reasoners/reasoners:
hermit/src/main/java/org/apache/stanbol/reasoners/hermit/
manager/src/main/java/org/apache/stanbol/reasoners/manager/
servicesapi/src/main/java/org/apache/stanbol/reasoners/...
Author: enridaga
Date: Wed Nov 23 18:18:38 2011
New Revision: 1205524
URL: http://svn.apache.org/viewvc?rev=1205524&view=rev
Log:
Added/modified comments (STANBOL-343)
Modified:
incubator/stanbol/branches/lto-reasoners/reasoners/hermit/src/main/java/org/apache/stanbol/reasoners/hermit/HermitReasoningService.java
incubator/stanbol/branches/lto-reasoners/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java
incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceException.java
incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputFactory.java
incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputManager.java
incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputProvider.java
incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServicesManager.java
incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/UnboundReasoningServiceException.java
incubator/stanbol/branches/lto-reasoners/reasoners/test/src/main/java/org/apache/stanbol/reasoners/test/ReasonersTestBase.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/RESTInputFactory.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/SimpleInputManager.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/FileInputProvider.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/OntonetInputProvider.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/RecipeInputProvider.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/UrlInputProvider.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningPrettyResultResource.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceExecutor.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceResult.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java
incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/writers/JenaModelWriter.java
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/hermit/src/main/java/org/apache/stanbol/reasoners/hermit/HermitReasoningService.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/hermit/src/main/java/org/apache/stanbol/reasoners/hermit/HermitReasoningService.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/hermit/src/main/java/org/apache/stanbol/reasoners/hermit/HermitReasoningService.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/hermit/src/main/java/org/apache/stanbol/reasoners/hermit/HermitReasoningService.java Wed Nov 23 18:18:38 2011
@@ -17,6 +17,8 @@ import org.slf4j.LoggerFactory;
/**
* This class is the implementation of {@see OWLApiReasoningService} using the HermiT reasoner
+ *
+ * @author enridaga
*/
@Component(immediate = true, metatype = true)
@Service
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/manager/src/main/java/org/apache/stanbol/reasoners/manager/ReasoningServicesManagerImpl.java Wed Nov 23 18:18:38 2011
@@ -27,6 +27,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
+ * Implementation of the standard {@see ReasoningServicesManager}
+ * This is only intended to be used in OSGi environments.
+ *
+ * @author enridaga
+ *
* @scr.component immediate="true"
* @scr.service
* @scr.reference name="ReasoningService"
@@ -51,11 +56,6 @@ public class ReasoningServicesManagerImp
log.debug("{} services bound.", services.size());
}
- /*
- * (non-Javadoc)
- *
- * @see org.apache.stanbol.reasoners.web.resources.ReasoningServices#size()
- */
@Override
public int size() {
return services.size();
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceException.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceException.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceException.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceException.java Wed Nov 23 18:18:38 2011
@@ -16,6 +16,12 @@
*/
package org.apache.stanbol.reasoners.servicesapi;
+/**
+ * Generic exception
+ *
+ * @author enridaga
+ *
+ */
public class ReasoningServiceException extends Exception {
public ReasoningServiceException(Throwable t) {
super(t);
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputFactory.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputFactory.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputFactory.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputFactory.java Wed Nov 23 18:18:38 2011
@@ -19,6 +19,12 @@ package org.apache.stanbol.reasoners.ser
import java.util.List;
import java.util.Map;
+/**
+ * Defines a factory to create a {@see ReasoningServiceInputManager}
+ *
+ * @author enridaga
+ *
+ */
public interface ReasoningServiceInputFactory {
/**
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputManager.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputManager.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputManager.java Wed Nov 23 18:18:38 2011
@@ -21,6 +21,14 @@ import java.util.List;
import org.apache.stanbol.reasoners.servicesapi.ReasoningServiceInputProvider;
+/**
+ * A {@see ReasoningServiceInputManager} must be able to collect {@see ReasoningServiceInputProvider}s and
+ * traverse the whole data on {@see #getInputData(Class<T> type)}.
+ * Only input providers which support Type must be activated.
+ *
+ * @author enridaga
+ *
+ */
public interface ReasoningServiceInputManager {
/**
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputProvider.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputProvider.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServiceInputProvider.java Wed Nov 23 18:18:38 2011
@@ -19,6 +19,14 @@ package org.apache.stanbol.reasoners.ser
import java.io.IOException;
import java.util.Iterator;
+/**
+ * An input provider implements a method to return an iterator of 'atoms' to be processed by a reasoning service.
+ * The java type depends on the service implementation.
+ * Providers can adapt or not to the given type.
+ *
+ * @author enridaga
+ *
+ */
public interface ReasoningServiceInputProvider {
/**
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServicesManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServicesManager.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServicesManager.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/ReasoningServicesManager.java Wed Nov 23 18:18:38 2011
@@ -18,12 +18,34 @@ package org.apache.stanbol.reasoners.ser
import java.util.Set;
+/**
+ * Classes which implements this interface provide the {@see ReasoningService} mapped
+ * to a given key string (generally used as path for a REST endpoint)
+ *
+ * @author enridaga
+ *
+ */
public interface ReasoningServicesManager {
+ /**
+ * The number of available {@see ReasoningService}s
+ * @return
+ */
public abstract int size();
+ /**
+ * The {@see ReasoningService} mapped
+ * to the given key string
+ *
+ * @param path
+ * @return
+ * @throws UnboundReasoningServiceException
+ */
public abstract ReasoningService<?,?,?> get(String path) throws UnboundReasoningServiceException;
+ /**
+ * The unmodifiable set of available {@see ReasoningService}s
+ */
public abstract Set<ReasoningService<?,?,?>> asUnmodifiableSet();
}
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/UnboundReasoningServiceException.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/UnboundReasoningServiceException.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/UnboundReasoningServiceException.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/servicesapi/src/main/java/org/apache/stanbol/reasoners/servicesapi/UnboundReasoningServiceException.java Wed Nov 23 18:18:38 2011
@@ -16,6 +16,12 @@
*/
package org.apache.stanbol.reasoners.servicesapi;
+/**
+ * To be thrown when a missing reasoning service is requested
+ *
+ * @author enridaga
+ *
+ */
public class UnboundReasoningServiceException extends Exception {
/**
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/test/src/main/java/org/apache/stanbol/reasoners/test/ReasonersTestBase.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/test/src/main/java/org/apache/stanbol/reasoners/test/ReasonersTestBase.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/test/src/main/java/org/apache/stanbol/reasoners/test/ReasonersTestBase.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/test/src/main/java/org/apache/stanbol/reasoners/test/ReasonersTestBase.java Wed Nov 23 18:18:38 2011
@@ -37,6 +37,12 @@ import org.codehaus.jettison.json.JSONOb
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * Mini framework for writing services tests for running services
+ *
+ * @author enridaga
+ *
+ */
public class ReasonersTestBase extends StanbolTestBase{
protected final String REASONERS_PATH = "/reasoners";
protected final String JOBS_PATH = "/jobs";
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/RESTInputFactory.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/RESTInputFactory.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/RESTInputFactory.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/RESTInputFactory.java Wed Nov 23 18:18:38 2011
@@ -34,7 +34,16 @@ import org.apache.stanbol.reasoners.web.
import org.apache.stanbol.rules.base.api.RuleStore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
+/**
+ * Factory for a {@see ReasoningServiceInputManager}.
+ * It creates a {@see SimpleInputManager} collecting all known {@see ReasoningServiceInputProvider}s.
+ *
+ * TODO
+ * In the future we may want to move this out of the /web module into a dedicated /input module.
+ *
+ * @author enridaga
+ *
+ */
public class RESTInputFactory implements ReasoningServiceInputFactory {
ONManager onm;
RuleStore rStore;
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/SimpleInputManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/SimpleInputManager.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/SimpleInputManager.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/impl/SimpleInputManager.java Wed Nov 23 18:18:38 2011
@@ -26,27 +26,55 @@ import org.apache.stanbol.reasoners.serv
import org.apache.stanbol.reasoners.servicesapi.ReasoningServiceInputProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
+/**
+ *
+ * Simple implementation of {@see ReasoningServiceInputManager}.
+ * This class embeds a list of {@see ReasoningServiceInputProvider}s;
+ * When the {@see #getInputData(Class)} method is called, it iterates over all
+ * providers which support the given Class as type of the collection item.
+ *
+ * @author enridaga
+ *
+ */
public class SimpleInputManager implements ReasoningServiceInputManager {
private Logger logger = LoggerFactory.getLogger(SimpleInputManager.class);
private List<ReasoningServiceInputProvider> providers;
+ /**
+ * Constructor
+ */
public SimpleInputManager() {
this.providers = new ArrayList<ReasoningServiceInputProvider>();
}
+ /**
+ * Adds a {@see ReasoningServiceInputProvider}
+ *
+ * @param provider
+ */
@Override
public void addInputProvider(ReasoningServiceInputProvider provider) {
providers.add(provider);
}
+ /**
+ * Removes a {@see ReasoningServiceInputProvider}
+ *
+ * @param provider
+ */
@Override
public void removeInputProvider(ReasoningServiceInputProvider provider) {
providers.remove(provider);
}
+ /**
+ * Returns the Iterator which will embed all available data to be processed.
+ * If a provider cannot adapt to "type", it is ignored.
+ *
+ * @param type
+ */
@Override
public <T> Iterator<T> getInputData(final Class<T> type) {
final List<ReasoningServiceInputProvider> fProviders = getProviders();
@@ -140,6 +168,11 @@ public class SimpleInputManager implemen
};
}
+ /**
+ * Get the unmodifiable list of {@see ReasoningServiceInputProvider}
+ *
+ * @return List<ReasoningServiceInputProvider>
+ */
@Override
public List<ReasoningServiceInputProvider> getProviders() {
return Collections.unmodifiableList(providers);
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/FileInputProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/FileInputProvider.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/FileInputProvider.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/FileInputProvider.java Wed Nov 23 18:18:38 2011
@@ -18,7 +18,13 @@ package org.apache.stanbol.reasoners.web
import java.io.File;
-
+/**
+ * This input provider accepts a {@see File} as
+ * input and delegates all the rest to the parent class ({@see UrlInputProvider})
+ *
+ * @author enridaga
+ *
+ */
public class FileInputProvider extends UrlInputProvider {
public FileInputProvider(File file) {
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/OntonetInputProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/OntonetInputProvider.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/OntonetInputProvider.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/OntonetInputProvider.java Wed Nov 23 18:18:38 2011
@@ -44,6 +44,12 @@ import com.hp.hpl.jena.ontology.OntModel
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.rdf.model.StmtIterator;
+/**
+ * An input provider which binds the reasoners input to Ontonet
+ *
+ * @author enridaga
+ *
+ */
public class OntonetInputProvider implements ReasoningServiceInputProvider {
private final Logger log = LoggerFactory.getLogger(UrlInputProvider.class);
@@ -52,12 +58,25 @@ public class OntonetInputProvider implem
private String sessionId;
private ONManager onManager;
+ /**
+ * Contructor, if the input is a Scope
+ *
+ * @param onManager
+ * @param scopeId
+ */
public OntonetInputProvider(ONManager onManager, String scopeId) {
this.onManager = onManager;
this.scopeId = scopeId;
this.sessionId = null;
}
+ /**
+ * Constructor, if the input are a Scope and a Session
+ *
+ * @param onManager
+ * @param scopeId
+ * @param sessionId
+ */
public OntonetInputProvider(ONManager onManager, String scopeId, String sessionId) {
this.onManager = onManager;
this.scopeId = scopeId;
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/RecipeInputProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/RecipeInputProvider.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/RecipeInputProvider.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/RecipeInputProvider.java Wed Nov 23 18:18:38 2011
@@ -32,13 +32,26 @@ import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.SWRLRule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
+/**
+ * Input provider which binds the reasoners input to the Rule module.
+ *
+ * TODO Waiting for STANBOL-186, this provider only supports OWLApi reasoning services.
+ *
+ * @author enridaga
+ *
+ */
public class RecipeInputProvider implements ReasoningServiceInputProvider {
private final Logger log = LoggerFactory.getLogger(RecipeInputProvider.class);
private RuleStore store;
private String recipeId;
+ /**
+ * Constructor
+ *
+ * @param store
+ * @param recipeId
+ */
public RecipeInputProvider(RuleStore store,String recipeId){
this.store = store;
this.recipeId = recipeId;
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/UrlInputProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/UrlInputProvider.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/UrlInputProvider.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/input/provider/impl/UrlInputProvider.java Wed Nov 23 18:18:38 2011
@@ -40,10 +40,21 @@ import com.hp.hpl.jena.rdf.model.ModelFa
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.rdf.model.StmtIterator;
+/**
+ * Input provider which accept a url string as input.
+ *
+ * @author enridaga
+ *
+ */
public class UrlInputProvider implements ReasoningServiceInputProvider {
private final Logger log = LoggerFactory.getLogger(UrlInputProvider.class);
private String url;
+ /**
+ * Constructor
+ *
+ * @param url
+ */
public UrlInputProvider(String url) {
this.url = url;
}
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServiceTaskResource.java Wed Nov 23 18:18:38 2011
@@ -57,6 +57,7 @@ import org.apache.stanbol.reasoners.serv
import org.apache.stanbol.reasoners.servicesapi.ReasoningService;
import org.apache.stanbol.reasoners.servicesapi.ReasoningServiceException;
import org.apache.stanbol.reasoners.servicesapi.ReasoningServiceInputManager;
+import org.apache.stanbol.reasoners.servicesapi.ReasoningServiceInputProvider;
import org.apache.stanbol.reasoners.servicesapi.ReasoningServicesManager;
import org.apache.stanbol.reasoners.servicesapi.UnboundReasoningServiceException;
import org.apache.stanbol.reasoners.servicesapi.UnsupportedTaskException;
@@ -89,7 +90,7 @@ import com.sun.jersey.multipart.FormData
* This class includes methods to prepare the input and dispatch the output (back to the client in the
* requested format or saved in the triple store).
*
- * Support for long term operations is provided by adding /job to the request URI
+ * Support for long term operations is provided by adding /job to the request URI.
*
*/
@Path("/reasoners/{service}/{task: [^/]+}{job: (/job)?}")
@@ -107,6 +108,16 @@ public class ReasoningServiceTaskResourc
private boolean job = false;
private String jobLocation="";
+ /**
+ * 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,
@@ -114,7 +125,7 @@ public class ReasoningServiceTaskResourc
@Context HttpHeaders headers,
@Context HttpContext httpContext) {
super();
- log.info("Called service {} to perform task {}", serviceID, taskID);
+ log.debug("Called service {} to perform task {}", serviceID, taskID);
// ServletContext
this.context = servletContext;
@@ -151,7 +162,7 @@ public class ReasoningServiceTaskResourc
log.error("Service not found: {}", serviceID);
throw new WebApplicationException(e, Response.Status.NOT_FOUND);
}
- log.info("Service retrieved");
+ log.debug("Service retrieved");
// Check if the task is allowed
if (this.service.supportsTask(taskID) || taskID.equals(ReasoningServiceExecutor.TASK_CHECK)) {
this.taskID = taskID;
@@ -162,9 +173,9 @@ public class ReasoningServiceTaskResourc
}
// Check for the job parameter
if(!job.equals("")){
- log.info("Job param is {}",job);
+ log.debug("Job param is {}",job);
if(job.equals("/job")){
- log.info("Ask for background job");
+ log.debug("Ask for background job");
this.job = true;
}else{
log.error("Malformed request");
@@ -179,7 +190,7 @@ public class ReasoningServiceTaskResourc
"This implementation of ReasoningService is not supported: "
+ getCurrentService().getClass()), Response.Status.INTERNAL_SERVER_ERROR);
}
- log.info("Implementation is supported");
+ log.debug("Implementation is supported");
}
/**
@@ -189,22 +200,22 @@ public class ReasoningServiceTaskResourc
private Map<String,List<String>> prepareParameters() {
Map<String,List<String>> parameters = new HashMap<String,List<String>>();
- log.info("Preparing parameters...");
+ log.debug("Preparing parameters...");
HttpRequestContext request = this.httpContext.getRequest();
// Parameters for a GET request
MultivaluedMap<String,String> queryParameters = request.getQueryParameters();
- log.info("... {} query parameters found", queryParameters.size());
+ log.debug("... {} query parameters found", queryParameters.size());
for (Entry<String,List<String>> e : queryParameters.entrySet()) {
parameters.put(e.getKey(), e.getValue());
}
// Parameters for a POST request with content-type
// application/x-www-form-urlencoded
MultivaluedMap<String,String> formParameters = request.getFormParameters();
- log.info("... {} form urlencoded parameters found", formParameters.size());
+ log.debug("... {} form urlencoded parameters found", formParameters.size());
for (Entry<String,List<String>> e : formParameters.entrySet()) {
parameters.put(e.getKey(), e.getValue());
}
- log.info("Parameters prepared");
+ log.debug("Parameters prepared");
return parameters;
}
@@ -239,10 +250,16 @@ 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) {
- log.info("Called {} with parameters: {} ",httpContext.getRequest().getMethod(), parameters.keySet().toArray(new String[parameters.keySet().size()]));
+ log.debug("Called {} with parameters: {} ",httpContext.getRequest().getMethod(), parameters.keySet().toArray(new String[parameters.keySet().size()]));
return processRequest();
}
+ /**
+ * Process a background request. This service use the Stanbol Commons Jobs API to start a background job.
+ * Returns 201 on success, with HTTP header Location pointing to the Job resource.
+ *
+ * @return
+ */
private Response processBackgroundRequest(){
// If parameters is empty it's a bad request...
if (this.parameters.isEmpty()) {
@@ -266,6 +283,12 @@ public class ReasoningServiceTaskResourc
return Response.created(location).entity(view).build();
}
+ /**
+ * Process a real-time operation.
+ * Returns 200 when the process is ready, 500 if some error occurs
+ *
+ * @return
+ */
private Response processRealTimeRequest(){
// If all parameters are missing we produce the service/task welcome
// page
@@ -328,11 +351,11 @@ public class ReasoningServiceTaskResourc
@Consumes({MULTIPART_FORM_DATA})
@Produces({TEXT_HTML, "text/plain", KRFormat.RDF_XML, KRFormat.TURTLE, "text/turtle", "text/n3"})
public Response post(FormDataMultiPart data) {
- log.info(" post(FormDataMultiPart data)");
+ log.debug(" post(FormDataMultiPart data)");
// In this case we setup the parameter from a multipart request
File file = null;
for (BodyPart bpart : data.getBodyParts()) {
- log.info("is a {}", bpart.getClass());
+ log.debug("is a {}", bpart.getClass());
if (bpart instanceof FormDataBodyPart) {
FormDataBodyPart dbp = (FormDataBodyPart) bpart;
if (dbp.getName().equals("file")) {
@@ -373,6 +396,12 @@ public class ReasoningServiceTaskResourc
return processRequest();
}
+ /**
+ * Binds the request parameters to a list of {@see ReasoningServiceInputProvider}s, and fed a {@see SimpleInputManager}.
+ * TODO In the future we may want to decouple this process from this resource/submodule.
+ *
+ * @return
+ */
private ReasoningServiceInputManager prepareInput(){
ReasoningServiceInputManager inmgr = new SimpleInputManager();
String scope = null;
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasoningServicesResource.java Wed Nov 23 18:18:38 2011
@@ -37,6 +37,12 @@ import org.slf4j.LoggerFactory;
import com.sun.jersey.api.view.Viewable;
+/**
+ * Home page of the /reasoners module
+ *
+ * @author enridaga
+ *
+ */
@Path("/reasoners")
public class ReasoningServicesResource extends BaseStanbolResource {
private Logger log = LoggerFactory.getLogger(getClass());
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningPrettyResultResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningPrettyResultResource.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningPrettyResultResource.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningPrettyResultResource.java Wed Nov 23 18:18:38 2011
@@ -21,6 +21,12 @@ import javax.ws.rs.core.UriInfo;
import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
+/**
+ * This is a dummy resource to be used for human readable html output.
+ *
+ * @author enridaga
+ *
+ */
public class ReasoningPrettyResultResource extends BaseStanbolResource {
private Object result;
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceExecutor.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceExecutor.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceExecutor.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceExecutor.java Wed Nov 23 18:18:38 2011
@@ -56,7 +56,13 @@ import com.hp.hpl.jena.rdf.model.Stateme
import com.hp.hpl.jena.reasoner.rulesys.Rule;
/**
- * TODO Add comment
+ * This class executes the reasoning process, by delegating the actual work on the given {@see ReasoningService}.
+ * It can be used on real-time operations and as background {@see Job}
+ *
+ * Actually this class supports OWLApi and Jena based services.
+ * TODO In the future we may want to remove specific dependencies on service implementation from the executor.
+ *
+ * @author enridaga
*/
public class ReasoningServiceExecutor implements Job {
private Logger log = LoggerFactory.getLogger(getClass());
@@ -127,9 +133,9 @@ public class ReasoningServiceExecutor im
// If target is null, then get back results, elsewhere put it in
// target graph
- log.info("Prepare output");
+ log.debug("Prepare output");
if (targetGraphID == null) {
- log.info("Returning {} statements", result.size());
+ log.debug("Returning {} statements", result.size());
return new ReasoningServiceResult<Model>(task, true, outputModel);
} else {
save(outputModel, targetGraphID);
@@ -184,7 +190,7 @@ public class ReasoningServiceExecutor im
OWLOntology output = manager.createOntology();
Set<OWLAxiom> axioms = s.runTask(task, input, rules, filtered,
parameters);
- log.info("Prepare output: {} axioms",axioms.size());
+ log.debug("Prepare output: {} axioms",axioms.size());
manager.addAxioms(output,axioms);
if (targetGraphID == null) {
return new ReasoningServiceResult<OWLOntology>(task, true, manager.getOntology(output.getOntologyID()));
@@ -218,7 +224,7 @@ public class ReasoningServiceExecutor im
* @throws IOException
*/
protected void save(Object data, String targetGraphID) throws IOException {
- log.info("Attempt saving in target graph {}", targetGraphID);
+ log.debug("Attempt saving in target graph {}", targetGraphID);
final long startSave = System.currentTimeMillis();
LockableMGraph mGraph;
@@ -254,40 +260,51 @@ public class ReasoningServiceExecutor im
throw new IOException(
"Cannot save the result in clerezza!");
final long endSave = System.currentTimeMillis();
- log.info("Saved in time: {}ms", (endSave - startSave));
+ log.debug("Saved in time: {}ms", (endSave - startSave));
}
-
+ /**
+ * General method for execution, delegates to specific implementations.
+ *
+ * @param task
+ * @param service
+ * @param targetGraphID
+ * @param parameters
+ * @return
+ * @throws ReasoningServiceException
+ * @throws UnsupportedTaskException
+ * @throws InconsistentInputException
+ */
private ReasoningServiceResult<?> execute(String task,
ReasoningService<?,?,?> service,
String targetGraphID,
Map<String,List<String>> parameters) throws ReasoningServiceException,
UnsupportedTaskException, InconsistentInputException {
-
-
- log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
long start = System.currentTimeMillis();
- log.info("[start] Execution: {}",service.getClass().getCanonicalName());
- log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
-
- log.info("-----------------------------------------------------");
- log.info("execute()");
- log.info(" > task: {}", task);
- log.info(" > service: {}", service.getClass().getCanonicalName());
- log.info(" > target: {}", targetGraphID);
- log.info(" > parameters:");
- for(Entry<String,List<String>> e : parameters.entrySet()){
- log.info(" >> {}: {}",e.getKey());
- for(String v: e.getValue()){
- log.info(" >>> value: {}",v);
+ if(log.isDebugEnabled()){
+ log.debug(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+
+ log.debug("[start] Execution: {}",service.getClass().getCanonicalName());
+ log.debug(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+
+ log.debug("-----------------------------------------------------");
+ log.debug("execute()");
+ log.debug(" > task: {}", task);
+ log.debug(" > service: {}", service.getClass().getCanonicalName());
+ log.debug(" > target: {}", targetGraphID);
+ log.debug(" > parameters:");
+ for(Entry<String,List<String>> e : parameters.entrySet()){
+ log.debug(" >> {}: {}",e.getKey());
+ for(String v: e.getValue()){
+ log.debug(" >>> value: {}",v);
+ }
}
+ log.debug(" > input providers:");
+ for(ReasoningServiceInputProvider p : inmgr.getProviders()){
+ log.debug(" >> {}", p.getClass().getCanonicalName());
+ }
+ log.debug("-----------------------------------------------------");
}
- log.info(" > input providers:");
- for(ReasoningServiceInputProvider p : inmgr.getProviders()){
- log.info(" >> {}", p.getClass().getCanonicalName());
- }
- log.info("-----------------------------------------------------");
-
ReasoningServiceResult<?> result = null;
/**
* TODO Switch this into the ReasoningService implementation
@@ -305,14 +322,16 @@ public class ReasoningServiceExecutor im
Iterator<Rule> rulesI = inmgr.getInputData(Rule.class);
while (rulesI.hasNext()) {
Rule o = rulesI.next();
- log.info(">>>>>RULE>>>>>>>>>> {}",o);
+ log.debug("Rule: {}",o);
if(rules == null){
rules = new ArrayList<Rule>();
}
rules.add(o);
}
}
- log.info("Input size is {} statements",input.listStatements().toSet().size());
+ if(log.isDebugEnabled()){
+ log.debug("Input size is {} statements",input.listStatements().toSet().size());
+ }
result = executeJenaReasoningService(task, (JenaReasoningService) service, input, rules,
targetGraphID, true, parameters);
} else if (service instanceof OWLApiReasoningService) {
@@ -340,17 +359,20 @@ public class ReasoningServiceExecutor im
rules.add(rulesI.next());
}
}
- log.info("Input size is {} statements",input.getAxiomCount());
+ if(log.isDebugEnabled()){
+ log.debug("Input size is {} statements",input.getAxiomCount());
+ }
result = executeOWLApiReasoningService(task, (OWLApiReasoningService) service, input, rules,
targetGraphID, true, parameters);
} else throw new UnsupportedOperationException("Service implementation not supported!");
- log.info("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
- long end = System.currentTimeMillis();
- log.info("[end] In time: {}ms", (end - start));
- log.info("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
-
+ if(log.isDebugEnabled()){
+ log.debug("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
+ long end = System.currentTimeMillis();
+ log.debug("[end] In time: {}ms", (end - start));
+ log.debug("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
+ }
return result;
}
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceResult.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceResult.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceResult.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ReasoningServiceResult.java Wed Nov 23 18:18:38 2011
@@ -18,6 +18,13 @@ package org.apache.stanbol.reasoners.web
import org.apache.stanbol.commons.jobs.api.JobResult;
+/**
+ * To represent a result of a reasoning service.
+ *
+ * @author enridaga
+ *
+ * @param <T>
+ */
public class ReasoningServiceResult<T extends Object> implements JobResult{
private T resultObj;
private boolean success;
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/utils/ResponseTaskBuilder.java Wed Nov 23 18:18:38 2011
@@ -45,6 +45,12 @@ import uk.ac.manchester.cs.owl.owlapi.ma
import com.hp.hpl.jena.rdf.model.Model;
import com.sun.jersey.api.view.Viewable;
+/**
+ * Builds a response according to the reasoning output.
+ *
+ * @author enridaga
+ *
+ */
public class ResponseTaskBuilder {
private final Logger log = LoggerFactory.getLogger(getClass());
private UriInfo info;
@@ -71,6 +77,13 @@ public class ResponseTaskBuilder {
return Response.ok().build();
}
+ /**
+ * Process the given object (result content output),
+ * returning an HTML representation or delegating the rendering to jersey writers.
+ *
+ * @param object
+ * @return
+ */
private Response build(Object object){
if (isHTML()) {
OutputStream out = stream(object);
@@ -85,6 +98,10 @@ public class ResponseTaskBuilder {
}
/**
+ * This supports OWLOntology and jena Model objects.
+ * In the case of Jena the reuslt is printed as Turtle,
+ * in case of OWLApi the result is in Manchester syntax (more readable).
+ *
* FIXME: Both should return the same format
*
* @param object
@@ -129,7 +146,7 @@ public class ResponseTaskBuilder {
List<MediaType> mediaTypes = headers.getAcceptableMediaTypes();
for (MediaType t : mediaTypes) {
String strty = t.toString();
- log.info("Acceptable is {}", t);
+ log.debug("Acceptable is {}", t);
if (htmlformats.contains(strty)) {
log.debug("Requested format is HTML {}", t);
return true;
@@ -180,6 +197,12 @@ public class ResponseTaskBuilder {
}
}
+ /**
+ * Builds a response according to the given {@see ReasoningServiceResult}
+ *
+ * @param result
+ * @return
+ */
public Response build(ReasoningServiceResult<? extends Object> result){
// If task is CHECK
if(result.getTask().equals(ReasoningServiceExecutor.TASK_CHECK)){
Modified: incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/writers/JenaModelWriter.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/writers/JenaModelWriter.java?rev=1205524&r1=1205523&r2=1205524&view=diff
==============================================================================
--- incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/writers/JenaModelWriter.java (original)
+++ incubator/stanbol/branches/lto-reasoners/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/writers/JenaModelWriter.java Wed Nov 23 18:18:38 2011
@@ -35,6 +35,12 @@ import org.slf4j.LoggerFactory;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.RDFWriter;
+/**
+ * Writer for jena Model
+ *
+ * @author enridaga
+ *
+ */
@Provider
@Produces({"application/rdf+xml", "text/turtle", "text/n3", "text/plain", "application/turtle"})
public class JenaModelWriter implements MessageBodyWriter<Model> {
@@ -60,14 +66,14 @@ public class JenaModelWriter implements
}
public ByteArrayOutputStream toStream(Model t, String mediaType) {
- log.info("Serializing model to {}. Statements are {}", mediaType, t.listStatements().toSet().size());
+ log.debug("Serializing model to {}. Statements are {}", mediaType, t.listStatements().toSet().size());
ByteArrayOutputStream stream = new ByteArrayOutputStream();
if (mediaType.equals("application/rdf+xml")) {
t.write(stream);
} else if (mediaType.equals("application/turtle")) {
// t.write(stream, "TURTLE");
RDFWriter writer = t.getWriter("TURTLE");
- log.info("Writer for TURTLE: {}", writer);
+ log.debug("Writer for TURTLE: {}", writer);
writer.write(t, stream, null);
} else if (mediaType.equals("text/turtle")) {
t.write(stream, "TURTLE");
@@ -76,7 +82,9 @@ public class JenaModelWriter implements
} else if (mediaType.equals("text/n3")) {
t.write(stream, "N3");
}
- log.info("Written {} bytes to stream", stream.toByteArray().length);
+ if(log.isDebugEnabled()){
+ log.debug("Written {} bytes to stream", stream.toByteArray().length);
+ }
return stream;
}