You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by it...@apache.org on 2010/08/24 12:08:29 UTC
svn commit: r988461 - in
/incubator/clerezza/trunk/org.apache.clerezza.parent: ./
org.apache.clerezza.platform.content/
org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/
org.apache.clerezza.platform.content/src/ma...
Author: ito
Date: Tue Aug 24 10:08:28 2010
New Revision: 988461
URL: http://svn.apache.org/viewvc?rev=988461&view=rev
Log:
CLEREZZA-270: HierarchyService replaced by CollectionsCreator to improve performace (commit from reto)
Added:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/collections/
- copied from r988433, incubator/clerezza/issues/CLEREZZA-270/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/collections/
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/collections/CollectionCreator.java
- copied unchanged from r988433, incubator/clerezza/issues/CLEREZZA-270/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/collections/CollectionCreator.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/test/java/org/apache/clerezza/platform/content/collections/
- copied from r988433, incubator/clerezza/issues/CLEREZZA-270/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/test/java/org/apache/clerezza/platform/content/collections/
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/test/java/org/apache/clerezza/platform/content/collections/CollectionsCreatorTest.java
- copied unchanged from r988433, incubator/clerezza/issues/CLEREZZA-270/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/test/java/org/apache/clerezza/platform/content/collections/CollectionsCreatorTest.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/test/java/org/apache/clerezza/platform/content/oldhierarchy/
- copied from r988433, incubator/clerezza/issues/CLEREZZA-270/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/test/java/org/apache/clerezza/platform/content/oldhierarchy/
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.ontologies/src/main/resources/org/apache/clerezza/rdf/ontologies/menu.rdf
- copied unchanged from r988433, incubator/clerezza/issues/CLEREZZA-270/org.apache.clerezza.parent/org.apache.clerezza.rdf.ontologies/src/main/resources/org/apache/clerezza/rdf/ontologies/menu.rdf
Removed:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/CollectionNode.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyManager.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyNode.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyUtils.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/IllegalMoveException.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/NodeAlreadyExistsException.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/NodeDoesNotExistException.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/UnknownRootExcetpion.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/test/java/org/apache/clerezza/platform/content/hierarchy/HierarchyTest.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.menumanager/
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/ (props changed)
incubator/clerezza/trunk/org.apache.clerezza.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.platform.content/src/main/java/org/apache/clerezza/platform/content/CollectionTypeHandler.java
incubator/clerezza/trunk/org.apache.clerezza.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.platform.content/src/main/java/org/apache/clerezza/platform/content/SimpleDiscobitsHandler.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/WebDavUtils.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/resources/org/apache/clerezza/platform/content/collection.ssp
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/ (props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting.scriptmanager/ (props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/ (props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.cookie/ (props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typehandlerspace/ (props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.utils/src/main/java/org/apache/clerezza/rdf/utils/RdfList.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/ (props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.scripts/ (props changed)
incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml
Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 24 10:08:28 2010
@@ -4,5 +4,7 @@
/incubator/clerezza/issues/CLEREZZA-129/org.apache.clerezza.platform.content:917938-918563
/incubator/clerezza/issues/CLEREZZA-248/org.apache.clerezza.platform.content:958551-959023
/incubator/clerezza/issues/CLEREZZA-25/org.apache.clerezza.platform.content:891178-892849
+/incubator/clerezza/issues/CLEREZZA-270/org.apache.clerezza.parent/org.apache.clerezza.platform.content:984369-988433
/incubator/clerezza/issues/CLEREZZA-65/org.apache.clerezza.platform.content:897875-897920
/incubator/clerezza/issues/CLEREZZA-70/org.apache.clerezza.platform.content:897917-903631
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content:889374-916719
Modified: incubator/clerezza/trunk/org.apache.clerezza.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.platform.content/src/main/java/org/apache/clerezza/platform/content/AbstractDiscobitsHandler.java?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.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.platform.content/src/main/java/org/apache/clerezza/platform/content/AbstractDiscobitsHandler.java Tue Aug 24 10:08:28 2010
@@ -24,11 +24,7 @@ import java.util.Iterator;
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.platform.content.hierarchy.UnknownRootExcetpion;
+import org.apache.clerezza.platform.content.collections.CollectionCreator;
import org.apache.clerezza.rdf.core.LiteralFactory;
import org.apache.clerezza.rdf.core.MGraph;
@@ -64,29 +60,16 @@ public abstract class AbstractDiscobitsH
*/
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) {
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());
- }
+ final MGraph mGraph = getMGraph();
+ infoDiscoBitNode = new GraphNode(infoDiscoBitUri, mGraph);
+ CollectionCreator collectionCreator = new CollectionCreator(mGraph);
+ collectionCreator.createContainingCollections(infoDiscoBitUri);
infoDiscoBitNode.addProperty(RDF.type, DISCOBITS.InfoDiscoBit);
TypedLiteral dataLiteral = LiteralFactory.getInstance().createTypedLiteral(data);
infoDiscoBitNode.deleteProperties(DISCOBITS.infoBit);
@@ -129,20 +112,7 @@ public abstract class AbstractDiscobitsH
return;
}
}
- 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);
- } catch (UnknownRootExcetpion ex) {
- graphNode = new GraphNode(node, mGraph);
- }
+ GraphNode graphNode = new GraphNode(node, mGraph);
graphNode.deleteNodeContext();
}
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/CollectionTypeHandler.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/CollectionTypeHandler.java?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/CollectionTypeHandler.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/CollectionTypeHandler.java Tue Aug 24 10:08:28 2010
@@ -18,7 +18,6 @@ package org.apache.clerezza.platform.con
import java.net.URL;
import java.util.Map;
import javax.ws.rs.GET;
-import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@@ -29,10 +28,6 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
-import org.apache.clerezza.platform.content.hierarchy.CollectionNode;
-import org.apache.clerezza.platform.content.hierarchy.HierarchyNode;
-import org.apache.clerezza.platform.content.hierarchy.NodeDoesNotExistException;
-import org.apache.clerezza.platform.content.hierarchy.UnknownRootExcetpion;
import org.apache.clerezza.platform.content.webdav.COPY;
import org.apache.clerezza.platform.content.webdav.LOCK;
import org.apache.clerezza.platform.content.webdav.UNLOCK;
@@ -104,40 +99,28 @@ public class CollectionTypeHandler exten
graphNode.addProperty(RDF.type, PLATFORM.HeadedPage);
UriRef collectionUri = new UriRef(uriInfo.getAbsolutePath().toString());
- CollectionNode collection = null;
- try {
- collection = hierarchyService.getCollectionNode(collectionUri);
- } catch (NodeDoesNotExistException ex) {
- throw new WebApplicationException(ex);
- } catch (UnknownRootExcetpion ex) {
- throw new WebApplicationException(ex);
- }
- CollectionNode parent = collection.getParent();
- if (parent != null){
- graphNode.addProperty(HIERARCHY.parent, parent.getNode());
- }
return graphNode;
}
@Override
- Map<UriRef, PropertyMap> getPropNames(HierarchyNode node, String depthHeader) {
- return WebDavUtils.getCollectionProps(null, null, null, (CollectionNode) node,
+ Map<UriRef, PropertyMap> getPropNames(GraphNode node, String depthHeader) {
+ return WebDavUtils.getCollectionProps(null, null, null, node,
depthHeader, false /* doesNotIncludeValues */);
}
@Override
- Map<UriRef, PropertyMap> getPropsByName(Node requestNode, HierarchyNode node,
+ Map<UriRef, PropertyMap> getPropsByName(Node requestNode, GraphNode node,
String depthHeader) {
Map<UriRef, PropertyMap> result;
NodeList children = requestNode.getChildNodes();
- result = WebDavUtils.getPropsByName(children, (CollectionNode) node, depthHeader,
+ result = WebDavUtils.getPropsByName(children, node, depthHeader,
true /* includeValues */);
return result;
}
@Override
- Map<UriRef, PropertyMap> getAllProps(HierarchyNode node, String depthHeader) {
- return WebDavUtils.getCollectionProps(null, null, null, (CollectionNode) node,
+ Map<UriRef, PropertyMap> getAllProps(GraphNode node, String depthHeader) {
+ return WebDavUtils.getCollectionProps(null, null, null, node,
depthHeader, true /* includeValues */);
}
Modified: incubator/clerezza/trunk/org.apache.clerezza.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.platform.content/src/main/java/org/apache/clerezza/platform/content/DiscobitsTypeHandler.java?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.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.platform.content/src/main/java/org/apache/clerezza/platform/content/DiscobitsTypeHandler.java Tue Aug 24 10:08:28 2010
@@ -30,6 +30,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.locks.Lock;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@@ -48,14 +49,7 @@ import javax.xml.transform.TransformerFa
import javax.xml.transform.dom.DOMSource;
import org.apache.clerezza.jaxrs.utils.RedirectUtil;
import org.apache.clerezza.platform.content.WebDavUtils.PropertyMap;
-import org.apache.clerezza.platform.content.hierarchy.CollectionNode;
-import org.apache.clerezza.platform.content.hierarchy.HierarchyNode;
-import org.apache.clerezza.platform.content.hierarchy.HierarchyService;
-import org.apache.clerezza.platform.content.hierarchy.HierarchyUtils;
-import org.apache.clerezza.platform.content.hierarchy.IllegalMoveException;
-import org.apache.clerezza.platform.content.hierarchy.NodeAlreadyExistsException;
-import org.apache.clerezza.platform.content.hierarchy.NodeDoesNotExistException;
-import org.apache.clerezza.platform.content.hierarchy.UnknownRootExcetpion;
+import org.apache.clerezza.platform.content.collections.CollectionCreator;
import org.apache.clerezza.platform.content.webdav.MKCOL;
import org.apache.clerezza.platform.content.webdav.MOVE;
import org.apache.clerezza.platform.content.webdav.PROPFIND;
@@ -74,7 +68,12 @@ import org.apache.clerezza.platform.grap
import org.apache.clerezza.platform.typehandlerspace.OPTIONS;
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.core.access.LockableMGraph;
+import org.apache.clerezza.rdf.core.impl.TripleImpl;
+import org.apache.clerezza.rdf.ontologies.HIERARCHY;
+import org.apache.clerezza.rdf.ontologies.RDF;
import org.apache.clerezza.rdf.utils.GraphNode;
import org.apache.clerezza.web.fileserver.util.MediaTypeGuesser;
import org.w3c.dom.Document;
@@ -108,9 +107,6 @@ public class DiscobitsTypeHandler extend
@Reference
protected ContentGraphProvider cgProvider;
-
- @Reference
- protected HierarchyService hierarchyService;
private static final Logger logger = LoggerFactory.getLogger(DiscobitsTypeHandler.class);
@@ -181,17 +177,19 @@ public class DiscobitsTypeHandler extend
*/
@MKCOL
public Object mkcol(@Context UriInfo uriInfo) {
- UriRef nodeUri = new UriRef(uriInfo.getAbsolutePath().toString());
- nodeUri = HierarchyUtils.makeCollectionUriRef(nodeUri);
- try {
- hierarchyService.createCollectionNode(nodeUri);
- } catch (NodeAlreadyExistsException e) {
- logger.debug("Collection \""
- + nodeUri.getUnicodeString() + "\" already exists.");
+ String uriString = uriInfo.getAbsolutePath().toString();
+ if (uriString.charAt(uriString.length()-1) != '/') {
+ uriString += '/';
+ }
+ UriRef nodeUri = new UriRef(uriString);
+ final MGraph mGraph = cgProvider.getContentGraph();
+ Triple typeTriple = new TripleImpl(nodeUri, RDF.type, HIERARCHY.Collection);
+ if (mGraph.contains(typeTriple)) {
return Response.status(405) // Method Not Allowed
.entity("Collection \"" + nodeUri.getUnicodeString()
+ "\" already exists.").build();
}
+ new CollectionCreator(mGraph).createContainingCollections(nodeUri);
return Response.created(uriInfo.getAbsolutePath()).build();
}
@@ -219,54 +217,50 @@ public class DiscobitsTypeHandler extend
return checkIfOppositExistsAndRedirectIfSo(nodeUri, uriInfo);
}
Map<UriRef, PropertyMap> result;
- try {
- String depthHeader = WebDavUtils.getHeaderAsString(headers, "Depth");
- if (depthHeader == null) {
- depthHeader = WebDavUtils.infinite;
- }
- HierarchyNode node = hierarchyService.getHierarchyNode(nodeUri);
- if (body != null) {
- Document requestDoc = WebDavUtils.sourceToDocument(body);
- Node propfindNode = WebDavUtils.getNode(requestDoc, WebDavUtils.propfind);
- Node requestNode = WebDavUtils.getFirstChild(propfindNode);
- String requestType = requestNode.getLocalName();
- if (requestType.equalsIgnoreCase(WebDavUtils.allprop)) {
- result = getAllProps(node, depthHeader);
- } else if (requestType.equalsIgnoreCase(WebDavUtils.prop)) {
- result = getPropsByName(requestNode, node, depthHeader);
- } else if (requestType.equalsIgnoreCase(WebDavUtils.propname)) {
- result = getPropNames(node, depthHeader);
- } else {
- return Response.status(Status.BAD_REQUEST).build();
- }
- } else {
- // returns all properties
+ try {
+ String depthHeader = WebDavUtils.getHeaderAsString(headers, "Depth");
+ if (depthHeader == null) {
+ depthHeader = WebDavUtils.infinite;
+ }
+ final MGraph mGraph = cgProvider.getContentGraph();
+ GraphNode node = new GraphNode(nodeUri, mGraph);
+ if (body != null) {
+ Document requestDoc = WebDavUtils.sourceToDocument(body);
+ Node propfindNode = WebDavUtils.getNode(requestDoc, WebDavUtils.propfind);
+ Node requestNode = WebDavUtils.getFirstChild(propfindNode);
+ String requestType = requestNode.getLocalName();
+ if (requestType.equalsIgnoreCase(WebDavUtils.allprop)) {
result = getAllProps(node, depthHeader);
+ } else if (requestType.equalsIgnoreCase(WebDavUtils.prop)) {
+ result = getPropsByName(requestNode, node, depthHeader);
+ } else if (requestType.equalsIgnoreCase(WebDavUtils.propname)) {
+ result = getPropNames(node, depthHeader);
+ } else {
+ return Response.status(Status.BAD_REQUEST).build();
}
- Document responseDoc = WebDavUtils.createResponseDoc(result);
- return Response.status(207).entity(new DOMSource(responseDoc)).type(
- MediaType.APPLICATION_XML_TYPE).build();
- } catch (NodeDoesNotExistException e) {
- return Response.status(Status.NOT_FOUND).entity(
- e.getMessage()).type(MediaType.TEXT_PLAIN).build();
- } catch (TransformerFactoryConfigurationError e) {
- return Response.status(Status.BAD_REQUEST).build();
- } catch (TransformerException e) {
- return Response.status(Status.BAD_REQUEST).build();
- } catch (ParserConfigurationException e) {
- throw new RuntimeException(e);
- } catch(UnknownRootExcetpion ex) {
- return Response.status(Status.BAD_REQUEST).build();
+ } else {
+ // returns all properties
+ result = getAllProps(node, depthHeader);
}
+ Document responseDoc = WebDavUtils.createResponseDoc(result);
+ return Response.status(207).entity(new DOMSource(responseDoc)).type(
+ MediaType.APPLICATION_XML_TYPE).build();
+ } catch (TransformerFactoryConfigurationError e) {
+ return Response.status(Status.BAD_REQUEST).build();
+ } catch (TransformerException e) {
+ return Response.status(Status.BAD_REQUEST).build();
+ } catch (ParserConfigurationException e) {
+ throw new RuntimeException(e);
+ }
}
- Map<UriRef, PropertyMap> getPropNames(HierarchyNode node, String depthHeader) {
+ Map<UriRef, PropertyMap> getPropNames(GraphNode node, String depthHeader) {
Map<UriRef, PropertyMap> result = new HashMap<UriRef, PropertyMap>();
WebDavUtils.addNodeProperties(result, null, null, node, false);
return result;
}
- Map<UriRef, PropertyMap> getPropsByName(Node requestNode, HierarchyNode node,
+ Map<UriRef, PropertyMap> getPropsByName(Node requestNode, GraphNode node,
String depthHeader) {
Map<UriRef, PropertyMap> result;
NodeList children = requestNode.getChildNodes();
@@ -274,7 +268,7 @@ public class DiscobitsTypeHandler extend
return result;
}
- Map<UriRef, PropertyMap> getAllProps(HierarchyNode node, String depthHeader) {
+ Map<UriRef, PropertyMap> getAllProps(GraphNode node, String depthHeader) {
HashMap<UriRef, PropertyMap> result = new HashMap<UriRef, PropertyMap>();
WebDavUtils.addNodeProperties(result, null, null, node, true);
return result;
@@ -301,7 +295,8 @@ public class DiscobitsTypeHandler extend
}
try {
Document requestDoc = WebDavUtils.sourceToDocument(body);
- HierarchyNode node = hierarchyService.getHierarchyNode(nodeUri);
+ final MGraph mGraph = cgProvider.getContentGraph();
+ GraphNode node = new GraphNode(nodeUri, mGraph);
NodeList propsToSet = null;
NodeList propsToRemove = null;
Node proppatchNode = WebDavUtils.getNode(requestDoc, WebDavUtils.proppatch);
@@ -320,18 +315,13 @@ public class DiscobitsTypeHandler extend
Document responseDoc = WebDavUtils.modifyProperties(node, propsToSet, propsToRemove);
return Response.status(207).entity(new DOMSource(responseDoc)).type(
MediaType.APPLICATION_XML_TYPE).build();
- } catch (NodeDoesNotExistException e) {
- return Response.status(Status.NOT_FOUND).entity(
- e.getMessage()).type(MediaType.TEXT_PLAIN).build();
- }catch (ParserConfigurationException ex) {
+ } catch (ParserConfigurationException ex) {
throw new RuntimeException(ex);
} catch (TransformerFactoryConfigurationError ex) {
return Response.status(Status.BAD_REQUEST).build();
} catch (TransformerException ex) {
return Response.status(Status.BAD_REQUEST).build();
- } catch(UnknownRootExcetpion ex) {
- return Response.status(Status.BAD_REQUEST).build();
- }
+ }
}
/**
@@ -352,66 +342,42 @@ public class DiscobitsTypeHandler extend
@MOVE
public Response move(@Context UriInfo uriInfo, @Context HttpHeaders headers) {
UriRef nodeUri = new UriRef(uriInfo.getAbsolutePath().toString());
- if (!nodeAtUriExists(nodeUri)) {
- UriRef oppositUri = HierarchyUtils.makeOppositeUriRef(nodeUri);
- if(nodeAtUriExists(oppositUri)) {
- nodeUri = oppositUri;
+ final LockableMGraph mGraph = cgProvider.getContentGraph();
+ GraphNode node = new GraphNode(nodeUri, mGraph);
+ String targetString = WebDavUtils.getHeaderAsString(headers,
+ "Destination");
+ UriRef targetUri = new UriRef(targetString);
+ String overwriteHeader = WebDavUtils.getHeaderAsString(headers, "Overwrite");
+ boolean overwriteTarget = "T".equalsIgnoreCase(overwriteHeader);
+ if (nodeAtUriExists(targetUri)) {
+ if (overwriteTarget) {
+ new GraphNode(targetUri, mGraph).deleteNodeContext();
} else {
- return Response.status(Status.NOT_FOUND).build();
+ return Response.status(Status.PRECONDITION_FAILED).build();
}
}
- HierarchyNode targetNode;
- String overwriteHeader = null;
- CollectionNode newParentCollection = null;
+ Lock l = mGraph.getLock().writeLock();
+ l.lock();
try {
- targetNode = hierarchyService.getHierarchyNode(nodeUri);
- /* ignored at the moment */
- overwriteHeader = WebDavUtils.getHeaderAsString(headers, "Overwrite");
- if (overwriteHeader == null) {
- overwriteHeader = "F";
+ Iterator<Triple> oldParentTripleIter
+ = mGraph.filter(nodeUri, HIERARCHY.parent, null);
+ if (oldParentTripleIter.hasNext()) {
+ oldParentTripleIter.next();
+ oldParentTripleIter.remove();
+ }
+ while (oldParentTripleIter.hasNext()) {
+ logger.error("more than one parent statement: "+oldParentTripleIter.next());
+ oldParentTripleIter.remove();
}
- String newCollectionString = WebDavUtils.getHeaderAsString(headers,
- "Destination");
- if (newCollectionString != null) {
- UriRef newParentUri = HierarchyUtils.extractParentCollectionUri(
- new UriRef(newCollectionString));
- newParentCollection = hierarchyService
- .getCollectionNode(newParentUri);
- targetNode.move(newParentCollection, HierarchyUtils.getName(
- new UriRef(newCollectionString)), newParentCollection
- .getMembers().size());
- return Response.created(new java.net.URI(nodeUri.getUnicodeString()))
- .build();
- } else {
- logger.error("empty Destination header!");
- return Response.status(Status.BAD_REQUEST).build();
- }
- } catch (URISyntaxException e) {
- return Response.status(Status.BAD_REQUEST).build();
- } catch (NodeDoesNotExistException e) {
- return Response.status(Status.NOT_FOUND).build();
- } catch (NodeAlreadyExistsException e) {
- if (overwriteHeader.equals("F")) {
- return Response.status(Status.PRECONDITION_FAILED).build();
- } else if (overwriteHeader.equals("T")) {
- try {
- String name = HierarchyUtils.getName(nodeUri);
- hierarchyService.getHierarchyNode(
- new UriRef(newParentCollection.getNode().
- getUnicodeString() + name)).delete();
- return this.move(uriInfo, headers);
- } catch (NodeDoesNotExistException ex) {
- throw new RuntimeException(e);
- } catch (UnknownRootExcetpion ex) {
- throw new RuntimeException(ex);
- }
- } else {
- return Response.status(Status.BAD_REQUEST).build();
+ node.replaceWith(targetUri);
+ new CollectionCreator(mGraph).createContainingCollections(targetUri);
+ try {
+ return Response.created(new java.net.URI(targetUri.getUnicodeString())).build();
+ } catch (URISyntaxException ex) {
+ throw new IllegalArgumentException(ex);
}
- } catch (IllegalMoveException e) {
- return Response.status(Status.FORBIDDEN).build();
- } catch (UnknownRootExcetpion ex) {
- return Response.status(Status.BAD_REQUEST).build();
+ } finally {
+ l.unlock();
}
}
@@ -429,26 +395,12 @@ public class DiscobitsTypeHandler extend
public Response delete(@Context UriInfo uriInfo) {
UriRef nodeUri = new UriRef(uriInfo.getAbsolutePath().toString());
if (!nodeAtUriExists(nodeUri)) {
- UriRef oppositUri = HierarchyUtils.makeOppositeUriRef(nodeUri);
- if(nodeAtUriExists(oppositUri)) {
- nodeUri = oppositUri;
- } else {
- return Response.status(Status.NOT_FOUND).entity(
- uriInfo.getAbsolutePath()).type(MediaType.TEXT_PLAIN).build();
- }
- }
-
- HierarchyNode hierarchyNode;
- try {
- hierarchyNode = hierarchyService.getHierarchyNode(nodeUri);
- } catch (NodeDoesNotExistException e) {
- return Response.status(Status.NOT_FOUND).entity(
- uriInfo.getAbsolutePath()).type(MediaType.TEXT_PLAIN).build();
- } catch (UnknownRootExcetpion ex) {
return Response.status(Status.NOT_FOUND).entity(
uriInfo.getAbsolutePath()).type(MediaType.TEXT_PLAIN).build();
}
- hierarchyNode.delete();
+ final LockableMGraph mGraph = cgProvider.getContentGraph();
+ GraphNode node = new GraphNode(nodeUri, mGraph);
+ node.deleteNodeContext();
return Response.ok().build();
}
@@ -512,10 +464,7 @@ public class DiscobitsTypeHandler extend
return metaDataGenerators;
}
- @Override
- protected HierarchyService getHierarchyService() {
- return hierarchyService;
- }
+
private boolean nodeAtUriExists(UriRef nodeUri) {
MGraph mGraph = getMGraph();
@@ -525,11 +474,25 @@ public class DiscobitsTypeHandler extend
private Response checkIfOppositExistsAndRedirectIfSo(UriRef nodeUri,
UriInfo uriInfo) {
- UriRef oppositUri = HierarchyUtils.makeOppositeUriRef(nodeUri);
+ UriRef oppositUri = makeOppositeUriRef(nodeUri);
if (nodeAtUriExists(oppositUri)) {
return RedirectUtil.createSeeOtherResponse(
oppositUri.getUnicodeString(), uriInfo);
}
return Response.status(Status.NOT_FOUND).build();
}
+ /**
+ * add trailing slash if none present, remove otherwise
+ *
+ * @param uri
+ * @return
+ */
+ private static UriRef makeOppositeUriRef(UriRef uri) {
+ String uriString = uri.getUnicodeString();
+ if (uriString.endsWith("/")) {
+ return new UriRef(uriString.substring(0, uriString.length() - 1));
+ } else {
+ return new UriRef(uriString + "/");
+ }
+ }
}
Modified: incubator/clerezza/trunk/org.apache.clerezza.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.platform.content/src/main/java/org/apache/clerezza/platform/content/SimpleDiscobitsHandler.java?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.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.platform.content/src/main/java/org/apache/clerezza/platform/content/SimpleDiscobitsHandler.java Tue Aug 24 10:08:28 2010
@@ -20,7 +20,6 @@ package org.apache.clerezza.platform.con
import org.apache.clerezza.rdf.metadata.MetaDataGenerator;
import java.util.Set;
-import org.apache.clerezza.platform.content.hierarchy.HierarchyService;
import org.apache.clerezza.rdf.core.MGraph;
/**
@@ -45,9 +44,6 @@ class SimpleDiscobitsHandler extends Abs
return null;
}
- @Override
- protected HierarchyService getHierarchyService() {
- return null;
- }
+
}
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/WebDavUtils.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/WebDavUtils.java?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/WebDavUtils.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/WebDavUtils.java Tue Aug 24 10:08:28 2010
@@ -40,8 +40,6 @@ import javax.xml.transform.TransformerEx
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMResult;
-import org.apache.clerezza.platform.content.hierarchy.CollectionNode;
-import org.apache.clerezza.platform.content.hierarchy.HierarchyNode;
import org.apache.clerezza.rdf.core.Literal;
import org.apache.clerezza.rdf.core.LiteralFactory;
import org.apache.clerezza.rdf.core.Resource;
@@ -50,6 +48,8 @@ import org.apache.clerezza.rdf.core.UriR
import org.apache.clerezza.rdf.core.impl.TripleImpl;
import org.apache.clerezza.rdf.ontologies.DCTERMS;
import org.apache.clerezza.rdf.ontologies.HIERARCHY;
+import org.apache.clerezza.rdf.ontologies.RDF;
+import org.apache.clerezza.rdf.utils.GraphNode;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -282,7 +282,7 @@ class WebDavUtils {
*------------------------------------------------------------*/
static Map<UriRef, PropertyMap> getPropsByName(NodeList children,
- HierarchyNode node, String depthHeader, boolean includeValues) {
+ GraphNode node, String depthHeader, boolean includeValues) {
List<Property> requestedUserProps = new ArrayList<Property>();
List<Property> requestedDavProps = new ArrayList<Property>();
@@ -301,9 +301,9 @@ class WebDavUtils {
}
Map<UriRef, PropertyMap> allprops = new HashMap<UriRef, PropertyMap>();
- if (node instanceof CollectionNode) {
+ if (node.hasProperty(RDF.type, HIERARCHY.Collection)) {
return getCollectionProps(allprops, requestedUserProps, requestedDavProps,
- (CollectionNode) node, depthHeader, includeValues);
+ node, depthHeader, includeValues);
}else{
addNodeProperties(allprops, requestedUserProps, requestedDavProps,
node, includeValues);
@@ -314,14 +314,18 @@ class WebDavUtils {
static Map<UriRef, PropertyMap> getCollectionProps(Map<UriRef, PropertyMap> allprops,
List<Property> requestedUserProps, List<Property> requestedDavProps,
- CollectionNode collection, String depthHeader, boolean includeValues) {
+ GraphNode collection, String depthHeader, boolean includeValues) {
if(allprops == null){
allprops = new HashMap<UriRef, PropertyMap>();
}
- List<HierarchyNode> members = collection.getMembers();
addNodeProperties(allprops, requestedUserProps, requestedDavProps, collection,
includeValues);
if (depthHeader.equals("1") || depthHeader.equals(infinite)) {
+ Iterator<GraphNode> membersIter = collection.getSubjectNodes(HIERARCHY.parent);
+ List<GraphNode> members = new ArrayList<GraphNode>();
+ while (membersIter.hasNext()) {
+ members.add(membersIter.next());
+ }
addMemberProps(allprops, requestedUserProps, requestedDavProps, members,
depthHeader, includeValues);
}
@@ -330,11 +334,11 @@ class WebDavUtils {
private static void addMemberProps(Map<UriRef, PropertyMap> allprops,
List<Property> requestedUserProps, List<Property> requestedDavProps,
- List<HierarchyNode> members, String depthHeader, boolean includeValues) {
- for (HierarchyNode member : members) {
- if (depthHeader.equals(infinite) && member instanceof CollectionNode) {
+ List<GraphNode> members, String depthHeader, boolean includeValues) {
+ for (GraphNode member : members) {
+ if (depthHeader.equals(infinite) && member.hasProperty(RDF.type, HIERARCHY.Collection)) {
getCollectionProps(allprops, requestedUserProps, requestedDavProps,
- (CollectionNode) member, depthHeader, includeValues);
+ member, depthHeader, includeValues);
} else {
addNodeProperties(allprops, requestedUserProps, requestedDavProps,
member, includeValues);
@@ -344,7 +348,7 @@ class WebDavUtils {
static void addNodeProperties(Map<UriRef, PropertyMap> allprops,
List<Property> requestedUserProps, List<Property> requestedDavProps,
- HierarchyNode node, boolean includeValues) {
+ GraphNode node, boolean includeValues) {
if (requestedDavProps == null) {
requestedDavProps = new ArrayList<Property>();
@@ -360,11 +364,11 @@ class WebDavUtils {
addDavPropsWithoutValues(propertyMap);
addUserPropsWithoutValues(node, propertyMap);
}
- allprops.put(node.getNode(), propertyMap);
+ allprops.put((UriRef) node.getNode(), propertyMap);
}
- private static void addUserProps(HierarchyNode node, PropertyMap propertyMap,
+ private static void addUserProps(GraphNode node, PropertyMap propertyMap,
List<Property> requestedProps) {
Iterator<UriRef> userPropsIter = node.getProperties();
Set<UriRef> userProps = new HashSet<UriRef>();
@@ -406,7 +410,7 @@ class WebDavUtils {
}
}
- private static void addUserPropsWithoutValues(HierarchyNode node,
+ private static void addUserPropsWithoutValues(GraphNode node,
PropertyMap propertyMap) {
Iterator<UriRef> userPropsIter = node.getProperties();
Set<UriRef> userProps = new HashSet<UriRef>();
@@ -448,14 +452,14 @@ class WebDavUtils {
* @param includeValues
* @param requestedProps
*/
- private static void addDavProps(HierarchyNode node, PropertyMap propertyMap,
+ private static void addDavProps(GraphNode node, PropertyMap propertyMap,
List<Property> requestedProps) {
for (Property property : requestedProps) {
if (davProps.contains(property.prop)) {
if (property.prop.equalsIgnoreCase(displayname)) {
- propertyMap.put(property, node.getName());
+ propertyMap.put(property, getLastSection(((UriRef)node.getNode()).getUnicodeString()));
} else if (property.prop.equalsIgnoreCase(resourcetype)) {
- if (node instanceof CollectionNode) {
+ if (node.hasProperty(RDF.type, HIERARCHY.Collection)) {
propertyMap.put(property, "collection");
} else {
propertyMap.put(property, "");
@@ -503,13 +507,13 @@ class WebDavUtils {
* Proppatch methods *
*-------------------*/
- static Document modifyProperties(HierarchyNode hierarchyNode, NodeList propsToSet,
+ static Document modifyProperties(GraphNode hierarchyNode, NodeList propsToSet,
NodeList propsToRemove) throws ParserConfigurationException {
Document responseDoc = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().newDocument();
- UriRef subject = hierarchyNode.getNode();
+ UriRef subject = (UriRef) hierarchyNode.getNode();
Element hrefElement = responseDoc.createElementNS(davUri, href);
- hrefElement.setTextContent(hierarchyNode.getNode().getUnicodeString());
+ hrefElement.setTextContent(subject.getUnicodeString());
Element multistatus = responseDoc.createElementNS(davUri, multistat);
Element responseElement = responseDoc.createElementNS(davUri, response);
Element propOk = responseDoc.createElementNS(davUri, prop);
@@ -606,6 +610,10 @@ class WebDavUtils {
fac.createTypedLiteral(entry.getValue())));
}
+ private static String getLastSection(String s) {
+ return s.substring(s.lastIndexOf('/', s.length()-2));
+ }
+
/**
* Helper class whicht is a {@link HashMap} that maps {@link Property} to a {@link String}
* @author ali
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/resources/org/apache/clerezza/platform/content/collection.ssp
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/resources/org/apache/clerezza/platform/content/collection.ssp?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/resources/org/apache/clerezza/platform/content/collection.ssp (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/resources/org/apache/clerezza/platform/content/collection.ssp Tue Aug 24 10:08:28 2010
@@ -1,16 +1,13 @@
def hierarchy(s: Any) = new UriRef("http://clerezza.org/2009/09/hierarchy#" + s)
<div id="tx-content">
<h3>{res*}</h3>
- {if ((res/hierarchy("parent")).length != 0){
+ {ifx ((res/hierarchy("parent")).length != 0){
<h4>Parent: <a href={res/hierarchy("parent")*}>{res/hierarchy("parent")*}</a></h4>
- }else{
- <h4>Parent: -</h4>
}
}
-
- {if ((res/hierarchy("members")).length != 0){
+ {if ((res/-hierarchy("parent")).length != 0){
<ul>
- {for (member <- (res/hierarchy("members"))!!) yield
+ {for (member <- (res/-hierarchy("parent"))) yield
{
<li><a href={member*}>{member*}</a></li>
}
Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 24 10:08:28 2010
@@ -1,2 +1,3 @@
/incubator/clerezza/issues/CLEREZZA-113/org.apache.clerezza.platform.language:908544-911024
/incubator/clerezza/issues/CLEREZZA-72/org.apache.clerezza.platform.language:898371-901144
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language:903315-916719
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.launcher.storageless.parent/pom.xml Tue Aug 24 10:08:28 2010
@@ -437,11 +437,6 @@
</dependency>
<dependency>
<groupId>org.apache.clerezza</groupId>
- <artifactId>org.apache.clerezza.platform.menumanager</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.clerezza</groupId>
<artifactId>org.apache.clerezza.platform.language.ontologies</artifactId>
<scope>runtime</scope>
</dependency>
Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting.scriptmanager/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 24 10:08:28 2010
@@ -1 +1,2 @@
/incubator/clerezza/issues/CLEREZZA-52/org.apache.clerezza.platform.scripting.scriptmanager:894321-894392
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting.scriptmanager:889374-916719
Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 24 10:08:28 2010
@@ -1 +1,2 @@
/incubator/clerezza/issues/CLEREZZA-80/org.apache.clerezza.platform.security:900994-901238
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security:889374-916719
Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.cookie/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 24 10:08:28 2010
@@ -1 +1,2 @@
/incubator/clerezza/issues/CLEREZZA-80/org.apache.clerezza.platform.security.auth.cookie:900994-901238
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.cookie:889374-916719
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.testing/pom.xml Tue Aug 24 10:08:28 2010
@@ -332,11 +332,6 @@
</dependency>
<dependency>
<groupId>org.apache.clerezza</groupId>
- <artifactId>org.apache.clerezza.platform.menumanager</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.clerezza</groupId>
<artifactId>org.apache.clerezza.platform.language.core</artifactId>
<scope>provided</scope>
</dependency>
Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typehandlerspace/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 24 10:08:28 2010
@@ -1 +1,2 @@
/incubator/clerezza/issues/CLEREZZA-91/org.apache.clerezza.platform.typehandlerspace:905991-906055
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typehandlerspace:889374-916719
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.utils/src/main/java/org/apache/clerezza/rdf/utils/RdfList.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.utils/src/main/java/org/apache/clerezza/rdf/utils/RdfList.java?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.utils/src/main/java/org/apache/clerezza/rdf/utils/RdfList.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.utils/src/main/java/org/apache/clerezza/rdf/utils/RdfList.java Tue Aug 24 10:08:28 2010
@@ -18,6 +18,8 @@
*/
package org.apache.clerezza.rdf.utils;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.HashSet;
@@ -32,8 +34,12 @@ import org.apache.clerezza.rdf.core.Trip
import org.apache.clerezza.rdf.core.UriRef;
import org.apache.clerezza.rdf.core.access.LockableMGraph;
import org.apache.clerezza.rdf.core.impl.TripleImpl;
+import org.apache.clerezza.rdf.core.serializedform.Serializer;
+import org.apache.clerezza.rdf.core.serializedform.SupportedFormat;
import org.apache.clerezza.rdf.ontologies.OWL;
import org.apache.clerezza.rdf.ontologies.RDF;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* An implementation of an <code>java.util.List</code> backed by an RDF
@@ -51,6 +57,8 @@ import org.apache.clerezza.rdf.ontologie
*/
public class RdfList extends AbstractList<Resource> {
+ private static final Logger logger = LoggerFactory.getLogger(RdfList.class);
+
private final static UriRef RDF_NIL =
new UriRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil");
/**
@@ -240,7 +248,28 @@ public class RdfList extends AbstractLis
}
private Resource getFirstEntry(NonLiteral listResource) {
- return tc.filter(listResource, RDF.first, null).next().getObject();
+ try {
+ return tc.filter(listResource, RDF.first, null).next().getObject();
+ } catch (NullPointerException e) {
+ try {
+ final FileOutputStream fileOutputStream = new FileOutputStream("/tmp/broken-list.nt");
+ final GraphNode graphNode = new GraphNode(listResource, tc);
+ Serializer.getInstance().serialize(
+ fileOutputStream,
+ graphNode.getNodeContext(),
+ SupportedFormat.N_TRIPLE);
+ fileOutputStream.flush();
+ logger.warn("GraphNode: "+graphNode);
+ final Iterator<UriRef> properties = graphNode.getProperties();
+ while (properties.hasNext()) {
+ logger.warn("available: "+properties.next());
+ }
+
+ throw new RuntimeException("broken list "+listResource, e);
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
}
public NonLiteral getListResource() {
Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 24 10:08:28 2010
@@ -4,3 +4,4 @@
/incubator/clerezza/issues/CLEREZZA-48/org.apache.clerezza.triaxrs:893435-898896
/incubator/clerezza/issues/CLEREZZA-86/org.apache.clerezza.triaxrs:903135-910335
/incubator/clerezza/issues/CLEREZZA-94/org.apache.clerezza.triaxrs:905562-905566
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.triaxrs:918016-918029
Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.scripts/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 24 10:08:28 2010
@@ -1,2 +1,2 @@
/incubator/clerezza/issues/CLEREZZA-47/org.apache.clerezza.web.resources.scripts:892743-917522
-/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.scripts:916331-916719
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.scripts:889374-916719
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml?rev=988461&r1=988460&r2=988461&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml Tue Aug 24 10:08:28 2010
@@ -57,7 +57,6 @@
<module>org.apache.clerezza.platform.launcher.storageless.parent</module>
<module>org.apache.clerezza.platform.launcher.tdb</module>
<module>org.apache.clerezza.platform.mail</module>
- <module>org.apache.clerezza.platform.menumanager</module>
<module>org.apache.clerezza.platform.scripting</module>
<module>org.apache.clerezza.platform.scripting.scriptmanager</module>
<module>org.apache.clerezza.platform.security.auth.basic</module>
@@ -1016,11 +1015,6 @@
</dependency>
<dependency>
<groupId>org.apache.clerezza</groupId>
- <artifactId>org.apache.clerezza.platform.menumanager</artifactId>
- <version>0.3-incubating-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.clerezza</groupId>
<artifactId>org.apache.clerezza.rdf.file.storage</artifactId>
<version>0.3-incubating-SNAPSHOT</version>
</dependency>