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