Update of 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms
In directory 
james.mmbase.org:/tmp/cvs-serv18236/contentrepository/src/java/com/finalist/cmsc/repository/forms

Modified Files:
        HighFrequencyImagAction.java 
Log Message:
CMSC-1126 (Move the ComparisonUtil.java to Container)


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms
See also: http://www.mmbase.org/jira/browse/CMSC-1126


Index: HighFrequencyImagAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms/HighFrequencyImagAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- HighFrequencyImagAction.java        3 Dec 2008 05:32:27 -0000       1.1
+++ HighFrequencyImagAction.java        3 Dec 2008 10:21:51 -0000       1.2
@@ -8,6 +8,9 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import net.sf.mmapps.commons.util.StringUtil;
+
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -17,14 +20,13 @@
 import org.mmbase.bridge.NodeManager;
 import org.mmbase.bridge.NodeQuery;
 import org.mmbase.bridge.Query;
+import org.mmbase.bridge.util.Queries;
 import org.mmbase.storage.search.AggregatedField;
 import org.mmbase.storage.search.RelationStep;
-import org.mmbase.storage.search.SortOrder;
 import org.mmbase.storage.search.Step;
 import org.mmbase.storage.search.implementation.BasicAggregatedField;
 
 import com.finalist.cmsc.mmbase.PropertiesUtil;
-import com.finalist.cmsc.resources.forms.SearchForm;
 import com.finalist.cmsc.struts.PagerAction;
 import com.finalist.cmsc.util.ComparisonUtil;
 
@@ -35,17 +37,36 @@
    private static final String RESULTCOUNT = "resultcount";
    private static final String RESULTS = "results";
    private static final String SUCCESS = "success";
-   private static final String ALL = "all";
+   private static final String CONTENTCHANNEL = "contentchannel";
+   private static final String CREATIONREL = "creationrel";
+   private static final String DESTINATION = "destination";
+   private static final String CURRENTCHANNEL = "current";
 
    public ActionForward execute(ActionMapping mapping, ActionForm form, 
HttpServletRequest request,
          HttpServletResponse response, Cloud cloud) throws Exception {
 
-      SearchForm searchForm = (SearchForm) form;
+      HighFrequencyForm highFrequencyForm = (HighFrequencyForm) form;
 
-      NodeManager imgManager = cloud.getNodeManager("images");
-      Query query = cloud.createAggregatedQuery();
-      Step step = query.addStep(imgManager);
 
+      Query query = cloud.createAggregatedQuery();
+      Step step;
+      //search in one contentchannel
+      NodeManager imgManager = cloud.getNodeManager("images");
+      String channelid=highFrequencyForm.getChannelid();
+      if(!StringUtil.isEmpty(channelid)&&!"all".equals(channelid)){
+      //search in the current channel
+         if(CURRENTCHANNEL.equals(channelid)){
+            channelid = (String)request.getSession().getAttribute("creation");
+         }
+         NodeManager channelManager = cloud.getNodeManager(CONTENTCHANNEL);
+         query.addStep(channelManager);
+         RelationStep 
creationrelStep=query.addRelationStep(imgManager,CREATIONREL,"source");
+         step=creationrelStep.getNext();
+         Queries.addConstraints(query, channelManager.getName() + ".number=" + 
channelid);
+         request.setAttribute(CHANNELID, channelid);
+      }else{
+         step = query.addStep(imgManager);
+      }
       NodeManager relManager = cloud.getNodeManager("contentelement");
       RelationStep relStep = query.addRelationStep(relManager, "imagerel", 
"source");
       Step contentStep = relStep.getNext();
@@ -54,7 +75,10 @@
       BasicAggregatedField field = (BasicAggregatedField) 
query.addAggregatedField(contentStep, relManager
             .getField("number"), AggregatedField.AGGREGATION_TYPE_COUNT);
       field.setAlias("con");
-      query.addSortOrder(field, SortOrder.ORDER_DESCENDING);
+      
+      
+      
+      
 
       NodeList middleResults = query.getList();
       List<Map<Object, Object>> results = new ArrayList<Map<Object, Object>>();
@@ -73,7 +97,7 @@
       Collections.reverse(results);
 
       NodeQuery query1 = imgManager.createQuery();
-      Step step1 = query1.getNodeStep();
+      query1.getNodeStep();
       NodeList imgResult = query1.getList();
 
       List<Node> newresult = new ArrayList<Node>();
@@ -104,16 +128,14 @@
       // Set the offset (used for paging).
       List<Node> resultAfterPaging = newresult;
       int offset = 0;
-      if (searchForm.getOffset() != null && 
searchForm.getOffset().matches("\\d+")) {
-         offset = Integer.parseInt(searchForm.getOffset());
+      if (highFrequencyForm.getOffset() != null && 
highFrequencyForm.getOffset().matches("\\d+")) {
+         offset = Integer.parseInt(highFrequencyForm.getOffset());
       }
       if (offset * maxnum + maxnum < newresult.size()) {
          resultAfterPaging = newresult.subList(offset * maxnum, offset * 
maxnum + maxnum);
       } else {
          resultAfterPaging = newresult.subList(offset * maxnum, 
newresult.size());
       }
-
-      request.setAttribute(CHANNELID, ALL);
       request.setAttribute(RESULTCOUNT, resultCount);
       request.setAttribute(RESULTS, resultAfterPaging);
       return mapping.findForward(SUCCESS);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to