Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util
In directory
james.mmbase.org:/tmp/cvs-serv28048/src/java/com/finalist/newsletter/util
Modified Files:
CloneUtil.java NewsletterPublicationUtil.java
Log Message:
CMSC-811 auto create publication,clone attachment when add publication
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: CloneUtil.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/CloneUtil.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- CloneUtil.java 8 Jan 2008 10:45:00 -0000 1.1
+++ CloneUtil.java 4 May 2008 12:02:12 -0000 1.2
@@ -202,9 +202,9 @@
String relName = relationTypeNode.getStringValue("sname");
relationManager =
localRelation.getCloud().getRelationManager(sourceNode.getNodeManager().getName(),
destinationNode.getNodeManager().getName(), relName);
+
}
Relation newRelation = relationManager.createRelation(sourceNode,
destinationNode);
-
FieldIterator fields =
localRelation.getNodeManager().getFields().fieldIterator();
while (fields.hasNext()) {
Field field = fields.nextField();
@@ -248,7 +248,8 @@
Relation rel = ri.nextRelation();
if (rel.getSource().getNumber() == localNode.getNumber()) {
cloneRelation(rel, newNode, rel.getDestination());
- } else {
+ }
+ else {
if (rel.getDestination().getNumber() == localNode.getNumber()) {
cloneRelation(rel, rel.getSource(), newNode);
}
Index: NewsletterPublicationUtil.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterPublicationUtil.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- NewsletterPublicationUtil.java 30 Apr 2008 07:30:10 -0000 1.21
+++ NewsletterPublicationUtil.java 4 May 2008 12:02:12 -0000 1.22
@@ -19,36 +19,43 @@
public abstract class NewsletterPublicationUtil {
- private static void copyContent(Node oldThemeNode, Node newThemeNode) {
- RelationList contentList =
oldThemeNode.getRelations("newslettercontent");
+ 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(newThemeNode, contentNode,
"newslettercontent");
+ RelationUtil.createRelation(newTermNode, contentNode,
"newslettercontent");
}
}
}
private static void copyOtherRelations(Node newsletterNode, Node
publicationNode) {
PagesUtil.copyPageRelations(newsletterNode, publicationNode);
+ copyImageAndAttachment(newsletterNode, publicationNode);
}
- private static void copyThemesAndContent(Node newsletterNode, Node
publicationNode, boolean copyContent) {
- copyThemesAndContent(newsletterNode, publicationNode, copyContent,
"newslettertheme");
- copyThemesAndContent(newsletterNode, publicationNode, copyContent,
"defaulttheme");
+
+ private static void copyImageAndAttachment(Node newsletterNode, Node
publicationNode) {
+
CloneUtil.cloneRelations(newsletterNode,publicationNode,"namedrel","images");
+
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 copyThemesAndContent(Node newsletterNode, Node
publicationNode, boolean copyContent, final String relationName) {
- NodeList newsletterThemeList =
newsletterNode.getRelatedNodes("newslettertheme", relationName, "DESTINATION");
- if (newsletterThemeList != null) {
- for (int i = 0; i < newsletterThemeList.size(); i++) {
- Node oldThemeNode = newsletterThemeList.getNode(i);
- Node newThemeNode = CloneUtil.cloneNode(oldThemeNode,
"newsletterpublicationtheme");
- if (newThemeNode != null) {
- RelationUtil.createRelation(publicationNode, newThemeNode,
relationName);
+ 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(oldThemeNode, newThemeNode);
+ copyContent(oldTermNode, newTermNode);
}
}
}
@@ -76,7 +83,7 @@
publicationNode.setStringValue("status",
Publication.STATUS.INITIAL.toString());
publicationNode.commit();
- copyThemesAndContent(newsletterNode, publicationNode, copyContent);
+ // copyTermsAndContent(newsletterNode, publicationNode,
copyContent);
copyOtherRelations(newsletterNode, publicationNode);
NavigationUtil.appendChild(newsletterNode, publicationNode);
Node layoutNode = PagesUtil.getLayout(publicationNode);
@@ -130,7 +137,7 @@
NavigationUtil.deleteItem(publicationNode);
}
- public static List<String> getAllThemesForPublication(int
publicationNumber) {
+ public static List<String> getAllTermsForPublication(int publicationNumber)
{
List<String> themes = new ArrayList<String>();
Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
Node newsletterNode = cloud.getNode(publicationNumber);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs