Search in sources :

Example 1 with TestResult

use of org.kie.workbench.common.screens.datasource.management.model.TestResult in project kie-wb-common by kiegroup.

the class DataSourceDefEditorHelperTest method testConnection.

private void testConnection(boolean isValid) {
    TestResult result = new TestResult(isValid);
    result.setMessage("Message");
    when(editorService.testConnection(any(DataSourceDef.class))).thenReturn(result);
    when(translationService.getTranslation(DataSourceManagementConstants.DataSourceDefEditor_ConnectionTestFailedMessage)).thenReturn(ERROR);
    when(translationService.getTranslation(DataSourceManagementConstants.DataSourceDefEditor_ConnectionTestSuccessfulMessage)).thenReturn("OK");
    editorHelper.onTestConnection();
    if (isValid) {
        verify(popupsUtil, times(1)).showInformationPopup(new SafeHtmlBuilder().appendEscapedLines("OK" + "\n" + "Message").toSafeHtml().asString());
    } else {
        verify(popupsUtil, times(1)).showInformationPopup(new SafeHtmlBuilder().appendEscapedLines(ERROR + "\n" + "Message").toSafeHtml().asString());
    }
}
Also used : DataSourceDef(org.kie.workbench.common.screens.datasource.management.model.DataSourceDef) TestResult(org.kie.workbench.common.screens.datasource.management.model.TestResult) SafeHtmlBuilder(com.google.gwt.safehtml.shared.SafeHtmlBuilder)

Example 2 with TestResult

use of org.kie.workbench.common.screens.datasource.management.model.TestResult 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;
    }
}
Also used : URLConnectionFactory(org.kie.workbench.common.screens.datasource.management.util.URLConnectionFactory) DriverDefInfo(org.kie.workbench.common.screens.datasource.management.model.DriverDefInfo) DriverDefEditorContent(org.kie.workbench.common.screens.datasource.management.model.DriverDefEditorContent) Connection(java.sql.Connection) TestResult(org.kie.workbench.common.screens.datasource.management.model.TestResult) DriverDef(org.kie.workbench.common.screens.datasource.management.model.DriverDef) Properties(java.util.Properties) URI(java.net.URI)

Example 3 with TestResult

use of org.kie.workbench.common.screens.datasource.management.model.TestResult in project kie-wb-common by kiegroup.

the class DataSourceRuntimeManagerClientServiceImpl method test.

private TestResult test(final DataSource dataSource) {
    TestResult testResult = new TestResult(false);
    StringBuilder stringBuilder = new StringBuilder();
    try {
        checkNotNull("dataSource", dataSource);
        stringBuilder.append("Reference to datasource was successfully obtained: " + dataSource);
        stringBuilder.append("\n");
        Connection conn = dataSource.getConnection();
        if (conn == null) {
            stringBuilder.append("It was not possible to get connection from the datasoure.");
            stringBuilder.append("\n");
            stringBuilder.append("Test Failed");
        } else {
            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");
            stringBuilder.append("Test Successful");
            testResult.setTestPassed(true);
        }
    } catch (Exception e) {
        stringBuilder.append(e.getMessage());
        stringBuilder.append("\n");
        stringBuilder.append("Test Failed");
    }
    testResult.setMessage(stringBuilder.toString());
    return testResult;
}
Also used : Connection(java.sql.Connection) TestResult(org.kie.workbench.common.screens.datasource.management.model.TestResult) GenericPortableException(org.guvnor.common.services.shared.exceptions.GenericPortableException)

Aggregations

TestResult (org.kie.workbench.common.screens.datasource.management.model.TestResult)3 Connection (java.sql.Connection)2 SafeHtmlBuilder (com.google.gwt.safehtml.shared.SafeHtmlBuilder)1 URI (java.net.URI)1 Properties (java.util.Properties)1 GenericPortableException (org.guvnor.common.services.shared.exceptions.GenericPortableException)1 DataSourceDef (org.kie.workbench.common.screens.datasource.management.model.DataSourceDef)1 DriverDef (org.kie.workbench.common.screens.datasource.management.model.DriverDef)1 DriverDefEditorContent (org.kie.workbench.common.screens.datasource.management.model.DriverDefEditorContent)1 DriverDefInfo (org.kie.workbench.common.screens.datasource.management.model.DriverDefInfo)1 URLConnectionFactory (org.kie.workbench.common.screens.datasource.management.util.URLConnectionFactory)1