You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by al...@apache.org on 2011/03/19 17:55:27 UTC

svn commit: r1083230 [2/3] - in /incubator/stanbol/trunk/kres: eu.iksproject.kres.jersey/ eu.iksproject.kres.jersey/src/main/java/eu/iksproject/kres/jersey/ eu.iksproject.kres.jersey/src/main/java/eu/iksproject/kres/jersey/manager/ eu.iksproject.kres.j...

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManager.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManager.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ONManager.java Sat Mar 19 16:55:26 2011
@@ -5,6 +5,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.Dictionary;
 
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;
@@ -30,11 +32,11 @@ import org.apache.stanbol.ontologymanage
 import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyIndexImpl;
 import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyScopeFactoryImpl;
 import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologySpaceFactoryImpl;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
 import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.ScopeRegistryImpl;
 import org.apache.stanbol.ontologymanager.ontonet.impl.registry.model.impl.RegistryLoader;
 import org.apache.stanbol.ontologymanager.ontonet.impl.session.KReSSessionManagerImpl;
 import org.apache.stanbol.ontologymanager.ontonet.impl.session.ScopeSessionSynchronizer;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
 import org.osgi.service.component.ComponentContext;
 import org.semanticweb.owlapi.apibinding.OWLManager;
 import org.semanticweb.owlapi.io.FileDocumentSource;
