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 GenericJDBCConnectionAction 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  			String url = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("url")).getPreference().getValue();
49  			String user = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("username")).getPreference().getValue();
50  			String pass = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("password")).getPreference().getValue();
51  			String driver = (String) ((PreferenceDataItem) wizard.getWizardDataValues().get("driver")).getPreference().getValue();
52  			
53  			/* Use a manager to create a ConnectionDescriptor preference group */
54  			Map store = new HashMap();
55  			ConnectionDescriptorManager manager = new ConnectionDescriptorManager(RdbmsConnModuleManager.instance().getDriverDescriptorManager(), store);
56  			PreferenceGroup group = manager.createGroup("New connection");
57  			group.setPreferenceValue(RdbmsConnConstants.CD_DRIVER,driver);
58  			group.setPreferenceValue(RdbmsConnConstants.CD_USER,user);
59  			group.setPreferenceValue(RdbmsConnConstants.CD_PASS,pass);
60  			group.setPreferenceValue(RdbmsConnConstants.CD_URL,url);
61  			
62  			wizard.getWizardDataValues().put("connection_descriptor", group);
63  			return true;
64  			
65  		} catch (Exception e) {
66  			ExceptionManagerFactory.getExceptionManager().manageException(e, "Caught exception while creating new instance of connection.");
67  		}
68  		return false;
69  	}
70  }