You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by mi...@apache.org on 2010/02/10 17:46:59 UTC

svn commit: r908581 - in /incubator/clerezza/issues/CLEREZZA-113: org.apache.clerezza.platform.config/ org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/ org.apache.clerezza.platform.content/ org.apache.clerezza.plat...

Author: mir
Date: Wed Feb 10 16:46:58 2010
New Revision: 908581

URL: http://svn.apache.org/viewvc?rev=908581&view=rev
Log:
CLEREZZA-113: resolved

Added:
    incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.config/
      - copied from r908543, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.config/
    incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.content/
      - copied from r908543, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/
    incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.language/
      - copied from r908543, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.language/
Modified:
    incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java
    incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java
    incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java

Modified: incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java?rev=908581&r1=908543&r2=908581&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java (original)
+++ incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java Wed Feb 10 16:46:58 2010
@@ -27,9 +27,13 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.service.component.ComponentContext;
 import org.apache.clerezza.rdf.core.MGraph;
+import org.apache.clerezza.rdf.core.NonLiteral;
 import org.apache.clerezza.rdf.core.Resource;
+import org.apache.clerezza.rdf.core.Triple;
 import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.impl.TripleImpl;
 import org.apache.clerezza.rdf.ontologies.PLATFORM;
+import org.apache.clerezza.rdf.ontologies.RDF;
 import org.apache.clerezza.rdf.utils.GraphNode;
 
 /**
@@ -53,7 +57,7 @@
 	 * @return the base URI of the Clerezza platform
 	 */
 	public UriRef getDefaultBaseUri() {
-		Iterator<Resource> triples = new GraphNode(PLATFORM.Instance, systemGraph).
+		Iterator<Resource> triples = new GraphNode(getPlatformInstance(), systemGraph).
 				getObjects(PLATFORM.defaultBaseUri);
 		if (triples.hasNext()) {
 			return (UriRef) triples.next();
@@ -69,13 +73,21 @@
 		}
 	}
 
+	private NonLiteral getPlatformInstance() throws RuntimeException {
+		Iterator<Triple> instances = systemGraph.filter(null, RDF.type, PLATFORM.Instance);
+		if (!instances.hasNext()) {
+			throw new RuntimeException("No Platform:Instance in system graph.");
+		}		
+		return instances.next().getSubject();
+	}
+
 	/**
 	 * Returns the base URIs of the Clerezza platform instance.
 	 * A base Uri is the shortest URI of a URI-Hierarhy the platform handles.
 	 * @return the base URI of the Clerezza platform
 	 */
 	public Set<UriRef> getBaseUris() {
-		Iterator<Resource> baseUrisIter = new GraphNode(PLATFORM.Instance, systemGraph).
+		Iterator<Resource> baseUrisIter = new GraphNode(getPlatformInstance(), systemGraph).
 				getObjects(PLATFORM.baseUri);
 		Set<UriRef> baseUris = new HashSet<UriRef>();
 		while (baseUrisIter.hasNext()) {
@@ -87,6 +99,24 @@
 	}
 
 	/**
+	 * Adds a base URI to the Clerezza platform instance.
+	 *
+	 * @param baseUri The base URI which will be added to the platform instance
+	 */
+	public void addBaseUri(UriRef baseUri) {
+		systemGraph.add(new TripleImpl(getPlatformInstance(), PLATFORM.baseUri, baseUri));
+	}
+
+	/**
+	 * Removes a base URI from the Clerezza platform instance.
+	 *
+	 * @param baseUri The base URI which will be removed from the platform instance
+	 */
+	public void removeBaseUri(UriRef baseUri) {
+		systemGraph.remove(new TripleImpl(getPlatformInstance(), PLATFORM.baseUri, baseUri));
+	}
+
+	/**
 	 * The activate method is called when SCR activates the component configuration.
 	 * 
 	 * @param componentContext

Modified: incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java?rev=908581&r1=908543&r2=908581&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java (original)
+++ incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java Wed Feb 10 16:46:58 2010
@@ -36,7 +36,6 @@
 import org.apache.clerezza.rdf.core.LiteralFactory;
 import org.apache.clerezza.rdf.core.MGraph;
 import org.apache.clerezza.rdf.core.NonLiteral;
-import org.apache.clerezza.rdf.core.Resource;
 import org.apache.clerezza.rdf.core.Triple;
 import org.apache.clerezza.rdf.core.UriRef;
 import org.apache.clerezza.rdf.core.impl.TripleImpl;
@@ -167,7 +166,7 @@
 			}
 		}
 		UriRef baseUri = extractBaseUri(uri);
-		systemGraph.add(new TripleImpl(PLATFORM.Instance, PLATFORM.baseUri, baseUri));
+		config.addBaseUri(baseUri);
 		addRoot(baseUri);
 	}
 
@@ -304,7 +303,7 @@
 
 	void removeRoot(CollectionNode root) {
 		roots.remove(root);
-		systemGraph.remove(new TripleImpl(PLATFORM.Instance, PLATFORM.baseUri, root.getNode()));
+		config.removeBaseUri(root.getNode());
 	}
 
 	private void addCreationProperties(HierarchyNode node) {

Modified: incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java?rev=908581&r1=908543&r2=908581&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java (original)
+++ incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageService.java Wed Feb 10 16:46:58 2010
@@ -44,6 +44,7 @@
 import org.apache.clerezza.rdf.core.serializedform.ParsingProvider;
 import org.apache.clerezza.rdf.core.serializedform.SupportedFormat;
 import org.apache.clerezza.rdf.ontologies.PLATFORM;
+import org.apache.clerezza.rdf.ontologies.RDF;
 import org.apache.clerezza.rdf.ontologies.RDFS;
 import org.apache.clerezza.rdf.utils.GraphNode;
 import org.apache.clerezza.rdf.utils.RdfList;
@@ -179,13 +180,18 @@
 	}
 
 	private NonLiteral getListNode() {
-		Iterator<Triple> langListIter = systemGraph.filter(PLATFORM.Instance,
+		Iterator<Triple> instances = systemGraph.filter(null, RDF.type, PLATFORM.Instance);
+		if (!instances.hasNext()) {
+			throw new RuntimeException("No Platform:Instance in system graph.");
+		}
+		NonLiteral instance = instances.next().getSubject();
+		Iterator<Triple> langListIter = systemGraph.filter(instance,
 				PLATFORM.languages, null);
 		if (langListIter.hasNext()) {
 			return (NonLiteral) langListIter.next().getObject();
 		}
 		BNode listNode = new BNode();
-		systemGraph.add(new TripleImpl(PLATFORM.Instance, PLATFORM.languages,
+		systemGraph.add(new TripleImpl(instance, PLATFORM.languages,
 				listNode));
 		return listNode;
 	}