KickJava   Java API By Example, From Geeks To Geeks.

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


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.base.secureApp.*;
22 import java.io.*;
23 import javax.servlet.*;
24 import javax.servlet.http.*;
25 import org.openbravo.utils.FormatUtilities;
26
27
28 public class ReferencedLink extends HttpSecureAppServlet {
29   
30
31   public void init (ServletConfig config) {
32     super.init(config);
33     boolHist = false;
34   }
35   
36   public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
37     VariablesSecureApp vars = new VariablesSecureApp(request);
38
39     if (vars.commandIn("DEFAULT")) {
40       
41       
42       String JavaDoc strKeyReferenceColumnName = vars.getRequiredStringParameter("inpKeyReferenceColumnName");
43       //String strKeyReferenceName = vars.getRequiredStringParameter("inpKeyReferenceName");
44
//String strTableId = vars.getRequiredStringParameter("inpTableId");
45
String JavaDoc strTableReferenceId = vars.getRequiredStringParameter("inpTableReferenceId");
46       String JavaDoc strKeyReferenceId = vars.getStringParameter("inpKeyReferenceId");
47       //String strTabId = vars.getStringParameter("inpTabId");
48
String JavaDoc strWindowId = vars.getStringParameter("inpwindowId");
49       String JavaDoc strTableName = ReferencedLinkData.selectTableName(this, strTableReferenceId);
50       boolean isSOTrx = true;
51       
52       if (log4j.isDebugEnabled()) log4j.debug("strKeyReferenceColumnName:"+strKeyReferenceColumnName+" strTableReferenceId:"+strTableReferenceId+" strKeyReferenceId:"+strKeyReferenceId+" strWindowId:"+strWindowId+" strTableName:"+strTableName);
53       {
54         ReferencedTables ref = new ReferencedTables(this, strTableReferenceId, strKeyReferenceColumnName, strKeyReferenceId);
55         if (!ref.hasSOTrx()) isSOTrx = (Utility.getContext(this, vars, "IsSOTrx", strWindowId).equals("N")?false:true);
56         else isSOTrx = ref.isSOTrx();
57         ref=null;
58       }
59       {
60         String JavaDoc strTableRealReference = strTableReferenceId;
61         if (strTableReferenceId.equals("800018")) { //DP
62
if (ReferencedTablesData.selectKeyId(this, "C_INVOICE_ID", strTableName, strKeyReferenceColumnName, strKeyReferenceId).equals("")) {
63             if (!ReferencedTablesData.selectKeyId(this, "C_ORDER_ID", strTableName, strKeyReferenceColumnName, strKeyReferenceId).equals("")) {
64               strTableRealReference = ReferencedTablesData.selectTableId(this, "C_Order");
65             }else {
66               strTableRealReference = ReferencedTablesData.selectTableId(this, "C_Settlement");
67               strTableReferenceId = "800021";
68             }
69           }
70         }
71         ReferencedLinkData[] data = ReferencedLinkData.selectWindows(this, strTableRealReference);
72         if (data==null || data.length==0) throw new ServletException("Window not found");
73
74         strWindowId = data[0].adWindowId;
75         if (!isSOTrx && !data[0].poWindowId.equals("")) strWindowId = data[0].poWindowId;
76       }
77       ReferencedLinkData[] data = ReferencedLinkData.select(this, strWindowId, strTableReferenceId);
78       if (data == null || data.length==0) throw new ServletException("Window not found: " + strWindowId);
79       String JavaDoc windowName = data[0].windowname;
80       String JavaDoc tabName = data[0].tabname;
81       if (strKeyReferenceId.equals("")) {
82         data = ReferencedLinkData.selectParent(this, strWindowId);
83         if (data == null || data.length==0) throw new ServletException("Window parent not found: " + strWindowId);
84         windowName = data[0].windowname;
85         tabName = data[0].tabname;
86       }
87       StringBuffer JavaDoc cadena = new StringBuffer JavaDoc();
88       cadena.append(strDireccion).append("/").append(FormatUtilities.replace(windowName)).append("/").append(FormatUtilities.replace(tabName));
89       cadena.append("_Edition.html?Command=").append((strKeyReferenceId.equals("")?"DEFAULT":"DIRECT")).append("&");
90       cadena.append("inpDirectKey").append("=").append(strKeyReferenceId);
91       if (log4j.isDebugEnabled()) log4j.debug(cadena.toString());
92       response.sendRedirect(cadena.toString());
93     } else throw new ServletException();
94   }
95
96   public String JavaDoc getServletInfo() {
97     return "Servlet that presents the referenced links";
98   } // end of getServletInfo() method
99
}
100
Popular Tags