use of org.kie.workbench.common.screens.datasource.management.model.DriverDef in project kie-wb-common by kiegroup.
the class DataSourceDefEditorServiceImpl method testConnection.
@Override
public TestResult testConnection(DataSourceDef dataSourceDef, Module module) {
TestResult result = new TestResult(false);
if (isEmpty(dataSourceDef.getConnectionURL())) {
result.setMessage("A valid connection url is required");
return result;
}
if (isEmpty(dataSourceDef.getUser()) || isEmpty(dataSourceDef.getPassword())) {
result.setMessage("A valid user and password are required");
return result;
}
DriverDefInfo driverDefInfo = null;
if (isEmpty(dataSourceDef.getDriverUuid())) {
result.setMessage("A valid driver is required");
return result;
}
if (module != null) {
driverDefInfo = dataSourceDefQueryService.findModuleDriver(dataSourceDef.getDriverUuid(), module.getRootPath());
} else {
driverDefInfo = dataSourceDefQueryService.findGlobalDriver(dataSourceDef.getDriverUuid());
}
if (driverDefInfo == null) {
result.setMessage("Data source driver: " + dataSourceDef.getUuid() + " was not found");
return result;
}
DriverDefEditorContent driverDefEditorContent = driverDefService.loadContent(driverDefInfo.getPath());
DriverDef driverDef = driverDefEditorContent.getDef();
URI uri;
try {
uri = artifactResolver.resolve(driverDef.getGroupId(), driverDef.getArtifactId(), driverDef.getVersion());
} catch (Exception e) {
result.setMessage("Connection could not be tested due to the following error: " + e.getMessage());
return result;
}
if (uri == null) {
result.setMessage("Driver artifact: " + driverDef.getGroupId() + ":" + driverDef.getArtifactId() + ":" + driverDef.getVersion() + " was not found");
return result;
}
try {
Properties properties = new Properties();
properties.put("user", dataSourceDef.getUser());
properties.put("password", dataSourceDef.getPassword());
URLConnectionFactory connectionFactory = new URLConnectionFactory(uri.toURL(), driverDef.getDriverClass(), dataSourceDef.getConnectionURL(), properties);
Connection conn = connectionFactory.createConnection();
if (conn == null) {
result.setMessage("It was not possible to open connection");
} else {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Connection was successfully obtained: " + conn);
stringBuilder.append("\n");
stringBuilder.append("*** DatabaseProductName: " + conn.getMetaData().getDatabaseProductName());
stringBuilder.append("\n");
stringBuilder.append("*** DatabaseProductVersion: " + conn.getMetaData().getDatabaseProductVersion());
stringBuilder.append("\n");
stringBuilder.append("*** DriverName: " + conn.getMetaData().getDriverName());
stringBuilder.append("\n");
stringBuilder.append("*** DriverVersion: " + conn.getMetaData().getDriverVersion());
stringBuilder.append("\n");
conn.close();
stringBuilder.append("Connection was successfully released.");
stringBuilder.append("\n");
result.setTestPassed(true);
result.setMessage(stringBuilder.toString());
}
return result;
} catch (Exception e) {
result.setMessage(e.getMessage());
return result;
}
}
use of org.kie.workbench.common.screens.datasource.management.model.DriverDef in project kie-wb-common by kiegroup.
the class DataSourceRuntimeManagerTest method setup.
@Before
public void setup() {
when(providerFactory.getDataSourceProvider()).thenReturn(dataSourceProvider);
when(providerFactory.getDriverProvider()).thenReturn(driverProvider);
runtimeManager = new DataSourceRuntimeManagerMock(providerFactory);
dataSourceDef = new DataSourceDef();
dataSourceDef.setUuid(DS1_UUID);
dataSourceDef.setName(DS1_NAME);
dataSourceDef.setDriverUuid(DRIVER1_UUID);
dataSourceDef.setConnectionURL(DS1_CONNECTION_URL);
dataSourceDef.setUser(DS1_USER);
dataSourceDef.setPassword(DS1_PASSWORD);
driverDef = new DriverDef();
driverDef.setUuid(DRIVER1_UUID);
driverDef.setName(DRIVER1_NAME);
driverDef.setDriverClass(DRIVER1_CLASS);
driverDef.setArtifactId(ARTIFACT_ID);
driverDef.setGroupId(GROUP_ID);
driverDef.setVersion(VERSION);
driverDeploymentInfo = new DriverDeploymentInfo();
dataSourceDeploymentInfo = new DataSourceDeploymentInfo();
}
use of org.kie.workbench.common.screens.datasource.management.model.DriverDef in project kie-wb-common by kiegroup.
the class NewDriverDefWizard method start.
@Override
public void start() {
driverDefPage.clear();
driverDefPage.setComplete(false);
driverDef = new DriverDef();
driverDefPage.setDriverDef(driverDef);
super.start();
}
use of org.kie.workbench.common.screens.datasource.management.model.DriverDef in project kie-wb-common by kiegroup.
the class DriverDefEditorTest method createContent.
private DriverDefEditorContent createContent() {
DriverDefEditorContent content = new DriverDefEditorContent();
content.setDef(new DriverDef());
content.getDef().setUuid(DRIVER_UUID);
content.getDef().setName(NAME);
content.getDef().setGroupId(GROUP_ID);
content.getDef().setArtifactId(ARTIFACT_ID);
content.getDef().setVersion(VERSION);
content.getDef().setDriverClass(DRIVER_CLASS);
return content;
}
use of org.kie.workbench.common.screens.datasource.management.model.DriverDef in project kie-wb-common by kiegroup.
the class DriverWizardTestBase method setup.
/**
* Initializes the wizard page.
*/
protected void setup() {
mainPanel = new DriverDefMainPanel(mainPanelView);
driverDef = new DriverDef();
editorHelper = new DriverDefEditorHelper(translationService, new ClientValidationServiceMock());
defPage = new DriverDefPage(view, mainPanel, editorHelper, statusChangeEvent);
defPage.setDriverDef(driverDef);
}
Aggregations