[Yanel-commits] rev 48566 -
public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node
guillaume at wyona.com
guillaume at wyona.com
Thu Apr 8 19:47:33 CEST 2010
Author: guillaume
Date: 2010-04-08 19:47:33 +0200 (Thu, 08 Apr 2010)
New Revision: 48566
Modified:
public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node/NodeResource.java
Log:
EXPERIMENTAL: introduced a "content-repository-id" RC property
to allow to choose the repository used when looking for the node:
this should allow us to start getting rid of the infamous "data/app*" directories!
Modified: public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node/NodeResource.java
===================================================================
--- public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node/NodeResource.java 2010-04-08 17:28:40 UTC (rev 48565)
+++ public/yanel/trunk/src/resources/file/src/java/org/wyona/yanel/impl/resources/node/NodeResource.java 2010-04-08 17:47:33 UTC (rev 48566)
@@ -61,12 +61,6 @@
/**
*
*/
- public NodeResource() {
- }
-
- /**
- *
- */
public ViewDescriptor[] getViewDescriptors() {
return null;
}
@@ -143,10 +137,10 @@
*/
public OutputStream getOutputStream() throws Exception {
log.error("TODO: Use existsNode() method!");
- if (!getRealm().getRepository().existsNode(getPath())) {
+ if (!getRepository().existsNode(getPath())) {
// TODO: create node recursively ...
log.error("TODO: Use getNode() method!");
- getRealm().getRepository().getNode(new org.wyona.commons.io.Path(getPath()).getParent().toString()).addNode(new org.wyona.commons.io.Path(getPath()).getName().toString(), org.wyona.yarep.core.NodeType.RESOURCE);
+ getRepository().getNode(new org.wyona.commons.io.Path(getPath()).getParent().toString()).addNode(new org.wyona.commons.io.Path(getPath()).getName().toString(), org.wyona.yarep.core.NodeType.RESOURCE);
}
return getNode().getOutputStream();
}
@@ -195,7 +189,7 @@
revisionInfos[i] = new RevisionInformation(revisions[i]);
}
if (revisions.length > 0) {
- log.warn("Node \"" + getPath() + "\" does not seem to have any revisions! The repository \"" + getRealm().getRepository() + "\" might not support revisions!");
+ log.warn("Node \"" + getPath() + "\" does not seem to have any revisions! The repository \"" + getRepository() + "\" might not support revisions!");
}
return revisionInfos;
}
@@ -268,7 +262,7 @@
}
public boolean exists() throws Exception {
- return getRealm().getRepository().existsNode(getPath());
+ return getRepository().existsNode(getPath());
}
/**
@@ -313,7 +307,7 @@
*/
public void create(HttpServletRequest request) {
try {
- Repository repo = getRealm().getRepository();
+ Repository repo = getRepository();
if (request instanceof HttpRequest) {
HttpRequest yanelRequest = (HttpRequest)request;
@@ -322,7 +316,7 @@
if (parameters.hasMoreElements()) {
String name = (String) parameters.nextElement();
- Node newNode = org.wyona.yanel.core.util.YarepUtil.addNodes(repo, getPath().toString(), org.wyona.yarep.core.NodeType.RESOURCE);
+ Node newNode = org.wyona.yarep.util.YarepUtil.addNodes(repo, getPath().toString(), org.wyona.yarep.core.NodeType.RESOURCE);
OutputStream output = newNode.getOutputStream();
InputStream is = yanelRequest.getInputStream(name);
Streams.copy(is, output, true);
@@ -594,13 +588,23 @@
path = getResourceConfigProperty("src");
}
try {
- return getRealm().getRepository().getNode(path);
+ return getRepository().getNode(path);
} catch (org.wyona.yarep.core.NoSuchNodeException e) {
throw new org.wyona.yanel.core.ResourceNotFoundException(path);
- //throw new org.wyona.yanel.core.ResourceNotFoundException(path, getRealm(), getRealm().getRepository());
+ //throw new org.wyona.yanel.core.ResourceNotFoundException(path, getRealm(), getRepository());
}
} catch (Exception e) {
throw new org.wyona.yanel.core.ResourceNotFoundException(e);
}
}
+
+ private Repository getRepository() throws Exception {
+ String repositoryID = getResourceConfigProperty("content-repository-id");
+ if (log.isDebugEnabled()) log.debug("repositoryID: "+repositoryID); //FIXME
+ if (repositoryID == null) {
+ return getRealm().getRepository();
+ }
+ Repository repository = getRealm().getRepository(repositoryID);
+ return repository;
+ }
}
More information about the Yanel-commits
mailing list