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

Reply via email to