Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified DatabaseConnector.mpr
Binary file not shown.
71 changes: 71 additions & 0 deletions DatabaseConnector.pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.mendix.databaseconnector</groupId>
<artifactId>databaseconnector-main</artifactId>
<version>3.0.0</version>
<relativePath>.</relativePath>
</parent>

<artifactId>databaseconnector</artifactId>
<version>3.0.0</version>

<dependencies>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>com.ibm.db2.jcc</groupId>
<artifactId>db2jcc</artifactId>
<version>db2jcc4</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.4.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.4.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.2.1.jre8</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.9</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.sap.cloud.db.jdbc</groupId>
<artifactId>ngdbc</artifactId>
<version>2.3.58</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>
29 changes: 29 additions & 0 deletions DatabaseConnectorTest.pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>com.mendix.databaseconnector</groupId>
<artifactId>databaseconnector-main</artifactId>
<version>3.0.0</version>
<relativePath>.</relativePath>
</parent>

<artifactId>databaseconnectortest</artifactId>
<version>3.0.0</version>

<dependencies>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.2.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

/**
* <p>
* This Java action provides a consistent environment for Mendix projects to perform an arbitrary parameterised SELECT SQL query on relational external databases.
* This Java action provides a consistent environment for Mendix projects to perform an arbitrary parameterized SELECT SQL query on relational external databases.
* JDBC (Java Database Connectivity) API, a standard Java API, is used when this Java action attempts
* to connect with a Relational Database for which a JDBC driver exists.
* The JDBC drivers for the databases you want to connect to, must be placed inside the userlib directory of a project.
Expand Down Expand Up @@ -55,15 +55,15 @@
* @return <List<IMendixObject>>
* SELECT Query result as a list of objects.
*/
public class ExecuteParameterisedQuery extends CustomJavaAction<java.util.List<IMendixObject>>
public class ExecuteParameterizedQuery extends CustomJavaAction<java.util.List<IMendixObject>>
{
private java.lang.String jdbcUrl;
private java.lang.String userName;
private java.lang.String password;
private com.mendix.systemwideinterfaces.javaactions.parameters.IStringTemplate sql;
private java.lang.String resultObjectType;

public ExecuteParameterisedQuery(IContext context, java.lang.String jdbcUrl, java.lang.String userName, java.lang.String password, com.mendix.systemwideinterfaces.javaactions.parameters.IStringTemplate sql, java.lang.String resultObjectType)
public ExecuteParameterizedQuery(IContext context, java.lang.String jdbcUrl, java.lang.String userName, java.lang.String password, com.mendix.systemwideinterfaces.javaactions.parameters.IStringTemplate sql, java.lang.String resultObjectType)
{
super(context);
this.jdbcUrl = jdbcUrl;
Expand Down Expand Up @@ -93,7 +93,7 @@ public java.util.List<IMendixObject> executeAction() throws Exception
@java.lang.Override
public java.lang.String toString()
{
return "ExecuteParameterisedQuery";
return "ExecuteParameterizedQuery";
}

// BEGIN EXTRA CODE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

/**
* <p>
* This Java action provides a consistent environment for Mendix projects to perform an arbitrary parameterised SQL statement on relational
* This Java action provides a consistent environment for Mendix projects to perform an arbitrary parameterized SQL statement on relational
* external databases.
* JDBC (Java Database Connectivity) API, a standard Java API, is used when this Java action attempts
* to connect with a Relational Database for which a JDBC driver exists.
Expand Down Expand Up @@ -48,14 +48,14 @@
* @return <Integer/Long>
* Number of affected rows.
*/
public class ExecuteParameterisedStatement extends CustomJavaAction<java.lang.Long>
public class ExecuteParameterizedStatement extends CustomJavaAction<java.lang.Long>
{
private java.lang.String jdbcUrl;
private java.lang.String userName;
private java.lang.String password;
private com.mendix.systemwideinterfaces.javaactions.parameters.IStringTemplate sql;

public ExecuteParameterisedStatement(IContext context, java.lang.String jdbcUrl, java.lang.String userName, java.lang.String password, com.mendix.systemwideinterfaces.javaactions.parameters.IStringTemplate sql)
public ExecuteParameterizedStatement(IContext context, java.lang.String jdbcUrl, java.lang.String userName, java.lang.String password, com.mendix.systemwideinterfaces.javaactions.parameters.IStringTemplate sql)
{
super(context);
this.jdbcUrl = jdbcUrl;
Expand All @@ -78,7 +78,7 @@ public java.lang.Long executeAction() throws Exception
@java.lang.Override
public java.lang.String toString()
{
return "ExecuteParameterisedStatement";
return "ExecuteParameterizedStatement";
}

// BEGIN EXTRA CODE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

import static java.lang.String.format;
import static java.util.stream.Collectors.joining;
import static org.apache.commons.lang3.StringUtils.isEmpty;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
Expand Down Expand Up @@ -90,6 +89,10 @@ private Optional<String> compare(int objectNr, IMendixObject expected, IMendixOb
return isEmpty(message) ? Optional.empty() : Optional.of(format("Row %s: ", objectNr) + message);
}

private boolean isEmpty(String message) {
return message == null || message.isBlank();
}

private Optional<String> compare(PrimitiveType primitiveType, IMendixObjectMember<?> expected, IMendixObjectMember<?> actual) {
Object expectedValue = toComparableValue(expected.getValue(getContext()));
Object actualValue = toComparableValue(actual.getValue(getContext()));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package databaseconnectortest.test;

import com.amazon.dsi.exceptions.InvalidArgumentException;
import com.mendix.systemwideinterfaces.javaactions.parameters.IStringTemplate;
import com.mendix.systemwideinterfaces.javaactions.parameters.ITemplateParameter;
import com.mendix.systemwideinterfaces.javaactions.parameters.TemplateParameterType;
Expand Down Expand Up @@ -111,7 +110,7 @@ public void testStringQuery() throws SQLException {
}

@Test(expected = IllegalArgumentException.class)
public void testUnknownParameterType() throws InvalidArgumentException, SQLException {
public void testUnknownParameterType() throws SQLException {
StringTemplateBuilder builder = new StringTemplateBuilder();
builder.addParameter(null, TemplateParameterType.valueOf("nonexisting value"));

Expand Down
Loading