View Javadoc

1   package com.explosion.expfmodules.rdbmsconn.connectwizard.actions;
2   
3   /* =============================================================================
4    *       
5    *     Copyright 2004 Stephen Cowx
6    *
7    *     Licensed under the Apache License, Version 2.0 (the "License");
8    *     you may not use this file except in compliance with the License.
9    *     You may obtain a copy of the License at
10   *
11   *     http://www.apache.org/licenses/LICENSE-2.0
12   *
13   *     Unless required by applicable law or agreed to in writing, software
14   *     distributed under the License is distributed on an "AS IS" BASIS,
15   *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   *     See the License for the specific language governing permissions and
17   *     limitations under the License.
18   * 
19   * =============================================================================
20   */
21  
22  /***
23   * @author Stephen Cowx
24   * Created on 21-Feb-2005
25   */
26  import java.util.HashMap;
27  import java.util.Map;
28  
29  import com.explosion.expfmodules.rdbmsconn.ConnectionDescriptorManager;
30  import com.explosion.expfmodules.rdbmsconn.RdbmsConnConstants;
31  import com.explosion.expfmodules.rdbmsconn.RdbmsConnModuleManager;
32  import com.explosion.expfmodules.wizard.StepAction;
33  import com.explosion.expfmodules.wizard.Wizard;
34  import com.explosion.expfmodules.wizard.standard.PreferenceDataItem;
35  import com.explosion.utilities.exception.ExceptionManagerFactory;
36  import com.explosion.utilities.preferences.groups.PreferenceGroup;
37  
38  public class OracleConnectionAction implements StepAction {
39  
40  	/***
41  	 * Creates a MySQL database connection based on the information 
42  	 * collected in the wizard.
43  	 */
44  	public boolean execute(Wizard wizard) {
45  		
46  		try {
47  		    
48  		    /* Get the values for the connection from the wizard values */
49  		    String hostname = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("hostname")).getPreference().getValue();
50  			Integer port = (Integer) ((PreferenceDataItem) wizard.getWizardDataValues().get("port")).getPreference().getValue();
51  			String SID = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("sid")).getPreference().getValue();
52  			String user = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("username")).getPreference().getValue();
53  			String pass = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("password")).getPreference().getValue();
54  			String driver = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("driver")).getPreference().getValue();
55  		    
56  			/* Use a manager to create a ConnectionDescriptor preference group */
57  			Map store = new HashMap();
58  			ConnectionDescriptorManager manager = new ConnectionDescriptorManager(RdbmsConnModuleManager.instance().getDriverDescriptorManager(), store);
59  			PreferenceGroup group = manager.createGroup("New connection");
60  			group.setPreferenceValue(RdbmsConnConstants.CD_DRIVER,driver);
61  			group.setPreferenceValue(RdbmsConnConstants.CD_USER,user);
62  			group.setPreferenceValue(RdbmsConnConstants.CD_PASS,pass);
63  
64  			//jdbc:oracle:thin:@[hostname][:port][:SID]
65  			group.setPreferenceValue(RdbmsConnConstants.CD_URL,"jdbc:oracle:thin:@"+hostname+":"+port+":"+SID);
66  			
67  			wizard.getWizardDataValues().put("connection_descriptor", group);
68  			
69  			return true;
70  			
71  		} catch (Exception e) {
72  			ExceptionManagerFactory.getExceptionManager().manageException(e, "Caught exception while creating new instance of connection.");
73  		}
74  		return false;
75  	}
76  }