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;
        }


Reply via email to