Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util
In directory james.mmbase.org:/tmp/cvs-serv31444/util
Modified Files:
Tag: b1_5
NewsletterPublicationUtil.java
Log Message:
CMSC-948 Registration portlet for CMS container
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-948
Index: NewsletterPublicationUtil.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterPublicationUtil.java,v
retrieving revision 1.26
retrieving revision 1.26.2.1
diff -u -b -r1.26 -r1.26.2.1
--- NewsletterPublicationUtil.java 6 May 2008 06:11:12 -0000 1.26
+++ NewsletterPublicationUtil.java 6 Nov 2008 07:52:53 -0000 1.26.2.1
@@ -11,18 +11,20 @@
import com.finalist.cmsc.navigation.NavigationUtil;
import com.finalist.cmsc.navigation.PagesUtil;
import com.finalist.cmsc.navigation.PortletUtil;
+import com.finalist.newsletter.domain.Newsletter;
import com.finalist.newsletter.domain.Publication;
+import com.finalist.newsletter.domain.Publication.STATUS;
public abstract class NewsletterPublicationUtil {
- private static void copyOtherRelations(Node newsletterNode, Node
publicationNode,boolean copyContent) {
- copyPageRelations(newsletterNode, publicationNode,copyContent);
+ private static void copyOtherRelations(Node newsletterNode, Node
publicationNode, boolean copyContent) {
+ copyPageRelations(newsletterNode, publicationNode, copyContent);
copyImageAndAttachmentRelations(newsletterNode, publicationNode);
}
- public static Node copyPageRelations(Node sourcePage, Node newPage,boolean
copyContent) {
+ public static Node copyPageRelations(Node sourcePage, Node newPage, boolean
copyContent) {
CloneUtil.cloneRelations(sourcePage, newPage, PagesUtil.LAYOUTREL,
PagesUtil.LAYOUT);
- if(copyContent) {
+ if (copyContent) {
PortletUtil.copyPortlets(sourcePage, newPage);
}
Node popupinfo = PagesUtil.getPopupinfo(sourcePage);
@@ -34,8 +36,8 @@
}
private static void copyImageAndAttachmentRelations(Node newsletterNode,
Node publicationNode) {
-
CloneUtil.cloneRelations(newsletterNode,publicationNode,"namedrel","images");
-
CloneUtil.cloneRelations(newsletterNode,publicationNode,"posrel","attachments");
+ CloneUtil.cloneRelations(newsletterNode, publicationNode, "namedrel",
"images");
+ CloneUtil.cloneRelations(newsletterNode, publicationNode, "posrel",
"attachments");
}
public static Node getNewsletterByPublicationNumber(int publicationNumber) {
@@ -53,12 +55,12 @@
if (publicationNode != null) {
String urlFragment = String.valueOf(publicationNode.getNumber());
publicationNode.setStringValue("urlfragment", urlFragment);
- publicationNode.setStringValue("publishdate","null");
+ publicationNode.setStringValue("publishdate", "null");
publicationNode.setStringValue("status",
Publication.STATUS.INITIAL.toString());
publicationNode.commit();
// copyContent(newsletterNode, publicationNode);
- copyOtherRelations(newsletterNode, publicationNode,copyContent);
+ copyOtherRelations(newsletterNode, publicationNode, copyContent);
NavigationUtil.appendChild(newsletterNode, publicationNode);
Node layoutNode = PagesUtil.getLayout(publicationNode);
if (copyContent == true) {
@@ -72,7 +74,7 @@
public static void createDefaultTerm(Node newsletterNode) {
- if(!hasDefaultTerm(newsletterNode)) {
+ if (!hasDefaultTerm(newsletterNode)) {
Node defaultTerm =
newsletterNode.getCloud().getNodeManager("term").createNode();
defaultTerm.setStringValue("name", "default");
defaultTerm.setStringValue("subject",
newsletterNode.getStringValue("title"));
@@ -85,9 +87,9 @@
NodeManager termNodeManager =
newsletterNode.getCloud().getNodeManager("term");
NodeList terms = newsletterNode.getRelatedNodes(termNodeManager);
boolean hasDefaultTerm = false;
- for(int i = 0 ; i < terms.size() ; i++) {
+ for (int i = 0; i < terms.size(); i++) {
Node term = terms.getNode(i);
- if(term.getStringValue("name") != null &&
term.getStringValue("name").equals("default")) {
+ if (term.getStringValue("name") != null &&
term.getStringValue("name").equals("default")) {
hasDefaultTerm = true;
break;
}
@@ -116,4 +118,34 @@
return (themes);
}
+ public static Publication getPublication(Cloud cloud,int number) {
+ Node newsletterPublicationNode = cloud.getNode(number);
+
+ List<Node> relatedNewsletters =
newsletterPublicationNode.getRelatedNodes("newsletter");
+ Publication pub = new Publication();
+ pub.setId(newsletterPublicationNode.getNumber());
+
pub.setStatus(Publication.STATUS.valueOf(newsletterPublicationNode.getStringValue("status")));
+ pub.setUrl(getPublicationURL(cloud,number));
+ Newsletter newsletter = new Newsletter();
+
+ Node node = relatedNewsletters.get(0);
+ new POConvertUtils<Newsletter>().convert(newsletter, node);
+ newsletter.setTxtempty(node.getStringValue("txtempty"));
+ newsletter.setReplyAddress(node.getStringValue("replyto_mail"));
+ pub.setNewsletter(newsletter);
+
+ return pub;
+ }
+ public static String getPublicationURL(Cloud cloud,int publciationId) {
+ Node publicationNode = cloud.getNode(publciationId);
+ String hostUrl = NewsletterUtil.getServerURL();
+ String newsletterPath = getNewsletterPath(publicationNode);
+ return "".concat(hostUrl).concat(newsletterPath);
+ }
+ public static String getNewsletterPath(Node newsletterPublicationNode) {
+ return NavigationUtil.getPathToRootString(newsletterPublicationNode,
true);
+ }
+ public static STATUS getStatus(Cloud cloud,int publicationId) {
+ return getPublication(cloud,publicationId).getStatus();
+ }
}
\ No newline at end of file
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs