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