Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util
In directory james.mmbase.org:/tmp/cvs-serv8294
Modified Files:
NewsletterPublicationUtil.java
Log Message:
CMSC-711,Customized search option for edit-wizard,add defaultTerm
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util
See also: http://www.mmbase.org/jira/browse/CMSC-711
Index: NewsletterPublicationUtil.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterPublicationUtil.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- NewsletterPublicationUtil.java 16 Apr 2008 09:18:12 -0000 1.18
+++ NewsletterPublicationUtil.java 29 Apr 2008 03:52:49 -0000 1.19
@@ -9,6 +9,7 @@
import org.mmbase.bridge.Cloud;
import org.mmbase.bridge.Node;
import org.mmbase.bridge.NodeList;
+import org.mmbase.bridge.NodeManager;
import org.mmbase.bridge.Relation;
import org.mmbase.bridge.RelationList;
@@ -58,6 +59,7 @@
if (newsletterNumber > 0) {
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
Node newsletterNode = cloud.getNode(newsletterNumber);
+ createDefaultTerm(newsletterNode);
Node publicationNode = CloneUtil.cloneNode(newsletterNode,
"newsletterpublication");
if (publicationNode != null) {
@@ -80,6 +82,31 @@
return (null);
}
+ private static void createDefaultTerm(Node newsletterNode) {
+
+ if(!hasDefaultTerm(newsletterNode)) {
+ Node defaultTerm =
newsletterNode.getCloud().getNodeManager("term").createNode();
+ defaultTerm.setStringValue("name", "default");
+ defaultTerm.setStringValue("subject",
newsletterNode.getStringValue("title"));
+ defaultTerm.commit();
+ newsletterNode.createRelation(defaultTerm,
newsletterNode.getCloud().getRelationManager("related")).commit();
+ }
+ }
+
+ private static boolean hasDefaultTerm(Node newsletterNode) {
+ NodeManager termNodeManager =
newsletterNode.getCloud().getNodeManager("term");
+ NodeList terms = newsletterNode.getRelatedNodes(termNodeManager);
+ boolean hasDefaultTerm = false;
+ for(int i = 0 ; i < terms.size() ; i++) {
+ Node term = terms.getNode(i);
+ if(term.getStringValue("name") != null &&
term.getStringValue("name").equals("default")) {
+ hasDefaultTerm = true;
+ break;
+ }
+ }
+ return hasDefaultTerm;
+ }
+
// Delete a publication, only if not yet published
public static void deletePublication(int publicationNumber) {
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs