KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > utility > WindowTreeUtility


1 /*
2  *************************************************************************
3  * The contents of this file are subject to the Openbravo Public License
4  * Version 1.0 (the "License"), being the Mozilla Public License
5  * Version 1.1 with a permitted attribution clause; you may not use this
6  * file except in compliance with the License. You may obtain a copy of
7  * the License at http://www.openbravo.com/legal/license.html
8  * Software distributed under the License is distributed on an "AS IS"
9  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
10  * License for the specific language governing rights and limitations
11  * under the License.
12  * The Original Code is Openbravo ERP.
13  * The Initial Developer of the Original Code is Openbravo SL
14  * All portions are Copyright (C) 2001-2006 Openbravo SL
15  * All Rights Reserved.
16  * Contributor(s): ______________________________________.
17  ************************************************************************
18 */

19 package org.openbravo.erpCommon.utility;
20
21 import org.openbravo.database.ConnectionProvider;
22 import org.openbravo.base.secureApp.*;
23 import javax.servlet.*;
24 import org.openbravo.data.FieldProvider;
25 import org.openbravo.utils.Replace;
26 import org.apache.log4j.Logger ;
27
28
29 public class WindowTreeUtility {
30   static Logger log4j = Logger.getLogger(WindowTreeUtility.class);
31   
32   public static String JavaDoc getTreeType(String JavaDoc keyColumnName) {
33     if (log4j.isDebugEnabled()) log4j.debug("WindowTreeUtility.getTreeID() - key Column: " + keyColumnName);
34     if(keyColumnName == null || keyColumnName.length() == 0) return "";
35     String JavaDoc TreeType = "";
36     if(keyColumnName.equals("AD_Menu_ID")) TreeType = "MM";
37     else if(keyColumnName.equals("C_ElementValue_ID")) TreeType = "EV";
38     else if(keyColumnName.equals("M_Product_ID")) TreeType = "PR";
39     else if(keyColumnName.equals("C_BPartner_ID")) TreeType = "BP";
40     else if(keyColumnName.equals("AD_Org_ID")) TreeType = "OO";
41     else if(keyColumnName.equals("C_Project_ID")) TreeType = "PJ";
42     else if(keyColumnName.equals("M_ProductCategory_ID")) TreeType = "PC";
43     else if(keyColumnName.equals("M_BOM_ID")) TreeType = "BB";
44     else if(keyColumnName.equals("C_SalesRegion_ID")) TreeType = "SR";
45     else if(keyColumnName.equals("C_Campaign_ID")) TreeType = "MC";
46     else if(keyColumnName.equals("C_Activity_ID")) TreeType = "AY";
47     else if (keyColumnName.equals("AD_Accountingrpt_Element_ID")) TreeType = "AR";
48     else if (keyColumnName.equals("C_Tax_Report_ID")) TreeType = "TR";
49     else TreeType = WindowTreeUtilityClient.getTreeType(keyColumnName);
50     if (TreeType.equals("")) log4j.error("WindowTreeUtility.getTreeID() - Could not map " + keyColumnName);
51     return TreeType;
52   }
53
54   public static WindowTreeData[] getTree(ConnectionProvider conn, VariablesSecureApp vars, String JavaDoc TreeType, String JavaDoc TreeID, boolean editable, String JavaDoc strParentID, String JavaDoc strNodeId, String JavaDoc strTabID) throws ServletException {
55     if (log4j.isDebugEnabled()) log4j.debug("WindowTreeUtility.getTree() - TreeID: " + TreeID);
56     WindowTreeData[] data = null;
57     String JavaDoc strEditable = (editable?"editable":"");
58     boolean isBaseLanguage = vars.getLanguage().equals("en_US");
59     if(TreeType.equals("MM")) {
60       if (isBaseLanguage) data = WindowTreeData.select(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
61       else data = WindowTreeData.selectTrl(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID, vars.getLanguage());
62     } else if (TreeType.equals("OO")) data = WindowTreeData.selectOrg(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
63     else if (TreeType.equals("PR")) data = WindowTreeData.selectProduct(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
64     else if (TreeType.equals("PC")) data = WindowTreeData.selectProductCategory(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
65     else if (TreeType.equals("BB")) data = WindowTreeData.selectBOM(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
66     else if (TreeType.equals("EV")) {
67       String JavaDoc strElementId = vars.getSessionValue(Utility.getWindowID(conn, strTabID) + "|C_Element_ID");
68       data = WindowTreeData.selectElementValue(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID, strElementId);
69     } else if (TreeType.equals("BP")) data = WindowTreeData.selectBPartner(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
70     else if (TreeType.equals("MC")) data = WindowTreeData.selectCampaign(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
71     else if (TreeType.equals("PJ")) data = WindowTreeData.selectProject(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
72     else if (TreeType.equals("AY")) data = WindowTreeData.selectActivity(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
73     else if (TreeType.equals("SR")) data = WindowTreeData.selectSalesRegion(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
74     else if (TreeType.equals("AR")) data = WindowTreeData.selectAccountingReport(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
75     else if (TreeType.equals("TR")) data = WindowTreeData.selectTaxReport(conn, vars.getUser(), strEditable, strParentID, strNodeId, TreeID);
76     else {
77       FieldProvider[] fData = WindowTreeUtilityClient.getTree(conn, vars, TreeType, TreeID, editable, strParentID, strNodeId, strTabID);
78       if (fData!=null) {
79         data = new WindowTreeData[fData.length];
80         for (int i=0;i<fData.length;i++) {
81           data[i] = WindowTreeUtility.transformFieldProvider(fData[i]);
82         }
83       }
84       fData = null;
85     }
86     return data;
87   }
88
89   public static WindowTreeData transformFieldProvider(FieldProvider data) throws ServletException {
90     WindowTreeData aux = new WindowTreeData();
91     aux.nodeId = data.getField("nodeId");
92     aux.parentId = data.getField("parentId");
93     aux.seqno = data.getField("seqno");
94     aux.isactive = data.getField("isactive");
95     aux.id = data.getField("id");
96     aux.name = data.getField("name");
97     aux.description = data.getField("description");
98     aux.issummary = data.getField("issummary");
99     aux.action = data.getField("action");
100     aux.adWindowId= data.getField("adWindowId");
101     aux.adProcessId = data.getField("adProcessId");
102     aux.adFormId = data.getField("adFormId");
103     aux.adWorkflowId = data.getField("adWorkflowId");
104     aux.adTaskId = data.getField("adTaskId");
105     aux.adWorkbenchId = data.getField("adWorkbenchId");
106     return aux;
107   }
108
109   public static String JavaDoc addNodeElement(String JavaDoc name, String JavaDoc description, String JavaDoc target, boolean isSummary, String JavaDoc windowType, String JavaDoc strDirection, String JavaDoc strOnClick, String JavaDoc strOnDblClick, boolean hasChilds, String JavaDoc nodeId, String JavaDoc action) {
110     if (log4j.isDebugEnabled()) log4j.debug("WindowTreeUtility.addNodeElement() - name: " + name);
111     StringBuffer JavaDoc element = new StringBuffer JavaDoc();
112     String JavaDoc strDescription = Replace.replace(Replace.replace(name, "'", "\\'"), "\"", "\\\"");
113     strOnClick = Replace.replace(strOnClick, "\"", "&quot;");
114     strOnDblClick = Replace.replace(strOnDblClick, "\"", "&quot;");
115
116     if (isSummary) {
117       element.append("<li id=\"folder").append((hasChilds?"":"NoChilds")).append(nodeId).append("\"");
118       element.append(" class=\"folder").append((nodeId.equals("0")?"Abierta":"")).append(windowType).append("\">\n");
119       element.append("<a HREF=\"#\" onClick=\"").append(((strOnClick!=null && !strOnClick.equals(""))?strOnClick:""));
120       element.append("return false;\" onMouseOver='window.status=\"").append(strDescription).append("\";return true;'");
121       if (strOnDblClick!=null && !strOnDblClick.equals("")) {
122         element.append(" onDblClick=\"").append(strOnDblClick).append("return false;\"");
123       }
124       element.append(" onMouseOut=\"window.status='';return true;\" target=\"").append(target).append("\" id=\"folderHref").append((hasChilds?"":"NoChilds")).append(nodeId).append("\">").append(name).append("</a>\n");
125       element.append("</li>\n");
126     } else {
127       element.append("<li id=\"").append(windowTypeNico(action)).append(nodeId).append("\"");
128       element.append(" class=\"child").append(windowType).append("\">\n");
129       element.append("<a HREF=\"#\" onClick=\"").append(((strOnClick!=null && !strOnClick.equals(""))?strOnClick:"")).append("return false;\"");
130       if (strOnDblClick!=null && !strOnDblClick.equals("")) {
131         element.append(" onDblClick=\"").append(strOnDblClick).append("return false;\"");
132       }
133       element.append(" onMouseOver='window.status=\"").append(strDescription).append("\";return true;'");
134       element.append(" onMouseOut=\"window.status='';return true;\" target=\"").append(target).append("\" id=\"child").append(windowTypeNico(action)).append(nodeId).append("\">").append(name).append("</a>\n");
135       element.append("</li>\n");
136     }
137     return element.toString();
138   }
139
140   public static String JavaDoc windowType(String JavaDoc type) {
141     if (log4j.isDebugEnabled()) log4j.debug("WindowTreeUtility.windowType() - type: " + type);
142     if (type==null || type.equals("")) return "";
143     else if (type.equals("W")) return "Ventanas";
144     else if (type.equals("X")) return "Formularios";
145     else if (type.equals("P")) return "Procesos";
146     else if (type.equals("T")) return "Tareas";
147     else if (type.equals("R")) return "Informes";
148     else if (type.equals("F")) return "FlujoTrabajo";
149     else if (type.equals("B")) return "BancoTrabajo";
150     else return WindowTreeUtilityClient.windowType(type);
151   }
152
153   public static String JavaDoc windowTypeNico(String JavaDoc tipo) {
154     if (log4j.isDebugEnabled()) log4j.debug("WindowTreeUtility.windowTypeNico() - type: " + tipo);
155     if (tipo==null) return "";
156     else if (tipo.equals("W")) return "window";
157     else if (tipo.equals("X")) return "form";
158     else if (tipo.equals("P")) return "process";
159     else if (tipo.equals("T")) return "task";
160     else if (tipo.equals("R")) return "report";
161     else if (tipo.equals("F")) return "wf";
162     else if (tipo.equals("B")) return "wb";
163     else return WindowTreeUtilityClient.windowTypeNico(tipo);
164   }
165
166   public static void setNode(ConnectionProvider conn, VariablesSecureApp vars, String JavaDoc TreeType, String JavaDoc TreeID, String JavaDoc strParentID, String JavaDoc strLink, String JavaDoc strSeqNo) throws ServletException {
167     if (log4j.isDebugEnabled()) log4j.debug("WindowTreeUtility.setNode() - TreeID: " + TreeID);
168
169     if(TreeType.equals("PR")) WindowTreeData.updatePR(conn, vars.getUser(), strParentID, strSeqNo, TreeID, strLink);
170     else if (TreeType.equals("BP")) WindowTreeData.updateBP(conn, vars.getUser(), strParentID, strSeqNo, TreeID, strLink);
171     else WindowTreeData.update(conn, vars.getUser(), strParentID, strSeqNo, TreeID, strLink);
172   }
173
174 }
175
Popular Tags