Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util
In directory james.mmbase.org:/tmp/cvs-serv18669/util
Modified Files:
NewsletterPublicationUtil.java NewsletterUtil.java
Log Message:
CMSC-811,Create a newsletter publication,adding default term, move from
NewsletterPublicationCreate to Newslettercreate
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-811
Index: NewsletterPublicationUtil.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterPublicationUtil.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- NewsletterPublicationUtil.java 5 May 2008 10:26:59 -0000 1.24
+++ NewsletterPublicationUtil.java 6 May 2008 02:56:11 -0000 1.25
@@ -19,17 +19,6 @@
public abstract class NewsletterPublicationUtil {
- private static void copyContent(Node oldTermNode, Node newTermNode) {
- RelationList contentList = oldTermNode.getRelations("newslettercontent");
- if (contentList != null && contentList.size() > 0) {
- for (int r = 0; r < contentList.size(); r++) {
- Relation contentRelation = contentList.getRelation(r);
- Node contentNode = contentRelation.getSource();
- RelationUtil.createRelation(newTermNode, contentNode,
"newslettercontent");
- }
- }
- }
-
private static void copyOtherRelations(Node newsletterNode, Node
publicationNode) {
PagesUtil.copyPageRelations(newsletterNode, publicationNode);
copyImageAndAttachmentRelations(newsletterNode, publicationNode);
@@ -40,27 +29,6 @@
CloneUtil.cloneRelations(newsletterNode,publicationNode,"posrel","attachments");
}
- private static void copyTermsAndContent(Node newsletterNode, Node
publicationNode, boolean copyContent) {
- copyTermsAndContent(newsletterNode, publicationNode, copyContent,
"newslettertheme");
- copyTermsAndContent(newsletterNode, publicationNode, copyContent,
"defaulttheme");
- }
-
- private static void copyTermsAndContent(Node newsletterNode, Node
publicationNode, boolean copyContent, final String relationName) {
- NodeList newsletterTermList = newsletterNode.getRelatedNodes("term",
relationName, "DESTINATION");
- if (newsletterTermList != null) {
- for (int i = 0; i < newsletterTermList.size(); i++) {
- Node oldTermNode = newsletterTermList.getNode(i);
- Node newTermNode = CloneUtil.cloneNode(oldTermNode,
"newsletterpublicationtheme");
- if (newTermNode != null) {
- RelationUtil.createRelation(publicationNode, newTermNode,
relationName);
- if (copyContent == true) {
- copyContent(oldTermNode, newTermNode);
- }
- }
- }
- }
- }
-
public static Node getNewsletterByPublicationNumber(int publicationNumber) {
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
Node newsletterPublicationNode = cloud.getNode(publicationNumber);
@@ -72,17 +40,13 @@
if (newsletterNumber > 0) {
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
Node newsletterNode = cloud.getNode(newsletterNumber);
- createDefaultTerm(newsletterNode);
Node publicationNode = CloneUtil.cloneNode(newsletterNode,
"newsletterpublication");
-
if (publicationNode != null) {
String urlFragment = String.valueOf(publicationNode.getNumber());
publicationNode.setStringValue("urlfragment", urlFragment);
publicationNode.setStringValue("publishdate","null");
publicationNode.setStringValue("status",
Publication.STATUS.INITIAL.toString());
publicationNode.commit();
-
- //copyTermsAndContent(newsletterNode, publicationNode,
copyContent);
copyOtherRelations(newsletterNode, publicationNode);
NavigationUtil.appendChild(newsletterNode, publicationNode);
Node layoutNode = PagesUtil.getLayout(publicationNode);
@@ -95,7 +59,7 @@
return (null);
}
- private static void createDefaultTerm(Node newsletterNode) {
+ public static void createDefaultTerm(Node newsletterNode) {
if(!hasDefaultTerm(newsletterNode)) {
Node defaultTerm =
newsletterNode.getCloud().getNodeManager("term").createNode();
@@ -125,14 +89,6 @@
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
Node publicationNode = cloud.getNode(publicationNumber);
- NodeList themes =
publicationNode.getRelatedNodes("newsletterpublicationtheme");
- if (themes != null) {
- for (int i = themes.size() - 1; i >= 0; i--) {
- Node publicationThemeNode = themes.getNode(i);
- publicationThemeNode.delete(true);
- }
- }
-
NavigationUtil.deleteItem(publicationNode);
}
Index: NewsletterUtil.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterUtil.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- NewsletterUtil.java 5 May 2008 10:26:59 -0000 1.21
+++ NewsletterUtil.java 6 May 2008 02:56:11 -0000 1.22
@@ -63,36 +63,16 @@
return (0);
}
- public static int countThemes() {
- Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
- NodeList termList = SearchUtil.findNodeList(cloud, "newslettertheme");
- if (termList != null) {
- int newsletters = countNewsletters();
- return (0 - newsletters + termList.size());
- }
- return (0);
- }
-
- public static int countThemes(int newsletterNumber) {
- int amount = 0;
- List<Integer> themes = getAllThemes(newsletterNumber);
- if (themes != null) {
- amount = themes.size();
- }
- return (amount);
- }
-
- public static void deleteNewsletterThemesForNewsletter(int number) {
+ public static void deleteNewsletterTermsForNewsletter(int number) {
Cloud cloud = CloudProviderFactory.getCloudProvider().getAdminCloud();
Node newsletterNode = cloud.getNode(number);
- String themeType = determineThemeType(number);
- NodeManager newsletterThemeNodeManager = cloud.getNodeManager(themeType);
- NodeList themes =
newsletterNode.getRelatedNodes(newsletterThemeNodeManager);
- if (themes != null) {
- for (int i = 0; i < themes.size(); i++) {
- Node themeNode = themes.getNode(i);
- themeNode.deleteRelations();
- themeNode.delete();
+ NodeManager newsletterTermNodeManager = cloud.getNodeManager("term");
+ NodeList terms =
newsletterNode.getRelatedNodes(newsletterTermNodeManager);
+ if (terms != null) {
+ for (int i = 0; i < terms.size(); i++) {
+ Node termNode = terms.getNode(i);
+ termNode.deleteRelations();
+ termNode.delete();
}
}
}
@@ -107,35 +87,6 @@
return (null);
}
- public static String determineThemeType(int number) {
- String themeType = null;
- if (isNewsletter(number)) {
- themeType = NewsletterUtil.THEMETYPE_NEWSLETTER;
- }
- if (isNewsletterPublication(number)) {
- themeType = NewsletterUtil.THEMETYPE_NEWSLETTERPUBLICATION;
- }
- return (themeType);
- }
-
- public static int findNewsletterForTheme(int themeNumber) {
- Cloud cloud = CloudProviderFactory.getCloudProvider().getAdminCloud();
- Node themeNode = cloud.getNode(themeNumber);
- String managerName = null;
- String themeType = themeNode.getNodeManager().getName();
- if (themeType.equals("newslettertheme")) {
- managerName = "newsletter";
- }
- else {
- managerName = "newsletterpublication";
- }
- Node newsletterNode = SearchUtil.findRelatedNode(themeNode, managerName,
"newslettertheme");
- if (newsletterNode != null) {
- return (newsletterNode.getNumber());
- }
- return (0);
- }
-
public static List<Integer> getAllNewsletters() {
List<Integer> newsletters = new ArrayList<Integer>();
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
@@ -164,34 +115,6 @@
return (publications);
}
- public static List<Integer> getAllThemes() {
- List<Integer> themes = new ArrayList<Integer>();
- Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
- NodeList themeList = SearchUtil.findNodeList(cloud, "newslettertheme");
- if (themeList != null && themeList.size() > 0) {
- for (int n = 0; n < themeList.size(); n++) {
- Node themeNode = themeList.getNode(n);
- int themeNumber = themeNode.getNumber();
- themes.add(themeNumber);
- }
- }
- return (themes);
- }
-
- public static List<Integer> getAllThemes(int number) {
- List<Integer> themes = new ArrayList<Integer>();
- Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
- Node newsletterNode = cloud.getNode(number);
- String themeType = determineThemeType(number);
- NodeList themeList = SearchUtil.findRelatedNodeList(newsletterNode,
themeType, "newslettertheme");
- for (int i = 0; i < themeList.size(); i++) {
- Node themeNode = themeList.getNode(i);
- int theme = themeNode.getNumber();
- themes.add(theme);
- }
- return (themes);
- }
-
public static List<Integer> getArticlesForTheme(int themeNumber) {
if (themeNumber > 0) {
List<Integer> articles = new ArrayList<Integer>();
@@ -314,19 +237,6 @@
return (0);
}
- public static int getDefaultTheme(int number) {
- int defaultTheme = 0;
- if (number > 0) {
- Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
- Node newsletterNode = cloud.getNode(number);
- String themeType = determineThemeType(number);
- Node defaultThemeNode = SearchUtil.findRelatedNode(newsletterNode,
themeType, "defaulttheme");
- if (defaultThemeNode != null) {
- defaultTheme = defaultThemeNode.getNumber();
- }
- }
- return (defaultTheme);
- }
public static String getTitle(int newsletterNumber) {
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs