/** * Validates parameters specified in the given statement. * * @param jdbcStatement statement to validate * @param jdbcStatementIndex the index number of the statement in the list */ private void validateJdbcStatement(JdbcStatement jdbcStatement, int jdbcStatementIndex) { Assert.notNull(jdbcStatement, "JDBC statement [" + jdbcStatementIndex + "] is required"); Assert.notNull(jdbcStatement.getType(), "JDBC statement [" + jdbcStatementIndex + "] type is required"); validateSqlStatement(jdbcStatement.getSql(), jdbcStatementIndex); }
/** * Validates parameters specified in the given statement. * * @param jdbcStatement statement to validate * @param jdbcStatementIndex the index number of the statement in the list */ private void validateJdbcStatement(JdbcStatement jdbcStatement, int jdbcStatementIndex) { Assert.notNull(jdbcStatement, "JDBC statement [" + jdbcStatementIndex + "] is required"); Assert.notNull(jdbcStatement.getType(), "JDBC statement [" + jdbcStatementIndex + "] type is required"); validateSqlStatement(jdbcStatement.getSql(), jdbcStatementIndex); }
/** * Creates and returns a {@link JdbcStatement} at a state which has not yet been executed based on the given request. * <p/> * The status will be set to {@link JdbcStatementStatus#SKIPPED} and result null. * * @param requestJdbcStatement the requested JDBC statement * * @return a new {@link JdbcStatement} */ private JdbcStatement createDefaultResponseJdbcStatement(JdbcStatement requestJdbcStatement) { JdbcStatement responseJdbcStatement = new JdbcStatement(); responseJdbcStatement.setType(requestJdbcStatement.getType()); responseJdbcStatement.setSql(requestJdbcStatement.getSql()); responseJdbcStatement.setContinueOnError(requestJdbcStatement.isContinueOnError()); responseJdbcStatement.setStatus(JdbcStatementStatus.SKIPPED); return responseJdbcStatement; }
/** * Creates and returns a {@link JdbcStatement} at a state which has not yet been executed based on the given request. * <p/> * The status will be set to {@link JdbcStatementStatus#SKIPPED} and result null. * * @param requestJdbcStatement the requested JDBC statement * * @return a new {@link JdbcStatement} */ private JdbcStatement createDefaultResponseJdbcStatement(JdbcStatement requestJdbcStatement) { JdbcStatement responseJdbcStatement = new JdbcStatement(); responseJdbcStatement.setType(requestJdbcStatement.getType()); responseJdbcStatement.setSql(requestJdbcStatement.getSql()); responseJdbcStatement.setContinueOnError(requestJdbcStatement.isContinueOnError()); responseJdbcStatement.setStatus(JdbcStatementStatus.SKIPPED); return responseJdbcStatement; }
try String sql = evaluate(jdbcStatement.getSql(), variables, "jdbc statement sql"); validateSqlStatement(sql, jdbcStatementIndex);
try String sql = evaluate(jdbcStatement.getSql(), variables, "jdbc statement sql"); validateSqlStatement(sql, jdbcStatementIndex);
/** * Use case where a single successful statement is executed. */ @Test public void testExecuteJdbcStatementSuccess() { // Get test request JdbcExecutionRequest jdbcExecutionRequest = jdbcServiceTestHelper.createDefaultUpdateJdbcExecutionRequest(); // Execute JdbcExecutionResponse jdbcExecutionResponse = jdbcService.executeJdbc(jdbcExecutionRequest); // Assert results Assert.assertNull("JDBC connection is not null", jdbcExecutionResponse.getConnection()); Assert.assertEquals("JDBC statements size", jdbcExecutionRequest.getStatements().size(), jdbcExecutionResponse.getStatements().size()); { JdbcStatement expectedJdbcStatement = jdbcExecutionRequest.getStatements().get(0); JdbcStatement actualJdbcStatement = jdbcExecutionResponse.getStatements().get(0); Assert.assertEquals("JDBC statement [0] type", expectedJdbcStatement.getType(), actualJdbcStatement.getType()); Assert.assertEquals("JDBC statement [0] sql", expectedJdbcStatement.getSql(), actualJdbcStatement.getSql()); Assert.assertEquals("JDBC statement [0] status", JdbcStatementStatus.SUCCESS, actualJdbcStatement.getStatus()); Assert.assertEquals("JDBC statement [0] result", "1", actualJdbcStatement.getResult()); } }
theSql = this.getSql(); strategy.appendField(locator, this, "sql", buffer, theSql, (this.sql!= null));
theSql = this.getSql(); strategy.appendField(locator, this, "sql", buffer, theSql, (this.sql!= null));
theSql = this.getSql(); strategy.appendField(locator, this, "sql", buffer, theSql, (this.sql!= null));
Assert.assertNull("JDBC statement error message is not null", actualJdbcStatement.getErrorMessage()); Assert.assertNull("JDBC statement result not is null", actualJdbcStatement.getResult()); Assert.assertEquals("JDBC statement SQL", expectedJdbcStatement.getSql(), actualJdbcStatement.getSql()); Assert.assertEquals("JDBC statement status", JdbcStatementStatus.SUCCESS, actualJdbcStatement.getStatus()); Assert.assertEquals("JDBC statement type", expectedJdbcStatement.getType(), actualJdbcStatement.getType());
JdbcStatement expectedJdbcStatement = new JdbcStatement(); expectedJdbcStatement.setType(originalJdbcStatement.getType()); expectedJdbcStatement.setSql(originalJdbcStatement.getSql()); expectedJdbcStatement.setStatus(JdbcStatementStatus.SUCCESS); expectedJdbcStatement.setResult("1");
/** * Execute JDBC using S3 properties file. Unfortunately, not many assertions that can be done through the service layer. Asserts that no errors are thrown, * and that the response SQL does not expose the secrets. */ @Test public void testExecuteJdbcWithS3PropertiesSuccess() { String s3BucketName = "test_bucket"; String s3ObjectKey = "test_key"; String content = "foo=bar"; putS3Object(s3BucketName, s3ObjectKey, content); JdbcExecutionRequest jdbcExecutionRequest = jdbcServiceTestHelper.createDefaultUpdateJdbcExecutionRequest(); jdbcExecutionRequest.getConnection().setUrl("test_url_${foo}"); jdbcExecutionRequest.getConnection().setUsername("test_username_${foo}"); jdbcExecutionRequest.getConnection().setPassword("test_password_${foo}"); JdbcStatement jdbcStatement = jdbcExecutionRequest.getStatements().get(0); jdbcStatement.setSql("test_sql_${foo}"); jdbcExecutionRequest.setS3PropertiesLocation(new S3PropertiesLocation(s3BucketName, s3ObjectKey)); try { JdbcExecutionResponse jdbcExecutionResponse = jdbcService.executeJdbc(jdbcExecutionRequest); Assert.assertEquals("jdbc execution response statement [0] sql", "test_sql_${foo}", jdbcExecutionResponse.getStatements().get(0).getSql()); } catch (Exception e) { Assert.fail("unexpected exception was thrown. " + e); } }
theSql = this.getSql(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "sql", theSql), currentHashCode, theSql, (this.sql!= null));
theSql = this.getSql(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "sql", theSql), currentHashCode, theSql, (this.sql!= null));
theSql = this.getSql(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "sql", theSql), currentHashCode, theSql, (this.sql!= null));
if (sqlShouldBeCopiedAndSet == Boolean.TRUE) { String sourceSql; sourceSql = this.getSql(); String copySql = ((String) strategy.copy(LocatorUtils.property(locator, "sql", sourceSql), sourceSql, (this.sql!= null))); copy.setSql(copySql);