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