details:   /erp/devel/pi/rev/7c6fb45f969c
changeset: 9431:7c6fb45f969c
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Tue Dec 28 09:10:03 2010 +0100
summary:   [ModelObject] Set classinfo for 2.50 wad windows not based on db

diffstat:

 src-wad/src/org/openbravo/wad/Wad.java                     |  16 +++++---
 src-wad/src/org/openbravo/wad/javasource.javaxml           |   7 +++
 src-wad/src/org/openbravo/wad/javasource.xml               |   1 +
 src-wad/src/org/openbravo/wad/javasourceSortTab.javaxml    |   7 +++
 src-wad/src/org/openbravo/wad/javasourceSortTab.xml        |   3 +-
 src/org/openbravo/base/secureApp/ClassInfo_data.xsql       |   6 +--
 src/org/openbravo/base/secureApp/HttpSecureAppServlet.java |  27 ++++++++++---
 7 files changed, 50 insertions(+), 17 deletions(-)

diffs (214 lines):

diff -r 7bb6747e6a19 -r 7c6fb45f969c src-wad/src/org/openbravo/wad/Wad.java
--- a/src-wad/src/org/openbravo/wad/Wad.java    Mon Dec 27 19:04:48 2010 +0100
+++ b/src-wad/src/org/openbravo/wad/Wad.java    Tue Dec 28 09:10:03 2010 +0100
@@ -1033,7 +1033,7 @@
             selCol, isSecondaryKey, grandfatherField, tabsData.tablevel, 
tabsData.tableId,
             tabsData.windowtype, tabsData.adColumnsortorderId, 
whereClauseParams,
             parentwhereclause, strProcess, strDirectPrint, 
!tabsData.uipattern.equals("STD"),
-            vecParameters, vecTableParameters, tabsData.javapackage);
+            vecParameters, vecTableParameters, tabsData.javapackage, 
tabsData.tabmodule);
         /************************************************
          * XML of the SORT TAB
          *************************************************/
@@ -1055,7 +1055,7 @@
             tabsData.tablevel, tabsData.tableId, tabsData.windowtype, 
tabsData.uipattern,
             whereClauseParams, parentwhereclause, tabsData.editreference, 
strProcess,
             strDirectPrint, vecTableParameters, fieldsData, gridControl, 
tabsData.javapackage, "Y"
-                .equals(tabsData.isdeleteable));
+                .equals(tabsData.isdeleteable), tabsData.tabmodule);
 
         /************************************************
          * XSQL
@@ -1308,6 +1308,7 @@
    *          Array of query's parameters for the where clause.
    * @param vecTableParametersTop
    *          Array of query's parameters for from clause.
+   * @param tabmodule
    * @throws ServletException
    * @throws IOException
    */
@@ -1318,8 +1319,8 @@
       boolean isSecondaryKey, String grandfatherField, String tablevel, String 
tableId,
       String windowType, String strColumnSortOrderId, String whereClauseParams,
       String parentwhereclause, String strProcess, String strDirectPrint, 
