Author: jkoster
Date: 2009-06-05 15:10:35 +0200 (Fri, 05 Jun 2009)
New Revision: 35771
Removed:
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/migration/
Modified:
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/directreaction/taglib/GetReactionTag.java
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/directreaction/util/ReactionUtil.java
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/resources/forms/DeleteReactionAction.java
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/resources/forms/ReactionAction.java
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/webapp/editors/resources/reactioninfo.jsp
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/webapp/editors/resources/reactionsearch.jsp
Log:
CMSC-1423 - DirectReactions Module does not correctly retrieve the remote
cloud, if running in live/staging mode
Modified:
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/directreaction/taglib/GetReactionTag.java
===================================================================
---
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/directreaction/taglib/GetReactionTag.java
2009-06-05 13:02:10 UTC (rev 35770)
+++
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/directreaction/taglib/GetReactionTag.java
2009-06-05 13:10:35 UTC (rev 35771)
@@ -2,17 +2,14 @@
import javax.servlet.jsp.tagext.SimpleTagSupport;
-import net.sf.mmapps.modules.cloudprovider.CloudProvider;
-import net.sf.mmapps.modules.cloudprovider.CloudProviderFactory;
-
import org.mmbase.bridge.*;
import com.finalist.cmsc.directreaction.util.Reaction;
-import com.finalist.cmsc.services.publish.Publish;
+import com.finalist.cmsc.directreaction.util.ReactionUtil;
/**
- * The GetReactionTag will retrieve a single reaction node from the live
- * database and then populate and return a Reaction object.
+ * The GetReactionTag will retrieve a single reaction node from the live/remote
+ * database/cloud and then populate and return a Reaction object.
*
* @author jderuijter
*/
@@ -24,7 +21,7 @@
@Override
public void doTag() {
- Cloud remoteCloud = getLiveCloud();
+ Cloud remoteCloud = ReactionUtil.getRemoteCloud();
Node node = remoteCloud.getNode(number);
Reaction reaction = new Reaction(node.getIntValue("number"),
node.getStringValue("title"), node
@@ -35,23 +32,17 @@
}
- public Cloud getLiveCloud() {
- CloudProvider cloudProvider = CloudProviderFactory.getCloudProvider();
- Cloud cloud = cloudProvider.getCloud();
- Cloud remoteCloud = Publish.getRemoteCloud(cloud);
- return remoteCloud;
- }
-
-
public String getRelatedContentTitle() {
String contentTitle = null;
- NodeList nodeList = getLiveCloud().getList("" + number,
"reaction,contentelement", "contentelement.title", null,
+ NodeList nodeList = ReactionUtil.getRemoteCloud().getList("" + number,
"reaction,contentelement", "contentelement.title", null,
null, null, null, true);
-
- for (NodeIterator ni = nodeList.nodeIterator(); ni.hasNext();) {
- Node node = ni.nextNode();
+
+ //Only using one node, because the getList was using 1 number.
+ if (!nodeList.isEmpty()) {
+ Node node = nodeList.getNode(0);
contentTitle = node.getStringValue("contentelement.title");
}
+
return contentTitle;
}
Modified:
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/directreaction/util/ReactionUtil.java
===================================================================
---
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/directreaction/util/ReactionUtil.java
2009-06-05 13:02:10 UTC (rev 35770)
+++
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/directreaction/util/ReactionUtil.java
2009-06-05 13:10:35 UTC (rev 35771)
@@ -12,8 +12,15 @@
import org.mmbase.bridge.NodeManager;
import org.mmbase.bridge.Relation;
+import com.finalist.cmsc.services.publish.Publish;
+import com.finalist.cmsc.util.ServerUtil;
+
public class ReactionUtil {
+ private ReactionUtil() {
+ //Utility only
+ }
+
/**
* Warning, this method is untested
*
@@ -58,4 +65,23 @@
Relation posrel = element.createRelation(message,
cloud.getRelationManager("posrel"));
posrel.commit();
}
+
+ public static Cloud getRemoteCloud() {
+ return getRemoteCloud(null);
+ }
+
+ public static Cloud getRemoteCloud(Cloud cloud) {
+ /* It should use the staging cloud if it runs in single-war mode.
+ * At live, the local cloud can be used.
+ */
+ if (cloud == null) {
+ cloud = CloudProviderFactory.getCloudProvider().getCloud();
+ }
+
+ if (ServerUtil.isSingle() || ServerUtil.isLive()) {
+ return cloud;
+ }
+
+ return Publish.getRemoteCloud(cloud);
+ }
}
Modified:
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/resources/forms/DeleteReactionAction.java
===================================================================
---
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/resources/forms/DeleteReactionAction.java
2009-06-05 13:02:10 UTC (rev 35770)
+++
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/resources/forms/DeleteReactionAction.java
2009-06-05 13:10:35 UTC (rev 35771)
@@ -8,7 +8,7 @@
import org.mmbase.util.logging.Logger;
import org.mmbase.util.logging.Logging;
-import com.finalist.cmsc.services.publish.Publish;
+import com.finalist.cmsc.directreaction.util.ReactionUtil;
import com.finalist.cmsc.struts.MMBaseAction;
public class DeleteReactionAction extends DeleteSecondaryContentAction {
@@ -25,7 +25,7 @@
String number = deleteForm.getObjectnumber();
if
(MMBaseAction.ADMINISTRATOR.equals(cloud.getUser().getRank().toString())) {
log.debug("deleting secondary content: " + number);
- Cloud remoteCloud = Publish.getRemoteCloud(cloud);
+ Cloud remoteCloud = ReactionUtil.getRemoteCloud(cloud);
remoteCloud.getNode(number).delete(true);
}
else {
Modified:
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/resources/forms/ReactionAction.java
===================================================================
---
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/resources/forms/ReactionAction.java
2009-06-05 13:02:10 UTC (rev 35770)
+++
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/java/com/finalist/cmsc/resources/forms/ReactionAction.java
2009-06-05 13:10:35 UTC (rev 35771)
@@ -14,6 +14,7 @@
import org.mmbase.util.logging.Logger;
import org.mmbase.util.logging.Logging;
+import com.finalist.cmsc.directreaction.util.ReactionUtil;
import com.finalist.cmsc.services.publish.Publish;
import com.finalist.cmsc.util.ServerUtil;
@@ -36,10 +37,9 @@
super.execute(mapping, form, request, response, cloud);
Map<Integer, String> titles = new HashMap<Integer, String>();
// get the reactions from the request
- NodeList results = (NodeList) request.getAttribute("results");
+ List<Node> results = (NodeList) request.getAttribute("results");
// for every reaction search for the contentelement it belongs to
- for (Iterator<Node> iter = results.iterator(); iter.hasNext();) {
- Node node = iter.next();
+ for (Node node : results) {
String title = getArticleTitles(cloud, node);
// store the title in a map
titles.put(node.getNumber(), title);
@@ -54,18 +54,11 @@
@Override
public Cloud getCloud() {
- /* The DirectReactions should use the staging cloud if we are
- * running in single-war-file mode.
+ /* It should use the staging cloud if it runs in single-war mode.
+ * At live, the local cloud can be used.
*/
- return getCloudForAnonymousUpdate(ServerUtil.isLive());
- }
- public Cloud getCloudForAnonymousUpdate(boolean isRemote) {
- Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
- if (isRemote) {
- return Publish.getRemoteCloud(cloud);
- }
- return cloud;
+ return ReactionUtil.getRemoteCloud();
}
@Override
Modified:
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/webapp/editors/resources/reactioninfo.jsp
===================================================================
---
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/webapp/editors/resources/reactioninfo.jsp
2009-06-05 13:02:10 UTC (rev 35770)
+++
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/webapp/editors/resources/reactioninfo.jsp
2009-06-05 13:10:35 UTC (rev 35771)
@@ -1,9 +1,9 @@
-<%...@page language="java" contentType="text/html;charset=UTF-8"%>
-<%...@taglib uri="http://finalist.com/cmsc-directreaction" prefix="cmsc-dr"%>
-
-<%...@include file="globals.jsp" %>
+<%...@page language="java" contentType="text/html;charset=UTF-8"
+%><%...@taglib uri="http://finalist.com/cmsc-directreaction" prefix="cmsc-dr"
+%><%...@include file="globals.jsp"
+%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<mm:content type="text/html" encoding="UTF-8" expires="0">
<fmt:setBundle basename="cmsc-reactions" scope="request" />
-<mm:content type="text/html" encoding="UTF-8" expires="0">
<html:html xhtml="true">
<cmscedit:head title="reactioninfo.title" />
@@ -41,7 +41,7 @@
</tr>
<tr>
<td><fmt:message key="reactioninfo.emailfield" />:</td>
- <td>${reactionObject.email}</td>
+ <td><a
href="mailto:${reactionObject.email}">${reactionObject.email}</a></td>
</tr>
</table>
<table class="listcontent">
Modified:
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/webapp/editors/resources/reactionsearch.jsp
===================================================================
---
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/webapp/editors/resources/reactionsearch.jsp
2009-06-05 13:02:10 UTC (rev 35770)
+++
CMSContainer/branches/b1_5/CMSContainer_Modules/directreaction/src/webapp/editors/resources/reactionsearch.jsp
2009-06-05 13:10:35 UTC (rev 35771)
@@ -1,25 +1,25 @@
<%...@page language="java" contentType="text/html;charset=utf-8"
%><%...@include file="globals.jsp"
-%><fmt:setBundle basename="cmsc-reactions" scope="request" /><%...@page
import="java.util.Iterator,
- com.finalist.cmsc.mmbase.PropertiesUtil"
-%><mm:content type="text/html" encoding="UTF-8" expires="0">
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+%><fmt:setBundle basename="cmsc-reactions" scope="request"
+/><%...@page import="java.util.Iterator,
com.finalist.cmsc.mmbase.PropertiesUtil"
+%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<mm:content type="text/html" encoding="UTF-8" expires="0">
<html:html xhtml="true">
<cmscedit:head title="reactions.title">
- <script src="../repository/search.js" type="text/javascript"></script>
- <script src="../repository/content.js" type="text/javascript"></script>
- <script type="text/javascript">
- function selectElement(element, title, src) {
- if(window.top.opener != undefined) {
-
window.top.opener.selectElement(element, title, src);
- window.top.close();
- }
+ <script src="../repository/search.js" type="text/javascript"></script>
+ <script src="../repository/content.js" type="text/javascript"></script>
+ <script type="text/javascript">
+ function selectElement(element, title, src) {
+ if(window.top.opener != undefined) {
+ window.top.opener.selectElement(element, title,
src);
+ window.top.close();
}
-
- function showInfo(objectnumber) {
- openPopupWindow('reactioninfo', '500', '500',
'reactioninfo.jsp?objectnumber='+objectnumber);
- }
- </script>
+ }
+
+ function showInfo(objectnumber) {
+ openPopupWindow('reactioninfo', '500', '500',
'reactioninfo.jsp?objectnumber='+objectnumber);
+ }
+ </script>
</cmscedit:head>
<body>
<mm:cloud jspvar="cloud" loginpage="../../editors/login.jsp">
@@ -108,6 +108,8 @@
<%...@include file="../repository/searchpages.jsp" %>
</c:if>
</mm:cloud>
+</div>
+</div>
</body>
</html:html>
</mm:content>
\ No newline at end of file
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs