Author: alexdma
Date: Wed Jul  6 13:51:59 2011
New Revision: 1143414

URL: http://svn.apache.org/viewvc?rev=1143414&view=rev
Log:
STANBOL-253 :
- removed stdout prints and replaced them with SLF4j logging where necessary
- cleaned up import statements in corresponding classes

Modified:
    
incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunReasonerTest.java
    
incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunRulesTest.java
    
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java
    
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ConsistencyCheck.java
    
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ConsistentRefactoring.java
    
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Enrichment.java
    
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasonersResource.java

Modified: 
incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunReasonerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunReasonerTest.java?rev=1143414&r1=1143413&r2=1143414&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunReasonerTest.java
 (original)
+++ 
incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunReasonerTest.java
 Wed Jul  6 13:51:59 2011
@@ -26,38 +26,38 @@ import org.semanticweb.owlapi.model.OWLO
 import org.semanticweb.owlapi.model.OWLOntologyManager;
 import org.semanticweb.owlapi.reasoner.OWLReasoner;
 import org.semanticweb.owlapi.util.InferredOntologyGenerator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
- *
+ * 
  * @author elvio
  */
 public class RunReasonerTest {
 
     public OWLOntologyManager owlmanager;
+
     public OWLOntology owl;
 
+    private Logger log = LoggerFactory.getLogger(getClass());
+
     public RunReasonerTest() throws OWLOntologyCreationException {
         this.owlmanager = OWLManager.createOWLOntologyManager();
-        this.owl = owlmanager.loadOntologyFromOntologyDocument(new 
File("./src/main/resources/TestFile/ProvaParent.owl"));
+        this.owl = owlmanager.loadOntologyFromOntologyDocument(new File(
+                "./src/main/resources/TestFile/ProvaParent.owl"));
     }
 
     @BeforeClass
-    public static void setUpClass() throws Exception {
-    }
+    public static void setUpClass() throws Exception {}
 
     @AfterClass
-    public static void tearDownClass() throws Exception {
-    }
+    public static void tearDownClass() throws Exception {}
 
     @Before
-    public void setUp() {
-    }
+    public void setUp() {}
 
     @After
-    public void tearDown() {
-    }
-
-   
+    public void tearDown() {}
 
     /**
      * Test of runClassifyInference method, of class RunReasoner.
@@ -73,16 +73,11 @@ public class RunReasonerTest {
 
         CreateReasoner reasonerforcheck = new CreateReasoner(inf);
         RunReasoner run = new RunReasoner(reasonerforcheck.getReasoner());
-        System.out.println(":::::::::::::::: consistency check 
"+run.isConsistent());
-
+        log.debug("Ontology {} is " + (run.isConsistent() ? "consistent" : 
"NOT consistent") + ".",
+            inf.getOntologyID());
+        assertNotNull(inf);
         int ax = inf.getAxiomCount();
-        
-        if(inf!=null){
-            assertEquals(10, ax);
-        // TODO review the generated test code and remove the default call to 
fail.
-        }else{
-            fail("Some errors occur with runClassifyInference of 
KReSCreateReasoner.");
-        }
+        assertEquals(10, ax);
 
     }
 
@@ -95,21 +90,17 @@ public class RunReasonerTest {
 
         CreateReasoner reasoner = new CreateReasoner(owl);
         RunReasoner instance = new RunReasoner(reasoner.getReasoner());
-        
+
         owl = instance.runClassifyInference(owl);
 
         CreateReasoner reasonerforcheck = new CreateReasoner(owl);
         RunReasoner run = new RunReasoner(reasonerforcheck.getReasoner());
-        System.out.println(":::::::::::::::: consistency check 
"+run.isConsistent());
 
+        log.debug("Ontology {} is " + (run.isConsistent() ? "consistent" : 
"NOT consistent") + ".",
+            owl.getOntologyID());
+        assertNotNull(owl);
         int ax = owl.getAxiomCount();
-
-        if(owl!=null){
-            assertEquals(true,(ax>contin));
-        // TODO review the generated test code and remove the default call to 
fail.
-        }else{
-            fail("Some errors occur with runClassifyInference of 
KReSCreateReasoner.");
-        }
+        assertTrue(ax > contin);
 
     }
 
@@ -119,54 +110,48 @@ public class RunReasonerTest {
     @Test
     public void testIsConsistence() {
         OWLReasoner expris = (new ReasonerFactory()).createReasoner(owl);
-        //expris.prepareReasoner();
+        // expris.prepareReasoner();
         CreateReasoner reasoner = new CreateReasoner(owl);
         RunReasoner instance = new RunReasoner(reasoner.getReasoner());
         boolean expResult = expris.isConsistent();
         boolean result = instance.isConsistent();
-        if(result){
-            assertEquals(expResult, result);
-        // TODO review the generated test code and remove the default call to 
fail.
-        }else{
-            fail("Some errors occur with isConsistence of 
KReSCreateReasoner.");
-        }
+
+        assertTrue(result);
+        assertEquals(expResult, result);
     }
 
     /**
      * Test of runGeneralInference method, of class RunReasoner.
      */
     @Test
-    public void testRunGeneralInference_0args(){
+    public void testRunGeneralInference_0args() {
         CreateReasoner reasoner = new CreateReasoner(owl);
         RunReasoner instance = new RunReasoner(reasoner.getReasoner());
         OWLOntology result = instance.runGeneralInference();
 
         CreateReasoner reasonerforcheck = new CreateReasoner(result);
         RunReasoner run = new RunReasoner(reasonerforcheck.getReasoner());
-        System.out.println(":::::::::::::::: consistency check 
"+run.isConsistent());
+        log.debug("Ontology {} is " + (run.isConsistent() ? "consistent" : 
"NOT consistent") + ".",
+            owl.getOntologyID());
 
         OWLReasoner expris = (new ReasonerFactory()).createReasoner(owl);
-        //expris.prepareReasoner();
-        InferredOntologyGenerator iogpellet  = new 
InferredOntologyGenerator(expris);
+        // expris.prepareReasoner();
+        InferredOntologyGenerator iogpellet = new 
InferredOntologyGenerator(expris);
 
         iogpellet.fillOntology(owlmanager, owl);
 
         Set<OWLAxiom> setx = owl.getAxioms();
         Iterator<OWLAxiom> iter = setx.iterator();
 
-            while(iter.hasNext()){
-                OWLAxiom axiom = iter.next();
-                if(axiom.toString().contains("Equivalent")){
-                 owl.getOWLOntologyManager().removeAxiom(owl,axiom);
-                }
+        while (iter.hasNext()) {
+            OWLAxiom axiom = iter.next();
+            if (axiom.toString().contains("Equivalent")) {
+                owl.getOWLOntologyManager().removeAxiom(owl, axiom);
             }
-
-        if(result!=null){
-            assertEquals(owl, result);
-        // TODO review the generated test code and remove the default call to 
fail.
-        }else{
-            fail("Some errors occur with RunGeneralInference of 
KReSCreateReasoner.");
         }
+
+        assertNotNull(result);
+        assertEquals(owl, result);
     }
 
     /**
@@ -181,20 +166,17 @@ public class RunReasonerTest {
 
         CreateReasoner reasonerforcheck = new CreateReasoner(result);
         RunReasoner run = new RunReasoner(reasonerforcheck.getReasoner());
-        System.out.println(":::::::::::::::: consistency check 
"+run.isConsistent());
-        
+        log.debug("Ontology {} is " + (run.isConsistent() ? "consistent" : 
"NOT consistent") + ".",
+            owl.getOntologyID());
+
         OWLReasoner expris = (new ReasonerFactory()).createReasoner(owl);
-        //expris.prepareReasoner();
-        InferredOntologyGenerator iogpellet  =new 
InferredOntologyGenerator(expris);
+        // expris.prepareReasoner();
+        InferredOntologyGenerator iogpellet = new 
InferredOntologyGenerator(expris);
         iogpellet.fillOntology(owlmanager, owl);
         OWLOntology expResult = owl;
 
-        if(result!=null){
-         assertEquals(expResult, result);
-        // TODO review the generated test code and remove the default call to 
fail.
-        }else{
-            fail("Some errors occur with RunGeneralInference with new ontology 
of KReSCreateReasoner.");
-        }
+        assertNotNull(result);
+        assertEquals(expResult, result);
     }
 
 }
\ No newline at end of file

Modified: 
incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunRulesTest.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunRulesTest.java?rev=1143414&r1=1143413&r2=1143414&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunRulesTest.java
 (original)
+++ 
incubator/stanbol/trunk/reasoners/base/src/test/java/org/apache/stanbol/reasoners/base/RunRulesTest.java
 Wed Jul  6 13:51:59 2011
@@ -24,25 +24,35 @@ import org.semanticweb.owlapi.model.OWLA
 import org.semanticweb.owlapi.model.OWLOntology;
 import org.semanticweb.owlapi.model.OWLOntologyCreationException;
 import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.hp.hpl.jena.ontology.OntModel;
 import com.hp.hpl.jena.rdf.model.ModelFactory;
 
 /**
- *
+ * 
  * @author elvio
  */
 public class RunRulesTest {
 
+    private Logger log = LoggerFactory.getLogger(getClass());
+
     public OWLOntologyManager owlmanagertarget;
+
     public OWLOntologyManager owlnamagerswrlt;
+
     public OWLOntology owltarget;
+
     public OWLOntology owlswrl;
+
     public OntModel jenaswrl;
 
     public RunRulesTest() throws OWLOntologyCreationException, IOException {
-        this.owltarget = 
OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(new 
File("./src/main/resources/TestFile/ProvaParent.owl"));
-        this.owlswrl = 
OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(new 
File("./src/main/resources/TestFile/OnlyRuledProvaParent.owl"));
+        this.owltarget = 
OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(
+            new File("./src/main/resources/TestFile/ProvaParent.owl"));
+        this.owlswrl = 
OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(
+            new 
File("./src/main/resources/TestFile/OnlyRuledProvaParent.owl"));
         this.owlmanagertarget = owltarget.getOWLOntologyManager();
         this.owlnamagerswrlt = owlswrl.getOWLOntologyManager();
         this.jenaswrl = ModelFactory.createOntologyModel();
@@ -50,90 +60,80 @@ public class RunRulesTest {
     }
 
     @BeforeClass
-    public static void setUpClass() throws Exception {
-    }
+    public static void setUpClass() throws Exception {}
 
     @AfterClass
-    public static void tearDownClass() throws Exception {
-    }
+    public static void tearDownClass() throws Exception {}
 
     @Before
-    public void setUp() {
-    }
+    public void setUp() {}
 
     @After
-    public void tearDown() {
-    }
+    public void tearDown() {}
 
     /**
      * Test of runRulesReasoner method, of class RunRules.
      */
     @Test
-    public void testRunRulesReasoner_OWLOntology_1() throws 
OWLOntologyCreationException{
+    public void testRunRulesReasoner_OWLOntology_1() throws 
OWLOntologyCreationException {
+
+        OWLOntology newmodel = OWLManager.createOWLOntologyManager()
+                .createOntology(owltarget.getOntologyID());
+        RunRules instance = new RunRules(owlswrl, owltarget);
 
-        OWLOntology newmodel = 
OWLManager.createOWLOntologyManager().createOntology(owltarget.getOntologyID());
-        RunRules instance = new RunRules(owlswrl,owltarget);
-       
         newmodel = instance.runRulesReasoner(newmodel);
-        
+
         CreateReasoner reasonerforcheck = new CreateReasoner(newmodel);
         RunReasoner run = new RunReasoner(reasonerforcheck.getReasoner());
-        System.out.println(":::::::::::::::: consistency check 
"+run.isConsistent());
-        
+        log.debug("Ontology {} is " + (run.isConsistent() ? "consistent" : 
"NOT consistent") + ".",
+            newmodel.getOntologyID());
+
         Iterator<OWLAxiom> axiom = newmodel.getAxioms().iterator();
         Iterator<OWLAxiom> axt = owltarget.getAxioms().iterator();
 
-        String inferedaxiom 
="ObjectPropertyAssertion(<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#hasUncle>
 <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#Tom> 
<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#John>)";
+        String inferedaxiom = 
"ObjectPropertyAssertion(<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#hasUncle>
 <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#Tom> 
<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#John>)";
         String ax;
-        
-        if(newmodel!=null){
-        while(axt.hasNext()){
+
+        assertNotNull(newmodel);
+
+        while (axt.hasNext()) {
             ax = axt.next().toString();
-            if(ax.equals(inferedaxiom))
-                fail("Some errors occur with runRulesReasoner with new 
ontology in KReSRunRules.");
-        // TODO review the generated test code and remove the default call to 
fail.
-        }}else{
-            fail("Some errors occur with runRulesReasoner with new ontology in 
KReSRunRules.");
+            if (ax.equals(inferedaxiom)) fail("Some errors occur with 
runRulesReasoner with new ontology in KReSRunRules.");
         }
 
-        if(newmodel!=null){
-        while(axiom.hasNext()){
+        while (axiom.hasNext()) {
             ax = axiom.next().toString();
-            if(ax.equals(inferedaxiom))
-                assertEquals(inferedaxiom, ax.toString());
-        // TODO review the generated test code and remove the default call to 
fail.
-        }}else{
-            fail("Some errors occur with runRulesReasoner with new ontology in 
KReSRunRules.");
+            if (ax.equals(inferedaxiom)) assertEquals(inferedaxiom, 
ax.toString());
         }
+
     }
 
     /**
      * Test of runRulesReasoner method, of class RunRules.
      */
     @Test
-    public void testRunRulesReasoner_0args_1(){
+    public void testRunRulesReasoner_0args_1() {
 
-        RunRules instance = new RunRules(owlswrl,owltarget);
+        RunRules instance = new RunRules(owlswrl, owltarget);
         OWLOntology newmodel = instance.runRulesReasoner();
 
         CreateReasoner reasonerforcheck = new CreateReasoner(newmodel);
         RunReasoner run = new RunReasoner(reasonerforcheck.getReasoner());
-        System.out.println(":::::::::::::::: consistency check 
"+run.isConsistent());
+        log.debug("Ontology {} is " + (run.isConsistent() ? "consistent" : 
"NOT consistent") + ".",
+            newmodel.getOntologyID());
 
         Iterator<OWLAxiom> axiom = newmodel.getAxioms().iterator();
 
-        String inferedaxiom 
="ObjectPropertyAssertion(<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#hasUncle>
 <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#Tom> 
<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#John>)";
+        String inferedaxiom = 
"ObjectPropertyAssertion(<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#hasUncle>
 <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#Tom> 
<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#John>)";
         String ax;
 
-        if(newmodel!=null){
-        while(axiom.hasNext()){
+        assertNotNull(newmodel);
+
+        while (axiom.hasNext()) {
             ax = axiom.next().toString();
-            if(ax.equals(inferedaxiom))
-                assertEquals(inferedaxiom, ax.toString());
-        // TODO review the generated test code and remove the default call to 
fail.
-        }}else{
-            fail("Some errors occur with runRulesReasoner in KReSRunRules.");
+            if (ax.equals(inferedaxiom)) assertEquals(inferedaxiom, 
ax.toString());
         }
+
     }
 
     /**
@@ -142,69 +142,63 @@ public class RunRulesTest {
     @Test
     public void testRunRulesReasoner_OWLOntology_2() throws 
OWLOntologyCreationException {
 
-        OWLOntology newmodel = 
OWLManager.createOWLOntologyManager().createOntology(owltarget.getOntologyID());
-        RunRules instance = new RunRules(jenaswrl.getBaseModel(),owltarget);
+        OWLOntology newmodel = OWLManager.createOWLOntologyManager()
+                .createOntology(owltarget.getOntologyID());
+        RunRules instance = new RunRules(jenaswrl.getBaseModel(), owltarget);
 
         newmodel = instance.runRulesReasoner(newmodel);
 
         CreateReasoner reasonerforcheck = new CreateReasoner(newmodel);
         RunReasoner run = new RunReasoner(reasonerforcheck.getReasoner());
-        System.out.println(":::::::::::::::: consistency check 
"+run.isConsistent());
+        log.debug("Ontology {} is " + (run.isConsistent() ? "consistent" : 
"NOT consistent") + ".",
+            newmodel.getOntologyID());
 
         Iterator<OWLAxiom> axiom = newmodel.getAxioms().iterator();
         Iterator<OWLAxiom> axt = owltarget.getAxioms().iterator();
 
-        String inferedaxiom 
="ObjectPropertyAssertion(<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#hasUncle>
 <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#Tom> 
<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#John>)";
+        String inferedaxiom = 
"ObjectPropertyAssertion(<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#hasUncle>
 <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#Tom> 
<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#John>)";
         String ax;
 
-        if(newmodel!=null){
-        while(axt.hasNext()){
+        assertNotNull(newmodel);
+
+        while (axt.hasNext()) {
             ax = axt.next().toString();
-            if(ax.equals(inferedaxiom))
-                fail("Some errors occur with runRulesReasoner with new 
ontology in KReSRunRules.");
-        // TODO review the generated test code and remove the default call to 
fail.
-        }}else{
-            fail("Some errors occur with runRulesReasoner with new ontology in 
KReSRunRules.");
-        }
-        
-        if(newmodel!=null){
-        while(axiom.hasNext()){
+            if (ax.equals(inferedaxiom)) fail("Some errors occur with 
runRulesReasoner with new ontology in KReSRunRules.");
+        }
+
+        while (axiom.hasNext()) {
             ax = axiom.next().toString();
-            if(ax.equals(inferedaxiom))
-                assertEquals(inferedaxiom, ax.toString());
-        // TODO review the generated test code and remove the default call to 
fail.
-        }}else{
-            fail("Some errors occur with runRulesReasoner with new ontology in 
KReSRunRules.");
+            if (ax.equals(inferedaxiom)) assertEquals(inferedaxiom, 
ax.toString());
         }
+
     }
 
     /**
      * Test of runRulesReasoner method, of class RunRules.
      */
     @Test
-    public void testRunRulesReasoner_0args_2(){
+    public void testRunRulesReasoner_0args_2() {
 
-        RunRules instance = new RunRules(jenaswrl,owltarget);
+        RunRules instance = new RunRules(jenaswrl, owltarget);
         OWLOntology newmodel = instance.runRulesReasoner();
 
         CreateReasoner reasonerforcheck = new CreateReasoner(newmodel);
         RunReasoner run = new RunReasoner(reasonerforcheck.getReasoner());
-        System.out.println(":::::::::::::::: consistency check 
"+run.isConsistent());
+        log.debug("Ontology {} is " + (run.isConsistent() ? "consistent" : 
"NOT consistent") + ".",
+            newmodel.getOntologyID());
 
         Iterator<OWLAxiom> axiom = newmodel.getAxioms().iterator();
 
-        String inferedaxiom 
="ObjectPropertyAssertion(<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#hasUncle>
 <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#Tom> 
<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#John>)";
+        String inferedaxiom = 
"ObjectPropertyAssertion(<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#hasUncle>
 <http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#Tom> 
<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#John>)";
         String ax;
 
-        if(newmodel!=null){
-        while(axiom.hasNext()){
+        assertNotNull(newmodel);
+
+        while (axiom.hasNext()) {
             ax = axiom.next().toString();
-            if(ax.equals(inferedaxiom))
-                assertEquals(inferedaxiom, ax.toString());
-        // TODO review the generated test code and remove the default call to 
fail.
-        }}else{
-            fail("Some errors occur with runRulesReasoner in KReSRunRules.");
+            if (ax.equals(inferedaxiom)) assertEquals(inferedaxiom, 
ax.toString());
         }
+
     }
 
 }
\ No newline at end of file

Modified: 
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java
URL: 
http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java?rev=1143414&r1=1143413&r2=1143414&view=diff
==============================================================================
--- 
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java
 (original)
+++ 
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/Classify.java
 Wed Jul  6 13:51:59 2011
@@ -5,16 +5,12 @@
 
 package org.apache.stanbol.reasoners.web.resources;
 
-import static javax.ws.rs.core.MediaType.TEXT_HTML;
+import static javax.ws.rs.core.MediaType.*;
+import static javax.ws.rs.core.Response.Status.*;
 
-import java.io.BufferedOutputStream;
 import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.File;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.net.URL;
-import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.Iterator;
@@ -31,9 +27,7 @@ import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
 
 import org.apache.stanbol.commons.web.base.ContextHelper;
 import org.apache.stanbol.commons.web.base.format.KRFormat;
@@ -55,468 +49,384 @@ import org.apache.stanbol.rules.manager.
 import org.apache.stanbol.rules.manager.changes.RuleStoreImpl;
 import org.apache.stanbol.rules.manager.parse.RuleParserImpl;
 import org.semanticweb.owlapi.apibinding.OWLManager;
-import org.semanticweb.owlapi.io.FileDocumentTarget;
-import org.semanticweb.owlapi.io.StreamDocumentTarget;
 import org.semanticweb.owlapi.io.StringDocumentTarget;
 import org.semanticweb.owlapi.model.AddImport;
-import org.semanticweb.owlapi.model.AxiomType;
 import org.semanticweb.owlapi.model.IRI;
-import org.semanticweb.owlapi.model.OWLAnnotation;
-import org.semanticweb.owlapi.model.OWLAnnotationProperty;
 import org.semanticweb.owlapi.model.OWLAxiom;
 import org.semanticweb.owlapi.model.OWLClass;
 import org.semanticweb.owlapi.model.OWLClassAssertionAxiom;
 import org.semanticweb.owlapi.model.OWLDataFactory;
 import org.semanticweb.owlapi.model.OWLDataProperty;
-import org.semanticweb.owlapi.model.OWLDatatype;
 import org.semanticweb.owlapi.model.OWLIndividual;
 import org.semanticweb.owlapi.model.OWLLiteral;
 import org.semanticweb.owlapi.model.OWLObjectProperty;
 import org.semanticweb.owlapi.model.OWLOntology;
 import org.semanticweb.owlapi.model.OWLOntologyChange;
-import org.semanticweb.owlapi.model.OWLOntologyCreationException;
 import org.semanticweb.owlapi.model.OWLOntologyManager;
 import org.semanticweb.owlapi.model.SWRLRule;
 import org.semanticweb.owlapi.reasoner.InconsistentOntologyException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.rdf.model.Resource;
 import com.sun.jersey.api.view.Viewable;
 import com.sun.jersey.multipart.FormDataParam;
 
 /**
- *
+ * 
  * @author elvio
  */
 @Path("/reasoners/classify")
-public class Classify extends BaseStanbolResource{
+public class Classify extends BaseStanbolResource {
 
-     private RuleStore kresRuleStore;
-     private OWLOntology inputowl;
-     private OWLOntology scopeowl;
+    private RuleStore kresRuleStore;
 
-       protected ONManager onm;
-       protected ClerezzaOntologyStorage storage;
-       protected ServletContext servletContext;
+    private OWLOntology inputowl;
 
-       private Logger log = LoggerFactory.getLogger(getClass());
+    protected ONManager onm;
+
+    protected ClerezzaOntologyStorage storage;
+
+    protected ServletContext servletContext;
+
+    private Logger log = LoggerFactory.getLogger(getClass());
 
     /**
      * To get the RuleStoreImpl where are stored the rules and the recipes
-     *
-        * @param servletContext
-        *            {To get the context where the REST service is running.}
+     * 
+     * @param servletContext
+     *            {To get the context where the REST service is running.}
      */
-    public Classify(@Context ServletContext servletContext){
+    public Classify(@Context ServletContext servletContext) {
         this.servletContext = servletContext;
 
         // Retrieve the rule store
         this.kresRuleStore = (RuleStore) 
ContextHelper.getServiceFromContext(RuleStore.class, servletContext);
-        
-               // Retrieve the ontology network manager
+
+        // Retrieve the ontology network manager
         this.onm = (ONManager) 
ContextHelper.getServiceFromContext(ONManager.class, servletContext);
-        this.storage = (ClerezzaOntologyStorage) 
ContextHelper.getServiceFromContext(ClerezzaOntologyStorage.class, 
servletContext);
-       
-       if (kresRuleStore == null) {
-                       log
-                                       .warn("No KReSRuleStore with stored 
rules and recipes found in servlet context. Instantiating manually with default 
values...");
-                       this.kresRuleStore = new RuleStoreImpl(onm,
-                                       new Hashtable<String, Object>(), "");
-                       log
-                                       .debug("PATH TO OWL FILE LOADED: "
-                                                       + 
kresRuleStore.getFilePath());
+        this.storage = (ClerezzaOntologyStorage) 
ContextHelper.getServiceFromContext(
+            ClerezzaOntologyStorage.class, servletContext);
+
+        if (kresRuleStore == null) {
+            log.warn("No KReSRuleStore with stored rules and recipes found in 
servlet context. Instantiating manually with default values...");
+            this.kresRuleStore = new RuleStoreImpl(onm, new 
Hashtable<String,Object>(), "");
+            log.debug("PATH TO OWL FILE LOADED: " + 
kresRuleStore.getFilePath());
         }
     }
 
-     /**
-        * 
-        * @param owl
-        *            {OWLOntology object contains a single recipe}
+    /**
+     * 
+     * @param owl
+     *            {OWLOntology object contains a single recipe}
      * @return {An Set<SWRLRule> that contains the SWRL rule.}
      */
-       private Set<SWRLRule> fromRecipeToModel(OWLOntology owl)
-                       throws NoSuchRecipeException {
+    private Set<SWRLRule> fromRecipeToModel(OWLOntology owl) throws 
NoSuchRecipeException {
+
+        // FIXME: why the heck is this method re-instantiating a rule store?!?
+        RuleStore store = new RuleStoreImpl(onm, new 
Hashtable<String,Object>(), owl);
+
+        OWLDataFactory factory = 
owl.getOWLOntologyManager().getOWLDataFactory();
+
+        IRI recipeclass = 
IRI.create("http://kres.iks-project.eu/ontology/meta/rmi.owl#Recipe";);
+        OWLClass claz = factory.getOWLClass(recipeclass);
+
+        Set<OWLAxiom> axioms = owl.getReferencingAxioms(claz);
 
-               // FIXME: why the heck is this method re-instantiating a rule 
store?!?
-               RuleStore store = new RuleStoreImpl(onm,
-                               new Hashtable<String, Object>(), owl);
-
-               OWLDataFactory factory = owl.getOWLOntologyManager()
-                               .getOWLDataFactory();
-               
-               IRI recipeclass = 
IRI.create("http://kres.iks-project.eu/ontology/meta/rmi.owl#Recipe";);
-               OWLClass claz = factory.getOWLClass(recipeclass);
-               
-               Set<OWLAxiom> axioms = owl.getReferencingAxioms(claz);
-               
         IRI recipeiri = null;
-        for(OWLAxiom axiom : axioms){
-               if(axiom instanceof OWLClassAssertionAxiom){
-                       OWLClassAssertionAxiom caa = (OWLClassAssertionAxiom) 
axiom;
-                       recipeiri = 
IRI.create(caa.getIndividual().toStringID());
-               }
+        for (OWLAxiom axiom : axioms) {
+            if (axiom instanceof OWLClassAssertionAxiom) {
+                OWLClassAssertionAxiom caa = (OWLClassAssertionAxiom) axiom;
+                recipeiri = IRI.create(caa.getIndividual().toStringID());
+            }
         }
 
-        if(recipeiri == null) {
-               throw new NoSuchRecipeException(null);
+        if (recipeiri == null) {
+            throw new NoSuchRecipeException(null);
         }
-        
-               OWLIndividual recipeIndividual = factory
-                               .getOWLNamedIndividual(recipeiri);
-
-               OWLObjectProperty objectProperty = factory
-                               .getOWLObjectProperty(IRI
-                                               
.create("http://kres.iks-project.eu/ontology/meta/rmi.owl#hasRule";));
-               Set<OWLIndividual> rules = 
recipeIndividual.getObjectPropertyValues(
-                               objectProperty, store.getOntology());
+
+        OWLIndividual recipeIndividual = 
factory.getOWLNamedIndividual(recipeiri);
+
+        OWLObjectProperty objectProperty = factory.getOWLObjectProperty(IRI
+                
.create("http://kres.iks-project.eu/ontology/meta/rmi.owl#hasRule";));
+        Set<OWLIndividual> rules = 
recipeIndividual.getObjectPropertyValues(objectProperty,
+            store.getOntology());
         String kReSRules = "";
-        for(OWLIndividual rule : rules){
-                       OWLDataProperty hasBodyAndHead = factory
-                                       .getOWLDataProperty(IRI
-                                                       
.create("http://kres.iks-project.eu/ontology/meta/rmi.owl#hasBodyAndHead";));
-                       Set<OWLLiteral> kReSRuleLiterals = 
rule.getDataPropertyValues(
-                                       hasBodyAndHead, store.getOntology());
-
-                       for(OWLLiteral kReSRuleLiteral : kReSRuleLiterals){
-                               kReSRules += kReSRuleLiteral.getLiteral()
-                                               + 
System.getProperty("line.separator");
-                       }
-               }
+        for (OWLIndividual rule : rules) {
+            OWLDataProperty hasBodyAndHead = factory.getOWLDataProperty(IRI
+                    
.create("http://kres.iks-project.eu/ontology/meta/rmi.owl#hasBodyAndHead";));
+            Set<OWLLiteral> kReSRuleLiterals = rule
+                    .getDataPropertyValues(hasBodyAndHead, 
store.getOntology());
+
+            for (OWLLiteral kReSRuleLiteral : kReSRuleLiterals) {
+                kReSRules += kReSRuleLiteral.getLiteral() + 
System.getProperty("line.separator");
+            }
+        }
 
         KB kReSKB = RuleParserImpl.parse(kReSRules);
         RuleList listrules = kReSKB.getkReSRuleList();
         Iterator<Rule> iterule = listrules.iterator();
         Set<SWRLRule> swrlrules = new HashSet<SWRLRule>();
-        while(iterule.hasNext()){
+        while (iterule.hasNext()) {
             Rule singlerule = iterule.next();
-            //System.out.println("Single rule: "+singlerule.toSPARQL());
-            //System.out.println("To KReS Syntax: "+singlerule.toKReSSyntax());
-            //System.out.println("Single OWLAPI SWRL: 
"+singlerule.toSWRL(factory));
-            //Resource resource = singlerule.toSWRL(jenamodel); <-- FIXME This 
method does not work properly
+            // Resource resource = singlerule.toSWRL(jenamodel); <-- FIXME 
This method does not work properly
             swrlrules.add(singlerule.toSWRL(factory));
         }
         return swrlrules;
 
     }
+
     @POST
-    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
-       @Produces(value = { KRFormat.RDF_XML, KRFormat.TURTLE,
-                       KRFormat.OWL_XML })
-       public Response classify(
-                       @FormParam(value = "session") String session,
-                       @FormParam(value = "scope") String scope,
-                       @FormParam(value = "recipe") String recipe
-       ){
-               return ontologyClassify(session,scope,recipe,null,null,null);
-       }
-   /**
-        * To run a classifying reasoner on a RDF input File or IRI on the base 
of a
-        * Scope (or an ontology) and a recipe. Can be used either HermiT or an
-        * owl-link server reasoner end-point
-        * 
-        * @param session
-        *            {A string contains the session IRI used to classify the
-        *            input.}
-        * @param scope
-        *            {A string contains either a specific scope's ontology or 
the
-        *            scope IRI used to classify the input.}
-        * @param recipe
-        *            {A string contains the recipe IRI from the service
-        *            http://localhost:port/kres/recipe/recipeName.}
+    @Consumes(APPLICATION_FORM_URLENCODED)
+    @Produces(value = {KRFormat.RDF_XML, KRFormat.TURTLE, KRFormat.OWL_XML})
+    public Response classify(@FormParam(value = "session") String session,
+                             @FormParam(value = "scope") String scope,
+                             @FormParam(value = "recipe") String recipe) {
+        return ontologyClassify(session, scope, recipe, null, null, null);
+    }
+
+    /**
+     * To run a classifying reasoner on a RDF input File or IRI on the base of 
a Scope (or an ontology) and a
+     * recipe. Can be used either HermiT or an owl-link server reasoner 
end-point
+     * 
+     * @param session
+     *            {A string contains the session IRI used to classify the 
input.}
+     * @param scope
+     *            {A string contains either a specific scope's ontology or the 
scope IRI used to classify the
+     *            input.}
+     * @param recipe
+     *            {A string contains the recipe IRI from the service
+     *            http://localhost:port/kres/recipe/recipeName.}
      * @Param file {A file in a RDF (eihter RDF/XML or owl) to be classified.}
-        * @Param input_graph {A string contains the IRI of RDF (either RDF/XML 
or
-        *        OWL) to be classified.}
-        * @Param owllink_endpoint {A string contains the ressoner server 
end-point
-        *        URL.}
+     * @Param input_graph {A string contains the IRI of RDF (either RDF/XML or 
OWL) to be classified.}
+     * @Param owllink_endpoint {A string contains the ressoner server 
end-point URL.}
      * @return Return: <br/>
-     *          200 The ontology is retrieved, containing only class axioms 
<br/>
-     *          400 To run the session is needed the scope <br/>
-     *          404 No data is retrieved <br/>
-     *          409 Too much RDF inputs <br/>
-     *          500 Some error occurred
+     *         200 The ontology is retrieved, containing only class axioms 
<br/>
+     *         400 To run the session is needed the scope <br/>
+     *         404 No data is retrieved <br/>
+     *         409 Too much RDF inputs <br/>
+     *         500 Some error occurred
      */
     @POST
-    @Consumes(MediaType.MULTIPART_FORM_DATA)
-       @Produces(value = { KRFormat.RDF_XML, KRFormat.TURTLE,
-                       KRFormat.OWL_XML })
-       public Response ontologyClassify(
-                       @FormDataParam(value = "session") String session,
-                       @FormDataParam(value = "scope") String scope,
-                       @FormDataParam(value = "recipe") String recipe,
-                       @FormDataParam(value = "input-graph") String 
input_graph,
-                       @FormDataParam(value = "file") File file,
-                       @FormDataParam(value = "owllink-endpoint") String 
owllink_endpoint) {
-
-      try{
-      
-      if((session!=null)&&(scope==null)){
-           log.error("ERROR: Cannot load session without scope.");
-           return Response.status(Status.BAD_REQUEST).build();
-        }
+    @Consumes(MULTIPART_FORM_DATA)
+    @Produces(value = {KRFormat.RDF_XML, KRFormat.TURTLE, KRFormat.OWL_XML})
+    public Response ontologyClassify(@FormDataParam(value = "session") String 
session,
+                                     @FormDataParam(value = "scope") String 
scope,
+                                     @FormDataParam(value = "recipe") String 
recipe,
+                                     @FormDataParam(value = "input-graph") 
String input_graph,
+                                     @FormDataParam(value = "file") File file,
+                                     @FormDataParam(value = 
"owllink-endpoint") String owllink_endpoint) {
+
+        try {
+
+            if ((session != null) && (scope == null)) {
+                log.error("Unspecified scope parameter for session {} , cannot 
classify.", session);
+                return Response.status(BAD_REQUEST).build();
+            }
 
-       //Check for input conflict. Only one input at once is allowed
-       if((file!=null)&&(input_graph!=null)){
-           System.err.println("ERROR: Cannot handle both parameters: file and 
input graph");
-           return Response.status(Status.CONFLICT).build();
-       }
-
-      //Load input file or graph
-      if(file!=null)
-                               this.inputowl = 
OWLManager.createOWLOntologyManager()
-                                               
.loadOntologyFromOntologyDocument(file);
-      if(input_graph!=null)
-                               this.inputowl = 
OWLManager.createOWLOntologyManager()
-                                               
.loadOntologyFromOntologyDocument(
-                                                               
IRI.create(input_graph));
-      if(inputowl==null&&(session==null||scope==null))
-        return Response.status(Status.NOT_FOUND).build();
-      if(inputowl==null){
-          if(scope!=null)
-                                       this.inputowl = 
OWLManager.createOWLOntologyManager()
-                                                       .createOntology();
-          else{
-                                       this.inputowl = 
OWLManager.createOWLOntologyManager()
-                                                       .createOntology();
-          }
-      }
-
-       //Create list to add ontologies as imported
-       OWLOntologyManager mgr = inputowl.getOWLOntologyManager();
-                       OWLDataFactory factory = 
inputowl.getOWLOntologyManager()
-                                       .getOWLDataFactory();
-       List<OWLOntologyChange> additions = new LinkedList<OWLOntologyChange>();
-       
-       boolean ok = false;
-
-      //Load ontologies from scope, RDF input and recipe
-      //Try to resolve scope IRI
-      if((scope!=null)&&(session==null))
-      try{
-          IRI iri = IRI.create(scope);
-                                       ScopeRegistry reg = 
onm.getScopeRegistry();
-          OntologyScope ontoscope = reg.getScope(iri);
-                                       Iterator<OWLOntology> importscope = 
ontoscope
-                                                       
.getCustomSpace().getOntologies().iterator();
-                                       Iterator<OntologySpace> importsession = 
ontoscope
-                                                       
.getSessionSpaces().iterator();
-
-                                       // Add ontology as import form scope, 
if it is anonymus we
-                                       // try to add single axioms.
-          while(importscope.hasNext()){
-            OWLOntology auxonto = importscope.next();
-            if(!auxonto.getOntologyID().isAnonymous()){
-                                                       additions.add(new 
AddImport(inputowl, factory
-                                                                       
.getOWLImportsDeclaration(auxonto
-                                                                               
        .getOWLOntologyManager()
-                                                                               
        .getOntologyDocumentIRI(auxonto))));
-            }else{
-                mgr.addAxioms(inputowl,auxonto.getAxioms());
+            // Check for input conflict. Only one input at once is allowed
+            if ((file != null) && (input_graph != null)) {
+                log.error("Parameters file and input-graph are mutually 
exclusive and cannot be specified together.");
+                return Response.status(CONFLICT).build();
+            }
+
+            // Load input file or graph
+            if (file != null) this.inputowl = 
OWLManager.createOWLOntologyManager()
+                    .loadOntologyFromOntologyDocument(file);
+            if (input_graph != null) this.inputowl = 
OWLManager.createOWLOntologyManager()
+                    .loadOntologyFromOntologyDocument(IRI.create(input_graph));
+            if (inputowl == null && (session == null || scope == null)) return 
Response.status(NOT_FOUND)
+                    .build();
+            if (inputowl == null) {
+                if (scope != null) this.inputowl = 
OWLManager.createOWLOntologyManager().createOntology();
+                else {
+                    this.inputowl = 
OWLManager.createOWLOntologyManager().createOntology();
+                }
             }
-         }
 
-         //Add ontology form sessions
-         while(importsession.hasNext()){
-                                               Iterator<OWLOntology> 
sessionontos = importsession
-                                                               
.next().getOntologies().iterator();
-             while(sessionontos.hasNext()){
-                OWLOntology auxonto = sessionontos.next();
-                if(!auxonto.getOntologyID().isAnonymous()){
-                                                               additions
-                                                                               
.add(new AddImport(
-                                                                               
                inputowl,
-                                                                               
                factory
-                                                                               
                                .getOWLImportsDeclaration(auxonto
-                                                                               
                                                .getOWLOntologyManager()
-                                                                               
                                                .getOntologyDocumentIRI(
-                                                                               
                                                                auxonto))));
-                }else{
-                    mgr.addAxioms(inputowl,auxonto.getAxioms());
+            // Create list to add ontologies as imported
+            OWLOntologyManager mgr = inputowl.getOWLOntologyManager();
+            OWLDataFactory factory = 
inputowl.getOWLOntologyManager().getOWLDataFactory();
+            List<OWLOntologyChange> additions = new 
LinkedList<OWLOntologyChange>();
+
+            // Load ontologies from scope, RDF input and recipe
+            // Try to resolve scope IRI
+            if ((scope != null) && (session == null)) try {
+                IRI iri = IRI.create(scope);
+                ScopeRegistry reg = onm.getScopeRegistry();
+                OntologyScope ontoscope = reg.getScope(iri);
+                Iterator<OWLOntology> importscope = 
ontoscope.getCustomSpace().getOntologies().iterator();
+                Iterator<OntologySpace> importsession = 
ontoscope.getSessionSpaces().iterator();
+
+                // Add ontology as import form scope, if it is anonymus we
+                // try to add single axioms.
+                while (importscope.hasNext()) {
+                    OWLOntology auxonto = importscope.next();
+                    if (!auxonto.getOntologyID().isAnonymous()) {
+                        additions.add(new AddImport(inputowl, 
factory.getOWLImportsDeclaration(auxonto
+                                
.getOWLOntologyManager().getOntologyDocumentIRI(auxonto))));
+                    } else {
+                        mgr.addAxioms(inputowl, auxonto.getAxioms());
+                    }
                 }
-         }
 
-         }
-          
-      }catch(Exception e){
-          System.err.println("ERROR: Problem with scope: "+scope);
-          e.printStackTrace();
-          Response.status(Status.NOT_FOUND).build();
-      }
-
-      //Get Ontologies from session
-      if((session!=null)&&(scope!=null))
-      try{
-          IRI iri = IRI.create(scope);
-                                       ScopeRegistry reg = 
onm.getScopeRegistry();
-          OntologyScope ontoscope = reg.getScope(iri);
-                                       SessionOntologySpace sos = 
ontoscope.getSessionSpace(IRI
-                                                       .create(session));
-                                       /*
-                                       for(OWLOntology 
a:ontoscope.getCoreSpace().getOntologies()){    
-                                               System.out.println("CORE 
ONTOLOGY: "+a);
-                                       }
-                                       */
-                                       for(OWLOntology 
a:ontoscope.getCustomSpace().getOntologies()){
-                                               //System.out.println("CUSTOM 
ONTOLOGY: "+a);
-                                               mgr.addAxioms(inputowl, 
a.getAxioms());
-                                       }
-                                       Set<OWLOntology> ontos = 
sos.getOntologyManager()
-                                                       .getOntologies();
-                                       for(OWLOntology a:ontos){
-                                                       
//System.out.println("SESSION ONTOLOGY: "+a);
-                                                       mgr.addAxioms(inputowl, 
a.getAxioms());
-                                       }
-                           inputowl = 
mgr.getOntology(inputowl.getOntologyID());
-
-      }catch(Exception e){
-                                       System.err.println("ERROR: Problem with 
session: "
-                                                       + session);
-          e.printStackTrace();
-          Response.status(Status.NOT_FOUND).build();
-      }
-
-                       // After gathered the all ontology as imported now we 
apply the
-                       // changes
-      if(additions.size()>0)
-        mgr.applyChanges(additions);
-
-      inputowl = mgr.getOntology(inputowl.getOntologyID());
-      
-      //Run HermiT if the reasonerURL is null;
-      if(owllink_endpoint==null){
-         /**
-          * If we run hermit, we must remove all datatype assertions
-          * from the ontology. Non default datatypes, such 
http://dbpedia.org/datatype/hour
-          * would break the process
-          */
-         Set<OWLAxiom> removeThese = new HashSet<OWLAxiom>();
-         for(OWLAxiom axiom: inputowl.getAxioms()){
-                 if(!axiom.getDatatypesInSignature().isEmpty()){
-                         removeThese.add(axiom);
-                 }
-         }
-         inputowl.getOWLOntologyManager().removeAxioms(inputowl, removeThese);
-         inputowl = 
inputowl.getOWLOntologyManager().getOntology(inputowl.getOntologyID());
-       try{
-       if(recipe!=null) {
-          OWLOntologyManager mngr = OWLManager
-                       .createOWLOntologyManager();
-                                               OWLOntology recipeowl = mngr
-                                                               
.loadOntologyFromOntologyDocument(
-                                                                               
IRI.create(recipe));
-                                               //OWLOntology rulesOntology = 
mngr.createOntology();
-                                               Set<SWRLRule> swrlRules = 
fromRecipeToModel(recipeowl);
-                                               
inputowl.getOWLOntologyManager().addAxioms(inputowl, swrlRules);
-                                               inputowl = 
inputowl.getOWLOntologyManager().getOntology(inputowl.getOntologyID());
-       }
-       
-       StringDocumentTarget tgt = new StringDocumentTarget();;
-       
-       inputowl.getOWLOntologyManager().saveOntology(inputowl,tgt);
-       inputowl = 
OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(new 
ByteArrayInputStream(tgt.toString().getBytes()));
-//for (OWLAnnotationProperty ax : 
inputowl.getAnnotationPropertiesInSignature())      
-//    System.out.println(ax);
-
-            //Create the reasoner for the classification
-                                       CreateReasoner newreasoner = new 
CreateReasoner(
-                                                       inputowl);
-                                       // Prepare and start the reasoner to 
classify ontology's
-                                       // resources
-                                       RunReasoner reasoner = new 
RunReasoner(newreasoner
-                                                       .getReasoner());
-
-                                       // Create a new OWLOntology model where 
to put the inferred
-                                       // axioms
-                                       OWLOntology output = 
OWLManager.createOWLOntologyManager()
-                                                       
.createOntology(inputowl.getOntologyID());
-            //Initial input axioms count
-            int startax = output.getAxiomCount();
-            //Run the classification
-            output = reasoner.runClassifyInference(output);
-            
-//            output.getOWLOntologyManager().saveOntology(output,new 
FileDocumentTarget(new File("./dioschifoso.owl")));
-            
-            //End output axioms count
-            int endax = output.getAxiomCount();
-
-            if((endax-startax)>0){
-                //Some inference is retrieved
-                return Response.ok(output).build();
-            }else{
-                //No data is retrieved
-                return Response.status(Status.NOT_FOUND).build();
+                // Add ontology form sessions
+                while (importsession.hasNext()) {
+                    Iterator<OWLOntology> sessionontos = 
importsession.next().getOntologies().iterator();
+                    while (sessionontos.hasNext()) {
+                        OWLOntology auxonto = sessionontos.next();
+                        if (!auxonto.getOntologyID().isAnonymous()) {
+                            additions.add(new AddImport(inputowl, 
factory.getOWLImportsDeclaration(auxonto
+                                    
.getOWLOntologyManager().getOntologyDocumentIRI(auxonto))));
+                        } else {
+                            mgr.addAxioms(inputowl, auxonto.getAxioms());
+                        }
+                    }
+
+                }
+
+            } catch (Exception e) {
+                throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
             }
 
-       }catch (InconsistentOntologyException exc){
-           System.err.println("CHECK ONTOLOGY CONSISTENCE");
-           return Response.status(Status.NOT_FOUND).build();
-        }
+            // Get Ontologies from session
+            if ((session != null) && (scope != null)) try {
+                IRI iri = IRI.create(scope);
+                ScopeRegistry reg = onm.getScopeRegistry();
+                OntologyScope ontoscope = reg.getScope(iri);
+                SessionOntologySpace sos = 
ontoscope.getSessionSpace(IRI.create(session));
+                for (OWLOntology a : 
ontoscope.getCustomSpace().getOntologies())
+                    mgr.addAxioms(inputowl, a.getAxioms());
+                for (OWLOntology a : sos.getOntologyManager().getOntologies())
+                    mgr.addAxioms(inputowl, a.getAxioms());
+
+                inputowl = mgr.getOntology(inputowl.getOntologyID());
 
-                               // If there is an owl-link server end-point 
specified in the
-                               // form
-      }else{
-
-      try{
-       if(recipe!=null) {
-
-          OWLOntologyManager mngr = OWLManager
-                       .createOWLOntologyManager();
-                                               OWLOntology recipeowl = mngr
-                                                               
.loadOntologyFromOntologyDocument(
-                                                                               
IRI.create(recipe));
-                                               OWLOntology rulesOntology = 
mngr.createOntology();
-                                               Set<SWRLRule> swrlRules = 
fromRecipeToModel(recipeowl);
-                                               mngr.addAxioms(rulesOntology, 
swrlRules);
-                                               rulesOntology = 
mngr.getOntology(rulesOntology.getOntologyID());
-                                               // Create a reasoner to run 
rules contained in the
-                                               // recipe by using the server 
and-point
-                                               RunRules rulereasoner = new 
RunRules(rulesOntology,
-                                                               inputowl, new 
URL(owllink_endpoint));
-                                               // Run the rule reasoner to the 
input RDF with the added
-                                               // top-ontology
-         inputowl = rulereasoner.runRulesReasoner();
-       }
-                                       // Create the reasoner for the 
consistency check by using
-                                       // the server and-point
-                                       CreateReasoner newreasoner = new 
CreateReasoner(
-                                                       inputowl, new 
URL(owllink_endpoint));
-                                       // Prepare and start the reasoner to 
classify ontology's
-                                       // resources
-                                       RunReasoner reasoner = new 
RunReasoner(newreasoner
-                                                       .getReasoner());
-
-                                       // Create a new OWLOntology model where 
to put the inferred
-                                       // axioms
-                                       OWLOntology output = 
OWLManager.createOWLOntologyManager()
-                                                       
.createOntology(inputowl.getOntologyID());
-         //Initial input axioms count
-         int startax = output.getAxiomCount();
-         //Run the classification
-         output = reasoner.runClassifyInference(output);
-         //End output axioms count
-         int endax = output.getAxiomCount();
-
-            if((endax-startax)>0){
-                //Some inference is retrieved
-                return Response.ok(output).build();
-            }else{
-                //No data is retrieved
-                return Response.status(Status.NOT_FOUND).build();
+            } catch (Exception e) {
+                throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
             }
 
-      }catch (InconsistentOntologyException exc){
-           System.err.println("CHECK ONTOLOGY CONSISTENCE");
-            return Response.status(Status.NOT_FOUND).build();
-      }
-      }
-      }catch(Exception e){
-          throw new WebApplicationException(e, Status.INTERNAL_SERVER_ERROR);
-      }
+            // After gathered the all ontology as imported now we apply the
+            // changes
+            if (additions.size() > 0) mgr.applyChanges(additions);
+
+            inputowl = mgr.getOntology(inputowl.getOntologyID());
+
+            // Run HermiT if the reasonerURL is null;
+            if (owllink_endpoint == null) {
+                /**
+                 * If we run hermit, we must remove all datatype assertions 
from the ontology. Non default
+                 * datatypes, such http://dbpedia.org/datatype/hour would 
break the process
+                 */
+                Set<OWLAxiom> removeThese = new HashSet<OWLAxiom>();
+                for (OWLAxiom axiom : inputowl.getAxioms()) {
+                    if (!axiom.getDatatypesInSignature().isEmpty()) {
+                        removeThese.add(axiom);
+                    }
+                }
+                inputowl.getOWLOntologyManager().removeAxioms(inputowl, 
removeThese);
+                inputowl = 
inputowl.getOWLOntologyManager().getOntology(inputowl.getOntologyID());
+                try {
+                    if (recipe != null) {
+                        OWLOntologyManager mngr = 
OWLManager.createOWLOntologyManager();
+                        OWLOntology recipeowl = 
mngr.loadOntologyFromOntologyDocument(IRI.create(recipe));
+                        // OWLOntology rulesOntology = mngr.createOntology();
+                        Set<SWRLRule> swrlRules = fromRecipeToModel(recipeowl);
+                        inputowl.getOWLOntologyManager().addAxioms(inputowl, 
swrlRules);
+                        inputowl = 
inputowl.getOWLOntologyManager().getOntology(inputowl.getOntologyID());
+                    }
+
+                    // FIXME : quick dirty fix (hack?)
+                    StringDocumentTarget tgt = new StringDocumentTarget();
+
+                    inputowl.getOWLOntologyManager().saveOntology(inputowl, 
tgt);
+                    inputowl = 
OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(
+                        new ByteArrayInputStream(tgt.toString().getBytes()));
+
+                    // Create the reasoner for the classification
+                    CreateReasoner newreasoner = new CreateReasoner(inputowl);
+                    // Prepare and start the reasoner to classify ontology 
resources.
+                    RunReasoner reasoner = new 
RunReasoner(newreasoner.getReasoner());
+
+                    // Create a new OWLOntology model where to put the 
inferred axioms
+                    OWLOntology output = 
OWLManager.createOWLOntologyManager().createOntology(
+                        inputowl.getOntologyID());
+                    // Initial input axioms count
+                    int startax = output.getAxiomCount();
+                    // Run the classification
+                    output = reasoner.runClassifyInference(output);
+                    // End output axioms count
+                    int endax = output.getAxiomCount();
+
+                    if ((endax - startax) > 0) {
+                        // Some inference is retrieved
+                        return Response.ok(output).build();
+                    } else {
+                        // No data is retrieved
+                        return Response.status(NOT_FOUND).build();
+                    }
+
+                } catch (InconsistentOntologyException exc) {
+                    log.error("Cannot classify inconsistent ontology " + 
inputowl.getOntologyID(), exc);
+                    return Response.status(PRECONDITION_FAILED).build();
+                }
+
+                // If there is an owl-link server end-point specified in the 
form
+            } else {
+
+                try {
+                    if (recipe != null) {
+
+                        OWLOntologyManager mngr = 
OWLManager.createOWLOntologyManager();
+                        OWLOntology recipeowl = 
mngr.loadOntologyFromOntologyDocument(IRI.create(recipe));
+                        OWLOntology rulesOntology = mngr.createOntology();
+                        Set<SWRLRule> swrlRules = fromRecipeToModel(recipeowl);
+                        mngr.addAxioms(rulesOntology, swrlRules);
+                        rulesOntology = 
mngr.getOntology(rulesOntology.getOntologyID());
+                        // Create a reasoner to run rules contained in the
+                        // recipe by using the server and-point
+                        RunRules rulereasoner = new RunRules(rulesOntology, 
inputowl, new URL(
+                                owllink_endpoint));
+                        // Run the rule reasoner to the input RDF with the 
added
+                        // top-ontology
+                        inputowl = rulereasoner.runRulesReasoner();
+                    }
+                    // Create the reasoner for the consistency check by using
+                    // the server and-point
+                    CreateReasoner newreasoner = new CreateReasoner(inputowl, 
new URL(owllink_endpoint));
+                    // Prepare and start the reasoner to classify ontology's
+                    // resources
+                    RunReasoner reasoner = new 
RunReasoner(newreasoner.getReasoner());
+
+                    // Create a new OWLOntology model where to put the inferred
+                    // axioms
+                    OWLOntology output = 
OWLManager.createOWLOntologyManager().createOntology(
+                        inputowl.getOntologyID());
+                    // Initial input axioms count
+                    int startax = output.getAxiomCount();
+                    // Run the classification
+                    output = reasoner.runClassifyInference(output);
+                    // End output axioms count
+                    int endax = output.getAxiomCount();
+
+                    if ((endax - startax) > 0) {
+                        // Some inference is retrieved
+                        return Response.ok(output).build();
+                    } else {
+                        // No data is retrieved
+                        return Response.status(NO_CONTENT).build();
+                    }
+
+                } catch (InconsistentOntologyException exc) {
+                    log.error("Cannot classify ionconsistent ontology " + 
inputowl.getOntologyID(), exc);
+                    return Response.status(PRECONDITION_FAILED).build();
+                }
+            }
+        } catch (Exception e) {
+            throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
+        }
 
     }
-    
+
     @GET
     @Produces(TEXT_HTML)
     public Response getView() {


Reply via email to