Update of 
/var/cvs/contributions/CMSContainer_Modules/subsite/src/java/com/finalist/cmsc/subsite/util
In directory 
james.mmbase.org:/tmp/cvs-serv8663/subsite/src/java/com/finalist/cmsc/subsite/util

Modified Files:
      Tag: b1_4
        SubSiteUtil.java 
Log Message:
CMSC-635: Added some constants used in nc4en5mei portlets


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/subsite/src/java/com/finalist/cmsc/subsite/util
See also: http://www.mmbase.org/jira/browse/CMSC-635


Index: SubSiteUtil.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/subsite/src/java/com/finalist/cmsc/subsite/util/SubSiteUtil.java,v
retrieving revision 1.3.2.2
retrieving revision 1.3.2.3
diff -u -b -r1.3.2.2 -r1.3.2.3
--- SubSiteUtil.java    28 Feb 2008 10:32:27 -0000      1.3.2.2
+++ SubSiteUtil.java    10 Mar 2008 09:17:52 -0000      1.3.2.3
@@ -18,15 +18,28 @@
 
 public class SubSiteUtil {
 
+    /** Denotes the mmbase type for a subsite */
    public static final String SUBSITE = "subsite";
+   /** Denotes the mmbase type for a personal page */
    public static final String PERSONALPAGE = "personalpage";
+   /** Denotes the mmbase type for an article item used in the subsite */
+   public static final String SUBSITE_ARTICLE = "subsitearticle";
 
+   /** Alias for root of repository for subsite contentchannels  */
    public static final String ALIAS_SUBSITE = "repository.subsite";
 
-   public static final String USERID = "userid";
+   /** personal page userids field */
+   public static final String USERID_FIELD = "userid";
 
+   /** subsite article status field */
+   public static final String SUBSITESTATUS_FIELD = "subsitestatus";
+
+   private static final String STATUS_PUBLISHED = "published";
+   
+   /** request attribute name where personal page userid is stored */   
    public static final String PERSONAL_PAGE_ID = "personalPageId";
 
+   
    public static boolean isSubSiteType(Node node) {
       return node.getNodeManager().getName().equals(SUBSITE);
    }
@@ -35,6 +48,10 @@
       return node.getNodeManager().getName().equals(PERSONALPAGE);
    }
 
+   public static boolean isSubsiteArticle(Node node) {
+       return SUBSITE_ARTICLE.equals(node.getNodeManager().getName());
+   }
+
    public static Node createSubSiteContentChannel(Node subsite) {
       Node subsiteRootChannel = getRepositoryRoot(subsite.getCloud());
       return createContentChannel(subsite, subsiteRootChannel);
@@ -94,16 +111,7 @@
       if (userId == null || StringUtil.isEmpty(userId)) {
          return null;
       }
-
-      NodeManager personalPageNodeManager = cloud.getNodeManager(PERSONALPAGE);
-      NodeQuery query = personalPageNodeManager.createQuery();
-      Field userIdField = personalPageNodeManager.getField(USERID);
-      SearchUtil.addEqualConstraint(query, userIdField, userId);
-      SearchUtil.addLimitConstraint(query, 0, 1);
-
-      NodeList nodeList = personalPageNodeManager.getList(query);
-
-      return nodeList.isEmpty() ? null : (Node) nodeList.get(0);
+      return SearchUtil.findNode(cloud, PERSONALPAGE, USERID_FIELD, userId);
    }
 
    public static Node getRepositoryRoot(Cloud cloud) {
@@ -113,9 +121,18 @@
 
    public static Node createPersonalPage(Cloud cloud, String name, Node 
layout, String personalPageId) {
       Node personalPage = PagesUtil.createPage(cloud, name, layout, 
PERSONALPAGE);
-      personalPage.setStringValue(USERID, personalPageId);
+      personalPage.setStringValue(USERID_FIELD, personalPageId);
       personalPage.commit();
 
       return personalPage;
    }
+   
+   public static boolean isSubSiteArticlePublished(Node node) {
+       if (isSubsiteArticle(node)) {
+           String subsitestatus = node.getStringValue(SUBSITESTATUS_FIELD);
+           return STATUS_PUBLISHED.equals(subsitestatus);
+       }
+       return true;
+   }
+
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to