KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cmsinstaller > InfoGlueInstaller


1 /* ===============================================================================
2  *
3  * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4  *
5  * ===============================================================================
6  *
7  * Copyright (C)
8  *
9  * This program is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License version 2, as published by the
11  * Free Software Foundation. See the file LICENSE.html for more information.
12  *
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19  * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20  *
21  * ===============================================================================
22  */

23
24 package org.infoglue.cmsinstaller;
25
26 import java.io.*;
27 import java.util.*;
28 import javax.swing.*;
29
30
31 /**
32  * This is the main class for the installer. What the installer should do is as follows:
33  *
34  * 1. Ask for the root-access to the database we should use and set up a new database.
35  * 2. All tables and access rights should be set upp by the installer as well as a small example site.
36  * 3. Unpack the webarchive into the correct forlder and set up the property-files as the user specifies them.
37  */

38
39 public class InfoGlueInstaller
40 {
41     private DatabaseCommander commander = null;
42     public InstallerSkeleton installerSkeleton = null;
43     
44     public static void main(String JavaDoc[] args)
45     {
46         /*
47         try
48         {
49             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
50         }
51         catch (Exception e)
52         {
53             e.printStackTrace();
54         }
55         */

56         InfoGlueInstaller infoGlueInstaller = new InfoGlueInstaller();
57         infoGlueInstaller.showInstallerSkeleton();
58     }
59         
60     public InfoGlueInstaller()
61     {
62     }
63
64     public void showInstallerSkeleton()
65     {
66         installerSkeleton = new InstallerSkeleton(this);
67         JFrame.setDefaultLookAndFeelDecorated(true);
68         installerSkeleton.setIconImage(new ImageIcon("images/windowIcon.gif").getImage());
69         installerSkeleton.setTitle("InfoGlue Content Management Platform");
70         installerSkeleton.showIntroductionDialog();
71         installerSkeleton.show();
72     }
73
74     public void setBackButtonCommand(String JavaDoc command)
75     {
76         this.installerSkeleton.backButton.setActionCommand(command);
77     }
78
79     public void setNextButtonCommand(String JavaDoc command)
80     {
81         this.installerSkeleton.nextButton.setActionCommand(command);
82     }
83     
84     public void setNextButtonLabel(String JavaDoc label)
85     {
86         this.installerSkeleton.nextButton.setLabel(label);
87     }
88
89     public void setupDatabaseEnvironment() throws Exception JavaDoc
90     {
91         if(installerSkeleton.databaseDialog.getDatabaseTypeName().equalsIgnoreCase("MySQL"))
92         {
93             String JavaDoc url = "jdbc:mysql://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/mysql";
94             commander = new MySQLDatabaseCommander(installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabasePort(), installerSkeleton.databaseDialog.getDatabaseInstance(), url, installerSkeleton.databaseDialog.getDatabaseUser(), installerSkeleton.databaseDialog.getDatabasePassword(), installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.serverDialog.getHostName(), installerSkeleton.databaseDialog.getCreateDatabase(), installerSkeleton.databaseDialog.getCreateInitialData(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples());
95         }
96         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equalsIgnoreCase("SQL Server"))
97         {
98             //String url = "jdbc:microsoft:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":1433";
99
//String url = "jdbc:jtds:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "";
100
String JavaDoc url = "jdbc:jtds:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ((installerSkeleton.databaseDialog.getDatabaseInstance().equalsIgnoreCase("") ? "" : ";INSTANCE=" + installerSkeleton.databaseDialog.getDatabaseInstance()));
101             commander = new SQLServerDatabaseCommander(installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabasePort(), installerSkeleton.databaseDialog.getDatabaseInstance(), url, installerSkeleton.databaseDialog.getDatabaseUser(), installerSkeleton.databaseDialog.getDatabasePassword(), installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.serverDialog.getHostName(), installerSkeleton.databaseDialog.getCreateDatabase(), installerSkeleton.databaseDialog.getCreateInitialData(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples());
102         }
103         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equalsIgnoreCase("Oracle"))
104         {
105             String JavaDoc url = "jdbc:oracle:thin:" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ":" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
106             commander = new OracleDatabaseCommander(installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabasePort(), installerSkeleton.databaseDialog.getDatabaseInstance(), url, installerSkeleton.databaseDialog.getDatabaseUser(), installerSkeleton.databaseDialog.getDatabasePassword(), installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.serverDialog.getHostName(), installerSkeleton.databaseDialog.getCreateDatabase(), installerSkeleton.databaseDialog.getCreateInitialData(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples());
107         }
108         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equalsIgnoreCase("DB2"))
109         {
110             String JavaDoc url = "jdbc:db2://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
111             commander = new DB2DatabaseCommander(installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabasePort(), installerSkeleton.databaseDialog.getDatabaseInstance(), url, installerSkeleton.databaseDialog.getDatabaseUser(), installerSkeleton.databaseDialog.getDatabasePassword(), installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.serverDialog.getHostName(), installerSkeleton.databaseDialog.getCreateDatabase(), installerSkeleton.databaseDialog.getCreateInitialData(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples());
112         }
113
114         commander.createCastorRootFile();
115         
116         if(installerSkeleton.databaseDialog.getCreateDatabase() || installerSkeleton.databaseDialog.getCreateInitialData())
117         {
118             commander.setupDatabase();
119         }
120         else
121         {
122             String JavaDoc databaseServer = installerSkeleton.databaseDialog.getDatabaseServer();
123             String JavaDoc databasePort = installerSkeleton.databaseDialog.getDatabasePort();
124             String JavaDoc databaseName = installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
125             String JavaDoc userName = installerSkeleton.databaseDialog.getInfoGlueUserName(); //"infoglue" + installerSkeleton.databaseDialog.getDbSuffix();
126
String JavaDoc password = installerSkeleton.databaseDialog.getInfoGluePassword();
127             //new UpgradeManager(installerSkeleton.databaseDialog.getUpgradeDatabaseEncoding(), "ISO-8859-1").upgradeTo1_3(commander, databaseServer, databasePort, databaseName, userName, password);
128
//new UpgradeManager(installerSkeleton.databaseDialog.getUpgradeDatabaseEncoding(), "ISO-8859-1").upgradeToCurrentVersion() .upgradeTo1_3_2(commander, databaseServer, databasePort, databaseName, userName, password);
129
new UpgradeManager(installerSkeleton.databaseDialog.getUpgradeDatabaseEncoding(), "ISO-8859-1").upgradeToCurrentVersion(commander, databaseServer, databasePort, databaseName, userName, password);
130         }
131         
132         commander.createCastorFile();
133         //commander.createOSWorkflowFile();
134
commander.createOSPropertiesFile();
135     }
136
137
138     public void checkDatabase() throws Exception JavaDoc
139     {
140         if(installerSkeleton.databaseDialog.getInfoGluePassword() == null || installerSkeleton.databaseDialog.getInfoGluePassword().length() == 0)
141             throw new Exception JavaDoc("You must supply the InfoGlue password.");
142             
143         DatabaseCommander commander = null;
144         if(installerSkeleton.databaseDialog.getDatabaseTypeName().equalsIgnoreCase("MySQL"))
145         {
146             String JavaDoc url = "jdbc:mysql://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/mysql";
147             commander = new MySQLDatabaseCommander(installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabasePort(), installerSkeleton.databaseDialog.getDatabaseInstance(), url, installerSkeleton.databaseDialog.getDatabaseUser(), installerSkeleton.databaseDialog.getDatabasePassword(), installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.databaseDialog.getDbSuffix(), null, installerSkeleton.databaseDialog.getCreateDatabase(), installerSkeleton.databaseDialog.getCreateInitialData(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples());
148         }
149         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equalsIgnoreCase("SQL Server"))
150         {
151             //String url = "jdbc:microsoft:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":1433";
152
//String url = "jdbc:jtds:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "";
153
String JavaDoc url = "jdbc:jtds:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ((installerSkeleton.databaseDialog.getDatabaseInstance().equalsIgnoreCase("")) ? "" : ";INSTANCE=" + installerSkeleton.databaseDialog.getDatabaseInstance());
154             commander = new SQLServerDatabaseCommander(installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabasePort(), installerSkeleton.databaseDialog.getDatabaseInstance(), url, installerSkeleton.databaseDialog.getDatabaseUser(), installerSkeleton.databaseDialog.getDatabasePassword(), installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.databaseDialog.getDbSuffix(), null, installerSkeleton.databaseDialog.getCreateDatabase(), installerSkeleton.databaseDialog.getCreateInitialData(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples());
155         }
156         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equalsIgnoreCase("Oracle"))
157         {
158             String JavaDoc url = "jdbc:oracle:thin:@" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ":" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
159             commander = new OracleDatabaseCommander(installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabasePort(), installerSkeleton.databaseDialog.getDatabaseInstance(), url, installerSkeleton.databaseDialog.getDatabaseUser(), installerSkeleton.databaseDialog.getDatabasePassword(), installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.databaseDialog.getDbSuffix(), null, installerSkeleton.databaseDialog.getCreateDatabase(), installerSkeleton.databaseDialog.getCreateInitialData(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples());
160         }
161         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equalsIgnoreCase("DB2"))
162         {
163             String JavaDoc url = "jdbc:db2://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
164             commander = new DB2DatabaseCommander(installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabasePort(), installerSkeleton.databaseDialog.getDatabaseInstance(), url, installerSkeleton.databaseDialog.getDatabaseUser(), installerSkeleton.databaseDialog.getDatabasePassword(), installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.databaseDialog.getDbSuffix(), null, installerSkeleton.databaseDialog.getCreateDatabase(), installerSkeleton.databaseDialog.getCreateInitialData(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples(), installerSkeleton.databaseDialog.getCreateExamples());
165         }
166
167         
168         if(installerSkeleton.databaseDialog.getCreateDatabase() || installerSkeleton.databaseDialog.getCreateInitialData())
169         {
170             commander.testSetupDummyDatabase();
171         }
172         else
173         {
174             commander.testConnectDatabase();
175         }
176         
177     }
178
179     
180     public void setupPropertyFiles(InstallationCommander installationCommander) throws Exception JavaDoc
181     {
182         String JavaDoc url = "";
183         if(installerSkeleton.databaseDialog.getDatabaseTypeName().equals("MySQL"))
184         {
185             MySQLDatabaseCommander mySQLDatabaseCommander = (MySQLDatabaseCommander)commander;
186             if(mySQLDatabaseCommander.getMysqlVersion().indexOf("4.1") > -1 && mySQLDatabaseCommander.getCharset() != null)
187                 url = "jdbc:mysql://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + "?autoReconnect=true";
188             else
189                 url = "jdbc:mysql://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + "?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8";
190         }
191         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equals("SQL Server"))
192         {
193             url = "jdbc:jtds:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ((installerSkeleton.databaseDialog.getDatabaseInstance().equalsIgnoreCase("")) ? ";DatabaseName=" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + ";SelectMethod=Cursor" : ";INSTANCE=" + installerSkeleton.databaseDialog.getDatabaseInstance() + ";DatabaseName=" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + ";SelectMethod=Cursor");
194             //url = "jdbc:jtds:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ";DatabaseName=" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + ";SelectMethod=Cursor";
195
//url = "jdbc:microsoft:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":1433;DatabaseName=" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + ";SelectMethod=Cursor";
196
}
197         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equals("Oracle"))
198             url = "jdbc:oracle:thin:@" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ":" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
199         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equals("DB2"))
200             url = "jdbc:db2://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
201         
202         String JavaDoc comment = "#";
203         String JavaDoc installPreview = installerSkeleton.serverDialog.getCreateDeliverPreview();
204         if(installPreview.equalsIgnoreCase("yes"))
205             comment = "";
206             
207         ConfigurationFileCommander commander = new ConfigurationFileCommander(installerSkeleton.serverDialog.getHostName(), installerSkeleton.serverDialog.getApplicationServerHomePath(), installerSkeleton.serverDialog.getSmtpHostName(), installerSkeleton.serverDialog.getPortNumber(), installerSkeleton.serverDialog.getApplicationSuffix(), installerSkeleton.serverDialog.getApplicationPath(), comment, installerSkeleton.serverDialog.getSuperUserName(), installerSkeleton.serverDialog.getSuperUserPassword(), installerSkeleton.serverDialog.getActionDispatcher(), installerSkeleton.serverDialog.getEnablePortal(), installerSkeleton.databaseDialog.getDatabaseDriverName(), url, installerSkeleton.databaseDialog.getInfoGlueUserName(), installerSkeleton.databaseDialog.getInfoGluePassword(), installerSkeleton.databaseDialog.getDatabaseDialectName());
208         commander.createCMSPropertyFile();
209         commander.createDeliverWorkingPropertyFile(installationCommander);
210         commander.createDeliverPreviewPropertyFile(installationCommander);
211         commander.createDeliverLivePropertyFile(installationCommander);
212         commander.createCMSWebappFile();
213         commander.createDeliverWebappFile();
214         commander.createHibernateConfigFile();
215         TomcatConfigFilesUpdater tomcatConfigFilesUpdater = new TomcatConfigFilesUpdater();
216         tomcatConfigFilesUpdater.setAppDir(installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueCMS" + installerSkeleton.serverDialog.getApplicationSuffix());
217         tomcatConfigFilesUpdater.setAppName("infoglueCMS" + installerSkeleton.serverDialog.getApplicationSuffix());
218         tomcatConfigFilesUpdater.setDriverName(installerSkeleton.databaseDialog.getDatabaseDriverName());
219         tomcatConfigFilesUpdater.setConnUrl(url);
220         tomcatConfigFilesUpdater.setLogDir(installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueCMS" + installerSkeleton.serverDialog.getApplicationSuffix() + File.separator + "logs");
221         tomcatConfigFilesUpdater.setPath(installerSkeleton.serverDialog.getApplicationServerHomePath() + File.separator + "conf");
222         tomcatConfigFilesUpdater.setUsrName(installerSkeleton.databaseDialog.getInfoGlueUserName());
223         tomcatConfigFilesUpdater.setUsrPass(installerSkeleton.databaseDialog.getInfoGluePassword());
224         tomcatConfigFilesUpdater.updateConfiguration();
225         
226         tomcatConfigFilesUpdater.updateConfiguration("infoglueDeliverWorking" + installerSkeleton.serverDialog.getApplicationSuffix(), installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverWorking" + installerSkeleton.serverDialog.getApplicationSuffix(), installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverWorking" + installerSkeleton.serverDialog.getApplicationSuffix() + File.separator + "logs");
227         tomcatConfigFilesUpdater.updateConfiguration("infoglueDeliverPreview" + installerSkeleton.serverDialog.getApplicationSuffix(), installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverPreview" + installerSkeleton.serverDialog.getApplicationSuffix(), installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverPreview" + installerSkeleton.serverDialog.getApplicationSuffix() + File.separator + "logs");
228         tomcatConfigFilesUpdater.updateConfiguration("infoglueDeliverLive" + installerSkeleton.serverDialog.getApplicationSuffix(), installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverLive" + installerSkeleton.serverDialog.getApplicationSuffix(), installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverLive" + installerSkeleton.serverDialog.getApplicationSuffix() + File.separator + "logs");
229     }
230     
231     public void finishInstallation() throws Exception JavaDoc
232     {
233         installerSkeleton.installingDialog.getTextArea().append("Setting up database properties.......");
234         this.setupDatabaseEnvironment();
235         installerSkeleton.installingDialog.getTextArea().append("Done.\n");
236
237         installerSkeleton.installingDialog.getTextArea().append("Setting up system properties.......");
238         InstallationCommander commander = InstallationCommander.getInstallationCommander(installerSkeleton.serverDialog.getApplicationServer(), installerSkeleton.serverDialog.getApplicationPath(), installerSkeleton.serverDialog.getApplicationSuffix(), installerSkeleton.serverDialog.getApplicationServerHomePath(), installerSkeleton.serverDialog.getCreateCMS(), installerSkeleton.serverDialog.getCreateDeliverWorking(), installerSkeleton.serverDialog.getCreateDeliverPreview(), installerSkeleton.serverDialog.getCreateDeliverLive(), getTomcatContextPath());
239         this.setupPropertyFiles(commander);
240         installerSkeleton.installingDialog.getTextArea().append("Done.\n");
241         
242         installerSkeleton.installingDialog.getTextArea().append("Installing InfoGlue applications.......");
243
244         commander.installFiles(installerSkeleton.databaseDialog.getDatabaseTypeName());
245
246         installerSkeleton.installingDialog.getTextArea().append("Done.\n");
247
248         Uninstaller uninstaller = new Uninstaller();
249         ArrayList dirs = new ArrayList();
250         dirs.add(installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueCMS" + installerSkeleton.serverDialog.getApplicationSuffix());
251         dirs.add(installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverWorking" + installerSkeleton.serverDialog.getApplicationSuffix());
252         dirs.add(installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverPreview" + installerSkeleton.serverDialog.getApplicationSuffix());
253         dirs.add(installerSkeleton.serverDialog.getApplicationPath() + File.separator + "infoglueDeliverLive" + installerSkeleton.serverDialog.getApplicationSuffix());
254         
255         String JavaDoc url = "";
256         if(installerSkeleton.databaseDialog.getDatabaseTypeName().equals("MySQL"))
257             url = "jdbc:mysql://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
258         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equals("SQL Server"))
259         {
260             url = "jdbc:jtds:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ((installerSkeleton.databaseDialog.getDatabaseInstance().equalsIgnoreCase("")) ? "" : ";INSTANCE=" + installerSkeleton.databaseDialog.getDatabaseInstance() + ";DatabaseName=" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + ";SelectMethod=Cursor");
261             //url = "jdbc:jtds:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ";DatabaseName=" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + ";SelectMethod=Cursor";
262
//url = "jdbc:microsoft:sqlserver://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":1433;DatabaseName=" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix() + ";SelectMethod=Cursor";
263
}
264         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equals("Oracle"))
265             url = "jdbc:oracle:thin:@" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + ":" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
266         else if(installerSkeleton.databaseDialog.getDatabaseTypeName().equals("DB2"))
267             url = "jdbc:db2://" + installerSkeleton.databaseDialog.getDatabaseServer() + ":" + installerSkeleton.databaseDialog.getDatabasePort() + "/" + installerSkeleton.databaseDialog.getDatabaseName() + installerSkeleton.databaseDialog.getDbSuffix();
268
269         //uninstaller.createStartMenuItems(dirs, url, installerSkeleton.databaseDialog.getDatabaseServer(), installerSkeleton.databaseDialog.getDatabaseDriverName(), installerSkeleton.serverDialog.getTomcatHomePath() + File.separator + "conf", "infoglue" + installerSkeleton.databaseDialog.getDbSuffix(), installerSkeleton.serverDialog.getHostName());
270
}
271     
272     
273     /**
274      * This method gets the path where to store the context files.
275      */

276
277     public String JavaDoc getTomcatContextPath()
278     {
279         String JavaDoc tomcatContextPath = "webapps";
280         
281         if(installerSkeleton.serverDialog.getApplicationServer().equals("Tomcat 5.x"))
282             tomcatContextPath = "conf" + File.separator + "Catalina" + File.separator + "localhost";
283         
284         return tomcatContextPath;
285     }
286     
287     public void logProgress(String JavaDoc message)
288     {
289         try
290         {
291             PrintWriter pw = new PrintWriter(new FileOutputStream("install.log"));
292             pw.println("" + message);
293         }
294         catch(Exception JavaDoc e)
295         {
296             e.printStackTrace();
297         }
298     }
299     
300 }
Popular Tags