/* * Copyright 2011-2014 Amazon Technologies, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://aws.amazon.com/apache2.0 * * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and * limitations under the License. */ package com.amazonaws.eclipse.rds.connectionfactories; import java.util.Properties; import com.amazonaws.eclipse.rds.ImportDBInstanceDataModel; /** * Configuration details for Oracle connections. */ public class OracleConnectionFactory extends DatabaseConnectionFactory { private final ImportDBInstanceDataModel wizardDataModel; public OracleConnectionFactory(ImportDBInstanceDataModel wizardDataModel) { this.wizardDataModel = wizardDataModel; } @Override public String getDriverClass() { return "oracle.jdbc.OracleDriver"; } @Override public String getDatabaseVendor() { return "Oracle"; } @Override public String getDatabaseVersion() { return "11"; } @Override public Properties getAdditionalDriverProperties() { Properties driverProperties = new Properties(); driverProperties.setProperty("org.eclipse.datatools.enablement.oracle.catalogType", "USER"); return driverProperties; } @Override public String createJdbcUrl() { // Example Oracle JDBC URL: jdbc:oracle:thin:@server:1521:db String host = wizardDataModel.getDbInstance().getEndpoint().getAddress(); Integer port = wizardDataModel.getDbInstance().getEndpoint().getPort(); String dbName = wizardDataModel.getDbInstance().getDBName(); return "jdbc:oracle:thin:@" + host + ":" + port + ":" + dbName; } @Override public String createDriverName() { return "RDS Oracle Driver"; } @Override public String getDriverTemplate() { return "org.eclipse.datatools.enablement.oracle.11.driverTemplate"; } @Override public String getConnectionProfileProviderId() { return "org.eclipse.datatools.enablement.oracle.connectionProfile"; } }