[jboss-svn-commits] JBoss PortletSwap SVN: r221 - in src/server/trunk/server-service/server-lib/src: main/java/org/jboss/portletswap/jcr and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 25 08:57:39 EST 2008
Author: thomas.heute at jboss.com
Date: 2008-01-25 08:57:39 -0500 (Fri, 25 Jan 2008)
New Revision: 221
Modified:
src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/directory/impl/jcr/DirectoryServiceImpl.java
src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/jcr/JCRServiceImpl.java
src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/model/impl/jcr/JCRCategoryImpl.java
src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/model/impl/jcr/JCRModuleImpl.java
src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/repository/impl/jcr/RepositoryServiceImpl.java
src/server/trunk/server-service/server-lib/src/main/resources/customNodes.cnd
src/server/trunk/server-service/server-lib/src/test/java/org/jboss/portletswap/jcr/JCRServiceTestCase.java
Log:
Modified JCR structure
Modified: src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/directory/impl/jcr/DirectoryServiceImpl.java
===================================================================
--- src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/directory/impl/jcr/DirectoryServiceImpl.java 2008-01-25 11:47:37 UTC (rev 220)
+++ src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/directory/impl/jcr/DirectoryServiceImpl.java 2008-01-25 13:57:39 UTC (rev 221)
@@ -68,41 +68,7 @@
public List<Module> getModules(boolean published)
{
- String workspace = JCRService.MODULE_WORKSPACE_NAME;
- if (published)
- {
- workspace = JCRService.PUBLISHED_MODULE_WORKSPACE_NAME;
- }
-
- Session session = null;
- try
- {
- session = jcrService.openSession(workspace);
- NodeIterator it = session.getRootNode().getNodes();
- List<Module> result = new ArrayList<Module>();
- while (it.hasNext())
- {
- Node node = it.nextNode();
- if (node.isNodeType("ps:module"))
- {
- result.add(new JCRModuleImpl(jcrService, node));
- }
- }
- return result;
- }
- catch (ItemNotFoundException e)
- {
- return null;
- }
- catch (RepositoryException e)
- {
- e.printStackTrace();
- }
- finally
- {
- session.logout();
- }
- return null;
+ return getModules(published, Ordering.NO_SPECIAL_ORDER);
}
public List<Module> getModules(boolean published, Ordering ordering)
@@ -190,7 +156,7 @@
{
session = jcrService.openSession(workspace);
QueryManager queryManager = session.getWorkspace().getQueryManager();
- Query query = queryManager.createQuery("SELECT * from ps:module where ps:categoryRef = '" + category.getId() + "'", Query.SQL);
+ Query query = queryManager.createQuery("SELECT * from ps:module where ps:categories = '" + category.getId() + "'", Query.SQL);
QueryResult queryResult = query.execute();
NodeIterator it = queryResult.getNodes();
@@ -271,10 +237,7 @@
while (it.hasNext())
{
Node node = it.nextNode();
- if (node.isNodeType("ps:category"))
- {
- result.add(new JCRCategoryImpl(jcrService, node));
- }
+ result.add(new JCRCategoryImpl(jcrService, node));
}
return result;
}
Modified: src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/jcr/JCRServiceImpl.java
===================================================================
--- src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/jcr/JCRServiceImpl.java 2008-01-25 11:47:37 UTC (rev 220)
+++ src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/jcr/JCRServiceImpl.java 2008-01-25 13:57:39 UTC (rev 221)
@@ -45,6 +45,7 @@
import org.apache.jackrabbit.core.nodetype.compact.CompactNodeTypeDefReader;
import org.apache.jackrabbit.value.DateValue;
import org.jboss.portletswap.model.Category;
+import org.jboss.portletswap.model.impl.jcr.JCRModuleImpl;
/**
* @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
@@ -202,9 +203,11 @@
{
try
{
- Node node = rootNode.addNode("ps:category", "ps:category");
- node.setProperty("ps:name", Category.ROOT_CATEGORY_NAME);
+ Node node = rootNode.addNode(Category.ROOT_CATEGORY_NAME, "ps:category");
node.setProperty("jcr:lastModified", new DateValue(Calendar.getInstance()));
+ node.addNode("ps:categories" , "ps:categories");
+
+ node = rootNode.addNode(JCRModuleImpl.ROOT_MODULE_NODENAME);
}
catch (Exception e)
{
Modified: src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/model/impl/jcr/JCRCategoryImpl.java
===================================================================
--- src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/model/impl/jcr/JCRCategoryImpl.java 2008-01-25 11:47:37 UTC (rev 220)
+++ src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/model/impl/jcr/JCRCategoryImpl.java 2008-01-25 13:57:39 UTC (rev 221)
@@ -27,6 +27,7 @@
import javax.jcr.Node;
import javax.jcr.NodeIterator;
+import javax.jcr.PathNotFoundException;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.UnsupportedRepositoryOperationException;
@@ -75,15 +76,22 @@
{
session = jcrService.openSession(JCRService.MODULE_WORKSPACE_NAME);
Node node = session.getNodeByUUID((String) getId());
- NodeIterator it = node.getNodes();
List<Category> list = new ArrayList<Category>();
+ Node categoriesNode = null;
+ try
+ {
+ categoriesNode = node.getNode("ps:categories");
+ }
+ catch (PathNotFoundException e)
+ {
+ return list;
+ }
+
+ NodeIterator it = categoriesNode.getNodes();
while (it.hasNext())
{
Node tmpNode = it.nextNode();
- if (tmpNode.isNodeType("ps:category"))
- {
- list.add(new JCRCategoryImpl(jcrService, tmpNode));
- }
+ list.add(new JCRCategoryImpl(jcrService, tmpNode));
}
return list;
}
@@ -113,7 +121,7 @@
{
session = jcrService.openSession(JCRService.MODULE_WORKSPACE_NAME);
Node node = session.getNodeByUUID((String) getId());
- Node parent = node.getParent();
+ Node parent = node.getParent().getParent();
return new JCRCategoryImpl(jcrService, parent);
}
catch (RepositoryException e)
Modified: src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/model/impl/jcr/JCRModuleImpl.java
===================================================================
--- src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/model/impl/jcr/JCRModuleImpl.java 2008-01-25 11:47:37 UTC (rev 220)
+++ src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/model/impl/jcr/JCRModuleImpl.java 2008-01-25 13:57:39 UTC (rev 221)
@@ -53,6 +53,8 @@
public class JCRModuleImpl extends Module
{
+ public static final String ROOT_MODULE_NODENAME = "org.jboss.portletswap.root_module";
+
private List<Artifact> artifacts = new ArrayList<Artifact>();
private JCRService jcrService;
@@ -61,7 +63,7 @@
{
this.jcrService = jcrService;
- setName(node.getProperty("ps:name").getString());
+ setName(node.getName());
setId(node.getUUID());
/*
Node versionNode = node.getNode("ps:version");
@@ -136,14 +138,22 @@
Node node = session.getNodeByUUID((String) getId());
List<Artifact> result = new ArrayList<Artifact>();
- NodeIterator it = node.getNodes();
+
+ Node artifactsNode = null;
+ try
+ {
+ artifactsNode = node.getNode("ps:artifacts");
+ }
+ catch (PathNotFoundException e)
+ {
+ return result;
+ }
+
+ NodeIterator it = artifactsNode.getNodes();
while (it.hasNext())
{
Node tmpNode = it.nextNode();
- if (tmpNode.isNodeType("ps:fileArtifact"))
- {
- result.add(new JCRFileArtifactImpl(jcrService, tmpNode));
- }
+ result.add(new JCRFileArtifactImpl(jcrService, tmpNode));
}
return result;
}
@@ -171,7 +181,7 @@
List<Value> valuesList;
try
{
- Property property = node.getProperty("ps:categoryRef");
+ Property property = node.getProperty("ps:categories");
valuesList = new ArrayList<Value>(Arrays.asList(property.getValues()));
}
catch (PathNotFoundException e)
@@ -182,7 +192,7 @@
valuesList.add(new ReferenceValue(session.getNodeByUUID((String)category.getId())));
Value[] values = valuesList.toArray(new Value[valuesList.size()]);
- node.setProperty("ps:categoryRef", values);
+ node.setProperty("ps:categories", values);
session.save();
}
catch (RepositoryException e)
@@ -207,7 +217,7 @@
Property property;
try
{
- property = node.getProperty("ps:categoryRef");
+ property = node.getProperty("ps:categories");
}
catch (PathNotFoundException e)
{
Modified: src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/repository/impl/jcr/RepositoryServiceImpl.java
===================================================================
--- src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/repository/impl/jcr/RepositoryServiceImpl.java 2008-01-25 11:47:37 UTC (rev 220)
+++ src/server/trunk/server-service/server-lib/src/main/java/org/jboss/portletswap/repository/impl/jcr/RepositoryServiceImpl.java 2008-01-25 13:57:39 UTC (rev 221)
@@ -32,6 +32,7 @@
import javax.jcr.ItemNotFoundException;
import javax.jcr.Node;
+import javax.jcr.PathNotFoundException;
import javax.jcr.Session;
import org.apache.jackrabbit.value.DateValue;
@@ -197,17 +198,19 @@
session = jcrService.openSession(JCRService.MODULE_WORKSPACE_NAME);
Node parentNode = null;
- if (category.getName() == Category.ROOT_CATEGORY_NAME)
+ parentNode = session.getNodeByUUID((String) category.getParent().getId());
+
+ Node categoriesNode = null;
+ try
{
- parentNode = session.getRootNode();
+ categoriesNode = parentNode.getNode("ps:categories");
}
- else
+ catch (PathNotFoundException e)
{
- parentNode = session.getNodeByUUID((String) category.getParent().getId());
+ categoriesNode = parentNode.addNode("ps:categories", "ps:categories");
}
- Node node = parentNode.addNode("ps:category", "ps:category");
- node.setProperty("ps:name", node.getName());
+ Node node = categoriesNode.addNode(category.getName(), "ps:category");
node.setProperty("jcr:lastModified", new DateValue(Calendar.getInstance()));
// Store the displayName
@@ -253,28 +256,11 @@
session = jcrService.openSession(JCRService.MODULE_WORKSPACE_NAME);
// Store the module name
- Node moduleNode = session.getRootNode().addNode("ps:module", "ps:module");
+ Node moduleNode = session.getRootNode().getNode(JCRModuleImpl.ROOT_MODULE_NODENAME).addNode(module.getName(), "ps:module");
- moduleNode.setProperty("ps:name", module.getName());
-
// Store the last modified date
moduleNode.setProperty("jcr:lastModified", new DateValue(Calendar.getInstance()));
- /*
- // Store the version
- Version version = module.getVersion();
- Node versionNode = moduleNode.addNode("ps:version", "ps:version");
- {
- versionNode.setProperty("ps:name", version.getName());
- versionNode.setProperty("ps:major", version.getMajor());
- versionNode.setProperty("ps:minor", version.getMinor());
- versionNode.setProperty("ps:patch", version.getPatch());
- versionNode.setProperty("ps:prefix", version.getQualifier().getPrefix().getName());
- versionNode.setProperty("ps:suffix", version.getQualifier().getSuffix().name());
- versionNode.setProperty("ps:codename", version.getCodeName());
- }
- */
-
// Store the description
LocalizedString description = module.getDescription();
if (description != null)
@@ -381,7 +367,7 @@
session = jcrService.openSession(JCRService.MODULE_WORKSPACE_NAME);
Node rootNode = session.getRootNode();
- rootCategory = new JCRCategoryImpl(jcrService, rootNode.getNode("ps:category"));
+ rootCategory = new JCRCategoryImpl(jcrService, rootNode.getNode(Category.ROOT_CATEGORY_NAME));
}
catch (ItemNotFoundException e)
{
@@ -435,10 +421,20 @@
session = jcrService.openSession(JCRService.MODULE_WORKSPACE_NAME);
Node node = session.getNodeByUUID((String) module.getId());
+ Node artifactsNode = null;
+ try
+ {
+ artifactsNode = node.getNode("ps:artifacts");
+ }
+ catch (PathNotFoundException e)
+ {
+ artifactsNode = node.addNode("ps:artifacts", "ps:artifacts");
+ }
+
Node artifactNode = null;
if (artifact.getArtifactType().equals(ArtifactType.FILE_ARTIFACT_TYPE))
{
- artifactNode = node.addNode("ps:artifact", "ps:fileArtifact");
+ artifactNode = artifactsNode.addNode("ps:artifact", "ps:fileArtifact");
artifactNode.setProperty("ps:file", ((FileArtifact)artifact).getInputStream());
artifactNode.setProperty("jcr:lastModified", new DateValue(Calendar.getInstance()));
if (artifact.getLicense() != null)
Modified: src/server/trunk/server-service/server-lib/src/main/resources/customNodes.cnd
===================================================================
--- src/server/trunk/server-service/server-lib/src/main/resources/customNodes.cnd 2008-01-25 11:47:37 UTC (rev 220)
+++ src/server/trunk/server-service/server-lib/src/main/resources/customNodes.cnd 2008-01-25 13:57:39 UTC (rev 221)
@@ -4,13 +4,15 @@
<jcr = 'http://www.jcp.org/jcr/1.0'>
<ps = 'http://www.portletswap.com'>
-[ps:category] > nt:folder, mix:referenceable
+[ps:category] > nt:base, mix:referenceable
- jcr:lastModified (date) mandatory ignore
- - ps:name
+ ps:description
- + ps:category multiple
- + ps:displayName
+ + ps:categories
+ + ps:displayName multiple
+[ps:categories] > nt:folder, mix:referenceable
+ + * (ps:category)
+
[ps:localizedString] > nt:base
- jcr:language (string) mandatory
- ps:value
@@ -28,6 +30,9 @@
- ps:firstname
- ps:lastname
+[ps:artifacts] > nt:folder
+ + ps:artifact multiple
+
[ps:artifact] > nt:base, mix:referenceable
+ ps:version mandatory
@@ -39,12 +44,14 @@
[ps:module] > nt:base, mix:referenceable
- jcr:lastModified (date) mandatory ignore
- - ps:categoryRef (reference) multiple copy
- - ps:name (string)
- + ps:author
+ - ps:categories (reference) multiple copy
+ + ps:authors
+ ps:description
- + ps:artifact multiple
+ + ps:artifacts
+[ps:authors] > nt:base
+ - ps:author (reference) multiple
+
[ps:version] > nt:base
- ps:name
- ps:major mandatory
Modified: src/server/trunk/server-service/server-lib/src/test/java/org/jboss/portletswap/jcr/JCRServiceTestCase.java
===================================================================
--- src/server/trunk/server-service/server-lib/src/test/java/org/jboss/portletswap/jcr/JCRServiceTestCase.java 2008-01-25 11:47:37 UTC (rev 220)
+++ src/server/trunk/server-service/server-lib/src/test/java/org/jboss/portletswap/jcr/JCRServiceTestCase.java 2008-01-25 13:57:39 UTC (rev 221)
@@ -60,10 +60,12 @@
Node node3 = session.getRootNode().addNode("Category3" , "ps:category");
node3.setProperty("jcr:lastModified", new DateValue(Calendar.getInstance()));
- Node node1_1 = node1.addNode("Category11" , "ps:category");
+ Node node1_categories = node1.addNode("ps:categories" , "ps:categories");
+
+ Node node1_1 = node1_categories.addNode("Category11", "ps:category");
node1_1.setProperty("jcr:lastModified", new DateValue(Calendar.getInstance()));
- Node node1_2 = node1.addNode("Category12" , "ps:category");
+ Node node1_2 = node1_categories.addNode("Category12" , "ps:category");
node1_2.setProperty("jcr:lastModified", new DateValue(Calendar.getInstance()));
session.save();
More information about the jboss-svn-commits
mailing list