📄 containerlistproperties_engine.java
字号:
* @param engineMap then engine map, to be forwarded * to the JSP file * */ private void loadContainerListData( ParamBean jParams, HashMap engineMap ) // throws JahiaException { // do nothin'... for now } // end loadContainerListData /*** * gets container list POST form data from the JSP file * * The vector "containers" contains * all the containers of the container list. * The vector "fieldInfoToDisplay" contains * the fields values on which the sort is done. * a value in "fieldInfoToDisplay" correspond to * the container at the same index into "containers". * * @param jParams a ParamBean object * (with request and response) * @param engineMap then engine map, to be forwarded * to the JSP file * @return true if everything went okay, false if not * */ private boolean updateContainerListData( ParamBean jParams, HashMap engineMap ) throws JahiaException { boolean okay = true; //FIXME: set JahiaExceptions //JahiaContainerList theContainerList = (JahiaContainerList)engineMap.get( "theContainerList" ); String updMode = jParams.getRequest().getParameter("updMode"); Vector containers = (Vector)engineMap.get("containers"); Vector fieldInfoToDisplay = (Vector)engineMap.get("fieldInfoToDisplay"); Vector sortInfo4Date = (Vector)engineMap.get("sortInfo4Date"); if (updMode != null) { // **** change cursor field **** if (updMode.equals("cursor")) { String curFieldStr = jParams.getRequest().getParameter("cursorField"); int curField = 0; if (curFieldStr != null) { try { curField = Integer.parseInt(curFieldStr); } catch (NumberFormatException nfe) { ; } } fieldInfoToDisplay = new Vector(); String fieldInfo = ""; sortInfo4Date = new Vector(); String sortInfo = ""; for (int i=0; i<containers.size(); i++) { fieldInfo = getFieldInfoToDisplay(curField,(JahiaContainer)containers.get(i),jParams); if (fieldInfo.equals("")) { fieldInfo = "-- Item "+(i+1)+" --"; } fieldInfoToDisplay.add( fieldInfo ); sortInfo = getSortInfo4Date(curField,(JahiaContainer)containers.get(i),jParams); if (sortInfo != null) { sortInfo4Date.add(sortInfo); } } engineMap.put("fieldInfoToDisplay", fieldInfoToDisplay); engineMap.put("sortInfo4Date", sortInfo4Date); engineMap.put("cursorField", new Integer( curField )); } // **** end change cursor field **** // ++++ manual ranking ++++ /* else if (updMode.equals("manual")) { String containerNumberStr = jParams.getRequest().getParameter("manRank"); int containerNumber = 0; if (containerNumberStr != null) { try { containerNumber = Integer.parseInt(containerNumberStr); } catch (NumberFormatException nfe) { ; } } String move = jParams.getRequest().getParameter("move"); JahiaContainer c = null; String str = ""; if (move.equals("top")) { c = (JahiaContainer)containers.remove(containerNumber); containers.add(0,c); str = (String)fieldInfoToDisplay.remove(containerNumber); fieldInfoToDisplay.add(0,str); engineMap.put("containerSelected", new Integer(0)); } else if (move.equals("up")) { if (containerNumber >0) { c = (JahiaContainer)containers.get(containerNumber); containers.set(containerNumber,containers.get(containerNumber-1)); containers.set(containerNumber-1,c); str = (String)fieldInfoToDisplay.get(containerNumber); fieldInfoToDisplay.set(containerNumber,fieldInfoToDisplay.get(containerNumber-1)); fieldInfoToDisplay.set(containerNumber-1,str); engineMap.put("containerSelected", new Integer(containerNumber-1)); } } else if (move.equals("down")) { if (containerNumber < containers.size()-1) { c = (JahiaContainer)containers.get(containerNumber); containers.set(containerNumber,containers.get(containerNumber+1)); containers.set(containerNumber+1,c); str = (String)fieldInfoToDisplay.get(containerNumber); fieldInfoToDisplay.set(containerNumber,fieldInfoToDisplay.get(containerNumber+1)); fieldInfoToDisplay.set(containerNumber+1,str); engineMap.put("containerSelected", new Integer(containerNumber+1)); } } else // bottom { c = (JahiaContainer)containers.remove(containerNumber); containers.add(c); str = (String)fieldInfoToDisplay.remove(containerNumber); fieldInfoToDisplay.add(str); engineMap.put("containerSelected", new Integer(containers.size()-1)); } engineMap.put("fieldInfoToDisplay", fieldInfoToDisplay); engineMap.put("containers", containers); } // ++++ end manual ranking ++++ */ // **** automatic ranking **** else if (updMode.equals("automatic")) { engineMap.put("containerSelected", new Integer(0)); String containerSort = jParams.getRequest().getParameter("autRank"); engineMap.put("automatic",containerSort); shell_sort(jParams, engineMap, containerSort); } // ****end automatic ranking **** } return okay; } // end updateContainerListData /*** * save the rank of each container of the container list * * @param jParams a ParamBean object * (with request and response) * @param engineMap then engine map, to be forwarded * to the JSP file * * */ private void saveContainersRank( ParamBean jParams, HashMap engineMap ) throws JahiaException { Vector containers_beforeSort = (Vector)engineMap.get("containers"); Vector containers = new Vector(); String[] manRank = jParams.getRequest().getParameterValues("manRank"); int num =0; for (int j=0; j<manRank.length; j++) { num = Integer.parseInt(manRank[j]); //System.out.println("####### Debug save CList: "+num); containers.add(containers_beforeSort.get(num)); } int counter = containers.size(); JahiaContainer c; // rank are save with negative number, because new containers have a rank equal to 0. // then new containers will appear at the end of the container list. for (int i=0; i<containers.size(); i++) { c = (JahiaContainer)containers.get(i); c.setRank(counter*(-1)); ServicesRegistry.getInstance().getJahiaContainersService().saveContainerInfo(c, 0, 0, jParams ); counter--; } } /*** * get the fieldInfo corresponding to the field "cursorField" of the container * * * @param cursorField the number of the field into the container * * @param theContainer the container in which get the fieldInfo * */ private String getFieldInfoToDisplay( int cursorField, JahiaContainer theContainer, ParamBean jParams ) throws JahiaException { String fieldInfo = ""; int counter = 0; Enumeration fList = theContainer.getFields(); while (fList.hasMoreElements()) { JahiaField f = (JahiaField) fList.nextElement(); f = ServicesRegistry.getInstance(). getJahiaFieldService().loadField( f.getID(), LoadFlags.ALL, jParams ); if (counter == cursorField) { fieldInfo = f.getFieldContent4Ranking(); /* int fieldType = f.getType(); switch (fieldType) { case(3): String str = f.getValue(); str = JahiaTools.html2text(str); if (str.length() > 30) { fieldInfo = str.substring(0,30) +">"; } else { fieldInfo = str; } str = JahiaTools.text2html(str); break; case(5): JahiaPage page = (JahiaPage)f.getObject(); if (page != null) { fieldInfo = page.getTitle(); } else { fieldInfo = f.getValue(); } break; case(6): case(7): case(8): case(9): JahiaFileField fle = (JahiaFileField)f.getObject(); if (fle != null) { fieldInfo = fle.getFileFieldTitle(); } else { fieldInfo = f.getValue(); } break; case(10): String appIDStr = (String)f.getObject(); int appID = 0; if (appIDStr != null) { try { appID = Integer.parseInt(appIDStr); } catch (NumberFormatException nfe) { ; } } ApplicationBean app = ServicesRegistry.getInstance(). getJahiaApplicationsManagerService().getApplication(appID); if (app != null) { fieldInfo = app.getName(); } else { fieldInfo = f.getValue(); } break; default: fieldInfo = f.getValue(); break; } */ } counter++; } return fieldInfo; } // end getFieldInfoToDisplay
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -