[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