boolean strReadOnly,
-      Vector<Object> vecParametersTop, Vector<Object> vecTableParametersTop, 
String javaPackage)
-      throws ServletException, IOException {
+      Vector<Object> vecParametersTop, Vector<Object> vecTableParametersTop, 
String javaPackage,
+      String tabmodule) throws ServletException, IOException {
     log4j.debug("Processing Sort Tab java: " + strTab + ", " + tabName);
     XmlDocument xmlDocument;
     final int parentTab = parentTabId(allTabs, strTab);
@@ -1348,6 +1349,7 @@
     xmlDocument.setParameter("grandfatherName", grandfatherField);
     xmlDocument.setParameter("ShowName", FieldsData.columnName(pool, 
strColumnSortOrderId));
     xmlDocument.setParameter("accessLevel", accesslevel);
+    xmlDocument.setParameter("moduleId", tabmodule);
     if (parentsFieldsData.length > 0) {
       xmlDocument.setParameter("keyParent", parentsFieldsData[0].name);
       xmlDocument.setParameter("keyParentINP", Sqlc
@@ -1510,6 +1512,7 @@
    *          Array with the auxiliar inputs info
    * @param relationControl
    *          Object with the WADGrid control
+   * @param tabmodule
    * @throws ServletException
    * @throws IOException
    */
@@ -1522,8 +1525,8 @@
       String tableId, String windowType, String uiPattern, String 
whereClauseParams,
       String parentwhereclause, String editReference, String strProcess, 
String strDirectPrint,
       Vector<Object> vecTableParametersTop, FieldsData[] fieldsDataSelectAux,
-      WADControl relationControl, String javaPackage, boolean deleteable) 
throws ServletException,
-      IOException {
+      WADControl relationControl, String javaPackage, boolean deleteable, 
String tabmodule)
+      throws ServletException, IOException {
     log4j.debug("Processing java: " + strTab + ", " + tabName);
     XmlDocument xmlDocument;
     final boolean isHighVolumen = (FieldsData.isHighVolume(pool, 
strTab).equals("Y"));
@@ -1746,6 +1749,7 @@
     xmlDocument.setParameter("table", tableName);
     xmlDocument.setParameter("windowId", strWindow);
     xmlDocument.setParameter("accessLevel", accesslevel);
+    xmlDocument.setParameter("moduleId", tabmodule);
     xmlDocument.setParameter("tabId", strTab);
     xmlDocument.setParameter("tableId", tableId);
     xmlDocument.setParameter("createFromProcessId",
diff -r 7bb6747e6a19 -r 7c6fb45f969c 
src-wad/src/org/openbravo/wad/javasource.javaxml
--- a/src-wad/src/org/openbravo/wad/javasource.javaxml  Mon Dec 27 19:04:48 
2010 +0100
+++ b/src-wad/src/org/openbravo/wad/javasource.javaxml  Tue Dec 28 09:10:03 
2010 +0100
@@ -60,6 +60,13 @@
   private static final String tabId = "<PARAMETER_TMP 
id="tabId">Almacen</PARAMETER_TMP>";
   private static final String defaultTabView = "<PARAMETER_TMP 
id="defaultView">RELATION</PARAMETER_TMP>";
   private static final int accesslevel = <PARAMETER_TMP 
id="accessLevel">xx</PARAMETER_TMP>;
+  private static final String moduleId = "<PARAMETER_TMP 
id="moduleId">xx</PARAMETER_TMP>";
+  
+  @Override
+  public void init(ServletConfig config) {
+    setClassInfo("W", tabId, moduleId);
+    super.init(config);
+  }
   
   <PARAMETER_TMP id="discardService">
   @Override
diff -r 7bb6747e6a19 -r 7c6fb45f969c 
src-wad/src/org/openbravo/wad/javasource.xml
--- a/src-wad/src/org/openbravo/wad/javasource.xml      Mon Dec 27 19:04:48 
2010 +0100
+++ b/src-wad/src/org/openbravo/wad/javasource.xml      Tue Dec 28 09:10:03 
2010 +0100
@@ -53,6 +53,7 @@
   <PARAMETER id="filter" name = "filter" default=" "/>
   <PARAMETER id="windowId" name = "windowId" default=" "/>
   <PARAMETER id="accessLevel" name = "accessLevel" default=" "/>
+  <PARAMETER id="moduleId" name = "moduleId" default=" "/>
   <PARAMETER id="tabId" name = "tabId" default=" "/>
   <PARAMETER id="orgId" name = "orgId" default=" "/>
   <PARAMETER id="clientId" name = "clientId" default=" "/>
diff -r 7bb6747e6a19 -r 7c6fb45f969c 
src-wad/src/org/openbravo/wad/javasourceSortTab.javaxml
--- a/src-wad/src/org/openbravo/wad/javasourceSortTab.javaxml   Mon Dec 27 
19:04:48 2010 +0100
+++ b/src-wad/src/org/openbravo/wad/javasourceSortTab.javaxml   Tue Dec 28 
09:10:03 2010 +0100
@@ -43,6 +43,13 @@
   protected static final String tabId = "<PARAMETER_TMP 
id="tabId">Almacen</PARAMETER_TMP>";
   protected static final double SUBTABS_COL_SIZE = 15;
   protected static final int accesslevel = <PARAMETER_TMP 
id="accessLevel">xx</PARAMETER_TMP>;
+  private static final String moduleId = "<PARAMETER_TMP 
id="moduleId">xx</PARAMETER_TMP>";
+  
+  @Override
+  public void init(ServletConfig config) {
+    setClassInfo("W", tabId, moduleId);
+    super.init(config);
+  }
 
   public void doPost (HttpServletRequest request, HttpServletResponse 
response) throws IOException,ServletException {
     VariablesSecureApp vars = new VariablesSecureApp(request);
diff -r 7bb6747e6a19 -r 7c6fb45f969c 
src-wad/src/org/openbravo/wad/javasourceSortTab.xml
--- a/src-wad/src/org/openbravo/wad/javasourceSortTab.xml       Mon Dec 27 
19:04:48 2010 +0100
+++ b/src-wad/src/org/openbravo/wad/javasourceSortTab.xml       Tue Dec 28 
09:10:03 2010 +0100
@@ -12,7 +12,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2001-2008 Openbravo SLU 
+ * All portions are Copyright (C) 2001-2010 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -29,6 +29,7 @@
 <PARAMETER id="key" name = "key" default=" "/>
 <PARAMETER id="windowId" name = "windowId" default=" "/>
 <PARAMETER id="accessLevel" name = "accessLevel" default=" "/>
+<PARAMETER id="moduleId" name = "moduleId" default=" "/>
 <PARAMETER id="tabId" name = "tabId" default=" "/>
 <PARAMETER id="keyParent" name = "keyParent" default=" "/>
 <PARAMETER id="keyParentINP" name = "keyParentINP" default=" "/>
diff -r 7bb6747e6a19 -r 7c6fb45f969c 
src/org/openbravo/base/secureApp/ClassInfo_data.xsql
--- a/src/org/openbravo/base/secureApp/ClassInfo_data.xsql      Mon Dec 27 
19:04:48 2010 +0100
+++ b/src/org/openbravo/base/secureApp/ClassInfo_data.xsql      Tue Dec 28 
09:10:03 2010 +0100
@@ -25,16 +25,15 @@
                                                   WHEN 'S' THEN 
mo.ad_reference_id
                                                   WHEN 'F' THEN 
mo.ad_workflow_id
                                                   WHEN 'C' THEN 
mo.ad_callout_id
-                                                  ELSE mo.ad_tab_id END) AS ID,
+                                                  ELSE null END) AS ID,
           m.name AS NAME, /*Name is only maintained for backwards 
compatibility, now REPORT_TITLE is automatically filled*/
           COALESCE((CASE mo.action WHEN 'X' THEN f.ad_module_id
                                    WHEN 'P' THEN p.ad_module_id
                                    WHEN 'R' THEN p.ad_module_id
-                                   WHEN 'T' THEN null
                                    WHEN 'S' THEN r.ad_module_id
                                    WHEN 'F' THEN w.ad_module_id
                                    WHEN 'C' THEN c.ad_module_id
-                                   ELSE ta.ad_module_id END), mo.ad_module_id) 
AS ad_module_id
+                                   ELSE null END), mo.ad_module_id) AS 
ad_module_id
         FROM ad_model_object mo
              LEFT JOIN ad_menu m ON mo.ad_process_id = m.ad_process_id
                                     AND mo.action IN ('P', 'R')
@@ -44,7 +43,6 @@
              LEFT JOIN ad_reference r ON mo.ad_reference_id = r.ad_reference_id
              LEFT JOIN ad_workflow w ON mo.ad_workflow_id = w.ad_workflow_id
              LEFT JOIN ad_callout c ON mo.ad_callout_id = c.ad_callout_id
-             LEFT JOIN ad_tab ta ON mo.ad_tab_id = ta.ad_tab_id
         WHERE mo.classname = ?
           AND mo.isdefault = 'Y'
           AND mo.isactive = 'Y'
diff -r 7bb6747e6a19 -r 7c6fb45f969c 
src/org/openbravo/base/secureApp/HttpSecureAppServlet.java
--- a/src/org/openbravo/base/secureApp/HttpSecureAppServlet.java        Mon Dec 
27 19:04:48 2010 +0100
+++ b/src/org/openbravo/base/secureApp/HttpSecureAppServlet.java        Tue Dec 
28 09:10:03 2010 +0100
@@ -158,12 +158,14 @@
     try {
       if (log4j.isDebugEnabled())
         log4j.debug("Servlet request for class info: " + this.getClass());
-      ClassInfoData[] classInfoAux = ClassInfoData.select(this, 
this.getClass().getName());
-      if (classInfoAux != null && classInfoAux.length > 0)
-        classInfo = classInfoAux[0];
-      else {
-        classInfoAux = ClassInfoData.set();
-        classInfo = classInfoAux[0];
+      if (classInfo == null) {
+        ClassInfoData[] classInfoAux = ClassInfoData.select(this, 
this.getClass().getName());
+        if (classInfoAux != null && classInfoAux.length > 0)
+          classInfo = classInfoAux[0];
+        else {
+          classInfoAux = ClassInfoData.set();
+          classInfo = classInfoAux[0];
+        }
       }
     } catch (final Exception ex) {
       log4j.error(ex);
@@ -177,6 +179,19 @@
     }
   }
 
+  /**
+   * Sets information about the artifact the servlet is for. This method is 
called from generated
+   * 2.50 windows to set tab and module, before calling this init, so it is 
not needed to query
+   * database to retrieve this info.
+   * 
+   */
+  protected void setClassInfo(String type, String id, String module) {
+    classInfo = new ClassInfoData();
+    classInfo.type = type;
+    classInfo.id = id;
+    classInfo.adModuleId = module;
+  }
+
   @Override
   public void service(HttpServletRequest request, HttpServletResponse 
response) throws IOException,
       ServletException {

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to