KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > ad_actionButton > ProjectCopyFrom


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.ad_actionButton;
20
21 import org.openbravo.erpCommon.utility.SequenceIdData;
22 import org.openbravo.erpCommon.utility.Utility;
23 import org.openbravo.utils.FormatUtilities;
24 import org.openbravo.base.secureApp.HttpSecureAppServlet;
25 import org.openbravo.base.secureApp.VariablesSecureApp;
26 import org.openbravo.xmlEngine.XmlDocument;
27 import java.io.*;
28 import javax.servlet.*;
29 import javax.servlet.http.*;
30
31 // imports for transactions
32
import java.sql.Connection JavaDoc;
33
34
35 public class ProjectCopyFrom extends HttpSecureAppServlet {
36   
37
38   public void init (ServletConfig config) {
39     super.init(config);
40     boolHist = false;
41   }
42
43   public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
44     VariablesSecureApp vars = new VariablesSecureApp(request);
45
46     if (vars.commandIn("DEFAULT")) {
47       String JavaDoc strProcessId = vars.getStringParameter("inpProcessId");
48       String JavaDoc strWindow = vars.getStringParameter("inpwindowId");
49       String JavaDoc strTab = vars.getStringParameter("inpTabId");
50       String JavaDoc strProject = vars.getStringParameter("inpProject", "");
51       String JavaDoc strKey = vars.getRequiredGlobalVariable("inpcProjectId", strWindow + "|C_Project_ID");
52       printPage(response, vars, strKey, strProject, strWindow, strTab, strProcessId);
53     } else if (vars.commandIn("SAVE")) {
54       String JavaDoc strWindow = vars.getStringParameter("inpwindowId");
55       String JavaDoc strProject = vars.getStringParameter("inpProject");
56       String JavaDoc strKey = vars.getRequestGlobalVariable("inpcProjectId", strWindow + "|C_Project_ID");
57       String JavaDoc strTab = vars.getStringParameter("inpTabId");
58       ActionButtonDefaultData[] tab = ActionButtonDefaultData.windowName(this, strTab);
59       String JavaDoc strWindowPath="", strTabName="";
60       if (tab!=null && tab.length!=0) {
61         strTabName = FormatUtilities.replace(tab[0].name);
62         strWindowPath = "../" + FormatUtilities.replace(tab[0].description) + "/" + strTabName + "_Relation.html";
63       } else strWindowPath = strDefaultServlet;
64       String JavaDoc messageResult = processButton(vars, strKey, strProject, strWindow);
65       vars.setSessionValue(strWindow + "|" + strTabName + ".message", messageResult);
66       printPageClosePopUp(response, vars, strWindowPath);
67     } else pageErrorPopUp(response);
68   }
69
70
71   String JavaDoc processButton(VariablesSecureApp vars, String JavaDoc strKey, String JavaDoc strProject, String JavaDoc windowId) {
72     Connection JavaDoc conn = null;
73     try {
74       conn = this.getTransactionConnection();
75       String JavaDoc projectCategory = ProjectCopyFromData.selectProjectCategory(this, strKey);
76       if (projectCategory.equals("S")){
77         ProjectCopyFromData[] data = ProjectCopyFromData.select(this, strProject);
78     ProjectSetTypeData[] dataProject = ProjectSetTypeData.selectProject(this, strKey);
79         String JavaDoc strProjectPhase = "";
80         String JavaDoc strProjectTask = "";
81         for (int i=0;data!=null && i<data.length;i++){
82           strProjectPhase = SequenceIdData.getSequence(this, "C_ProjectPhase", dataProject[0].adClientId);
83           if (!ProjectCopyFromData.hasPhase(this, strKey, data[i].cPhaseId)) if (ProjectCopyFromData.insertProjectPhase(conn, this, strKey, dataProject[0].adClientId, dataProject[0].adOrgId, vars.getUser(), data[i].description, data[i].mProductId, data[i].cPhaseId, strProjectPhase, data[i].help, data[i].name, data[i].qty, data[i].seqno)==1){
84               ProjectCopyFromData[] data1 = ProjectCopyFromData.selectTask(this, data[i].cProjectphaseId);
85               for (int j=0;data1!=null && j<data1.length;j++){
86                   strProjectTask = SequenceIdData.getSequence(this, "C_ProjectTask", dataProject[0].adClientId);
87                   ProjectCopyFromData.insertProjectTask(conn, this,strProjectTask,data1[j].cTaskId, dataProject[0].adClientId, dataProject[0].adOrgId, vars.getUser(), data1[j].seqno, data1[j].name,data1[j].description, data1[j].help, data1[j].mProductId, strProjectPhase, data1[j].qty);
88               }
89           }
90         }
91       }else {
92         String JavaDoc strProjectLine = SequenceIdData.getSequence(this, "C_ProjectLine", vars.getClient());
93         ProjectCopyFromData.insertProjectLine(conn, this, strProjectLine, vars.getClient(), vars.getOrg(), vars.getUser(), strKey, strProject);
94       }
95       String JavaDoc strProjectType = ProjectCopyFromData.selectProjectType(this, strProject);
96       String JavaDoc strProjectCategory = ProjectSetTypeData.selectProjectCategory(this, strProjectType);
97       ProjectSetTypeData.update(conn, this, vars.getUser(), strProjectType, strProjectCategory, strKey);
98
99       releaseCommitConnection(conn);
100       return Utility.messageBD(this, "ProcessOK", vars.getLanguage());
101     } catch (Exception JavaDoc e) {
102       try {
103         releaseRollbackConnection(conn);
104       } catch (Exception JavaDoc ignored) {}
105       e.printStackTrace();
106       log4j.warn("Rollback in transaction");
107       return Utility.messageBD(this, "ProcessRunError", vars.getLanguage());
108     }
109   }
110
111
112   void printPage(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strKey, String JavaDoc strProject, String JavaDoc windowId, String JavaDoc strTab, String JavaDoc strProcessId)
113     throws IOException, ServletException {
114       if (log4j.isDebugEnabled()) log4j.debug("Output: Button process Project set Type");
115
116       ActionButtonDefaultData[] data = null;
117       String JavaDoc strHelp="", strDescription="";
118       if (vars.getLanguage().equals("en_US")) data = ActionButtonDefaultData.select(this, strProcessId);
119       else data = ActionButtonDefaultData.selectLanguage(this, vars.getLanguage(), strProcessId);
120
121       if (data!=null && data.length!=0) {
122         strDescription = data[0].description;
123         strHelp = data[0].help;
124       }
125       String JavaDoc[] discard = {""};
126       if (strHelp.equals("")) discard[0] = new String JavaDoc("helpDiscard");
127       XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_actionButton/ProjectCopyFrom", discard).createXmlDocument();
128       xmlDocument.setParameter("key", strKey);
129       xmlDocument.setParameter("window", windowId);
130       xmlDocument.setParameter("tab", strTab);
131       xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
132       xmlDocument.setParameter("question", Utility.messageBD(this, "StartProcess?", vars.getLanguage()));
133       xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
134       xmlDocument.setParameter("description", strDescription);
135       xmlDocument.setParameter("help", strHelp);
136
137       xmlDocument.setData("reportcProjectId", "liststructure", ProjectCopyFromData.selectC_Project_ID(this, Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", ""), strKey));
138       xmlDocument.setParameter("Project", strProject);
139
140       response.setContentType("text/html; charset=UTF-8");
141       PrintWriter out = response.getWriter();
142       out.println(xmlDocument.print());
143       out.close();
144     }
145
146   public String JavaDoc getServletInfo() {
147     return "Servlet Project set Type";
148   } // end of getServletInfo() method
149
}
150
151
Popular Tags