Author: reto
Date: Thu Feb 11 15:46:47 2010
New Revision: 909031

URL: http://svn.apache.org/viewvc?rev=909031&view=rev
Log:
CLEREZZA-103: closing

Removed:
    incubator/clerezza/issues/CLEREZZA-103/
Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/
   (props changed)
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/AbstractDiscobitsHandler.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/DiscobitsTypeHandler.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/SimpleDiscobitsHandler.java

Propchange: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Feb 11 15:46:47 2010
@@ -1,3 +1,4 @@
+/incubator/clerezza/issues/CLEREZZA-103/org.apache.clerezza.platform.content:907223-909027
 
/incubator/clerezza/issues/CLEREZZA-25/org.apache.clerezza.platform.content:891178-892849
 
/incubator/clerezza/issues/CLEREZZA-65/org.apache.clerezza.platform.content:897875-897920
 
/incubator/clerezza/issues/CLEREZZA-70/org.apache.clerezza.platform.content:897917-903631

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/AbstractDiscobitsHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/AbstractDiscobitsHandler.java?rev=909031&r1=909030&r2=909031&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/AbstractDiscobitsHandler.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/AbstractDiscobitsHandler.java
 Thu Feb 11 15:46:47 2010
@@ -23,6 +23,10 @@
 
 import java.util.Set;
 import javax.ws.rs.core.MediaType;
+import org.apache.clerezza.platform.content.hierarchy.HierarchyNode;
+import org.apache.clerezza.platform.content.hierarchy.HierarchyService;
+import 
org.apache.clerezza.platform.content.hierarchy.NodeAlreadyExistsException;
+import 
org.apache.clerezza.platform.content.hierarchy.NodeDoesNotExistException;
 
 import org.apache.clerezza.rdf.core.LiteralFactory;
 import org.apache.clerezza.rdf.core.MGraph;
@@ -58,11 +62,29 @@
         */
        protected abstract Set<MetaDataGenerator> getMetaDataGenerators();
 
+       /**
+        * Returns the hierarchy service used to manage hierachy in the content
+        * graph
+        * @return the hierarchy service
+        */
+       protected abstract HierarchyService getHierarchyService();
+       
        @Override
        public void put(UriRef infoDiscoBitUri, MediaType mediaType,
                        byte[] data) {
-               MGraph mGraph = getMGraph();
-               GraphNode infoDiscoBitNode = new GraphNode(infoDiscoBitUri, 
mGraph);
+
+               GraphNode infoDiscoBitNode;
+               try {
+                       HierarchyService hierarchyService = 
getHierarchyService();
+                       if (hierarchyService == null) {
+                               infoDiscoBitNode = new 
GraphNode(infoDiscoBitUri, getMGraph());
+                       } else {
+                               infoDiscoBitNode = 
hierarchyService.createNonCollectionNode(infoDiscoBitUri);
+                       }
+                       
+               } catch (NodeAlreadyExistsException ex) {
+                       infoDiscoBitNode = new GraphNode(infoDiscoBitUri, 
getMGraph());
+               }
                infoDiscoBitNode.addProperty(RDF.type, DISCOBITS.InfoDiscoBit);
                TypedLiteral dataLiteral = 
LiteralFactory.getInstance().createTypedLiteral(data);
                infoDiscoBitNode.deleteProperties(DISCOBITS.infoBit);
@@ -105,7 +127,18 @@
                                return;
                        }                       
                }
-               GraphNode graphNode = new GraphNode(node, mGraph);
+               GraphNode graphNode;
+               try {
+                       HierarchyService hierarchyService = 
getHierarchyService();
+                       if (hierarchyService == null) {
+                               graphNode = new GraphNode(node, mGraph);        
                        
+                       } else {
+                               graphNode = 
hierarchyService.getHierarchyNode((UriRef) node);
+                               ((HierarchyNode) graphNode).delete();
+                       }
+               } catch (NodeDoesNotExistException ex) {
+                       graphNode = new GraphNode(node, mGraph);
+               }
                graphNode.deleteNodeContext();
        }
 

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/DiscobitsTypeHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/DiscobitsTypeHandler.java?rev=909031&r1=909030&r2=909031&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/DiscobitsTypeHandler.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/DiscobitsTypeHandler.java
 Thu Feb 11 15:46:47 2010
@@ -20,7 +20,6 @@
 
 import java.util.Collections;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 
 import java.util.Set;
@@ -35,6 +34,7 @@
 import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.core.Response.Status;
 import javax.ws.rs.ext.RuntimeDelegate;
+import org.apache.clerezza.platform.content.hierarchy.HierarchyService;
 
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Property;
@@ -48,9 +48,7 @@
 import org.apache.clerezza.platform.graphprovider.content.ContentGraphProvider;
 import org.apache.clerezza.platform.typehandlerspace.SupportedTypes;
 import org.apache.clerezza.rdf.core.MGraph;
-import org.apache.clerezza.rdf.core.Triple;
 import org.apache.clerezza.rdf.core.UriRef;
-import org.apache.clerezza.rdf.ontologies.RDF;
 import org.apache.clerezza.rdf.utils.GraphNode;
 
 /**
@@ -79,6 +77,9 @@
 
        @Reference
        private ContentGraphProvider cgProvider;
+
+       @Reference
+       private HierarchyService hierarchyService;
        
        private static final Logger logger = 
LoggerFactory.getLogger(DiscobitsTypeHandler.class);
 
@@ -98,7 +99,6 @@
                final MGraph mGraph = cgProvider.getContentGraph();
                final UriRef uri = new 
UriRef(uriInfo.getAbsolutePath().toString());
                final GraphNode graphNode = new GraphNode(uri, mGraph);
-               final Iterator<Triple> typeStmts = mGraph.filter(uri, RDF.type, 
null);
                InfoDiscobit infoDiscobit = 
InfoDiscobit.createInstance(graphNode);
                if (infoDiscobit != null) {
                        return infoDiscobit;
@@ -154,4 +154,9 @@
        protected Set<MetaDataGenerator> getMetaDataGenerators() {
                return metaDataGenerators;
        }
+
+       @Override
+       protected HierarchyService getHierarchyService() {
+               return hierarchyService;
+       }
 }

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/SimpleDiscobitsHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/SimpleDiscobitsHandler.java?rev=909031&r1=909030&r2=909031&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/SimpleDiscobitsHandler.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/SimpleDiscobitsHandler.java
 Thu Feb 11 15:46:47 2010
@@ -19,6 +19,7 @@
 package org.apache.clerezza.platform.content;
 
 import java.util.Set;
+import org.apache.clerezza.platform.content.hierarchy.HierarchyService;
 import org.apache.clerezza.rdf.core.MGraph;
 
 /**
@@ -43,4 +44,9 @@
                return null;
        }
 
+       @Override
+       protected HierarchyService getHierarchyService() {
+               return null;
+       }
+
 }


Reply via email to