You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2010/02/11 16:46:51 UTC
svn commit: r909031 - in /incubator/clerezza: issues/CLEREZZA-103/
trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/
trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.cl...
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;
+ }
+
}