KickJava   Java API By Example, From Geeks To Geeks.

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


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.VariablesSecureApp;
23 import org.openbravo.utils.FormatUtilities;
24 import java.util.*;
25 import org.apache.log4j.Logger ;
26
27
28 public class KeyMap {
29   static Logger log4j = Logger.getLogger(KeyMap.class);
30   private VariablesSecureApp vars;
31   private ConnectionProvider conn;
32   private String JavaDoc TabID = "";
33   private String JavaDoc WindowID = "";
34   private String JavaDoc action = "";
35   private Properties myData = new Properties();
36   private Vector<Properties> structure = new Vector<Properties>();
37
38   public KeyMap(ConnectionProvider _conn, VariablesSecureApp _vars, String JavaDoc _tabId, String JavaDoc _windowId) throws Exception JavaDoc {
39     if (_conn==null || _vars==null || _tabId==null || _tabId.equals("") || _windowId==null || _windowId.equals("")) throw new Exception JavaDoc("Missing parameters");
40     this.conn = _conn;
41     this.vars = _vars;
42     this.TabID = _tabId;
43     this.WindowID = _windowId;
44     generateStructure();
45   }
46   
47   public KeyMap(ConnectionProvider _conn, VariablesSecureApp _vars, String JavaDoc _action) throws Exception JavaDoc {
48     if (_conn==null || _vars==null || _action==null || _action.equals("")) throw new Exception JavaDoc("Missing parameters");
49     this.conn = _conn;
50     this.vars = _vars;
51     this.action = _action;
52     //generateStructure();
53
}
54
55   private void setData(String JavaDoc name, String JavaDoc value) {
56     if (name==null || name.equals("")) return;
57     if (this.myData==null) this.myData = new Properties();
58     this.myData.setProperty(name, value);
59   }
60
61   private String JavaDoc getData(String JavaDoc name) {
62     if (name==null || name.equals("") || this.myData==null) return "";
63     String JavaDoc aux = this.myData.getProperty(name);
64     if (aux == null) return "";
65     else return aux;
66   }
67
68   public void addStructure(Properties _prop) {
69     if (_prop==null) return;
70     if (this.structure == null) this.structure = new Vector<Properties>();
71     this.structure.addElement(_prop);
72   }
73
74   public Vector<Properties> getStructure() {
75     return this.structure;
76   }
77
78   public String JavaDoc getSortTabKeyMaps() {
79     StringBuffer JavaDoc script = new StringBuffer JavaDoc();
80     script.append("\nvar arrTeclas = new Array(\n");
81     script.append("new Teclas(\"M\", \"mostrarMenu('buttonMenu');\", null, \"ctrlKey\")\n");
82     script.append(");\n");
83     script.append("activarControlTeclas();");
84     return script.toString();
85   }
86
87   public String JavaDoc getRelationKeyMaps() {
88     StringBuffer JavaDoc script = new StringBuffer JavaDoc();
89     script.append("\nvar arrTeclas = new Array(\n");
90     script.append("new Teclas(\"M\", \"mostrarMenu('buttonMenu');\", null, \"ctrlKey\"),\n");
91     script.append("new Teclas(\"N\", \"submitCommandForm('NEW', false, null, '").append(getData("TabNameUrl")).append("_Edition.html', '_self');\", null, \"ctrlKey\"),\n");
92     script.append("new Teclas(\"E\", \"submitCommandForm('EDIT', true, null, '").append(getData("TabNameUrl")).append("_Edition.html', '_self');\", null, \"ctrlKey\"),\n");
93     script.append("new Teclas(\"B\", \"abrirBusqueda('../businessUtility/Buscador.html', 'BUSCADOR', document.frmMain.inpTabId.value, '").append(getData("WindowNameUrl")).append("/").append(getData("TabNameUrl")).append("_Edition.html', document.frmMain.inpwindowId.value, true);\", null, \"ctrlKey\")\n");
94     script.append(");\n");
95     script.append("activarControlTeclas();");
96     return script.toString();
97   }
98
99   public String JavaDoc getEditionKeyMaps(boolean isNew) {
100     StringBuffer JavaDoc script = new StringBuffer JavaDoc();
101     script.append("\nvar arrTeclas = new Array(\n");
102     script.append("new Teclas(\"M\", \"mostrarMenu('buttonMenu');\", null, \"ctrlKey\")\n");
103     script.append(",new Teclas(\"N\", \"submitCommandForm('NEW', false, null, '").append(getData("TabNameUrl")).append("_Edition.html', '_self', null, true, null, true);\", null, \"ctrlKey\")\n");
104     script.append(",new Teclas(\"L\", \"submitCommandForm('RELATION', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self', null, true, null, true);\", null, \"ctrlKey\")\n");
105     script.append(",new Teclas(\"B\", \"abrirBusqueda('../businessUtility/Buscador.html', 'BUSCADOR', document.frmMain.inpTabId.value, '").append(getData("WindowNameUrl")).append("/").append(getData("TabNameUrl")).append("_Edition.html', document.frmMain.inpwindowId.value, true);\", null, \"ctrlKey\")\n");
106     if (!getData("IsTabReadOnly").equals("Y")) {
107       if (!isNew) {
108         script.append(",new Teclas(\"D\", \"submitCommandForm('DELETE', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self');\", null, \"ctrlKey\")\n");
109         script.append(",new Teclas(\"S\", \"submitCommandForm('SAVE_EDIT_EDIT', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self', true, null, null, true);\", null, \"ctrlKey\")\n");
110         script.append(",new Teclas(\"G\", \"submitCommandForm('SAVE_EDIT_RELATION', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self', true, null, null, true);\", null, \"ctrlKey\")\n");
111         script.append(",new Teclas(\"H\", \"submitCommandForm('SAVE_EDIT_NEW', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self', true, null, null, true);\", null, \"ctrlKey\")\n");
112         script.append(",new Teclas(\"A\", \"submitCommandForm('SAVE_EDIT_NEXT', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self', true, null, null, true);\", null, \"ctrlKey\")\n");
113       } else {
114         script.append(",new Teclas(\"S\", \"submitCommandForm('SAVE_NEW_EDIT', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self', true, null, null, true);\", null, \"ctrlKey\")\n");
115         script.append(",new Teclas(\"G\", \"submitCommandForm('SAVE_NEW_RELATION', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self', true, null, null, true);\", null, \"ctrlKey\")\n");
116         script.append(",new Teclas(\"H\", \"submitCommandForm('SAVE_NEW_NEW', true, null, '").append(getData("TabNameUrl")).append("_Relation.html', '_self', true, null, null, true);\", null, \"ctrlKey\")\n");
117       }
118     }
119     script.append(",new Teclas(\"REPAGE\", \"submitCommandForm('FIRST', false, null, '").append(getData("TabNameUrl")).append("_Edition.html', '_self', null, true);\", null, \"ctrlKey\")\n");
120     script.append(",new Teclas(\"AVPAGE\", \"submitCommandForm('LAST', false, null, '").append(getData("TabNameUrl")).append("_Edition.html', '_self', null, true);\", null, \"ctrlKey\")\n");
121     script.append(",new Teclas(\"RIGHTARROW\", \"submitCommandForm('NEXT', false, null, '").append(getData("TabNameUrl")).append("_Edition.html', '_self', null, true);\", null, \"ctrlKey\")\n");
122     script.append(",new Teclas(\"LEFTARROW\", \"submitCommandForm('PREVIOUS', false, null, '").append(getData("TabNameUrl")).append("_Edition.html', '_self', null, true);\", null, \"ctrlKey\")\n");
123     script.append(");\n");
124     script.append("activarControlTeclas();");
125
126     return script.toString();
127   }
128   
129   public String JavaDoc getActionButtonKeyMaps() {
130     StringBuffer JavaDoc script = new StringBuffer JavaDoc();
131     script.append("\nvar arrTeclas = new Array(\n");
132     script.append("new Teclas(\"\", \"\", null, null)\n");
133     script.append(");\n");
134     script.append("activarControlTeclas();");
135
136     return script.toString();
137   }
138
139   public String JavaDoc getFormKeyMaps() {
140     StringBuffer JavaDoc script = new StringBuffer JavaDoc();
141     script.append("\nvar arrTeclas = new Array(\n");
142     script.append("new Teclas(\"M\", \"mostrarMenu('buttonMenu');\", null, \"ctrlKey\")\n");
143     script.append(");\n");
144     script.append("activarControlTeclas();");
145
146     return script.toString();
147   }
148
149   public String JavaDoc getReportKeyMaps() {
150     StringBuffer JavaDoc script = new StringBuffer JavaDoc();
151     script.append("\nvar arrTeclas = new Array(\n");
152     script.append("new Teclas(\"M\", \"mostrarMenu('buttonMenu');\", null, \"ctrlKey\")\n");
153     script.append(");\n");
154     script.append("activarControlTeclas();");
155
156     return script.toString();
157   }
158
159   private void generateStructure() throws Exception JavaDoc {
160     TableSQLQueryData[] data = TableSQLQueryData.selectStructure(this.conn, this.TabID, this.vars.getLanguage());
161     if (data==null || data.length==0) throw new Exception JavaDoc("Couldn't get structure for tab " + this.TabID);
162     String JavaDoc primaryKey = "";
163     String JavaDoc secondaryKey = "";
164     setData("TabName", data[0].tabName);
165     setData("TabNameUrl", FormatUtilities.replace(data[0].tabName));
166     setData("WindowName", data[0].windowName);
167     setData("WindowNameUrl", FormatUtilities.replace(data[0].windowName));
168     setData("IsTabReadOnly", data[0].istabreadonly);
169     for (int i=0;i<data.length;i++) {
170       Properties prop = new Properties();
171       prop.setProperty("ColumnName", data[i].columnname);
172       prop.setProperty("AD_Reference_ID", data[i].adReferenceId);
173       prop.setProperty("AD_Reference_Value_ID", data[i].adReferenceValueId);
174       prop.setProperty("AD_Val_Rule_ID", data[i].adValRuleId);
175       prop.setProperty("FieldLength", data[i].fieldlength);
176       prop.setProperty("DefaultValue", data[i].defaultvalue);
177       prop.setProperty("IsKey", data[i].iskey);
178       prop.setProperty("IsParent", data[i].isparent);
179       prop.setProperty("IsMandatory", data[i].ismandatory);
180       prop.setProperty("IsUpdateable", data[i].isupdateable);
181       prop.setProperty("ReadOnlyLogic", data[i].readonlylogic);
182       prop.setProperty("IsIdentifier", data[i].isidentifier);
183       prop.setProperty("SeqNo", data[i].seqno);
184       prop.setProperty("IsTranslated", data[i].istranslated);
185       prop.setProperty("IsEncrypted", data[i].isencrypted);
186       prop.setProperty("VFormat", data[i].vformat);
187       prop.setProperty("ValueMin", data[i].valuemin);
188       prop.setProperty("ValueMax", data[i].valuemax);
189       prop.setProperty("IsSelectionColumn", data[i].isselectioncolumn);
190       prop.setProperty("AD_Process_ID", data[i].adProcessId);
191       prop.setProperty("IsSessionAttr", data[i].issessionattr);
192       prop.setProperty("IsSecondaryKey", data[i].issecondarykey);
193       prop.setProperty("IsDesencryptable", data[i].isdesencryptable);
194       prop.setProperty("AD_CallOut_ID", data[i].adCalloutId);
195       prop.setProperty("Name", data[i].name);
196       prop.setProperty("AD_FieldGroup_ID", data[i].adFieldgroupId);
197       prop.setProperty("IsDisplayed", data[i].isdisplayed);
198       prop.setProperty("DisplayLogic", data[i].displaylogic);
199       prop.setProperty("DisplayLength", data[i].displaylength);
200       prop.setProperty("IsReadOnly", data[i].isreadonly);
201       prop.setProperty("SortNo", data[i].sortno);
202       prop.setProperty("IsSameLine", data[i].issameline);
203       prop.setProperty("IsHeading", data[i].isheading);
204       prop.setProperty("IsFieldOnly", data[i].isfieldonly);
205       prop.setProperty("ShowInRelation", data[i].showinrelation);
206       addStructure(prop);
207       if (primaryKey.equals("") && data[i].iskey.equals("Y")) {
208         primaryKey = data[i].columnname;
209       } else if (secondaryKey.equals("") && data[i].issecondarykey.equals("Y")) {
210         secondaryKey = data[i].columnname;
211       }
212     }
213     if (!primaryKey.equals("")) setData("KeyColumn", primaryKey);
214     else if (!secondaryKey.equals("")) setData("KeyColumn", secondaryKey);
215     else throw new Exception JavaDoc("No column key defined for this tab");
216   }
217 }
218
Popular Tags