@@ -49,11 +51,9 @@ import org.semanticweb.owlapi.model.OWLO
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
 /**
- * The running context of a KReS Ontology Network Manager instance. From this
- * object it is possible to obtain factories, indices, registries and what have
- * you.
+ * The running context of a KReS Ontology Network Manager instance. From this object it is possible to obtain
+ * factories, indices, registries and what have you.
  * 
  * @author alessandro
  * 
@@ -63,523 +63,479 @@ import org.slf4j.LoggerFactory;
 // @Property(name="service.ranking",intValue=5)
 public class ONManager implements KReSONManager {
 
-	public static final String _ALIAS_DEFAULT = "/ontology";
-	public static final String _CONFIG_FILE_PATH_DEFAULT = "";
-	public static final String _KRES_NAMESPACE_DEFAULT = "http://kres.iksproject.eu/";
-
-	// @Property(value = _ALIAS_DEFAULT)
-	public static final String ALIAS = "eu.iksproject.kres.manager.ontologyNetworkManager.alias";
-
-	@Property(value = _CONFIG_FILE_PATH_DEFAULT)
-	public static String CONFIG_FILE_PATH = "eu.iksproject.kres.manager.ontologyNetworkManager.config_ont";
-
-	@Property(value = _KRES_NAMESPACE_DEFAULT)
-	public static String KRES_NAMESPACE = "kres.namespace";
-
-	@SuppressWarnings("unused")
-	private String alias = _ALIAS_DEFAULT;
-	private String configPath = _CONFIG_FILE_PATH_DEFAULT;
-	private String kresNs = _KRES_NAMESPACE_DEFAULT;
-
-	// private static ONManager me = new ONManager();
-	//
-	// public static ONManager get() {
-	// return me;
-	// }
-
-	// private ComponentContext ce;
-
-	private final Logger log = LoggerFactory.getLogger(getClass());
-
-	private OntologyIndex oIndex;
-
-	private OntologyScopeFactory ontologyScopeFactory;
-
-	private OntologySpaceFactory ontologySpaceFactory;
-
-	private OWLOntologyManager owlCacheManager;
-
-	private OWLDataFactory owlFactory;
-
-	private RegistryLoader registryLoader;
-
-	private ScopeRegistry scopeRegistry;
-
-	private KReSSessionManager sessionManager;
-
-	@Reference
-	private OntologyStorage storage;
-
-	/*
-	 * The identifiers (not yet parsed as IRIs) of the ontology scopes that
-	 * should be activated.
-	 */
-	private String[] toActivate = new String[] {};
-
-	public ONManager() {
-		super();
-		owlFactory = OWLManager.getOWLDataFactory();
-		owlCacheManager = OWLManager.createOWLOntologyManager();
-
-		// These depend on one another
-		scopeRegistry = new ScopeRegistryImpl();
-		oIndex = new OntologyIndexImpl(this);
-
-		// These may require the OWL cache manager
-		ontologySpaceFactory = new OntologySpaceFactoryImpl(scopeRegistry,
-				storage);
-		ontologyScopeFactory = new OntologyScopeFactoryImpl(scopeRegistry,
-				ontologySpaceFactory);
-		ontologyScopeFactory.addScopeEventListener(oIndex);
-
-		// This requires the OWL cache manager
-		registryLoader = new RegistryLoader(this);
-
-		// TODO : assign dynamically in case the FISE persistence store is not
-		// available.
-		// storage = new FISEPersistenceStorage();
-
-		sessionManager = new KReSSessionManagerImpl(IRI
-				.create("http://kres.iks-project.eu/"), getScopeRegistry(),
-				getOntologyStore());
-		sessionManager.addSessionListener(new ScopeSessionSynchronizer(this));
-	}
-
-	/**
-	 * Instantiates all the default providers.
-	 * 
-	 * TODO : Felix component constraints prevent this constructor from being
-	 * private, find a way around...
-	 */
-	public ONManager(OntologyStorage ontologyStorage,
-			Dictionary<String, Object> configuration) {
-		this();
-		try {
-			activate(configuration);
-		} catch (IOException e) {
-			log.error("Unable to access servlet context.", e);
-		}
-	}
-
-	/**
-	 * Used to configure an instance within an OSGi container.
-	 * 
-	 * @throws IOException
-	 */
-	@SuppressWarnings("unchecked")
-	@Activate
-	protected void activate(ComponentContext context) throws IOException {
-		log.info("in " + ONManager.class + " activate with context " + context);
-		if (context == null) {
-			throw new IllegalStateException("No valid" + ComponentContext.class
-					+ " parsed in activate!");
-		}
-		activate((Dictionary<String, Object>) context.getProperties());
-	}
-
-	protected void activate(Dictionary<String, Object> configuration)
-			throws IOException {
-
-		// log.debug("KReS :: activating main component...");
-		//
-		// me = this;
-		// this.ce = ce;
-
-		String tfile = (String) configuration.get(CONFIG_FILE_PATH);
-		if (tfile != null)
-			this.configPath = tfile;
-		String tns = (String) configuration.get(KRES_NAMESPACE);
-		if (tns != null)
-			this.kresNs = tns;
-
-		// configPath = (String) configuration.get(CONFIG_FILE_PATH);
-
-		/*
-		 * If there is no configuration file, just start with an empty scope set
-		 */
-		if (configPath != null && !configPath.trim().isEmpty()) {
-			OWLOntology oConf = null;
-			OWLOntologyManager tempMgr = OWLManager.createOWLOntologyManager();
-			OWLOntologyDocumentSource oConfSrc = null;
-
-			try {
-				log
-						.debug("Try to load the configuration ontology from a local bundle relative path");
-				InputStream is = this.getClass()
-						.getResourceAsStream(configPath);
-				oConfSrc = new StreamDocumentSource(is);
-			} catch (Exception e1) {
-				try {
-					log.debug("Cannot load from a local bundle relative path",
-							e1);
-					log
-							.debug("Try to load the configuration ontology resolving the given IRI");
-					IRI iri = IRI.create(configPath);
-					if (!iri.isAbsolute())
-						throw new Exception(
-								"IRI seems to be not absolute! value was: "
-										+ iri.toQuotedString());
-					oConfSrc = new IRIDocumentSource(iri);
-					if (oConfSrc == null)
-						throw new Exception("Cannot load from the IRI: "
-								+ iri.toQuotedString());
-				} catch (Exception e) {
-					try {
-						log.debug("Cannot load from the web", e1);
-						log
-								.debug("Try to load the configuration ontology as full local file path");
-						oConfSrc = new FileDocumentSource(new File(configPath));
-					} catch (Exception e2) {
-						log.error(
-								"Cannot load the configuration ontology from parameter value: "
-										+ configPath, e2);
-					}
-				}
-			}
-
-			if (oConfSrc == null) {
-				log
-						.warn("KReS :: [NONFATAL] No ONM configuration file found at path "
-								+ configPath
-								+ ". Starting with blank scope set.");
-			} else {
-				try {
-					oConf = tempMgr.loadOntologyFromOntologyDocument(oConfSrc);
-				} catch (OWLOntologyCreationException e) {
-					log.error("Cannot create the configuration ontology", e);
-				}
-			}
-
-			// Create and populate the scopes from the config ontology.
-			bootstrapOntologyNetwork(oConf);
-
-		}
-		log.debug("KReS :: ONManager activated.");
-
-	}
-
-	private void bootstrapOntologyNetwork(OWLOntology configOntology) {
-		if (configOntology == null) {
-			log
-					.debug("KReS :: Ontology Network Manager starting with empty scope set.");
-			return;
-		}
-		try {
-
-			/**
-			 * We create and register the scopes before activating
-			 */
-			for (String scopeIRI : ConfigurationManagement
-					.getScopes(configOntology)) {
-
-				String[] cores = ConfigurationManagement.getCoreOntologies(
-						configOntology, scopeIRI);
-				String[] customs = ConfigurationManagement.getCustomOntologies(
-						configOntology, scopeIRI);
-
-				// "Be a man. Use printf"
-				log.debug("KReS :: Scope " + scopeIRI);
-				for (String s : cores) {
-					log.debug("\tKReS :: Core ontology " + s);
-				}
-				for (String s : customs) {
-					log.debug("\tKReS :: Custom ontology " + s);
-				}
-
-				// Create the scope
-				IRI iri = IRI.create(scopeIRI);
-				OntologyScope sc = null;
-				sc = ontologyScopeFactory.createOntologyScope(iri,
-						new BlankOntologySource());
-
-				// Populate the core space
-				if (cores.length > 0) {
-					OntologySpace corespc = sc.getCoreSpace();
-					corespc.tearDown();
-					for (int i = 0; i < cores.length; i++)
-						try {
-							corespc.addOntology(new RootOntologyIRISource(IRI
-									.create(cores[i])));
-						} catch (Exception ex) {
-							log.warn("KReS :: failed to import ontology "
-									+ cores[i], ex);
-							continue;
-						}
-					// TODO: this call should be automatic
-					((CustomOntologySpace) sc.getCustomSpace())
-							.attachCoreSpace((CoreOntologySpace) corespc, false);
-				}
-
-				sc.setUp();
-				scopeRegistry.registerScope(sc);
-
-				// getScopeHelper().createScope(scopeIRI);
-//				getScopeHelper().addToCoreSpace(scopeIRI, cores);
-				getScopeHelper().addToCustomSpace(scopeIRI, customs);
-			}
-
-			/**
-			 * Try to get activation policies
-			 */
-			toActivate = ConfigurationManagement
-					.getScopesToActivate(configOntology);
-
-			for (String scopeID : toActivate) {
-				try {
-					IRI scopeId = IRI.create(scopeID.trim());
-					scopeRegistry.setScopeActive(scopeId, true);
-					log.info("KReS :: Ontology scope " + scopeID
-							+ " activated.");
-				} catch (NoSuchScopeException ex) {
-					log.warn("Tried to activate unavailable scope " + scopeID
-							+ ".");
-				} catch (Exception ex) {
-					log.error("Exception caught while activating scope "
-							+ scopeID + " . Skipping.", ex);
-					continue;
-				}
-			}
-
-		} catch (Throwable e) {
-			log.error("[NONFATAL] Invalid ONM configuration file found. "
-					+ "Starting with blank scope set.", e);
-		}
-
-	}
-
-	/**
-	 * Deactivation of the ONManager resets all its resources.
-	 */
-	@Deactivate
-	protected void deactivate(ComponentContext context) {
-		log.info("in " + ONManager.class + " deactivate with context "
-				+ context);
-	}
-
-	@Override
-	public String getKReSNamespace() {
-		return kresNs;
-	}
-
-	public OntologyIndex getOntologyIndex() {
-		return oIndex;
-	}
-
-	/**
-	 * Returns the ontology scope factory that was created along with the
-	 * manager context.
-	 * 
-	 * @return the ontology scope factory
-	 */
-	public OntologyScopeFactory getOntologyScopeFactory() {
-		return ontologyScopeFactory;
-	}
-
-	/**
-	 * Returns the ontology space factory that was created along with the
-	 * manager context.
-	 * 
-	 * @return the ontology space factory
-	 */
-	public OntologySpaceFactory getOntologySpaceFactory() {
-		return ontologySpaceFactory;
-	}
-
-	@Override
-	public OntologyStorage getOntologyStore() {
-		return storage;
-	}
-
-	public OWLOntologyManager getOwlCacheManager() {
-		// return OWLManager.createOWLOntologyManager();
-		return owlCacheManager;
-	}
-
-	/**
-	 * Returns a factory object that can be used for obtaining OWL API objects.
-	 * 
-	 * @return the default OWL data factory
-	 */
-	public OWLDataFactory getOwlFactory() {
-		return owlFactory;
-	}
-
-	/**
-	 * Returns the default ontology registry loader.
-	 * 
-	 * @return the default ontology registry loader
-	 */
-	public RegistryLoader getRegistryLoader() {
-		return registryLoader;
-	}
-
-	/**
-	 * Returns the unique ontology scope registry for this context.
-	 * 
-	 * @return the ontology scope registry
-	 */
-	public ScopeRegistry getScopeRegistry() {
-		return scopeRegistry;
-	}
-
-	public KReSSessionManager getSessionManager() {
-		return sessionManager;
-	}
-
-	public String[] getUrisToActivate() {
-		return toActivate;
-	}
-
-	private Helper helper = null;
-
-	public Helper getScopeHelper() {
-		if (helper == null) {
-			helper = new Helper();
-		}
-		return helper;
-	}
-
-	public class Helper {
-		private Helper() {
-		}
-
-		/**
-		 * Create an empty scope. The scope is created, registered and activated
-		 * 
-		 * @param scopeID
-		 * @return
-		 * @throws DuplicateIDException
-		 */
-		public synchronized OntologyScope createScope(String scopeID)
-				throws DuplicateIDException {
-			OntologyInputSource oisbase = new BlankOntologySource();
-
-			IRI scopeIRI = IRI.create(scopeID);
-
-			/*
-			 * The scope is created by the ScopeFactory or loaded to the scope
-			 * registry of KReS
-			 */
-			OntologyScope scope;
-			scope = ontologyScopeFactory.createOntologyScope(scopeIRI, oisbase);
-
-			scope.setUp();
-			scopeRegistry.registerScope(scope, true);
-			log.debug("Created scope " + scopeIRI, this);
-			return scope;
-		}
-
-		/**
-		 * Adds the ontology from the given iri to the core space of the given
-		 * scope
-		 * 
-		 * @param scopeID
-		 * @param locationIri
-		 */
-		public synchronized void addToCoreSpace(String scopeID,
-				String[] locationIris) {
-			OntologyScope scope = getScopeRegistry().getScope(
-					IRI.create(scopeID));
-			OntologySpace corespc = scope.getCoreSpace();
-			scope.tearDown();
-			corespc.tearDown();
-			for (String locationIri : locationIris) {
-				try {
-					corespc.addOntology(new RootOntologyIRISource(IRI
-							.create(locationIri)));
-					//					
-					// corespc.addOntology(
-					// createOntologyInputSource(locationIri));
-					log.debug("Added " + locationIri + " to scope " + scopeID
-							+ " in the core space.", this);
-					// OntologySpace cs = scope.getCustomSpace();
-					// if (cs instanceof CustomOntologySpace) {
-					// (
-					// (CustomOntologySpace)cs).attachCoreSpace((CoreOntologySpace)corespc,
-					// false);
-					// }
-				} catch (UnmodifiableOntologySpaceException e) {
-					log.error("Core space for scope " + scopeID
-							+ " denied addition of ontology " + locationIri, e);
-				} catch (OWLOntologyCreationException e) {
-					log.error("Creation of ontology from source " + locationIri
-							+ " failed.", e);
-				}
-			}
-			corespc.setUp();
-		}
-
-		/**
-		 * Adds the ontology fromt he given iri to the custom space of the given
-		 * scope
-		 * 
-		 * @param scopeID
-		 * @param locationIri
-		 */
-		public synchronized void addToCustomSpace(String scopeID,
-				String[] locationIris) {
-			OntologyScope scope = getScopeRegistry().getScope(
-					IRI.create(scopeID));
-
-			scope.getCustomSpace().tearDown();
-			for (String locationIri : locationIris) {
-				try {
-					scope.getCustomSpace().addOntology(
-							createOntologyInputSource(locationIri));
-					log.debug("Added " + locationIri + " to scope " + scopeID
-							+ " in the custom space.", this);
-				} catch (UnmodifiableOntologySpaceException e) {
-					log.error(
-							"An error occurred while trying to add the ontology from location: "
-									+ locationIri, e);
-				}
-			}
-			scope.getCustomSpace().setUp();
-		}
-
-		private OntologyInputSource createOntologyInputSource(final String uri) {
-			/*
-			 * The scope factory needs an OntologyInputSource as input for the
-			 * core ontology space. We want to use the dbpedia ontology as core
-			 * ontology of our scope.
-			 */
-			OntologyInputSource ois = new OntologyInputSource() {
-
-				@Override
-				public boolean hasRootOntology() {
-					return true;
-				}
-
-				@Override
-				public boolean hasPhysicalIRI() {
-					return false;
-				}
-
-				@Override
-				public OWLOntology getRootOntology() {
-
-					try {
-
-						OWLOntologyManager manager = OWLManager
-								.createOWLOntologyManager();
-						return manager.loadOntologyFromOntologyDocument(IRI
-								.create(uri));
-					} catch (OWLOntologyCreationException e) {
-						log.error("Cannot load the ontology " + uri, e);
-					} catch (Exception e) {
-						log.error("Cannot load the ontology " + uri, e);
-					}
-					/** If some errors occur **/
-					return null;
-				}
-
-				@Override
-				public IRI getPhysicalIRI() {
-					return null;
-				}
-			};
-
-			return ois;
-		}
-	}
+    public static final String _ALIAS_DEFAULT = "/ontology";
+    public static final String _CONFIG_FILE_PATH_DEFAULT = "";
+    public static final String _KRES_NAMESPACE_DEFAULT = "http://kres.iksproject.eu/";
+
+    // @Property(value = _ALIAS_DEFAULT)
+    public static final String ALIAS = "eu.iksproject.kres.manager.ontologyNetworkManager.alias";
+
+    @Property(value = _CONFIG_FILE_PATH_DEFAULT)
+    public static String CONFIG_FILE_PATH = "eu.iksproject.kres.manager.ontologyNetworkManager.config_ont";
+
+    @Property(value = _KRES_NAMESPACE_DEFAULT)
+    public static String KRES_NAMESPACE = "kres.namespace";
+
+    @SuppressWarnings("unused")
+    private String alias = _ALIAS_DEFAULT;
+    private String configPath = _CONFIG_FILE_PATH_DEFAULT;
+    private String kresNs = _KRES_NAMESPACE_DEFAULT;
+
+    // private static ONManager me = new ONManager();
+    //
+    // public static ONManager get() {
+    // return me;
+    // }
+
+    // private ComponentContext ce;
+
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
+    private OntologyIndex oIndex;
+
+    private OntologyScopeFactory ontologyScopeFactory;
+
+    private OntologySpaceFactory ontologySpaceFactory;
+
+    private OWLOntologyManager owlCacheManager;
+
+    private OWLDataFactory owlFactory;
+
+    private RegistryLoader registryLoader;
+
+    private ScopeRegistry scopeRegistry;
+
+    private KReSSessionManager sessionManager;
+
+    @Reference
+    private TcManager tcm;
+
+    @Reference
+    private WeightedTcProvider wtcp;
+
+    private OntologyStorage storage;
+
+    /*
+     * The identifiers (not yet parsed as IRIs) of the ontology scopes that should be activated.
+     */
+    private String[] toActivate = new String[] {};
+
+    public ONManager() {
+        super();
+        owlFactory = OWLManager.getOWLDataFactory();
+        owlCacheManager = OWLManager.createOWLOntologyManager();
+
+        // These depend on one another
+        scopeRegistry = new ScopeRegistryImpl();
+        oIndex = new OntologyIndexImpl(this);
+
+        // These may require the OWL cache manager
+        ontologySpaceFactory = new OntologySpaceFactoryImpl(scopeRegistry, storage);
+        ontologyScopeFactory = new OntologyScopeFactoryImpl(scopeRegistry, ontologySpaceFactory);
+        ontologyScopeFactory.addScopeEventListener(oIndex);
+
+        // This requires the OWL cache manager
+        registryLoader = new RegistryLoader(this);
+
+        // TODO : assign dynamically in case the FISE persistence store is not
+        // available.
+        // storage = new FISEPersistenceStorage();
+
+        sessionManager = new KReSSessionManagerImpl(IRI.create("http://kres.iks-project.eu/"),
+                getScopeRegistry(), storage);
+        sessionManager.addSessionListener(new ScopeSessionSynchronizer(this));
+    }
+
+    /**
+     * Instantiates all the default providers.
+     * 
+     * TODO : Felix component constraints prevent this constructor from being private, find a way around...
+     */
+    public ONManager(TcManager tcm, WeightedTcProvider wtcp, Dictionary<String,Object> configuration) {
+        this();
+        storage = new OntologyStorage(tcm, wtcp);
+        try {
+            activate(configuration);
+        } catch (IOException e) {
+            log.error("Unable to access servlet context.", e);
+        }
+    }
+
+    /**
+     * Used to configure an instance within an OSGi container.
+     * 
+     * @throws IOException
+     */
+    @SuppressWarnings("unchecked")
+    @Activate
+    protected void activate(ComponentContext context) throws IOException {
+        log.info("in " + ONManager.class + " activate with context " + context);
+        if (context == null) {
+            throw new IllegalStateException("No valid" + ComponentContext.class + " parsed in activate!");
+        }
+        activate((Dictionary<String,Object>) context.getProperties());
+    }
+
+    protected void activate(Dictionary<String,Object> configuration) throws IOException {
+
+        // log.debug("KReS :: activating main component...");
+        //
+        // me = this;
+        // this.ce = ce;
+
+        if (storage == null) storage = new OntologyStorage(this.tcm, this.wtcp);
+
+        String tfile = (String) configuration.get(CONFIG_FILE_PATH);
+        if (tfile != null) this.configPath = tfile;
+        String tns = (String) configuration.get(KRES_NAMESPACE);
+        if (tns != null) this.kresNs = tns;
+
+        // configPath = (String) configuration.get(CONFIG_FILE_PATH);
+
+        /*
+         * If there is no configuration file, just start with an empty scope set
+         */
+        if (configPath != null && !configPath.trim().isEmpty()) {
+            OWLOntology oConf = null;
+            OWLOntologyManager tempMgr = OWLManager.createOWLOntologyManager();
+            OWLOntologyDocumentSource oConfSrc = null;
+
+            try {
+                log.debug("Try to load the configuration ontology from a local bundle relative path");
+                InputStream is = this.getClass().getResourceAsStream(configPath);
+                oConfSrc = new StreamDocumentSource(is);
+            } catch (Exception e1) {
+                try {
+                    log.debug("Cannot load from a local bundle relative path", e1);
+                    log.debug("Try to load the configuration ontology resolving the given IRI");
+                    IRI iri = IRI.create(configPath);
+                    if (!iri.isAbsolute()) throw new Exception("IRI seems to be not absolute! value was: "
+                                                               + iri.toQuotedString());
+                    oConfSrc = new IRIDocumentSource(iri);
+                    if (oConfSrc == null) throw new Exception("Cannot load from the IRI: "
+                                                              + iri.toQuotedString());
+                } catch (Exception e) {
+                    try {
+                        log.debug("Cannot load from the web", e1);
+                        log.debug("Try to load the configuration ontology as full local file path");
+                        oConfSrc = new FileDocumentSource(new File(configPath));
+                    } catch (Exception e2) {
+                        log.error("Cannot load the configuration ontology from parameter value: "
+                                  + configPath, e2);
+                    }
+                }
+            }
+
+            if (oConfSrc == null) {
+                log.warn("KReS :: [NONFATAL] No ONM configuration file found at path " + configPath
+                         + ". Starting with blank scope set.");
+            } else {
+                try {
+                    oConf = tempMgr.loadOntologyFromOntologyDocument(oConfSrc);
+                } catch (OWLOntologyCreationException e) {
+                    log.error("Cannot create the configuration ontology", e);
+                }
+            }
+
+            // Create and populate the scopes from the config ontology.
+            bootstrapOntologyNetwork(oConf);
+
+        }
+        log.debug("KReS :: ONManager activated.");
+
+    }
+
+    private void bootstrapOntologyNetwork(OWLOntology configOntology) {
+        if (configOntology == null) {
+            log.debug("KReS :: Ontology Network Manager starting with empty scope set.");
+            return;
+        }
+        try {
+
+            /**
+             * We create and register the scopes before activating
+             */
+            for (String scopeIRI : ConfigurationManagement.getScopes(configOntology)) {
+
+                String[] cores = ConfigurationManagement.getCoreOntologies(configOntology, scopeIRI);
+                String[] customs = ConfigurationManagement.getCustomOntologies(configOntology, scopeIRI);
+
+                // "Be a man. Use printf"
+                log.debug("KReS :: Scope " + scopeIRI);
+                for (String s : cores) {
+                    log.debug("\tKReS :: Core ontology " + s);
+                }
+                for (String s : customs) {
+                    log.debug("\tKReS :: Custom ontology " + s);
+                }
+
+                // Create the scope
+                IRI iri = IRI.create(scopeIRI);
+                OntologyScope sc = null;
+                sc = ontologyScopeFactory.createOntologyScope(iri, new BlankOntologySource());
+
+                // Populate the core space
+                if (cores.length > 0) {
+                    OntologySpace corespc = sc.getCoreSpace();
+                    corespc.tearDown();
+                    for (int i = 0; i < cores.length; i++)
+                        try {
+                            corespc.addOntology(new RootOntologyIRISource(IRI.create(cores[i])));
+                        } catch (Exception ex) {
+                            log.warn("KReS :: failed to import ontology " + cores[i], ex);
+                            continue;
+                        }
+                    // TODO: this call should be automatic
+                    ((CustomOntologySpace) sc.getCustomSpace()).attachCoreSpace((CoreOntologySpace) corespc,
+                        false);
+                }
+
+                sc.setUp();
+                scopeRegistry.registerScope(sc);
+
+                // getScopeHelper().createScope(scopeIRI);
+                // getScopeHelper().addToCoreSpace(scopeIRI, cores);
+                getScopeHelper().addToCustomSpace(scopeIRI, customs);
+            }
+
+            /**
+             * Try to get activation policies
+             */
+            toActivate = ConfigurationManagement.getScopesToActivate(configOntology);
+
+            for (String scopeID : toActivate) {
+                try {
+                    IRI scopeId = IRI.create(scopeID.trim());
+                    scopeRegistry.setScopeActive(scopeId, true);
+                    log.info("KReS :: Ontology scope " + scopeID + " activated.");
+                } catch (NoSuchScopeException ex) {
+                    log.warn("Tried to activate unavailable scope " + scopeID + ".");
+                } catch (Exception ex) {
+                    log.error("Exception caught while activating scope " + scopeID + " . Skipping.", ex);
+                    continue;
+                }
+            }
+
+        } catch (Throwable e) {
+            log.error("[NONFATAL] Invalid ONM configuration file found. " + "Starting with blank scope set.",
+                e);
+        }
+
+    }
+
+    /**
+     * Deactivation of the ONManager resets all its resources.
+     */
+    @Deactivate
+    protected void deactivate(ComponentContext context) {
+        log.info("in " + ONManager.class + " deactivate with context " + context);
+    }
+
+    @Override
+    public String getKReSNamespace() {
+        return kresNs;
+    }
+
+    public OntologyIndex getOntologyIndex() {
+        return oIndex;
+    }
+
+    /**
+     * Returns the ontology scope factory that was created along with the manager context.
+     * 
+     * @return the ontology scope factory
+     */
+    public OntologyScopeFactory getOntologyScopeFactory() {
+        return ontologyScopeFactory;
+    }
+
+    /**
+     * Returns the ontology space factory that was created along with the manager context.
+     * 
+     * @return the ontology space factory
+     */
+    public OntologySpaceFactory getOntologySpaceFactory() {
+        return ontologySpaceFactory;
+    }
+
+    public OntologyStorage getOntologyStore() {
+        return storage;
+    }
+
+    public OWLOntologyManager getOwlCacheManager() {
+        // return OWLManager.createOWLOntologyManager();
+        return owlCacheManager;
+    }
+
+    /**
+     * Returns a factory object that can be used for obtaining OWL API objects.
+     * 
+     * @return the default OWL data factory
+     */
+    public OWLDataFactory getOwlFactory() {
+        return owlFactory;
+    }
+
+    /**
+     * Returns the default ontology registry loader.
+     * 
+     * @return the default ontology registry loader
+     */
+    public RegistryLoader getRegistryLoader() {
+        return registryLoader;
+    }
+
+    /**
+     * Returns the unique ontology scope registry for this context.
+     * 
+     * @return the ontology scope registry
+     */
+    public ScopeRegistry getScopeRegistry() {
+        return scopeRegistry;
+    }
+
+    public KReSSessionManager getSessionManager() {
+        return sessionManager;
+    }
+
+    public String[] getUrisToActivate() {
+        return toActivate;
+    }
+
+    private Helper helper = null;
+
+    public Helper getScopeHelper() {
+        if (helper == null) {
+            helper = new Helper();
+        }
+        return helper;
+    }
+
+    public class Helper {
+        private Helper() {}
+
+        /**
+         * Create an empty scope. The scope is created, registered and activated
+         * 
+         * @param scopeID
+         * @return
+         * @throws DuplicateIDException
+         */
+        public synchronized OntologyScope createScope(String scopeID) throws DuplicateIDException {
+            OntologyInputSource oisbase = new BlankOntologySource();
+
+            IRI scopeIRI = IRI.create(scopeID);
+
+            /*
+             * The scope is created by the ScopeFactory or loaded to the scope registry of KReS
+             */
+            OntologyScope scope;
+            scope = ontologyScopeFactory.createOntologyScope(scopeIRI, oisbase);
+
+            scope.setUp();
+            scopeRegistry.registerScope(scope, true);
+            log.debug("Created scope " + scopeIRI, this);
+            return scope;
+        }
+
+        /**
+         * Adds the ontology from the given iri to the core space of the given scope
+         * 
+         * @param scopeID
+         * @param locationIri
+         */
+        public synchronized void addToCoreSpace(String scopeID, String[] locationIris) {
+            OntologyScope scope = getScopeRegistry().getScope(IRI.create(scopeID));
+            OntologySpace corespc = scope.getCoreSpace();
+            scope.tearDown();
+            corespc.tearDown();
+            for (String locationIri : locationIris) {
+                try {
+                    corespc.addOntology(new RootOntologyIRISource(IRI.create(locationIri)));
+                    //					
+                    // corespc.addOntology(
+                    // createOntologyInputSource(locationIri));
+                    log.debug("Added " + locationIri + " to scope " + scopeID + " in the core space.", this);
+                    // OntologySpace cs = scope.getCustomSpace();
+                    // if (cs instanceof CustomOntologySpace) {
+                    // (
+                    // (CustomOntologySpace)cs).attachCoreSpace((CoreOntologySpace)corespc,
+                    // false);
+                    // }
+                } catch (UnmodifiableOntologySpaceException e) {
+                    log.error("Core space for scope " + scopeID + " denied addition of ontology "
+                              + locationIri, e);
+                } catch (OWLOntologyCreationException e) {
+                    log.error("Creation of ontology from source " + locationIri + " failed.", e);
+                }
+            }
+            corespc.setUp();
+        }
+
+        /**
+         * Adds the ontology fromt he given iri to the custom space of the given scope
+         * 
+         * @param scopeID
+         * @param locationIri
+         */
+        public synchronized void addToCustomSpace(String scopeID, String[] locationIris) {
+            OntologyScope scope = getScopeRegistry().getScope(IRI.create(scopeID));
+
+            scope.getCustomSpace().tearDown();
+            for (String locationIri : locationIris) {
+                try {
+                    scope.getCustomSpace().addOntology(createOntologyInputSource(locationIri));
+                    log
+                            .debug("Added " + locationIri + " to scope " + scopeID + " in the custom space.",
+                                this);
+                } catch (UnmodifiableOntologySpaceException e) {
+                    log.error("An error occurred while trying to add the ontology from location: "
+                              + locationIri, e);
+                }
+            }
+            scope.getCustomSpace().setUp();
+        }
+
+        private OntologyInputSource createOntologyInputSource(final String uri) {
+            /*
+             * The scope factory needs an OntologyInputSource as input for the core ontology space. We want to
+             * use the dbpedia ontology as core ontology of our scope.
+             */
+            OntologyInputSource ois = new OntologyInputSource() {
+
+                @Override
+                public boolean hasRootOntology() {
+                    return true;
+                }
+
+                @Override
+                public boolean hasPhysicalIRI() {
+                    return false;
+                }
+
+                @Override
+                public OWLOntology getRootOntology() {
+
+                    try {
+
+                        OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
+                        return manager.loadOntologyFromOntologyDocument(IRI.create(uri));
+                    } catch (OWLOntologyCreationException e) {
+                        log.error("Cannot load the ontology " + uri, e);
+                    } catch (Exception e) {
+                        log.error("Cannot load the ontology " + uri, e);
+                    }
+                    /** If some errors occur **/
+                    return null;
+                }
+
+                @Override
+                public IRI getPhysicalIRI() {
+                    return null;
+                }
+            };
+
+            return ois;
+        }
+    }
 }

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/AbstractOntologySpaceImpl.java Sat Mar 19 16:55:26 2011
@@ -16,7 +16,6 @@ import org.apache.stanbol.ontologymanage
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
 import org.apache.stanbol.ontologymanager.ontonet.impl.util.OntologyUtils;
 import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
 import org.semanticweb.owlapi.apibinding.OWLManager;
 import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;
 import org.semanticweb.owlapi.io.StringDocumentSource;

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CoreOntologySpaceImpl.java Sat Mar 19 16:55:26 2011
@@ -3,7 +3,6 @@ package org.apache.stanbol.ontologymanag
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.CoreOntologySpace;
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SpaceType;
 import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
 import org.semanticweb.owlapi.model.IRI;
 import org.semanticweb.owlapi.model.OWLOntologyManager;
 

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/CustomOntologySpaceImpl.java Sat Mar 19 16:55:26 2011
@@ -6,7 +6,6 @@ import org.apache.stanbol.ontologymanage
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SpaceType;
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
 import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
 import org.semanticweb.owlapi.model.IRI;
 import org.semanticweb.owlapi.model.OWLOntology;
 import org.semanticweb.owlapi.model.OWLOntologyManager;

Copied: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/NoSuchStoreException.java (from r1083178, incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/api/NoSuchStoreException.java)
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/NoSuchStoreException.java?p2=incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/NoSuchStoreException.java&p1=incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/api/NoSuchStoreException.java&r1=1083178&r2=1083230&rev=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/api/NoSuchStoreException.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/NoSuchStoreException.java Sat Mar 19 16:55:26 2011
@@ -1,4 +1,4 @@
-package org.apache.stanbol.ontologymanager.store.api;
+package org.apache.stanbol.ontologymanager.ontonet.impl.ontology;
 
 public class NoSuchStoreException extends Exception {
 

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologySpaceFactoryImpl.java Sat Mar 19 16:55:26 2011
@@ -10,7 +10,6 @@ import org.apache.stanbol.ontologymanage
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.ScopeRegistry;
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SessionOntologySpace;
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
 import org.semanticweb.owlapi.model.IRI;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Copied: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyStorage.java (from r1083178, incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/impl/ClerezzaStorage.java)
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyStorage.java?p2=incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyStorage.java&p1=incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/impl/ClerezzaStorage.java&r1=1083178&r2=1083230&rev=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/store/src/main/java/org/apache/stanbol/ontologymanager/store/impl/ClerezzaStorage.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/OntologyStorage.java Sat Mar 19 16:55:26 2011
@@ -1,4 +1,4 @@
-package org.apache.stanbol.ontologymanager.store.impl;
+package org.apache.stanbol.ontologymanager.ontonet.impl.ontology;
 
 import java.util.Dictionary;
 import java.util.HashSet;
@@ -14,14 +14,6 @@ import org.apache.clerezza.rdf.core.impl
 import org.apache.clerezza.rdf.core.sparql.ParseException;
 import org.apache.clerezza.rdf.core.sparql.QueryParser;
 import org.apache.clerezza.rdf.core.sparql.query.Query;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.stanbol.ontologymanager.store.api.NoSuchStoreException;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStoreProvider;
 import org.osgi.service.component.ComponentContext;
 import org.semanticweb.owlapi.model.IRI;
 import org.semanticweb.owlapi.model.OWLOntology;
@@ -37,21 +29,14 @@ import com.hp.hpl.jena.util.FileManager;
 import eu.iksproject.kres.shared.transformation.JenaToClerezzaConverter;
 import eu.iksproject.kres.shared.transformation.JenaToOwlConvert;
 
-@Component(immediate = true, metatype = true)
-@Service(OntologyStorage.class)
-public class ClerezzaStorage implements OntologyStorage {
+public class OntologyStorage {
 
-	private static Logger log = LoggerFactory.getLogger(ClerezzaStorage.class);
-
-	@Reference
-	OntologyStoreProvider ontologyStoreProvider;
+	private static Logger log = LoggerFactory.getLogger(OntologyStorage.class);
 	
 	public static final String URI = "http://ontologydesignpatterns.org/ont/iks/oxml.owl";
 	
-	@Reference
 	TcManager tcManager;
 	
-	@Reference
 	WeightedTcProvider weightedTcProvider;
 	
 	/**
@@ -64,7 +49,7 @@ public class ClerezzaStorage implements 
 	 * or its overloads, to parse the configuration and then initialise the rule
 	 * store if running outside a OSGI environment.
 	 */
-	public ClerezzaStorage() {
+	private OntologyStorage() {
 
 	}
 	
@@ -76,19 +61,16 @@ public class ClerezzaStorage implements 
 	 * @param wtcProvider
 	 * @param osProvider
 	 */
-	public ClerezzaStorage(TcManager tcManager, WeightedTcProvider wtcProvider,
-			OntologyStoreProvider osProvider) {
+	public OntologyStorage(TcManager tcManager, WeightedTcProvider wtcProvider) {
 		this();
 		this.tcManager = tcManager;
 		this.weightedTcProvider = wtcProvider;
-		this.ontologyStoreProvider = osProvider;
 		activate(new Hashtable<String, Object>());
 	}
 
 	@SuppressWarnings("unchecked")
-	@Activate
-	protected void activate(ComponentContext context) {
-		log.info("in " + ClerezzaStorage.class + " activate with context "
+    protected void activate(ComponentContext context) {
+		log.info("in " + OntologyStorage.class + " activate with context "
 				+ context);
 		if (context == null) {
 			throw new IllegalStateException("No valid" + ComponentContext.class
@@ -98,35 +80,28 @@ public class ClerezzaStorage implements 
 	}
 
 	protected void activate(Dictionary<String, Object> configuration) {
-		ontologyStoreProvider.registerOntologyStorage(this);
+
 	}
 
-	@Override
 	public void clear() {
 		// TODO Auto-generated method stub
 	}
 
-	@Deactivate
 	protected void deactivate(ComponentContext context) {
-		log.info("in " + ClerezzaStorage.class + " deactivate with context "
+		log.info("in " + OntologyStorage.class + " deactivate with context "
 				+ context);
-		ontologyStoreProvider.unregisterOntologyStorage(this.getClass());
 		tcManager = null;
 		weightedTcProvider = null;
-		ontologyStoreProvider = null;
 	}
 
-	@Override
 	public void delete(IRI ontologyId) {
 		// TODO Auto-generated method stub
 	}
 
-	@Override
 	public void deleteAll(Set<IRI> ontologyIds) {
 		// TODO Auto-generated method stub
 	}
 
-	@Override
 	public OWLOntology getGraph(IRI ontologyID) throws NoSuchStoreException {
 		OWLOntology ontology = null;
 
@@ -150,7 +125,6 @@ public class ClerezzaStorage implements 
 		return ontology;
 	}
 
-	@Override
 	public Set<IRI> listGraphs() {
 
 		Set<IRI> iris = null;
@@ -165,7 +139,6 @@ public class ClerezzaStorage implements 
 
 	}
 
-	@Override
 	public OWLOntology load(IRI ontologyId) {
 		MGraph triples = TcManager.getInstance().getMGraph(
 				new UriRef(ontologyId.toString()));
@@ -174,7 +147,6 @@ public class ClerezzaStorage implements 
 		return converter.ModelJenaToOwlConvert(om, "RDF/XML");
 	}
 	
-	@Override
 	public OWLOntology sparqlConstruct(String sparql, String datasetURI) {
 		
 		Query query;
@@ -199,7 +171,6 @@ public class ClerezzaStorage implements 
 		return converter.ModelJenaToOwlConvert(om, "RDF/XML");
 	}
 
-	@Override
 	public void store(OWLOntology o) {
 		
 		JenaToOwlConvert converter = new JenaToOwlConvert();
@@ -211,7 +182,6 @@ public class ClerezzaStorage implements 
 		mg2.addAll(mg);
 	}
 	
-	@Override
 	public void store(OWLOntology o, IRI ontologyID) {
 			
 		JenaToOwlConvert converter = new JenaToOwlConvert();

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/ontology/SessionOntologySpaceImpl.java Sat Mar 19 16:55:26 2011
@@ -7,7 +7,6 @@ import org.apache.stanbol.ontologymanage
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.SpaceType;
 import org.apache.stanbol.ontologymanager.ontonet.api.ontology.UnmodifiableOntologySpaceException;
 import org.apache.stanbol.ontologymanager.ontonet.impl.util.StringUtils;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
 import org.semanticweb.owlapi.model.IRI;
 import org.semanticweb.owlapi.model.OWLOntologyCreationException;
 import org.semanticweb.owlapi.model.OWLOntologyManager;

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/KReSSessionManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/KReSSessionManagerImpl.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/KReSSessionManagerImpl.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/main/java/org/apache/stanbol/ontologymanager/ontonet/impl/session/KReSSessionManagerImpl.java Sat Mar 19 16:55:26 2011
@@ -19,7 +19,7 @@ import org.apache.stanbol.ontologymanage
 import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionListener;
 import org.apache.stanbol.ontologymanager.ontonet.api.session.KReSSession.State;
 import org.apache.stanbol.ontologymanager.ontonet.api.session.SessionEvent.OperationType;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
 import org.semanticweb.owlapi.model.IRI;
 import org.semanticweb.owlapi.model.OWLOntology;
 import org.slf4j.Logger;

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/Namespace.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/Namespace.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/Namespace.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/Namespace.java Sat Mar 19 16:55:26 2011
@@ -16,7 +16,7 @@ public class Namespace {
 	@BeforeClass
 	public static void setUp() {
 		// An ONManager with no store and default settings
-		onm = new ONManager(null, new Hashtable<String, Object>());
+		onm = new ONManager(null,null, new Hashtable<String, Object>());
 	}
 	
 	@Test

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestIndexing.java Sat Mar 19 16:55:26 2011
@@ -50,7 +50,7 @@ public class TestIndexing {
 	@BeforeClass
 	public static void setup() {
 		// An ONManager with no store and default settings
-		onm = new ONManager(null, new Hashtable<String, Object>());
+		onm = new ONManager(null,null, new Hashtable<String, Object>());
 
 		// Since it is registered, this scope must be unique, or subsequent
 		// tests will fail on duplicate ID exceptions!

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologyScope.java Sat Mar 19 16:55:26 2011
@@ -59,7 +59,7 @@ public class TestOntologyScope {
 	@BeforeClass
 	public static void setup() {
 		// An ONManager with no store and default settings
-		onm = new ONManager(null, new Hashtable<String, Object>());
+		onm = new ONManager(null,null, new Hashtable<String, Object>());
 		factory = onm.getOntologyScopeFactory();
 		if (factory == null)
 			fail("Could not instantiate ontology space factory");

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologySpaces.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologySpaces.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologySpaces.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/ontology/TestOntologySpaces.java Sat Mar 19 16:55:26 2011
@@ -57,7 +57,7 @@ public class TestOntologySpaces {
 	@BeforeClass
 	public static void setup() {
 		// An ONManager with no store and default settings
-		onm = new ONManager(null, new Hashtable<String, Object>());
+		onm = new ONManager(null,null, new Hashtable<String, Object>());
 		spaceFactory = onm.getOntologySpaceFactory();
 		if (spaceFactory == null)
 			fail("Could not instantiate ontology space factory");

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/registry/TestRegistry.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/registry/TestRegistry.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/registry/TestRegistry.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/registry/TestRegistry.java Sat Mar 19 16:55:26 2011
@@ -32,7 +32,7 @@ public class TestRegistry {
 	@BeforeClass
 	public static void setup() {
 		// An ONManager with no store and default settings
-		onm = new ONManager(null, new Hashtable<String, Object>());
+		onm = new ONManager(null,null, new Hashtable<String, Object>());
 	}
 
 	@Test

Modified: incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java (original)
+++ incubator/stanbol/trunk/kres/ontologymanager/ontonet/src/test/java/org/apache/stanbol/ontologymanager/ontonet/session/TestSessions.java Sat Mar 19 16:55:26 2011
@@ -55,7 +55,7 @@ public class TestSessions {
 	@BeforeClass
 	public static void setup() {
 		// An ONManager with no store and default settings
-		KReSONManager onm = new ONManager(null, new Hashtable<String, Object>());
+		KReSONManager onm = new ONManager(null,null, new Hashtable<String, Object>());
 		sesmgr = onm.getSessionManager();
 		scopeFactory = onm.getOntologyScopeFactory();
 		spaceFactory = onm.getOntologySpaceFactory();

Modified: incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/api/SemionManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/api/SemionManager.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/api/SemionManager.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/api/SemionManager.java Sat Mar 19 16:55:26 2011
@@ -2,7 +2,7 @@ package org.apache.stanbol.reengineer.ba
 
 import java.util.Collection;
 
-import org.apache.stanbol.ontologymanager.store.api.NoSuchOntologyInStoreException;
+import org.apache.stanbol.reengineer.base.impl.NoSuchOntologyInStoreException;
 import org.semanticweb.owlapi.model.IRI;
 import org.semanticweb.owlapi.model.OWLOntology;
 

Added: incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/NoSuchOntologyInStoreException.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/NoSuchOntologyInStoreException.java?rev=1083230&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/NoSuchOntologyInStoreException.java (added)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/NoSuchOntologyInStoreException.java Sat Mar 19 16:55:26 2011
@@ -0,0 +1,22 @@
+package org.apache.stanbol.reengineer.base.impl;
+
+import org.semanticweb.owlapi.model.IRI;
+
+public class NoSuchOntologyInStoreException extends Exception {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	
+	private IRI ontologyIRI;
+	
+	public NoSuchOntologyInStoreException(IRI ontologyIRI) {
+		this.ontologyIRI = ontologyIRI;
+	}
+	
+	public IRI getOntologyIRI() {
+		return ontologyIRI;
+	}
+	
+}

Added: incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/OntologyStorage.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/OntologyStorage.java?rev=1083230&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/OntologyStorage.java (added)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/OntologyStorage.java Sat Mar 19 16:55:26 2011
@@ -0,0 +1,201 @@
+package org.apache.stanbol.reengineer.base.impl;
+
+import java.util.Dictionary;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Set;
+
+import org.apache.clerezza.rdf.core.MGraph;
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
+import org.apache.clerezza.rdf.core.impl.SimpleGraph;
+import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
+import org.apache.clerezza.rdf.core.sparql.ParseException;
+import org.apache.clerezza.rdf.core.sparql.QueryParser;
+import org.apache.clerezza.rdf.core.sparql.query.Query;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.NoSuchStoreException;
+import org.osgi.service.component.ComponentContext;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.hp.hpl.jena.ontology.OntModel;
+import com.hp.hpl.jena.ontology.OntModelSpec;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.util.FileManager;
+
+import eu.iksproject.kres.shared.transformation.JenaToClerezzaConverter;
+import eu.iksproject.kres.shared.transformation.JenaToOwlConvert;
+
+/**
+ * Copied to avoid cross-dependencies
+ * 
+ * @author alessandro
+ *
+ */
+public class OntologyStorage {
+
+	private static Logger log = LoggerFactory.getLogger(OntologyStorage.class);
+	
+	public static final String URI = "http://ontologydesignpatterns.org/ont/iks/oxml.owl";
+	
+	TcManager tcManager;
+	
+	WeightedTcProvider weightedTcProvider;
+	
+	/**
+	 * This default constructor is <b>only</b> intended to be used by the OSGI
+	 * environment with Service Component Runtime support.
+	 * <p>
+	 * DO NOT USE to manually create instances - the ClerezzaStorage instances
+	 * do need to be configured! YOU NEED TO USE
+	 * {@link #ClerezzaStorage(TcManager, WeightedTcProvider, OntologyStoreProvider)}
+	 * or its overloads, to parse the configuration and then initialise the rule
+	 * store if running outside a OSGI environment.
+	 */
+	private OntologyStorage() {
+
+	}
+	
+	/**
+	 * Basic constructor to be used if outside of an OSGi environment. Invokes
+	 * default constructor.
+	 * 
+	 * @param tcManager
+	 * @param wtcProvider
+	 * @param osProvider
+	 */
+	public OntologyStorage(TcManager tcManager, WeightedTcProvider wtcProvider) {
+		this();
+		this.tcManager = tcManager;
+		this.weightedTcProvider = wtcProvider;
+		activate(new Hashtable<String, Object>());
+	}
+
+	@SuppressWarnings("unchecked")
+    protected void activate(ComponentContext context) {
+		log.info("in " + OntologyStorage.class + " activate with context "
+				+ context);
+		if (context == null) {
+			throw new IllegalStateException("No valid" + ComponentContext.class
+					+ " parsed in activate!");
+		}
+		activate((Dictionary<String, Object>) context.getProperties());
+	}
+
+	protected void activate(Dictionary<String, Object> configuration) {
+
+	}
+
+	public void clear() {
+		// TODO Auto-generated method stub
+	}
+
+	protected void deactivate(ComponentContext context) {
+		log.info("in " + OntologyStorage.class + " deactivate with context "
+				+ context);
+		tcManager = null;
+		weightedTcProvider = null;
+	}
+
+	public void delete(IRI ontologyId) {
+		// TODO Auto-generated method stub
+	}
+
+	public void deleteAll(Set<IRI> ontologyIds) {
+		// TODO Auto-generated method stub
+	}
+
+	public OWLOntology getGraph(IRI ontologyID) throws NoSuchStoreException {
+		OWLOntology ontology = null;
+
+		if (tcManager != null) {
+			MGraph mGraph = tcManager.getMGraph(new UriRef(ontologyID
+					.toString()));
+			JenaToOwlConvert jowl = new JenaToOwlConvert();
+			OntModel ontModel = ModelFactory.createOntologyModel(
+					OntModelSpec.OWL_DL_MEM, FileManager.get().loadModel(
+					    URI));
+			ontModel.add(JenaToClerezzaConverter
+					.clerezzaMGraphToJenaModel(mGraph));
+			ontology = jowl.ModelJenaToOwlConvert(ontModel, "RDF/XML");
+			// ontology =
+			// OWLAPIToClerezzaConverter.clerezzaMGraphToOWLOntology(mGraph);
+
+		} else {
+			throw new NoSuchStoreException(
+					"No store registered or activated in the environment.");
+		}
+		return ontology;
+	}
+
+	public Set<IRI> listGraphs() {
+
+		Set<IRI> iris = null;
+		Set<UriRef> uriRefs = tcManager.listTripleCollections();
+		if (uriRefs != null) {
+			iris = new HashSet<IRI>();
+			for (UriRef uriRef : uriRefs) {
+				iris.add(IRI.create(uriRef.toString()));
+			}
+		}
+		return iris;
+
+	}
+
+	public OWLOntology load(IRI ontologyId) {
+		MGraph triples = TcManager.getInstance().getMGraph(
+				new UriRef(ontologyId.toString()));
+		Model om = JenaToClerezzaConverter.clerezzaMGraphToJenaModel(triples);
+		JenaToOwlConvert converter = new JenaToOwlConvert();
+		return converter.ModelJenaToOwlConvert(om, "RDF/XML");
+	}
+	
+	public OWLOntology sparqlConstruct(String sparql, String datasetURI) {
+		
+		Query query;
+		
+		MGraph mGraph = new SimpleMGraph();
+		try {
+			query = QueryParser.getInstance().parse(sparql);
+			
+			UriRef datasetUriRef = new UriRef(datasetURI);
+			MGraph dataset = weightedTcProvider.getMGraph(datasetUriRef);
+			
+			mGraph.addAll((SimpleGraph) tcManager.executeSparqlQuery(query,
+					dataset));
+			
+		} catch (ParseException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		
+		Model om = JenaToClerezzaConverter.clerezzaMGraphToJenaModel(mGraph);
+		JenaToOwlConvert converter = new JenaToOwlConvert();
+		return converter.ModelJenaToOwlConvert(om, "RDF/XML");
+	}
+
+	public void store(OWLOntology o) {
+		
+		JenaToOwlConvert converter = new JenaToOwlConvert();
+		OntModel om = converter.ModelOwlToJenaConvert(o, "RDF/XML");
+		MGraph mg = JenaToClerezzaConverter.jenaModelToClerezzaMGraph(om);
+		// MGraph mg = OWLAPIToClerezzaConverter.owlOntologyToClerezzaMGraph(o);
+		MGraph mg2 = tcManager.createMGraph(new UriRef(o.getOntologyID()
+				.getOntologyIRI().toString()));
+		mg2.addAll(mg);
+	}
+	
+	public void store(OWLOntology o, IRI ontologyID) {
+			
+		JenaToOwlConvert converter = new JenaToOwlConvert();
+		OntModel om = converter.ModelOwlToJenaConvert(o, "RDF/XML");
+		MGraph mg = JenaToClerezzaConverter.jenaModelToClerezzaMGraph(om);
+		// MGraph mg = OWLAPIToClerezzaConverter.owlOntologyToClerezzaMGraph(o);
+		MGraph mg2 = tcManager.createMGraph(new UriRef(ontologyID.toString()));
+		mg2.addAll(mg);
+	}
+}

Modified: incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/SemionManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/SemionManagerImpl.java?rev=1083230&r1=1083178&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/SemionManagerImpl.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/main/java/org/apache/stanbol/reengineer/base/impl/SemionManagerImpl.java Sat Mar 19 16:55:26 2011
@@ -1,4 +1,4 @@
-package org.apache.stanbol.reengineer.base.api.impl;
+package org.apache.stanbol.reengineer.base.impl;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -7,14 +7,15 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.Iterator;
 
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.stanbol.ontologymanager.ontonet.api.KReSONManager;
-import org.apache.stanbol.ontologymanager.store.api.NoSuchOntologyInStoreException;
-import org.apache.stanbol.ontologymanager.store.api.OntologyStorage;
+import org.apache.stanbol.ontologymanager.ontonet.impl.ontology.OntologyStorage;
 import org.apache.stanbol.reengineer.base.api.DataSource;
 import org.apache.stanbol.reengineer.base.api.ReengineeringException;
 import org.apache.stanbol.reengineer.base.api.SemionManager;
@@ -40,8 +41,13 @@ public class SemionManagerImpl implement
 
 	private final Logger log = LoggerFactory.getLogger(getClass());
 	
-	@Reference
-	KReSONManager onManager;
+    @Reference
+    private TcManager tcm;
+
+    @Reference
+    private WeightedTcProvider wtcp;
+    
+    private OntologyStorage storage;
 	
 	private ArrayList<SemionReengineer> reengineers;
 //
@@ -67,9 +73,9 @@ public class SemionManagerImpl implement
 	 * 
 	 * @param onm
 	 */
-	public SemionManagerImpl(KReSONManager onManager) {
+	public SemionManagerImpl(TcManager tcm, WeightedTcProvider wtcp) {
 		this();
-		this.onManager = onManager;
+        storage = new OntologyStorage(tcm, wtcp);
 		activate(new Hashtable<String, Object>());
 	}
 
@@ -91,6 +97,7 @@ public class SemionManagerImpl implement
 	}
 
 	protected void activate(Dictionary<String, Object> configuration) {
+        if (storage == null) storage = new OntologyStorage(this.tcm, this.wtcp);
 		reengineers = new ArrayList<SemionReengineer>();
 	}
 
@@ -153,9 +160,9 @@ public class SemionManagerImpl implement
 		
 		OWLOntology reengineeredDataOntology = null;
 		
-		OntologyStorage ontologyStorage = onManager.getOntologyStore();
+//		OntologyStorage ontologyStorage = onManager.getOntologyStore();
 		
-		OWLOntology schemaOntology = ontologyStorage.load(schemaOntologyIRI);
+		OWLOntology schemaOntology = storage.load(schemaOntologyIRI);
 		
 		if(schemaOntology == null){
 			throw new NoSuchOntologyInStoreException(schemaOntologyIRI);

Modified: incubator/stanbol/trunk/kres/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/SemionManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/SemionManagerTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/SemionManagerTest.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/base/src/test/java/org/apache/stanbol/rengineer/base/SemionManagerTest.java Sat Mar 19 16:55:26 2011
@@ -6,9 +6,9 @@ import org.apache.stanbol.reengineer.bas
 import org.apache.stanbol.reengineer.base.api.ReengineeringException;
 import org.apache.stanbol.reengineer.base.api.SemionManager;
 import org.apache.stanbol.reengineer.base.api.SemionReengineer;
-import org.apache.stanbol.reengineer.base.api.impl.SemionManagerImpl;
 import org.apache.stanbol.reengineer.base.api.util.ReengineerType;
 import org.apache.stanbol.reengineer.base.api.util.UnsupportedReengineerException;
+import org.apache.stanbol.reengineer.base.impl.SemionManagerImpl;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.semanticweb.owlapi.model.IRI;

Modified: incubator/stanbol/trunk/kres/reengineer/db/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/db/pom.xml?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/db/pom.xml (original)
+++ incubator/stanbol/trunk/kres/reengineer/db/pom.xml Sat Mar 19 16:55:26 2011
@@ -177,6 +177,18 @@
 			<artifactId>org.apache.clerezza.rdf.jena.serializer</artifactId>
 			<version>0.9-incubating-SNAPSHOT</version>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.clerezza</groupId>
+			<artifactId>org.apache.clerezza.rdf.jena.sparql</artifactId>
+			<version>0.5-incubating-SNAPSHOT</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.clerezza</groupId>
+			<artifactId>org.apache.clerezza.rdf.simple.storage</artifactId>
+			<version>0.7-incubating-SNAPSHOT</version>
+			<scope>provided</scope>
+		</dependency>
 
 		<!-- XML deps -->
 		<dependency>

Modified: incubator/stanbol/trunk/kres/reengineer/db/src/test/java/org/apache/stanbol/reengineer/db/DBExtractorTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/db/src/test/java/org/apache/stanbol/reengineer/db/DBExtractorTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/db/src/test/java/org/apache/stanbol/reengineer/db/DBExtractorTest.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/db/src/test/java/org/apache/stanbol/reengineer/db/DBExtractorTest.java Sat Mar 19 16:55:26 2011
@@ -4,9 +4,13 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 
 import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
+import org.apache.clerezza.rdf.core.sparql.QueryEngine;
+import org.apache.clerezza.rdf.jena.sparql.JenaSparqlEngine;
+import org.apache.clerezza.rdf.simple.storage.SimpleTcProvider;
 import org.apache.stanbol.ontologymanager.ontonet.api.KReSONManager;
 import org.apache.stanbol.ontologymanager.ontonet.impl.ONManager;
-import org.apache.stanbol.reengineer.base.api.impl.SemionManagerImpl;
+import org.apache.stanbol.reengineer.base.impl.SemionManagerImpl;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -22,9 +26,24 @@ public class DBExtractorTest {
 	@BeforeClass
 	public static void setupClass() {
 		Dictionary<String, Object> emptyConf = new Hashtable<String, Object>();
-		onManager = new ONManager(null, emptyConf);
-		dbExtractor = new DBExtractor(new SemionManagerImpl(onManager),
-				onManager, new TcManager(), null, emptyConf);
+        class SpecialTcManager extends TcManager {
+            public SpecialTcManager(QueryEngine qe, WeightedTcProvider wtcp) {
+                super();
+                bindQueryEngine(qe);
+                bindWeightedTcProvider(wtcp);
+            }
+        }
+
+        QueryEngine qe = new JenaSparqlEngine();
+        WeightedTcProvider wtcp = new SimpleTcProvider();
+        TcManager tcm = new SpecialTcManager(qe, wtcp);
+
+        // Two different ontology storagez, the same sparql engine and tcprovider
+		
+		
+		onManager = new ONManager(tcm, wtcp,emptyConf);
+		dbExtractor = new DBExtractor(new SemionManagerImpl(tcm, wtcp),
+				onManager, tcm, wtcp, emptyConf);
 		graphNS = "http://kres.iks-project.eu/reengineering/test";
 		outputIRI = IRI.create(graphNS);
 	}

Modified: incubator/stanbol/trunk/kres/reengineer/xml/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/xml/pom.xml?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/xml/pom.xml (original)
+++ incubator/stanbol/trunk/kres/reengineer/xml/pom.xml Sat Mar 19 16:55:26 2011
@@ -175,6 +175,18 @@
 			<artifactId>org.apache.clerezza.rdf.jena.serializer</artifactId>
 			<version>0.9-incubating-SNAPSHOT</version>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.clerezza</groupId>
+			<artifactId>org.apache.clerezza.rdf.jena.sparql</artifactId>
+			<version>0.5-incubating-SNAPSHOT</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.clerezza</groupId>
+			<artifactId>org.apache.clerezza.rdf.simple.storage</artifactId>
+			<version>0.7-incubating-SNAPSHOT</version>
+			<scope>provided</scope>
+		</dependency>
 
 		<!-- XML deps -->
 		<dependency>

Modified: incubator/stanbol/trunk/kres/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java (original)
+++ incubator/stanbol/trunk/kres/reengineer/xml/src/test/java/org/apache/stanbol/reengineer/xml/XMLReengineerTest.java Sat Mar 19 16:55:26 2011
@@ -4,12 +4,17 @@ import java.io.InputStream;
 import java.util.Dictionary;
 import java.util.Hashtable;
 
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.access.WeightedTcProvider;
+import org.apache.clerezza.rdf.core.sparql.QueryEngine;
+import org.apache.clerezza.rdf.jena.sparql.JenaSparqlEngine;
+import org.apache.clerezza.rdf.simple.storage.SimpleTcProvider;
 import org.apache.stanbol.ontologymanager.ontonet.api.KReSONManager;
 import org.apache.stanbol.ontologymanager.ontonet.impl.ONManager;
 import org.apache.stanbol.reengineer.base.api.DataSource;
 import org.apache.stanbol.reengineer.base.api.SemionReengineer;
-import org.apache.stanbol.reengineer.base.api.impl.SemionManagerImpl;
 import org.apache.stanbol.reengineer.base.api.util.ReengineerType;
+import org.apache.stanbol.reengineer.base.impl.SemionManagerImpl;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -70,8 +75,22 @@ public class XMLReengineerTest {
 	@Before
 	public void setup() {
 		Dictionary<String, Object> emptyConf = new Hashtable<String, Object>();
-		KReSONManager onManager = new ONManager(null, emptyConf);
-		xmlExtractor = new XMLExtractor(new SemionManagerImpl(onManager),
+		
+	      class SpecialTcManager extends TcManager {
+	            public SpecialTcManager(QueryEngine qe, WeightedTcProvider wtcp) {
+	                super();
+	                bindQueryEngine(qe);
+	                bindWeightedTcProvider(wtcp);
+	            }
+	        }
+
+	        QueryEngine qe = new JenaSparqlEngine();
+	        WeightedTcProvider wtcp = new SimpleTcProvider();
+	        TcManager tcm = new SpecialTcManager(qe, wtcp);
+
+	        // Two different ontology storagez, the same sparql engine and tcprovider
+		KReSONManager onManager = new ONManager(tcm, wtcp ,emptyConf);
+		xmlExtractor = new XMLExtractor(new SemionManagerImpl(tcm, wtcp),
 				onManager, emptyConf);
 	}
 

Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRecipeTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRecipeTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRecipeTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRecipeTest.java Sat Mar 19 16:55:26 2011
@@ -50,7 +50,7 @@ public class KReSAddRecipeTest {
     @Before
     public void setUp() {
     	Dictionary<String, Object> configuration = new Hashtable<String, Object>();
-    	onm = new ONManager(null, new Hashtable<String, Object>());
+    	onm = new ONManager(null,null, new Hashtable<String, Object>());
     	store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
     }
 

Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRuleTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRuleTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRuleTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSAddRuleTest.java Sat Mar 19 16:55:26 2011
@@ -47,7 +47,7 @@ public class KReSAddRuleTest {
     @Before
     public void setUp() {
     	Dictionary<String, Object> configuration = new Hashtable<String, Object>();
-    	onm = new ONManager(null, new Hashtable<String, Object>());
+    	onm = new ONManager(null,null, new Hashtable<String, Object>());
     	store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
     }
 

Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRecipeTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRecipeTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRecipeTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRecipeTest.java Sat Mar 19 16:55:26 2011
@@ -46,7 +46,7 @@ public class KReSGetRecipeTest {
     @Before
     public void setUp() {
     	Dictionary<String, Object> configuration = new Hashtable<String, Object>();
-    	onm = new ONManager(null, new Hashtable<String, Object>());
+    	onm = new ONManager(null,null, new Hashtable<String, Object>());
     	store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
     }
 

Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRuleTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRuleTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRuleTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSGetRuleTest.java Sat Mar 19 16:55:26 2011
@@ -48,7 +48,7 @@ public class KReSGetRuleTest {
     @Before
     public void setUp() {
     	Dictionary<String, Object> configuration = new Hashtable<String, Object>();
-    	onm = new ONManager(null, new Hashtable<String, Object>());
+    	onm = new ONManager(null,null, new Hashtable<String, Object>());
     	store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
     }
 

Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSLoadRuleFileTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSLoadRuleFileTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSLoadRuleFileTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSLoadRuleFileTest.java Sat Mar 19 16:55:26 2011
@@ -69,12 +69,12 @@ public class KReSLoadRuleFileTest {
     @Test
     public void testKReSLoadRuleFile() throws OWLOntologyStorageException {
     	Dictionary<String, Object> configuration = new Hashtable<String, Object>();
-    	KReSONManager onm = new ONManager(null,configuration);
+    	KReSONManager onm = new ONManager(null,null,configuration);
     	Dictionary<String, Object> configuration2 = new Hashtable<String, Object>();
 //    	configuration2.put(KReSRuleStore.RULE_ONTOLOGY, "");
     	configuration2.put(KReSRuleStore.RULE_ONTOLOGY_NAMESPACE, "http://kres.iks-project.eu/ontology/meta/rmi.owl#");
         RuleStore store  = new KReSRuleStore(onm,configuration2,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
-        RuleStore newstore = new KReSRuleStore(new ONManager(null,configuration),configuration2,store.getOntology());
+        RuleStore newstore = new KReSRuleStore(new ONManager(null,null,configuration),configuration2,store.getOntology());
         //Load the example file
         KReSLoadRuleFile load = new KReSLoadRuleFile("./src/main/resources/RuleOntology/TestRuleFileExample.txt",store);
         OWLOntology result = load.getStore().getOntology();

Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRecipeTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRecipeTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRecipeTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRecipeTest.java Sat Mar 19 16:55:26 2011
@@ -46,7 +46,7 @@ public class KReSRemoveRecipeTest {
     @Before
     public void setUp() {
     	Dictionary<String, Object> configuration = new Hashtable<String, Object>();
-    	onm = new ONManager(null, new Hashtable<String, Object>());
+    	onm = new ONManager(null,null, new Hashtable<String, Object>());
     	store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
     }
 

Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRuleTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRuleTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRuleTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRemoveRuleTest.java Sat Mar 19 16:55:26 2011
@@ -46,7 +46,7 @@ public class KReSRemoveRuleTest {
     @Before
     public void setUp() {
     	Dictionary<String, Object> configuration = new Hashtable<String, Object>();
-    	onm = new ONManager(null, new Hashtable<String, Object>());
+    	onm = new ONManager(null,null, new Hashtable<String, Object>());
     	store = new KReSRuleStore(onm, configuration,"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
     }
 

Modified: incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRuleStoreTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRuleStoreTest.java?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRuleStoreTest.java (original)
+++ incubator/stanbol/trunk/kres/rules/manager/src/test/java/org/apache/stanbol/rules/manager/KReSRuleStoreTest.java Sat Mar 19 16:55:26 2011
@@ -51,10 +51,10 @@ public class KReSRuleStoreTest {
     @Before
     public void setUp() {
 		Dictionary<String, Object> configuration = new Hashtable<String, Object>();
-		store = new KReSRuleStore(new ONManager(null, configuration),
+		store = new KReSRuleStore(new ONManager(null,null, configuration),
 				configuration,
 				"./src/main/resources/RuleOntology/TestKReSOntologyRules.owl");
-		blankStore = new KReSRuleStore(new ONManager(null, configuration),
+		blankStore = new KReSRuleStore(new ONManager(null,null, configuration),
 				configuration, "");
     }
 

Modified: incubator/stanbol/trunk/kres/rules/refactor/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/rules/refactor/pom.xml?rev=1083230&r1=1083229&r2=1083230&view=diff
==============================================================================
--- incubator/stanbol/trunk/kres/rules/refactor/pom.xml (original)
+++ incubator/stanbol/trunk/kres/rules/refactor/pom.xml Sat Mar 19 16:55:26 2011
@@ -90,12 +90,14 @@
 			<version>${stanbol-version}</version>
 			<scope>provided</scope>
 		</dependency>
+		<!--
 		<dependency>
 			<groupId>org.apache.stanbol</groupId>
 			<artifactId>org.apache.stanbol.ontologymanager.store</artifactId>
 			<version>${stanbol-version}</version>
 			<scope>provided</scope>
 		</dependency>
+		-->
 		<dependency>
 			<groupId>org.apache.stanbol</groupId>
 			<artifactId>org.apache.stanbol.reasoners.base</artifactId>