Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms
In directory
james.mmbase.org:/tmp/cvs-serv23447/src/java/com/finalist/newsletter/forms
Modified Files:
NewsletterCreate.java NewsletterPublicationCreate.java
NewsletterPublicationDelete.java
NewsletterPublicationEdit.java
NewsletterPublicationManagementAction.java
NewsletterPublicationPublish.java
NewsletterPublicationSendEmail.java
NewsletterPublicationTest.java
NewsletterSubscriberSearchAction.java
NewsletterTermSearchAction.java
Added Files:
NewsletterNewsletterSubscriberDeleteAction.java
NewsletterStatisticSearchAction.java
NewsletterSubscriptionAddRelAction.java
NewsletterTermDeleteAction.java NewsletterTermsAddAction.java
Log Message:
cmsc-979,990 newsletter mangement (block by cmsc-217)
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms
NewsletterNewsletterSubscriberDeleteAction.java is new
NewsletterStatisticSearchAction.java is new
NewsletterSubscriptionAddRelAction.java is new
NewsletterTermDeleteAction.java is new
NewsletterTermsAddAction.java is new
Index: NewsletterCreate.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterCreate.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- NewsletterCreate.java 21 Jul 2008 12:52:40 -0000 1.10
+++ NewsletterCreate.java 24 Jul 2008 09:04:16 -0000 1.11
@@ -32,7 +32,6 @@
if (StringUtils.isBlank(action)) {
request.getSession().setAttribute("parentnewsletter",
parentnewsletter);
-
ActionForward ret = new
ActionForward(mapping.findForward("openwizard").getPath() + "?action=create" +
"&contenttype=newsletter"
+ "&returnurl=" + mapping.findForward("returnurl").getPath());
ret.setRedirect(true);
@@ -52,10 +51,11 @@
// NewsletterPublicationUtil.createDefaultTerm(newNewsletter);
NewsletterUtil.addScheduleForNewsletter(newNewsletter);
-
newNewsletter.setStringValue("scheduledescription",NewsletterUtil.getScheduleMessageByExpression(newNewsletter.getStringValue("schedule")));
+
newNewsletter.setStringValue("scheduledescription",
NewsletterUtil.getScheduleMessageByExpression(newNewsletter
+ .getStringValue("schedule")));
newNewsletter.commit();
addToRequest(request, "showpage", ewnodelastedited);
- ActionForward ret = mapping.findForward(SUCCESS);
+ ActionForward ret = new
ActionForward("/editors/site/NavigatorPanel.do?nodeId=" + ewnodelastedited +
"&fresh=fresh");
return ret;
}
request.getSession().removeAttribute("parentnewsletter");
@@ -63,5 +63,4 @@
return ret;
}
}
-
}
Index: NewsletterPublicationCreate.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterPublicationCreate.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- NewsletterPublicationCreate.java 7 Jul 2008 04:03:43 -0000 1.16
+++ NewsletterPublicationCreate.java 24 Jul 2008 09:04:16 -0000 1.17
@@ -39,16 +39,16 @@
Node parentNode = cloud.getNode(parent);
Node pubNode = cloud.getNode(publicationNode.getNumber());
RelationManager relManager = cloud.getRelationManager("newsletter",
"newsletterpublication", "related");
- relManager.createRelation(parentNode,pubNode).commit();
+ relManager.createRelation(parentNode, pubNode).commit();
String objectnumber = String.valueOf(publicationNode.getNumber());
request.getSession().removeAttribute("parent");
ActionForward ret = null;
- if(StringUtils.isNotEmpty(forwardType)){
+ if (StringUtils.isNotEmpty(forwardType)) {
ret = new
ActionForward(mapping.findForward("openwizard").getPath() + "?objectnumber=" +
objectnumber + "&returnurl="
- + mapping.findForward("publicationmanage").getPath() +
URLEncoder.encode("?forward") + "=" + forwardType +
URLEncoder.encode("&newsletterId") + "=" + parent);
- }
- else{
+ +
mapping.findForward("publicationedit").getPath() +
URLEncoder.encode("?forward") + "=" + forwardType
+ +
URLEncoder.encode("&newsletterId") + "=" + parent);
+ } else {
ret = new
ActionForward(mapping.findForward("openwizard").getPath() + "?objectnumber=" +
objectnumber + "&returnurl="
+ mapping.findForward("returnurl").getPath());
}
@@ -58,10 +58,11 @@
String ewnodelastedited = getParameter(request, "ewnodelastedited");
addToRequest(request, "showpage", ewnodelastedited);
ActionForward ret;
- if(StringUtils.isNotEmpty(forwardType)){
- ret = new
ActionForward(mapping.findForward("publicationmanage").getPath() +
"?newsletterId=" + request.getParameter("newsletterId"));
+ if (StringUtils.isNotEmpty(forwardType)) {
+ ret = new
ActionForward(mapping.findForward("publicationedit").getPath() +
"?newsletterId=" + request.getParameter("newsletterId"));
+ } else {
+ ret = new
ActionForward("/editors/site/NavigatorPanel.do?nodeId=" + ewnodelastedited +
"&fresh=fresh");
}
- ret = mapping.findForward("SUCCESS");
return ret;
}
}
Index: NewsletterPublicationDelete.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterPublicationDelete.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- NewsletterPublicationDelete.java 7 Jul 2008 04:03:43 -0000 1.6
+++ NewsletterPublicationDelete.java 24 Jul 2008 09:04:16 -0000 1.7
@@ -72,7 +72,7 @@
protected ActionForward actionReturn(ActionMapping mapping,
HttpServletRequest request, String forwardType, String parent){
ActionForward ret = null;
if (StringUtils.isNotEmpty(forwardType)){
- ret =new
ActionForward(mapping.findForward("publicationmanage").getPath() +
"?newsletterId=" + parent);
+ ret =new ActionForward(mapping.findForward(forwardType).getPath() +
"?newsletterId=" + parent);
request.setAttribute("newsletterId", parent);
}
else{
Index: NewsletterPublicationEdit.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterPublicationEdit.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- NewsletterPublicationEdit.java 7 Jul 2008 04:03:43 -0000 1.5
+++ NewsletterPublicationEdit.java 24 Jul 2008 09:04:16 -0000 1.6
@@ -28,14 +28,15 @@
public ActionForward execute(ActionMapping mapping, HttpServletRequest
request, Cloud cloud) throws Exception {
String action = getParameter(request, "action");
- String forwardType = getParameter(request ,"forward");
+ String forwardType = getParameter(request, "forward");
String parent = getParameter(request, "parent");
if (StringUtils.isBlank(action)) {
String objectnumber = getParameter(request, "number", true);
ActionForward ret = new
ActionForward(mapping.findForward("openwizard").getPath() + "?objectnumber=" +
objectnumber + "&returnurl="
- + mapping.findForward("returnurl").getPath() +
URLEncoder.encode("?forward=") + forwardType + URLEncoder.encode("&number=") +
objectnumber + URLEncoder.encode("&parent=" + parent));
+ +
mapping.findForward("returnurl").getPath() + URLEncoder.encode("?forward=") +
forwardType + URLEncoder.encode("&number=")
+ + objectnumber +
URLEncoder.encode("&parent=" + parent));
ret.setRedirect(true);
return ret;
} else {
@@ -43,11 +44,10 @@
String ewnodelastedited = getParameter(request, "ewnodelastedited");
addToRequest(request, "showpage", ewnodelastedited);
ActionForward ret = null;
- if(StringUtils.isNotEmpty(forwardType)){
- ret = new
ActionForward(mapping.findForward("publicationmanage").getPath() +
"?newsletterId=" + parent);
- }
- else{
- ret = mapping.findForward(SUCCESS);
+ if (StringUtils.isNotEmpty(forwardType)) {
+ ret = new
ActionForward(mapping.findForward(forwardType).getPath() + "?newsletterId=" +
parent);
+ } else {
+ ret = new
ActionForward("/editors/site/NavigatorPanel.do?nodeId=" + ewnodelastedited +
"&fresh=fresh");
}
return ret;
}
Index: NewsletterPublicationManagementAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterPublicationManagementAction.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- NewsletterPublicationManagementAction.java 21 Jul 2008 12:52:40 -0000
1.2
+++ NewsletterPublicationManagementAction.java 24 Jul 2008 09:04:16 -0000
1.3
@@ -17,8 +17,7 @@
public class NewsletterPublicationManagementAction extends
DispatchActionSupport {
- private static Log log = LogFactory
- .getLog(NewsletterPublicationManagementAction.class);
+ private static Log log =
LogFactory.getLog(NewsletterPublicationManagementAction.class);
NewsletterPublicationService publicationService;
@@ -29,122 +28,152 @@
}
@Override
- protected ActionForward unspecified(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse
response)
+ protected ActionForward unspecified(ActionMapping mapping, ActionForm
form, HttpServletRequest request, HttpServletResponse response)
throws Exception {
log.debug("No parameter specified,go to edit page ,show related
publications");
int newsletterId =
Integer.parseInt(request.getParameter("newsletterId"));
- Set<Publication> publications;
-
+ List<Publication> publications;
Date now = new Date();
int pagesize = 10;
-
if(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
+ if
(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
pagesize =
Integer.parseInt(PropertiesUtil.getProperty("repository.search.results.per.page"));
}
int offset = 0;
- if(StringUtils.isNotBlank(request.getParameter("offset"))){
+ if (StringUtils.isNotBlank(request.getParameter("offset"))) {
offset =
Integer.parseInt(request.getParameter("offset"));
}
- String forwardType = "";
-
if(StringUtils.isNotBlank(request.getParameter("searchForwardType"))) {
- forwardType =request.getParameter("searchForwardType");
- }
- if(forwardType.equals("statistics")){
- request.setAttribute("newsletterId", newsletterId);
- ActionForward ret= new
ActionForward(mapping.findForward("statisticmanagement").getPath() +
"?newsletterId=" + newsletterId);
- return ret;
- }
+ // <<<<<<< NewsletterPublicationManagementAction.java
+ // =======
+ // String forwardType = "";
+ //
if(StringUtils.isNotBlank(request.getParameter("searchForwardType")))
+ // {
+ // forwardType =request.getParameter("searchForwardType");
+ // }
+ // if(forwardType.equals("statistics")){
+ // request.setAttribute("newsletterId", newsletterId);
+ // ActionForward ret= new
+ //
ActionForward(mapping.findForward("statisticmanagement").getPath() +
+ // "?newsletterId=" + newsletterId);
+ // return ret;
+ // }
+ // >>>>>>> 1.2
int resultCount =
publicationService.searchPublicationCountForEdit(newsletterId, "", "", null,
now);
- publications =
publicationService.searchPublication(newsletterId, "", "", null, now, pagesize,
offset*pagesize);
+ publications =
publicationService.searchPublication(newsletterId, "", "", null, now, pagesize,
offset * pagesize, "number", "UP");
List<Map<String, String>> results =
convertPublicationsToMap(publications);
request.setAttribute("results", results);
- request.setAttribute("resultCount",resultCount);
+ request.setAttribute("resultCount", resultCount);
request.setAttribute("newsletterId", newsletterId);
+ request.setAttribute("order", "number");
+ request.setAttribute("direction", "1");
return mapping.findForward("newsletterpublicationlist");
}
@SuppressWarnings("deprecation")
- public ActionForward searchPublication(ActionMapping mapping,
ActionForm form,
- HttpServletRequest request, HttpServletResponse
response){
+ public ActionForward searchPublication(ActionMapping mapping,
ActionForm form, HttpServletRequest request, HttpServletResponse response) {
log.debug("parameter specified, search newsletterpublication ");
int newsletterId =
Integer.parseInt(request.getParameter("newsletterId"));
int pagesize = 10;
-
if(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
+ if
(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
pagesize =
Integer.parseInt(PropertiesUtil.getProperty("repository.search.results.per.page"));
}
- int offset = Integer.parseInt(request.getParameter("offset"));
- NewsletterPublicationManageForm myForm =
(NewsletterPublicationManageForm)form;
+ int offset = 0;
+ if (StringUtils.isNotBlank(request.getParameter("offset"))) {
+ offset =
Integer.parseInt(request.getParameter("offset"));
+ }
+ String order = "number";
+ if (StringUtils.isNotBlank(request.getParameter("order"))) {
+ order = request.getParameter("order");
+ }
+ String direction = "UP";
+ String paramDir = request.getParameter("direction");
+ if (StringUtils.isNotBlank(paramDir)) {
+ direction = "1".equals(paramDir) ? "UP" : "DOWN";
+ }
+
+ NewsletterPublicationManageForm myForm =
(NewsletterPublicationManageForm) form;
String tmpTitle = myForm.getTitle();
String tmpSubject = myForm.getSubject();
String tmpPeriod = myForm.getPeriod();
Calendar calendar = Calendar.getInstance();
- Date now = calendar.getTime();
- Date tmpDate = null;
+ Date endTime = calendar.getTime();
+ Date startTime = null;
+
+ switch (Integer.parseInt(tmpPeriod)) {
- switch(Integer.parseInt(tmpPeriod)){
case 1:
- calendar.add(Calendar.DAY_OF_YEAR,-1);
+ calendar.add(Calendar.DAY_OF_YEAR, -1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
- tmpDate = calendar.getTime();
+ startTime = calendar.getTime();
break;
case 7:
- calendar.add(Calendar.DAY_OF_YEAR,-7);
+ calendar.add(Calendar.DAY_OF_YEAR, -7);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
- tmpDate = calendar.getTime();
+ startTime = calendar.getTime();
break;
case 14:
- calendar.add(Calendar.DAY_OF_YEAR,-14);
+ calendar.add(Calendar.DAY_OF_YEAR, -14);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
- tmpDate = calendar.getTime();
+ startTime = calendar.getTime();
break;
case 30:
- calendar.add(Calendar.MONTH,-1);
+ calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
- tmpDate = calendar.getTime();
+ startTime = calendar.getTime();
break;
case 365:
calendar.set(Calendar.YEAR, -1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
- tmpDate = calendar.getTime();
+ startTime = calendar.getTime();
+ break;
+ default:
break;
- default: break;
}
- Set<Publication> publications;
- int resultCount =
publicationService.searchPublicationCountForEdit(newsletterId, tmpTitle,
tmpSubject, tmpDate, now);
- publications =
publicationService.searchPublication(newsletterId, tmpTitle, tmpSubject,
tmpDate, now, pagesize, offset*pagesize);
+ List<Publication> publications;
+ int resultCount =
publicationService.searchPublicationCountForEdit(newsletterId, tmpTitle,
tmpSubject, startTime, endTime);
+ publications =
publicationService.searchPublication(newsletterId, tmpTitle, tmpSubject,
startTime, endTime, pagesize, offset * pagesize,
+ order, direction);
+ request.setAttribute("newsletterId", newsletterId);
request.setAttribute("results", publications);
- request.setAttribute("resultCount",resultCount);
+ request.setAttribute("resultCount", resultCount);
request.setAttribute("offset", offset);
- request.setAttribute("newsletterId", newsletterId);
- return mapping.findForward("newsletterpublicationlist");
- }
- public ActionForward termList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
-
if(StringUtils.isNotBlank(request.getParameter("newsletterId"))){
- request.setAttribute("newsletterId",
request.getParameter("newsletterId"));
- }
- return mapping.findForward("termlist");
+ request.setAttribute("order", order);
+ request.setAttribute("direction", paramDir);
+ return mapping.findForward("newsletterpublicationlist");
}
- private List convertPublicationsToMap(Set<Publication> publications) {
+ private List convertPublicationsToMap(List<Publication> publications) {
+ // =======
+ // public ActionForward termList(ActionMapping mapping,
ActionForm form,
+ // HttpServletRequest request, HttpServletResponse response){
+ //
if(StringUtils.isNotBlank(request.getParameter("newsletterId"))){
+ // request.setAttribute("newsletterId",
+ // request.getParameter("newsletterId"));
+ // }
+ // return mapping.findForward("termlist");
+ // }
+ //
+ // private List convertPublicationsToMap(Set<Publication>
publications)
+ // {
+ //
+ // >>>>>>> 1.2
List<Map> results = new ArrayList<Map>();
- for (Publication publication1 : publications) {
+ for (Publication publication : publications) {
Map result = new HashMap();
- Publication publication = publication1;
result.put("id", publication.getId());
result.put("title", publication.getTitle());
result.put("subject", publication.getSubject());
Index: NewsletterPublicationPublish.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterPublicationPublish.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- NewsletterPublicationPublish.java 21 Jul 2008 13:09:00 -0000 1.17
+++ NewsletterPublicationPublish.java 24 Jul 2008 09:04:16 -0000 1.18
@@ -31,6 +31,13 @@
import com.finalist.newsletter.services.NewsletterPublicationService;
import com.finalist.newsletter.util.NewsletterPublicationUtil;
import com.finalist.newsletter.util.NewsletterUtil;
+import org.apache.commons.lang.StringUtils;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.mmbase.bridge.Cloud;
+import org.mmbase.bridge.Node;
+
+import javax.servlet.http.HttpServletRequest;
public class NewsletterPublicationPublish extends MMBaseFormlessAction {
@@ -46,11 +53,11 @@
NewsletterPublicationService publicationService =
(NewsletterPublicationService)
ApplicationContextFactory.getBean("publicationService");
int number = Integer.parseInt(getParameter(request, "number", true));
-
if(NewsletterUtil.isPaused(NewsletterPublicationUtil.getNewsletterByPublicationNumber(number)))
{
+ if
(NewsletterUtil.isPaused(NewsletterPublicationUtil.getNewsletterByPublicationNumber(number)))
{
request.setAttribute("isPaused", true);
return mapping.findForward(SUCCESS);
}
- Map<String,List<String>> sendResults = null;
+ Map<String, List<String>> sendResults = null;
Node publicationNode = cloud.getNode(number);
if (isSendAction(request)) {
@@ -70,8 +77,7 @@
request.setAttribute("sendResults", sendResults);
request.setAttribute("sendSuccess",
sendResults.get(NewsletterPublicationService.SEND_SUCCESS).size());
request.setAttribute("sendFail",
sendResults.get(NewsletterPublicationService.SEND_FAIL).size());
- }
- else {
+ } else {
publicationService.setStatus(number, Publication.STATUS.READY);
request.setAttribute("isPublish", true);
Publish.publish(publicationNode);
@@ -83,6 +89,12 @@
if (isCancelAction(request)) {
String forwardPath = mapping.findForward("cancel").getPath();
forwardPath = forwardPath.concat("?showpage=" + number);
+ if
(StringUtils.isNotBlank(request.getParameter("forward"))) {
+ ActionForward ret = new
ActionForward(mapping.findForward("publicationedit").getPath() +
"?newsletterId="
+ +
request.getParameter("newsletterId"));
+ ret.setRedirect(true);
+ return ret;
+ }
return new ActionForward(forwardPath);
}
Index: NewsletterPublicationSendEmail.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterPublicationSendEmail.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- NewsletterPublicationSendEmail.java 21 Jul 2008 13:09:00 -0000 1.7
+++ NewsletterPublicationSendEmail.java 24 Jul 2008 09:04:16 -0000 1.8
@@ -11,6 +11,7 @@
import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.mmbase.bridge.Cloud;
@@ -51,6 +52,12 @@
if (isCancelAction(request)) {
String forwardPath = mapping.findForward("cancel").getPath();
forwardPath = forwardPath.concat("?showpage=" + number);
+ if (StringUtils.isNotBlank(request.getParameter("forward"))) {
+ ActionForward ret = new
ActionForward(mapping.findForward("publicationedit").getPath() +
"?newsletterId="
+ +
request.getParameter("newsletterId"));
+ ret.setRedirect(true);
+ return ret;
+ }
return new ActionForward(forwardPath);
}
Index: NewsletterPublicationTest.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterPublicationTest.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- NewsletterPublicationTest.java 7 Jul 2008 20:28:50 -0000 1.7
+++ NewsletterPublicationTest.java 24 Jul 2008 09:04:16 -0000 1.8
@@ -31,18 +31,24 @@
int number = Integer.parseInt(getParameter(request, "number", true));
if (isSendAction(request)) {
-// String email = getParameter(request, "email");
-// String mimeType = getParameter(request, "minetype");
+ // String email = getParameter(request, "email");
+ // String mimeType = getParameter(request, "minetype");
-// UserRole role =
NavigationUtil.getRole(newsletterPublicationNode.getCloud(),
newsletterPublicationNode, false);
-// boolean isWebMaster = (role != null &&
SecurityUtil.isWebmaster(role));
-//
-// if (NavigationUtil.getChildCount(newsletterPublicationNode) > 0 &&
!isWebMaster) {
-// return mapping.findForward("confirmationpage");
-// }
-// Thread publisher = new NewsletterPublisher(number);
-// publisher.start();
-// NewsletterPublicationService publicationService =
(NewsletterPublicationService)
ApplicationContextFactory.getBean("publicationService");
+ // UserRole role =
+ //
NavigationUtil.getRole(newsletterPublicationNode.getCloud(),
+ // newsletterPublicationNode, false);
+ // boolean isWebMaster = (role != null &&
+ // SecurityUtil.isWebmaster(role));
+ //
+ // if
(NavigationUtil.getChildCount(newsletterPublicationNode) > 0
+ // && !isWebMaster) {
+ // return mapping.findForward("confirmationpage");
+ // }
+ // Thread publisher = new NewsletterPublisher(number);
+ // publisher.start();
+ // NewsletterPublicationService publicationService =
+ // (NewsletterPublicationService)
+ //
ApplicationContextFactory.getBean("publicationService");
return mapping.findForward(SUCCESS);
}
@@ -51,7 +57,6 @@
forwardPath = forwardPath.concat("?showpage=" + number);
return new ActionForward(forwardPath);
}
-
// neither remove or cancel, show confirmation page
return mapping.findForward("inputpage");
}
Index: NewsletterSubscriberSearchAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterSubscriberSearchAction.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- NewsletterSubscriberSearchAction.java 7 Jul 2008 20:28:50 -0000
1.2
+++ NewsletterSubscriberSearchAction.java 24 Jul 2008 09:04:16 -0000
1.3
@@ -18,7 +18,6 @@
import org.apache.struts.action.ActionMapping;
import org.springframework.web.struts.DispatchActionSupport;
-
import com.finalist.cmsc.mmbase.PropertiesUtil;
import com.finalist.cmsc.services.community.person.Person;
import com.finalist.cmsc.services.community.person.PersonService;
@@ -27,104 +26,127 @@
import com.finalist.newsletter.services.NewsletterPublicationService;
import com.finalist.newsletter.services.NewsletterService;
import com.finalist.newsletter.services.NewsletterSubscriptionServices;
+import com.finalist.newsletter.services.SubscriptionHibernateService;
-public class NewsletterSubscriberSearchAction extends DispatchActionSupport{
+public class NewsletterSubscriberSearchAction extends DispatchActionSupport {
private static Log log =
LogFactory.getLog(NewsletterPublicationManagementAction.class);
NewsletterPublicationService publicationService;
PersonService personService;
- NewsletterSubscriptionServices subscriptionService ;
+ NewsletterSubscriptionServices subscriptionService;
AuthenticationService authenticationService;
NewsletterService newsletterService;
+ SubscriptionHibernateService subscriptionHService;
protected void onInit() {
super.onInit();
publicationService = (NewsletterPublicationService)
getWebApplicationContext().getBean("publicationService");
personService = (PersonService)
getWebApplicationContext().getBean("personService");
subscriptionService = (NewsletterSubscriptionServices)
getWebApplicationContext().getBean("subscriptionServices");
- authenticationService =
(AuthenticationService)getWebApplicationContext().getBean("authenticationService");
- newsletterService =
(NewsletterService)getWebApplicationContext().getBean("newsletterServices");
+ authenticationService = (AuthenticationService)
getWebApplicationContext().getBean("authenticationService");
+ newsletterService = (NewsletterService)
getWebApplicationContext().getBean("newsletterServices");
+ subscriptionHService = (SubscriptionHibernateService)
getWebApplicationContext().getBean("subscriptionHService");
}
-
- protected ActionForward unspecified(ActionMapping mapping, ActionForm
form,
- HttpServletRequest request, HttpServletResponse
response)
+ protected ActionForward unspecified(ActionMapping mapping, ActionForm
form, HttpServletRequest request, HttpServletResponse response)
throws Exception {
log.debug("No parameter specified,go to subscriber page ,show
related subscribers");
int newsletterId =
Integer.parseInt(request.getParameter("newsletterId"));
int pagesize = 10;
-
if(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
+ if
(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
pagesize =
Integer.parseInt(PropertiesUtil.getProperty("repository.search.results.per.page"));
}
- List results = searchSubscribers(newsletterId, "", "", "", "",
pagesize, 0);
- if(results!=null){
+ int resultCount = CountsearchSubscribers(newsletterId, "", "",
"", "");
+ List results = searchSubscribers(newsletterId, "", "", "", "",
pagesize, 0, "number", "ASC");
+ if (results != null) {
request.setAttribute("results", results);
- request.setAttribute("resultCount", results.size());
+ request.setAttribute("resultCount", resultCount);
}
- request.setAttribute("newsletterId",newsletterId);
+ request.setAttribute("newsletterId", newsletterId);
+ request.setAttribute("offset", 0);
+ request.setAttribute("order", "number");
+ request.setAttribute("direction", 1);
return mapping.findForward("success");
}
- public ActionForward subScriberSearch(ActionMapping mapping, ActionForm
form,
- HttpServletRequest request, HttpServletResponse
response){
+ public ActionForward subScriberSearch(ActionMapping mapping, ActionForm
form, HttpServletRequest request, HttpServletResponse response) {
log.debug("parameter action specified, go to the subscribers
page, show related subscriber list");
int newsletterId =
Integer.parseInt(request.getParameter("newsletterId"));
int pagesize = 10;
-
if(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
+ if
(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
pagesize =
Integer.parseInt(PropertiesUtil.getProperty("repository.search.results.per.page"));
}
- newsletterId =
Integer.parseInt(request.getParameter("newsletterId"));
-
- NewsletterSubscriberSearchForm myForm =
(NewsletterSubscriberSearchForm)form;
+ int offset = 0;
+ if (StringUtils.isNotBlank(request.getParameter("offset"))) {
+ offset =
Integer.parseInt(request.getParameter("offset"));
+ }
+ String order = "number";
+ if (StringUtils.isNotBlank(request.getParameter("order"))) {
+ order = request.getParameter("order");
+ }
+ String direction = "ASC";
+ String tmpDir = request.getParameter("direction");
+ if (StringUtils.isNotBlank(tmpDir)) {
+ direction = "1".equals(tmpDir) ? "ASC" : "DESC";
+ }
+ NewsletterSubscriberSearchForm myForm =
(NewsletterSubscriberSearchForm) form;
String tmpTerm = myForm.getTerm();
- String tmpFullName = myForm.getTerm();
+ String tmpFullName = myForm.getFullname();
String tmpUserName = myForm.getUsername();
String tmpEmail = myForm.getEmail();
+ int resultCount = CountsearchSubscribers(newsletterId, tmpTerm,
tmpFullName, tmpUserName, tmpEmail);
+ List results = searchSubscribers(newsletterId, tmpTerm,
tmpFullName, tmpUserName, tmpEmail, pagesize, offset * pagesize, order,
direction);
- List results = searchSubscribers(newsletterId, tmpTerm,
tmpFullName, tmpUserName, tmpEmail, pagesize, 0);
-
- if(results!=null){
+ if (results != null) {
request.setAttribute("results", results);
- request.setAttribute("resultCount", results.size());
+ request.setAttribute("resultCount", resultCount);
}
- request.setAttribute("newsletterId",newsletterId);
+ request.setAttribute("newsletterId", newsletterId);
+ request.setAttribute("offset", offset);
+ request.setAttribute("order", order);
+ request.setAttribute("direction", tmpDir);
return mapping.findForward("success");
}
- private void AddToMap(List<Map<String, String>> results, String
fullName,String userName, String email, String newsletters, String terms) {
+ private void AddToMap(List<Map> results, String fullName, String
userName, String email, String newsletters, String terms, int authenticationId)
{
- Map<String, String> result = new HashMap<String, String>();
+ Map result = new HashMap();
result.put("fullname", fullName);
result.put("username", userName);
result.put("email", email);
result.put("newsletters", newsletters);
result.put("terms", terms);
+ result.put("id", authenticationId);
results.add(result);
}
- private List<Map<String, String>> searchSubscribers(int newsletterId,
String term, String fullName, String userName, String email, int pageSize, int
offset){
- List<Map<String, String>> results = new ArrayList<Map<String,
String>>();
- Set<Integer> authenticationIdList = new HashSet<Integer>();
- authenticationIdList =
subscriptionService.getRecordIdByNewsletterAndName(newsletterId,
StringUtils.isNotBlank(term)?term : "");
- for(int authenticationId : authenticationIdList){
- Person tmpPerson =
personService.getPersonByAuthenticationId(new Long(authenticationId));
- String tmpFullName = "";
- if(StringUtils.isNotBlank(tmpPerson.getFirstName())){
- tmpFullName += tmpPerson.getFirstName();
- }
- if(StringUtils.isNotBlank(tmpPerson.getLastName())){
- tmpFullName += " " + tmpPerson.getLastName();
- }
- String tmpUserName =
authenticationService.getAuthenticationById(new
Long(authenticationId)).getUserId();
- String tmpEmail = tmpPerson.getEmail();
- String tmpNewsletters =
subscriptionService.getNewsletterNameList(authenticationId);
- String tmpTerms =
subscriptionService.getTermsNameList(authenticationId);
-
- AddToMap(results, tmpFullName, tmpUserName, tmpEmail,
tmpNewsletters, tmpTerms);
+ private List<Map> searchSubscribers(int newsletterId, String terms,
String fullName, String userName, String email, int pageSize, int offset,
+ String order, String direction) {
+ List<Map> results = new ArrayList<Map>();
+
+ Set<Long> authenticationIds = new HashSet<Long>();
+ authenticationIds =
subscriptionService.getAuthenticationByTerms(newsletterId, terms);
+ List<Object[]> qResults =
subscriptionHService.getSubscribersRelatedInfo(authenticationIds, fullName,
userName, email, pageSize, offset,
+ order, direction);
+ for (Object[] result : qResults) {
+ String tmpFullName = result[0].toString() + " " +
result[1].toString();
+ String tmpEmail = result[2].toString();
+ int tmpAuthenticationId =
Integer.parseInt(result[3].toString());
+ String tmpNewsletters =
subscriptionService.getNewsletterNameList(tmpAuthenticationId);
+ String tmpTerms =
subscriptionService.getTermsNameList(tmpAuthenticationId);
+ String tmpUserName = result[4].toString();
+ AddToMap(results, tmpFullName, tmpUserName, tmpEmail,
tmpNewsletters, tmpTerms, tmpAuthenticationId);
}
return results;
}
+
+ private int CountsearchSubscribers(int newsletterId, String terms,
String fullName, String userName, String email) {
+ Set<Long> authenticationIds = new HashSet<Long>();
+ authenticationIds =
subscriptionService.getAuthenticationByTerms(newsletterId, terms);
+ int resultCount =
subscriptionHService.getSubscribersCount(authenticationIds, fullName, userName,
email);
+ return resultCount;
+ }
}
Index: NewsletterTermSearchAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterTermSearchAction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- NewsletterTermSearchAction.java 21 Jul 2008 13:09:00 -0000 1.3
+++ NewsletterTermSearchAction.java 24 Jul 2008 09:04:16 -0000 1.4
@@ -1,6 +1,6 @@
package com.finalist.newsletter.forms;
-import java.util.Set;
+import java.util.List;
import javax.servlet.http.HttpServletRequest;
@@ -18,27 +18,41 @@
public class NewsletterTermSearchAction extends MMBaseFormlessAction {
@Override
- public ActionForward execute(ActionMapping mapping,
- HttpServletRequest request, Cloud cloud) throws
Exception {
+ public ActionForward execute(ActionMapping mapping, HttpServletRequest
request, Cloud cloud) throws Exception {
// TODO Auto-generated method stub
int newsletterId =
Integer.parseInt(request.getParameter("newsletterId"));
String tmpName = request.getParameter("name");
int pagesize = 10;
int offset = 0;
-
-
if(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
+ int resultCount = 0;
+ if
(StringUtils.isNotEmpty(PropertiesUtil.getProperty("repository.search.results.per.page")))
{
pagesize =
Integer.parseInt(PropertiesUtil.getProperty("repository.search.results.per.page"));
}
- if(StringUtils.isNotBlank(request.getParameter("offset"))){
+ if (StringUtils.isNotBlank(request.getParameter("offset"))) {
offset =
Integer.parseInt(request.getParameter("offset"));
}
+ String order = "number";
+ if (StringUtils.isNotBlank(request.getParameter("order"))) {
+ order = request.getParameter("order");
+ }
+ String direction = "UP";
+ String paramDir = request.getParameter("direction");
+ if (StringUtils.isNotBlank(paramDir)) {
+ direction = "1".equals(paramDir) ? "UP" : "DOWN";
+ }
NewsletterService newsletterService = (NewsletterService)
ApplicationContextFactory.getBean("newsletterServices");
- Set<Term> terms =
newsletterService.getNewsletterTermsByName(newsletterId, tmpName, pagesize,
offset);
- if(terms != null){
+ resultCount =
newsletterService.getNewsletterTermsCountByName(newsletterId, tmpName);
+ List<Term> terms =
newsletterService.getNewsletterTermsByName(newsletterId, tmpName, pagesize,
offset * pagesize, order, direction);
+
+ if (terms != null) {
request.setAttribute("results", terms);
- request.setAttribute("resultCount", terms.size());
+ request.setAttribute("resultCount", resultCount);
+ request.setAttribute("offset", offset);
+
+ request.setAttribute("order", order);
+ request.setAttribute("direction", paramDir);
}
- request.setAttribute("newsletterId",newsletterId);
+ request.setAttribute("newsletterId", newsletterId);
return mapping.findForward("success");
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs