Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl
In directory
james.mmbase.org:/tmp/cvs-serv9993/java/com/finalist/newsletter/cao/impl
Modified Files:
NewsletterCAOImpl.java NewsletterPublicationCAOImpl.java
NewsletterSubscriptionCAOImpl.java
Log Message:
CMSC-990 change all part using ui tag
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl
See also: http://www.mmbase.org/jira/browse/CMSC-990
Index: NewsletterCAOImpl.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterCAOImpl.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- NewsletterCAOImpl.java 27 Jul 2008 07:38:09 -0000 1.20
+++ NewsletterCAOImpl.java 28 Jul 2008 14:46:13 -0000 1.21
@@ -3,7 +3,6 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.mmbase.bridge.Node;
@@ -19,6 +18,8 @@
import org.mmbase.util.logging.Logging;
import com.finalist.cmsc.beans.MMBaseNodeMapper;
+import com.finalist.cmsc.paging.PagingStatusHolder;
+import com.finalist.cmsc.paging.PagingUtils;
import com.finalist.newsletter.cao.AbstractCAO;
import com.finalist.newsletter.cao.NewsletterCAO;
import com.finalist.newsletter.domain.Newsletter;
@@ -91,7 +92,8 @@
return newsletter;
}
- public List<Term> getNewsletterTermsByName(int newsletterId, String
name, int pagesize, int offset, String order, String direction) {
+ public List<Term> getNewsletterTermsByName(int newsletterId, String
name, boolean paging) {
+ PagingStatusHolder pagingHolder = PagingUtils.getStatusHolder();
NodeManager termNodeManager = cloud.getNodeManager("term");
NodeManager newsletterNodeManager =
cloud.getNodeManager("newsletter");
@@ -108,12 +110,11 @@
if (StringUtils.isNotBlank(name)) {
SearchUtil.addLikeConstraint(query,
termNodeManager.getField("name"), name);
}
- query.setMaxNumber(pagesize);
- query.setOffset(offset);
- String orderBy = "number";
- if (!"number".equals(order.trim()))
- orderBy = order.trim();
- Queries.addSortOrders(query, orderBy, direction);
+ if (paging) {
+ query.setMaxNumber(pagingHolder.getPageSize());
+ query.setOffset(pagingHolder.getOffset());
+ }
+ Queries.addSortOrders(query, pagingHolder.getSort(),
pagingHolder.getMMBaseDirection());
List<Node> nodeList = query.getList();
List<Term> terms = new ArrayList<Term>();
for (Node termNode : nodeList) {
@@ -128,47 +129,18 @@
return terms;
}
- public int getNewsletterTermsCountByName(int newsletterId, String name)
{
- NodeManager termNodeManager = cloud.getNodeManager("term");
- NodeManager newsletterNodeManager =
cloud.getNodeManager("newsletter");
-
- NodeQuery query = cloud.createNodeQuery();
-
- Step newsletterStep = query.addStep(newsletterNodeManager);
- query.setNodeStep(newsletterStep);
- Constraint idConstraint =
SearchUtil.createEqualConstraint(query,
newsletterNodeManager.getField("number"), newsletterId);
-
- SearchUtil.addConstraint(query, idConstraint);
-
- RelationStep relationStep =
query.addRelationStep(termNodeManager, "posrel", "destination");
- Step termStep = relationStep.getNext();
- query.setNodeStep(termStep);
- if (StringUtils.isNotBlank(name)) {
- SearchUtil.addLikeConstraint(query,
termNodeManager.getField("name"), name);
- }
- return query.getList().size();
- }
-
- public void processBouncesOfPublication(String publicationId, String userId,
- String bounceContent) {
+ public void processBouncesOfPublication(String publicationId, String
userId, String bounceContent) {
NodeManager bounceManager = cloud.getNodeManager("newsletterbounce");
Node node = bounceManager.createNode();
- if(StringUtils.isNotEmpty(publicationId)){
+ if (StringUtils.isNotEmpty(publicationId)) {
node.setIntValue("newsletter", Integer.parseInt(publicationId));
}
- if(StringUtils.isNotEmpty(userId)){
+ if (StringUtils.isNotEmpty(userId)) {
node.setIntValue("userid", Integer.parseInt(userId));
}
- node.setStringValue("content",bounceContent);
- node.setDateValue("bouncedate",new Date());
+ node.setStringValue("content", bounceContent);
+ node.setDateValue("bouncedate", new Date());
node.commit();
}
-
- public Set<Term> getNewsletterTermsByName(int newsltterId, String name,
- int pagesize, int offset) {
- // TODO Auto-generated method stub
- return null;
- }
-
}
Index: NewsletterPublicationCAOImpl.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterPublicationCAOImpl.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- NewsletterPublicationCAOImpl.java 27 Jul 2008 07:38:09 -0000 1.18
+++ NewsletterPublicationCAOImpl.java 28 Jul 2008 14:46:13 -0000 1.19
@@ -28,6 +28,8 @@
import com.finalist.cmsc.beans.MMBaseNodeMapper;
import com.finalist.cmsc.navigation.NavigationUtil;
+import com.finalist.cmsc.paging.PagingStatusHolder;
+import com.finalist.cmsc.paging.PagingUtils;
import com.finalist.newsletter.cao.NewsletterPublicationCAO;
import com.finalist.newsletter.domain.Newsletter;
import com.finalist.newsletter.domain.Publication;
@@ -189,43 +191,12 @@
return publications;
}
- public int getPublicationCountForEdit(int newsletterId, String title,
String subject, Date startDate, Date endDate) {
- NodeManager manager =
cloud.getNodeManager("newsletterpublication");
- Node newsletterNode = cloud.getNode(newsletterId);
-
- NodeQuery nodeQuery =
SearchUtil.createRelatedNodeListQuery(newsletterNode, "newsletterpublication",
"related");
- Step step = nodeQuery.getNodeStep();
-
- StepField fieldSubject = nodeQuery.addField(step,
manager.getField("subject"));
- StepField fieldTitle = nodeQuery.addField(step,
manager.getField("title"));
- StepField fieldDate = nodeQuery.addField(step,
manager.getField("creationdate"));
-
- BasicFieldValueConstraint constraintTitle = new
BasicFieldValueConstraint(fieldTitle, "%" + title + "%");
- constraintTitle.setOperator(FieldCompareConstraint.LIKE);
- BasicFieldValueConstraint constraintSubject = new
BasicFieldValueConstraint(fieldSubject, "%" + subject + "%");
- constraintSubject.setOperator(FieldCompareConstraint.LIKE);
-
- BasicCompositeConstraint constraints = new
BasicCompositeConstraint(2);
- if (startDate != null) {
- BasicFieldValueBetweenConstraint constraintDate = new
BasicFieldValueBetweenConstraint(fieldDate, startDate, endDate);
- constraints.addChild(constraintDate);
- } else {
- BasicFieldValueConstraint constraintDate = new
BasicFieldValueConstraint(fieldDate, endDate);
- constraintDate.setOperator(FieldCompareConstraint.LESS);
- constraints.addChild(constraintDate);
- }
-
- constraints.addChild(constraintTitle);
- constraints.addChild(constraintSubject);
- nodeQuery.setConstraint(constraints);
- return nodeQuery.getList().size();
- }
-
public List<Publication> getPublicationsByNewsletterAndPeriod(int
newsletterId, String title, String subject, Date startDate, Date endDate,
- int pagesize, int offset, String order, String
direction) {
+ boolean paging) {
+ PagingStatusHolder pagingHolder = PagingUtils.getStatusHolder();
+
NodeManager manager =
cloud.getNodeManager("newsletterpublication");
Node newsletterNode = cloud.getNode(newsletterId);
-
NodeQuery nodeQuery =
SearchUtil.createRelatedNodeListQuery(newsletterNode, "newsletterpublication",
"related");
Step step = nodeQuery.getNodeStep();
@@ -247,16 +218,15 @@
constraintDate.setOperator(FieldCompareConstraint.LESS);
constraints.addChild(constraintDate);
}
-
constraints.addChild(constraintTitle);
constraints.addChild(constraintSubject);
- nodeQuery.setOffset(offset);
- nodeQuery.setMaxNumber(pagesize);
+
nodeQuery.setConstraint(constraints);
- String orderBy = "number";
- if (!"number".equals(order.trim()))
- orderBy = order.trim();
- Queries.addSortOrders(nodeQuery, orderBy, direction);
+ if (paging) {
+ nodeQuery.setOffset(pagingHolder.getOffset());
+ nodeQuery.setMaxNumber(pagingHolder.getPageSize());
+ }
+ Queries.addSortOrders(nodeQuery, pagingHolder.getSort(),
pagingHolder.getMMBaseDirection());
List<Node> list = nodeQuery.getList();
List<Publication> publications = convertPublicationsToMap(list);
return publications;
Index: NewsletterSubscriptionCAOImpl.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterSubscriptionCAOImpl.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- NewsletterSubscriptionCAOImpl.java 24 Jul 2008 11:50:44 -0000 1.26
+++ NewsletterSubscriptionCAOImpl.java 28 Jul 2008 14:46:13 -0000 1.27
@@ -312,7 +312,8 @@
for (Node subscription : subscriptions) {
List<Node> tmpNewsletters =
subscription.getRelatedNodes("newsletter", "newslettered", "source");
for (Node newsletter : tmpNewsletters) {
- if (newsletter != null) newsletters.add(newsletter);
+ if (newsletter != null)
+ newsletters.add(newsletter);
}
}
return newsletters;
@@ -327,7 +328,8 @@
for (Node subscription : subscriptions) {
List<Node> tmpTerms = subscription.getRelatedNodes("term", "termed",
"destination");
for (Node term : tmpTerms) {
- if (term != null) terms.add(term);
+ if (term != null)
+ terms.add(term);
}
}
return terms;
@@ -336,11 +338,10 @@
public void updateLastBounce(int subscriptionId) {
// todo test.
Node subscription = getSubscriptionNodeById(subscriptionId);
- if(subscription.getIntValue("count_bounces") >0) {
-
subscription.setIntValue("count_bounces",subscription.getIntValue("count_bounces")+1);
- }
- else {
- subscription.setIntValue("count_bounces",1);
+ if (subscription.getIntValue("count_bounces") > 0) {
+ subscription.setIntValue("count_bounces",
subscription.getIntValue("count_bounces") + 1);
+ } else {
+ subscription.setIntValue("count_bounces", 1);
}
subscription.setDateValue("last_bounce", new
Date(System.currentTimeMillis()));
subscription.commit();
@@ -375,17 +376,15 @@
NodeManager subscriptionNodeManger =
cloud.getNodeManager("subscriptionrecord");
NodeQuery query = cloud.createNodeQuery();
+ List<Node> subscriptions;
+ if (StringUtils.isNotBlank(terms)) {
Step termStep = query.addStep(termNodeManager);
query.setNodeStep(termStep);
-
- if (StringUtils.isNotBlank(terms)) {
String nameLikeStr = null;
String[] tmpTerms = terms.split(" ");
for (String termName : tmpTerms) {
SearchUtil.addLikeConstraint(query,
termNodeManager.getField("name"), termName);
}
- }
-
RelationStep newsletterRelStep =
query.addRelationStep(newsletterNodeManager, "posrel", "source");
Step newsletterStep = newsletterRelStep.getNext();
query.setNodeStep(newsletterStep);
@@ -394,7 +393,11 @@
RelationStep subscriptionRelStep =
query.addRelationStep(subscriptionNodeManger, "newslettered", "destination");
Step subscriptionStep = subscriptionRelStep.getNext();
query.setNodeStep(subscriptionStep);
- List<Node> subscriptions = query.getList();
+ subscriptions = query.getList();
+ } else {
+ Node newsletterNode = cloud.getNode(newsletterId);
+ subscriptions =
newsletterNode.getRelatedNodes(subscriptionNodeManger, "newslettered",
"destination");
+ }
return subscriptions;
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs