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 Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs