Added:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi.owllink/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owllink/maven-metadata-local.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi.owllink/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owllink/maven-metadata-local.xml?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi.owllink/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owllink/maven-metadata-local.xml
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi.owllink/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owllink/maven-metadata-local.xml
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.semanticweb.owlapi</groupId>
+ <artifactId>owllink</artifactId>
+ <version>1.0.2</version>
+ <versioning>
+ <versions>
+ <version>1.0.2</version>
+ </versions>
+ <lastUpdated>20100826073053</lastUpdated>
+ </versioning>
+</metadata>
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi.owllink/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owllink/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/pom.xml?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/pom.xml
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/pom.xml
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,64 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <parent>
+
<artifactId>org.apache.stanbol.ontologymanager.store.parent</artifactId>
+ <groupId>org.apache.stanbol</groupId>
+ <version>0.9-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>org.semanticweb.owlapi</artifactId>
+ <packaging>bundle</packaging>
+ <version>3.0.0-SNAPSHOT</version>
+
+ <name>Apache Stanbol Ontology Manager Store Ext - OWLApi OSGI Bundle
</name>
+ <description>OWLApi OSGI Bundle</description>
+
+ <repositories>
+ <repository>
+ <releases>
+ <updatePolicy>always</updatePolicy>
+ </releases>
+ <snapshots>
+ <updatePolicy>always</updatePolicy>
+ </snapshots>
+ <id>local-owlapi-repo</id>
+
<url>file://localhost/${project.basedir}/src/main/resources/local-maven-repository</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+
<Embed-Dependency>*;artifactId=owlapi</Embed-Dependency>
+
<Embed-Transitive>true</Embed-Transitive>
+ <Export-Package>
+
org.semanticweb.owlapi.*,
+
com.clarkparsia.owlapi.*,
+ de.uulm.ecs.*,
+ org.coode.*,
+ uk.ac.manchester.cs.*
+ </Export-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.semanticweb.owlapi</groupId>
+ <artifactId>owlapi</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+</project>
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.jar
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.jar?rev=1086954&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.jar
------------------------------------------------------------------------------
svn:executable = *
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.pom
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.pom?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.pom
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.pom
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.semanticweb.owlapi</groupId>
+ <artifactId>owlapi</artifactId>
+ <version>3.0.0</version>
+ <description>POM was created from install:install-file</description>
+</project>
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/3.0.0/owlapi-3.0.0.pom
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/maven-metadata-local.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/maven-metadata-local.xml?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/maven-metadata-local.xml
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/maven-metadata-local.xml
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.semanticweb.owlapi</groupId>
+ <artifactId>owlapi</artifactId>
+ <version>3.0.0</version>
+ <versioning>
+ <versions>
+ <version>3.0.0</version>
+ </versions>
+ <lastUpdated>20100826084032</lastUpdated>
+ </versioning>
+</metadata>
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/ext/org.semanticweb.owlapi/src/main/resources/local-maven-repository/org/semanticweb/owlapi/owlapi/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/README.txt
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/README.txt?rev=1086954&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/README.txt
(added)
+++ incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/README.txt
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,19 @@
+IKS FISE Persistence Store Adapter
+==================================
+
+This bundle implements a storage engine for FISE that stores a ContentItem's
metadata in a persistence store and its content in a file.
+It implements the eu.iksproject.fise.servicesapi.Store interface.
+
+
+How to deploy
+=============
+
+after
+>mvn clean install
+you can upload the jars in target folder to felix
+
+Run
+===
+see README.txt of eu.iksproject.persistencestore.rest
+
+Remember that all other components that provide the service
eu.iksproject.fise.servicesapi.Store should be deactivated.
\ No newline at end of file
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/README.txt
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/pom.xml?rev=1086954&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/pom.xml
(added)
+++ incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/pom.xml Wed
Mar 30 13:43:53 2011
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+
<artifactId>org.apache.stanbol.ontologymanager.store.parent</artifactId>
+ <groupId>org.apache.stanbol</groupId>
+ <version>0.9-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
+ </parent>
+
+
<artifactId>org.apache.stanbol.ontologymanager.store.adapter</artifactId>
+ <packaging>bundle</packaging>
+
+ <name>Apache Stanbol Ontology Manager Store - Enhancer Store
Adapter</name>
+ <description>Implementation of the Enhancer Store API.</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.servicesapi</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.ontologymanager.store.api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.core</artifactId>
+ <version>0.12-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+
<artifactId>org.apache.clerezza.rdf.simple.storage</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+
<artifactId>org.apache.clerezza.rdf.jena.parser</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+
<artifactId>org.apache.clerezza.rdf.jena.serializer</artifactId>
+ <optional>true</optional>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/ContentManager.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/ContentManager.java?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/ContentManager.java
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/ContentManager.java
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,183 @@
+package org.apache.stanbol.ontologymanager.store.adapter;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+import java.util.Map.Entry;
+
+import org.apache.stanbol.ontologymanager.store.adapter.util.IOUtil;
+import org.apache.stanbol.ontologymanager.store.adapter.util.Triple;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ContentManager {
+
+ private static final Logger LOGGER =
LoggerFactory.getLogger(ContentManager.class.getName());
+
+ private static final String CONTENT_INDEX_FILE =
"content_index.properties";
+
+ private Map<String,Triple<String,byte[],String>> contentMap = new
HashMap<String,Triple<String,byte[],String>>();
+
+ private Properties contentIndex = new Properties();
+
+ private File contentFolder;
+
+ public ContentManager(File contentFolder) {
+
+ File indexFile;
+
+ this.contentFolder = contentFolder;
+ Thread.currentThread().getContextClassLoader();
+ checkContentFolder();
+ LOGGER.info("Content folder OK");
+
+ indexFile = getIndexFile();
+ LOGGER.info("Index file OK");
+
+ loadIndexEntries(indexFile);
+ LOGGER.info("Content loaded OK");
+
+ printContentMap();
+
+ }
+
+ public void put(String id, Triple<String,byte[],String> triple) {
+ IOUtil ioUtil = IOUtil.getInstance();
+ UUID contentAlias = UUID.randomUUID();
+ String contentType = triple.getEntry1();
+ byte[] content = triple.getEntry2();
+ String uri = triple.getEntry3();
+ if (contentMap.get(id) != null) {
+ LOGGER.warn("Overriding previous content for: " + id);
+ delete(id);
+ }
+
+ contentIndex.put(id,
+ new Triple<String,String,String>(contentType,
contentAlias.toString(), uri).toString());
+
+ File f = new File(contentFolder.getAbsolutePath() + "/" +
contentAlias);
+ try {
+ f.createNewFile();
+ ioUtil.writeBytesToFile(f, content);
+ } catch (IOException e) {
+ LOGGER.error("Unable to create file: " + f.getAbsolutePath());
+ delete(id);
+ return;
+ }
+
+ contentMap.put(id, new Triple<String,byte[],String>(contentType,
content, uri));
+ store();
+ }
+
+ public void delete(String id) {
+ File contentFile = new File(contentFolder.getAbsolutePath() + "/"
+ +
Triple.createTriple(contentIndex.getProperty(id)).getEntry2());
+ contentFile.delete();
+ contentIndex.remove(id);
+ contentMap.remove(id);
+ }
+
+ public Triple<String,byte[],String> getContent(String id) {
+ return contentMap.get(id);
+ }
+
+ public void store() {
+ IOUtil ioUtil = IOUtil.getInstance();
+ try {
+ contentIndex.store(new
FileOutputStream(contentFolder.getAbsolutePath() + "/"
+ + CONTENT_INDEX_FILE),
"Content Index");
+
+ for (Entry<String,Triple<String,byte[],String>> item :
contentMap.entrySet()) {
+ String fileName =
contentIndex.getProperty(item.getKey()).split(",")[1];
+
+ File file = new File(contentFolder.getAbsolutePath() + "/" +
fileName);
+ if (!file.exists()) {
+ LOGGER.warn("Content file for " +
item.getValue().getEntry1()
+ + " does not exist. Sycnhronizing ...");
+ ioUtil.writeBytesToFile(file, item.getValue().getEntry2());
+ LOGGER.info(". Sycnhronization Completed ...");
+ }
+ }
+ } catch (FileNotFoundException e) {
+ LOGGER.error("Cannot find file", e);
+ } catch (IOException e) {
+ LOGGER.error("IOException", e);
+ }
+ }
+
+ private void loadIndexEntries(File indexFile) {
+ IOUtil ioUtil = IOUtil.getInstance();
+ List<Object> danglingItems = new ArrayList<Object>();
+
+ // Read index porperties file
+ try {
+ contentIndex.load(new FileInputStream(indexFile));
+ } catch (FileNotFoundException e) {
+ LOGGER.error("Can not get index file");
+ } catch (IOException e) {
+ LOGGER.error("Can not get content of index file: " +
e.getMessage());
+ }
+
+ // Populate in memory cache with real content-contentType-uri triples
+ for (Entry<Object,Object> item : contentIndex.entrySet()) {
+ Triple<String,String,String> metaTriple =
Triple.createTriple((String) item.getValue());
+ File contentFile = new File(contentFolder, metaTriple.getEntry2());
+ byte[] content = null;
+ try {
+ content = ioUtil.getBytesFromFile(contentFile);
+ } catch (IOException e) {
+ contentMap.remove(item.getKey());
+ danglingItems.add(item.getKey());
+ continue;
+ }
+ contentMap.put((String) item.getKey(), new
Triple<String,byte[],String>(metaTriple.getEntry1(),
+ content, metaTriple.getEntry3()));
+ }
+
+ // Remove dangling content entries
+ for (Object di : danglingItems) {
+ contentIndex.remove(di);
+ LOGGER.info("Dangling Item Removed: " + di);
+ }
+
+ }
+
+ private File getIndexFile() {
+ File indexFile = new File(contentFolder.getAbsolutePath() + "/" +
CONTENT_INDEX_FILE);
+ if (!indexFile.exists()) {
+ try {
+ indexFile.createNewFile();
+ } catch (IOException e) {
+ LOGGER.error("Can not create index file: " + e.getMessage());
+ return null;
+ }
+ }
+ return indexFile;
+ }
+
+ private void checkContentFolder() {
+ if (!contentFolder.exists()) {
+ contentFolder.mkdir();
+ } else if (contentFolder.exists() && contentFolder.isFile()) {
+ contentFolder.delete();
+ contentFolder.mkdir();
+ }
+ }
+
+ private void printContentMap() {
+ LOGGER.info("Content Items Dump");
+ for (Entry<String,Triple<String,byte[],String>> entry :
this.contentMap.entrySet()) {
+ LOGGER.info("Item: " + entry.getKey() + "," +
entry.getValue().getEntry1() + " "
+ + entry.getValue().getEntry2().length);
+ }
+
+ }
+}
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/ContentManager.java
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/PersistenceStoreAdapter.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/PersistenceStoreAdapter.java?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/PersistenceStoreAdapter.java
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/PersistenceStoreAdapter.java
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,173 @@
+package org.apache.stanbol.ontologymanager.store.adapter;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import org.apache.clerezza.rdf.core.Graph;
+import org.apache.clerezza.rdf.core.MGraph;
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
+import org.apache.clerezza.rdf.core.serializedform.Parser;
+import org.apache.clerezza.rdf.core.serializedform.Serializer;
+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.ReferenceCardinality;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.enhancer.servicesapi.ContentItem;
+import org.apache.stanbol.enhancer.servicesapi.Store;
+import org.apache.stanbol.enhancer.servicesapi.helper.ContentItemHelper;
+import org.apache.stanbol.ontologymanager.store.adapter.util.IOUtil;
+import org.apache.stanbol.ontologymanager.store.adapter.util.Triple;
+import org.apache.stanbol.ontologymanager.store.api.PersistenceStore;
+import org.apache.stanbol.ontologymanager.store.model.AdministeredOntologies;
+import org.apache.stanbol.ontologymanager.store.model.OntologyMetaInformation;
+import org.osgi.service.component.ComponentContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Component(immediate = true)
+@Service
+public class PersistenceStoreAdapter implements Store {
+
+ private static final Logger logger =
LoggerFactory.getLogger(PersistenceStoreAdapter.class.getName());
+
+ @Reference
+ private PersistenceStore pStore;
+
+ private ContentManager cm;
+
+ @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+ private Parser parser;
+
+ @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+ private Serializer serializer;
+
+ @Activate
+ public void activate(ComponentContext cc) {
+
+ // FIXME Need to bind Jena Parsing Provider here?
+ // FIXME Need to bind Jena Serializing Provider here?
+
+ this.cm = new
ContentManager(cc.getBundleContext().getDataFile("Content Items"));
+ }
+
+ @Deactivate
+ public void deactivate(ComponentContext cc) {
+ this.cm.store();
+ logger.info("Persistence Store Adaptor deactivated successfully");
+ }
+
+ public ContentItem create(String id, byte[] content, String contentType) {
+ return SimpleContentItem.create(id, content, contentType);
+ }
+
+ public ContentItem get(String id) {
+ Triple<String,byte[],String> contentEntry = cm.getContent(id);
+ if (contentEntry == null) {
+ logger.warn("Content Item Not Found");
+ return null;
+ }
+ byte[] content = contentEntry.getEntry2();
+ String mimeType = contentEntry.getEntry1();
+ String URI = contentEntry.getEntry3();
+ MGraph mg = readModel(URI);
+ if (mg == null) {
+ logger.warn("Content item not found");
+ return null;
+ }
+
+ if (content == null || mimeType == null) {
+ return null;
+ } else {
+ return assemble(id, mg, contentEntry.getEntry1(),
contentEntry.getEntry2());
+ }
+ }
+
+ public String put(ContentItem ci) {
+ MGraph mg = ci.getMetadata();
+ IOUtil ioUtil = IOUtil.getInstance();
+ String content;
+ String uri;
+
+ content = writeModel(mg);
+ if (ci.getId() == null || "".equals(ci.getId())) {
+ // FIXME Here assign a new id
+ throw new RuntimeException("How to assign a new id with current
interface");
+ }
+
+ uri = ContentItemHelper.ensureUri(ci).getUnicodeString();
+ try {
+ Boolean deleted = pStore.deleteOntology(uri);
+ logger.info("Previous ontology deleted:" + deleted.toString());
+ } catch (Exception e1) {
+ // No need to log since it is actually an existence check
+ }
+ try {
+ pStore.saveOntology(content, uri, "UTF-8");
+ cm.put(ci.getId(), new
Triple<String,byte[],String>(ci.getMimeType(), ioUtil
+ .convertStreamToString(ci.getStream()).getBytes(), uri));
+
+ } catch (IOException e) {
+ logger.error("Exception in saving the ontology", e);
+ } catch (Exception e) {
+ logger.error("Exception in saving the ontology", e);
+ }
+ return ci.getId();
+ }
+
+ private ContentItem assemble(final String id,
+ final MGraph metadata,
+ final String contentType,
+ final byte[] content) {
+ return new SimpleContentItem(id, metadata, contentType, content);
+ }
+
+ private String writeModel(MGraph mg) {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ this.serializer.serialize(bos, mg, "application/rdf+xml");
+ return bos.toString();
+ }
+
+ private MGraph readModel(String URI) {
+ // Model model = null;
+ MGraph model = new SimpleMGraph();
+ String ontologyContent = null;
+ try {
+ ontologyContent = pStore.retrieveOntology(URI, "RDF/XML", false);
+ } catch (Exception e1) {
+ logger.error("Exception in retrieving the ontology " + URI, e1);
+ return null;
+ }
+ try {
+ Graph graph = this.parser.parse(new
ByteArrayInputStream(ontologyContent.getBytes()),
+ "application/rdf+xml", new UriRef(URI));
+ model.addAll(graph);
+ return model;
+ } catch (Exception e) {
+ logger.error("Exception in reading the model", e);
+ return null;
+ }
+ }
+
+ @Override
+ public MGraph getEnhancementGraph() {
+ try {
+ AdministeredOntologies onts =
pStore.retrieveAdministeredOntologies();
+ MGraph mgraph = new SimpleMGraph();
+ for (OntologyMetaInformation ont :
onts.getOntologyMetaInformation()) {
+ String content = pStore.retrieveOntology(ont.getURI(),
"RDF/XML", false);
+ Graph gr = this.parser.parse(new
ByteArrayInputStream(content.getBytes()),
+ "application/rdf+xml", new UriRef(ont.getURI()));
+ mgraph.addAll(gr);
+
+ }
+ return mgraph;
+ } catch (Exception e) {
+ logger.error("Exception in retrieveing enhancement graph", e);
+ }
+ return new SimpleMGraph();
+ }
+}
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/PersistenceStoreAdapter.java
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/SimpleContentItem.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/SimpleContentItem.java?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/SimpleContentItem.java
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/SimpleContentItem.java
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,49 @@
+package org.apache.stanbol.ontologymanager.store.adapter;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import org.apache.clerezza.rdf.core.MGraph;
+import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
+import org.apache.stanbol.enhancer.servicesapi.ContentItem;
+
+public class SimpleContentItem implements ContentItem {
+
+ private String id;
+
+ private MGraph metadata;
+
+ private String mimeType;
+
+ private byte[] content;
+
+ public SimpleContentItem(String id, MGraph metadata, String mimeType,
byte[] content) {
+ this.id = id;
+ this.content = content;
+ this.metadata = metadata;
+ this.mimeType = mimeType;
+
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public MGraph getMetadata() {
+ return metadata;
+ }
+
+ public String getMimeType() {
+ return mimeType;
+ }
+
+ public InputStream getStream() {
+ return new ByteArrayInputStream(content);
+ }
+
+ public static ContentItem create(String id, byte[] content, String
contentType) {
+ return new SimpleContentItem(id, new SimpleMGraph(), contentType,
content);
+
+ }
+
+}
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/SimpleContentItem.java
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/IOUtil.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/IOUtil.java?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/IOUtil.java
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/IOUtil.java
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,74 @@
+package org.apache.stanbol.ontologymanager.store.adapter.util;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public final class IOUtil {
+
+ private IOUtil() {}
+
+ private static class Holder {
+ private static final IOUtil INSTANCE = new IOUtil();
+ }
+
+ public static IOUtil getInstance() {
+ return Holder.INSTANCE;
+ }
+
+ private static final Logger LOGGER =
LoggerFactory.getLogger(IOUtil.class.getName());
+
+ public byte[] getBytesFromFile(File file) throws IOException {
+ InputStream is = new FileInputStream(file);
+ long length = file.length();
+ if (length > Integer.MAX_VALUE) {
+ LOGGER.warn("Content too long for file: " +
file.getAbsolutePath());
+ }
+ byte[] bytes = new byte[(int) length];
+ int offset = 0;
+ int numRead = 0;
+ while (offset < bytes.length && (numRead = is.read(bytes, offset,
bytes.length - offset)) >= 0) {
+ offset += numRead;
+ }
+ if (offset < bytes.length) {
+ throw new IOException("Could not completely read file " +
file.getName());
+ }
+ is.close();
+ return bytes;
+ }
+
+ public void writeBytesToFile(final File file, final byte[] bytes) throws
IOException {
+ FileOutputStream fos = new FileOutputStream(file);
+ for (byte b : bytes) {
+ fos.write(b);
+ }
+ fos.flush();
+ fos.close();
+ }
+
+ public String convertStreamToString(final InputStream is) throws
IOException {
+ if (is != null) {
+ StringBuilder sb = new StringBuilder();
+ String line;
+
+ try {
+ BufferedReader reader = new BufferedReader(new
InputStreamReader(is, "UTF-8"));
+ while ((line = reader.readLine()) != null) {
+ sb.append(line).append("\n");
+ }
+ } finally {
+ is.close();
+ }
+ return sb.toString();
+ } else {
+ return "";
+ }
+ }
+}
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/IOUtil.java
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/Triple.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/Triple.java?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/Triple.java
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/Triple.java
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,72 @@
+package org.apache.stanbol.ontologymanager.store.adapter.util;
+
+import org.apache.stanbol.enhancer.servicesapi.ContentItem;
+import org.apache.stanbol.ontologymanager.store.adapter.SimpleContentItem;
+
+/*
+ * In this scope this class is used to store contentType-content-storeid
+ */
+public final class Triple<K,V,L> {
+
+ private static final String ELEMENT_SEPARATOR = ",";
+
+ private K entry1;
+
+ private V entry2;
+
+ private L entry3;
+
+ public Triple(final K entry1, final V entry2, final L entry3) {
+ this.entry1 = entry1;
+ this.entry2 = entry2;
+ this.entry3 = entry3;
+
+ }
+
+ public static Triple<String,String,String> createTriple(final String
string) {
+ String[] field = string.split(ELEMENT_SEPARATOR);
+ String entry1 = field[0];
+ String entry2 = field[1];
+ String entry3 = field[2];
+ return new Triple<String,String,String>(entry1, entry2, entry3);
+ }
+
+ public K getEntry1() {
+ return entry1;
+ }
+
+ public V getEntry2() {
+ return entry2;
+ }
+
+ public L getEntry3() {
+ return entry3;
+ }
+
+ public void setEntry1(final K entry1) {
+ this.entry1 = entry1;
+ }
+
+ public void setEntry2(final V entry2) {
+ this.entry2 = entry2;
+ }
+
+ public void setEntry3(final L entry3) {
+ this.entry3 = entry3;
+ }
+
+ @Override
+ public String toString() {
+ // Return entries in comma separated from
+ StringBuilder sb = new StringBuilder();
+ sb.append(entry1).append(ELEMENT_SEPARATOR);
+ sb.append(entry2).append(ELEMENT_SEPARATOR);
+ sb.append(entry3);
+ return sb.toString();
+ }
+
+ public ContentItem toContentItem() {
+ return new SimpleContentItem((String) entry1, null, (String) entry3,
(byte[]) entry2);
+ }
+
+}
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/fise-adapter/src/main/java/org/apache/stanbol/ontologymanager/store/adapter/util/Triple.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/stanbol/trunk/kres/ontologymanager/store/jena/README.txt
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/jena/README.txt?rev=1086954&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/store/jena/README.txt (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/store/jena/README.txt Wed Mar
30 13:43:53 2011
@@ -0,0 +1,17 @@
+IKS FISE Persistence Store Jena Implementation
+==================
+This bundle implements a persistence store that is defined through
eu.iksproject.stores.persistencestore.IPersistenceStore interface.
+Although current implementation uses Jena, the persistence store is not bound
to any specific implementation.
+
+
+after
+>mvn clean install -DskipTests=true
+you can upload the jars in target folder to felix
+
+Run
+===
+see README.txt of eu.iksproject.persistencestore.launchers.lite
+
+Configuration
+=============
+(Optional)eu.iksproject.fise.stores.persistencestore.reasonerURL.name : URL
for an OWLlink server to do reasoning tasks
Propchange: incubator/stanbol/trunk/kres/ontologymanager/store/jena/README.txt
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/stanbol/trunk/kres/ontologymanager/store/jena/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/jena/pom.xml?rev=1086954&view=auto
==============================================================================
--- incubator/stanbol/trunk/kres/ontologymanager/store/jena/pom.xml (added)
+++ incubator/stanbol/trunk/kres/ontologymanager/store/jena/pom.xml Wed Mar 30
13:43:53 2011
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.ontologymanager.store.parent</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
+ </parent>
+
+ <artifactId>org.apache.stanbol.ontologymanager.store.jena</artifactId>
+ <packaging>bundle</packaging>
+
+ <name>Apache Stanbol Ontology Manager Store - Jena Implementation
</name>
+ <description>A store implementation using Jena as
backend.</description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.ontologymanager.store.api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.semanticweb.owlapi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.semanticweb.owlapi.owllink</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+
<artifactId>org.apache.felix.scr.annotations</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.hp.hpl.jena</groupId>
+ <artifactId>jena</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.hp.hpl.jena</groupId>
+ <artifactId>arq</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.ws.rs</groupId>
+ <artifactId>jsr311-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-math</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>jetty</groupId>
+ <artifactId>org.mortbay.jetty</artifactId>
+ <version>5.1.10</version>
+ <type>jar</type>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Propchange: incubator/stanbol/trunk/kres/ontologymanager/store/jena/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/DbAwareDocumentManager.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/DbAwareDocumentManager.java?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/DbAwareDocumentManager.java
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/DbAwareDocumentManager.java
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,165 @@
+/*****************************************************************************
+ * Source code metadata
+ *
+ * Author ijd
+ * Package Jena2 Tests
+ * Created Nov 12, 2007
+ * Filename DbAwareDocumentManager.java
+ *
+ * (c) Copyright 2007 Hewlett-Packard Development Company, LP
+ *****************************************************************************/
+
+// Package
+///////////////
+package org.apache.stanbol.ontologymanager.store.jena;
+
+// Imports
+///////////////
+import java.util.List;
+
+import org.apache.log4j.Logger;
+
+import com.hp.hpl.jena.ontology.OntDocumentManager;
+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.ModelMaker;
+import com.hp.hpl.jena.rdf.model.ModelReader;
+
+/**
+ * <p>
+ * An extension to the standard document manager that holds a reference to the
{@link ModelMaker} for a Jena
+ * database model. That maker is used as a preferential source of stored
models, indexed by URI.
+ * </p>
+ *
+ * @author Ian Dickinson, HP Labs (<a
href="mailto:[email protected]">email</a>)
+ */
+public class DbAwareDocumentManager extends OntDocumentManager {
+ // Constants
+ // ////////////////////////////////
+
+ // Static variables
+ // ////////////////////////////////
+
+ @SuppressWarnings(value = "unused")
+ private static Logger log = Logger.getLogger(DbAwareDocumentManager.class);
+
+ // Instance variables
+ // ////////////////////////////////
+
+ private ModelMaker m_maker;
+
+ // Constructors
+ // ////////////////////////////////
+
+ public DbAwareDocumentManager(ModelMaker maker) {
+ m_maker = maker;
+ }
+
+ // External signature methods
+ // ////////////////////////////////
+
+ @Override
+ protected void loadImport(OntModel model, String importURI, List
readQueue) {
+ if (m_processImports) {
+ log.info("OntDocumentManager loading " + importURI);
+
+ // add this model to occurs check list
+ model.addLoadedImport(importURI);
+
+ // check first to see if we have already loaded this model into
the db
+ Model in = checkExistingDbImport(importURI);
+
+ // otherwise, try to find it
+ if (in == null) {
+ in = fetchPossiblyCachedImportModel(model, importURI);
+ }
+
+ // we trap the case of importing ourself (which may happen via an
indirect imports chain)
+ if (in != model) {
+ // queue the imports from the input model on the end of the
read queue
+ queueImports(in, readQueue, model.getProfile());
+
+ // add to the imports union graph, but don't do the rebind yet
+ model.addSubModel(in, false);
+
+ // we also cache the model if we haven't seen it before (and
caching is on)
+ addModel(importURI, in);
+ }
+ }
+ }
+
+ /**
+ * Given a URI of an ontology, check to see whether that URL is already
loaded into the database. If so,
+ * use that model.
+ *
+ * @param importURI
+ * The URI of an ontology to import
+ * @return The existing DB model for that URI, or null
+ */
+ protected Model checkExistingDbImport(String importURI) {
+ if (m_maker.hasModel(importURI)) {
+ return m_maker.getModel(importURI);
+ } else {
+ return null;
+ }
+ }
+
+ // Internal implementation methods
+ // ////////////////////////////////
+
+ /*
+ * The following two methods have been copied by OntDocumentManager since
they're marked private. This is
+ * a bug (they should be protected), and will be fixed in the next Jena
release.
+ */
+
+ /**
+ * if we have a cached version get that, otherwise load from the URI but
don't do the imports closure
+ *
+ * @param model
+ * @param importURI
+ * @return
+ */
+ protected Model fetchPossiblyCachedImportModel(OntModel model, String
importURI) {
+ Model in = getModel(importURI);
+
+ // if not cached, we must load it from source
+ if (in == null) {
+ in = fetchLoadedImportModel(model.getSpecification(), importURI);
+ }
+ return in;
+ }
+
+ /**
+ * @param spec
+ * @param importURI
+ * @return
+ */
+ protected Model fetchLoadedImportModel(OntModelSpec spec, String
importURI) {
+ ModelMaker maker = spec.getImportModelMaker();
+ if (maker.hasModel(importURI)) {
+ Model m = maker.getModel(importURI);
+ if (!m.isClosed()) {
+ return m;
+ } else {
+ // we don't want to hang on to closed models
+ maker.removeModel(importURI);
+ }
+ }
+
+ // otherwise, we use the model maker to get the model anew
+ Model m = spec.getImportModelGetter().getModel(importURI, new
ModelReader() {
+ public Model readModel(Model toRead, String URL) {
+ read(toRead, URL, true);
+ return toRead;
+ }
+ });
+
+ return m;
+ }
+
+ //
==============================================================================
+ // Inner class definitions
+ //
==============================================================================
+
+}
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/DbAwareDocumentManager.java
------------------------------------------------------------------------------
svn:executable = *
Added:
incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/InferenceScope.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/InferenceScope.java?rev=1086954&view=auto
==============================================================================
---
incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/InferenceScope.java
(added)
+++
incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/InferenceScope.java
Wed Mar 30 13:43:53 2011
@@ -0,0 +1,9 @@
+package org.apache.stanbol.ontologymanager.store.jena;
+
+public enum InferenceScope {
+ All,
+ Class,
+ Individual,
+ DataTypeProperty,
+ ObjectProperty
+}
Propchange:
incubator/stanbol/trunk/kres/ontologymanager/store/jena/src/main/java/org/apache/stanbol/ontologymanager/store/jena/InferenceScope.java
------------------------------------------------------------------------------
svn:executable = *