summaryrefslogtreecommitdiffstats
path: root/appc-dispatcher/appc-dispatcher-common
diff options
context:
space:
mode:
Diffstat (limited to 'appc-dispatcher/appc-dispatcher-common')
-rw-r--r--appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java11
-rw-r--r--appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/api/DBConnectionPoolService.java15
-rw-r--r--appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/dbcp/DBConnectionPool.java26
-rw-r--r--appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java7
-rw-r--r--appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/dbcp/DBConnectionPoolTest.java12
-rw-r--r--appc-dispatcher/appc-dispatcher-common/domain-model-lib/src/test/java/org/onap/appc/domainmodel/lcm/TestRequestContext.java35
-rw-r--r--appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/main/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImpl.java252
-rw-r--r--appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/test/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImplTest.java218
8 files changed, 287 insertions, 289 deletions
diff --git a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java
index 1f4a75911..2a1484c2d 100644
--- a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java
+++ b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* ================================================================================
@@ -19,7 +19,6 @@
* 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.
- *
* ============LICENSE_END=========================================================
*/
@@ -41,8 +40,8 @@ import java.util.Map;
* This class implements
*
* @see org.onap.appc.dao.util.dbcp.DBConnectionPool
- * that provides concrete implemenation of accessing appc database which basic setup
- * data would be got from global configuration.
+ * that provides a concrete implementation of appc database access
+ * with basic setup data extracted from the global configuration.
* @see org.onap.appc.configuration.Configuration
* <p>
* The singleton instance of this class has been instantiated by blueprint.
@@ -88,8 +87,8 @@ public class AppcDatabaseConnectionPool implements DBConnectionPoolService {
try {
connection = dbConnectionPool.getConnection();
} catch (DBConnectionPoolException e) {
- logger.error("DB connection pool is created failed." +
- "Please make sure the provided information is correct.");
+ logger.error("DB connection pool creation failed."
+ + " Please make sure the provided information is correct.");
}
if (connection != null) {
diff --git a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/api/DBConnectionPoolService.java b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/api/DBConnectionPoolService.java
index 6f51fec3c..0a163544d 100644
--- a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/api/DBConnectionPoolService.java
+++ b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/api/DBConnectionPoolService.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* ================================================================================
@@ -11,15 +11,14 @@
* 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://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License 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.
- *
* ============LICENSE_END=========================================================
*/
@@ -45,10 +44,10 @@ import java.util.Map;
* <blockquote><pre>
* {@code
* private AppcDatabaseConnectionPool pool;
- * public void setAppcDatabaseConnectionPool(AppcDatabaseConnectionPool pool){
+ * public void setAppcDatabaseConnectionPool(AppcDatabaseConnectionPool pool) {
* this.pool = pool;
* }
- * public queryAppcDatabase(AppcDatabaseConnectionPool pool){
+ * public queryAppcDatabase(AppcDatabaseConnectionPool pool) {
* Connection connection = null;
* try {
* connection = pool.getConnection();
@@ -64,11 +63,11 @@ import java.util.Map;
* System.out.println("# of entries in db:");
* int numcols = rs.getMetaData().getColumnCount();
* System.out.println(pool.getDataSourceStatus());
- * }catch (SQLException e) {
+ * } catch (SQLException e) {
* e.printStackTrace();
* } finally {
* try {
- * pool.close(rs, stmt, conn);
+ * pool.close(rs, stmt, conn);
* } catch (DataAccessException e) {
* e.printStackTrace();
* }
diff --git a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/dbcp/DBConnectionPool.java b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/dbcp/DBConnectionPool.java
index d201f399c..5381721ea 100644
--- a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/dbcp/DBConnectionPool.java
+++ b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/dbcp/DBConnectionPool.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* ================================================================================
@@ -11,15 +11,14 @@
* 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://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License 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.
- *
* ============LICENSE_END=========================================================
*/
@@ -63,11 +62,10 @@ public class DBConnectionPool implements DBConnectionPoolService {
this(connectURI, username, password, driverClass, null, null, null, null, null);
}
- public DBConnectionPool(String connectURI, String username, String password,
- String driverClass, Integer initialSize, Integer maxActive,
- Integer maxIdle, Integer maxWait, Integer minIdle) {
+ public DBConnectionPool(String connectURI, String username, String password, String driverClass,
+ Integer initialSize, Integer maxActive, Integer maxIdle, Integer maxWait, Integer minIdle) {
this.dataSource = getBasicDataSource(connectURI, username, password, driverClass,
- initialSize, maxActive, maxIdle, maxWait, minIdle);
+ initialSize, maxActive, maxIdle, maxWait, minIdle);
}
/**
@@ -87,8 +85,8 @@ public class DBConnectionPool implements DBConnectionPoolService {
throw new DBConnectionPoolException(e);
}
- if(connection == null){
- //
+ if (connection == null) {
+ // Don't necessarily know why, but can report. . . .
throw new DBConnectionPoolException("Connection was not created");
}
@@ -125,8 +123,8 @@ public class DBConnectionPool implements DBConnectionPoolService {
}
protected BasicDataSource getBasicDataSource(String connectURI, String username, String password,
- String driverClass, Integer initialSize, Integer maxtotal,
- Integer maxIdle, Integer maxWaitMillis, Integer minIdle) {
+ String driverClass, Integer initialSize, Integer maxTotal, Integer maxIdle, Integer maxWaitMillis,
+ Integer minIdle) {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(driverClass);
dataSource.setUsername(username);
@@ -136,8 +134,8 @@ public class DBConnectionPool implements DBConnectionPoolService {
if (initialSize != null) {
dataSource.setInitialSize(initialSize);
}
- if (maxtotal != null) {
- dataSource.setMaxTotal(maxtotal);
+ if (maxTotal != null) {
+ dataSource.setMaxTotal(maxTotal);
}
if (maxIdle != null) {
dataSource.setMaxIdle(maxIdle);
diff --git a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java
index ad1b4ea0f..98ef98ab8 100644
--- a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java
+++ b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* ================================================================================
@@ -19,7 +19,6 @@
* 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.
- *
* ============LICENSE_END=========================================================
*/
@@ -106,8 +105,8 @@ public class AppcDatabaseConnectionPoolTest {
@Test
public void testArgumentConstructor() {
- AppcDatabaseConnectionPool appcDatabaseConnectionPool = new AppcDatabaseConnectionPool(dbUrl, username,
- password, driver);
+ AppcDatabaseConnectionPool appcDatabaseConnectionPool =
+ new AppcDatabaseConnectionPool(dbUrl, username, password, driver);
Object dbConnectionPool = Whitebox.getInternalState(appcDatabaseConnectionPool, "dbConnectionPool");
Assert.assertNotNull(dbConnectionPool);
}
diff --git a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/dbcp/DBConnectionPoolTest.java b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/dbcp/DBConnectionPoolTest.java
index d2ac778a4..a26f8c037 100644
--- a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/dbcp/DBConnectionPoolTest.java
+++ b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/dbcp/DBConnectionPoolTest.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* ================================================================================
@@ -11,15 +11,14 @@
* 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://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License 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.
- *
* ============LICENSE_END=========================================================
*/
@@ -39,7 +38,6 @@ import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
-
public class DBConnectionPoolTest {
private final String connectURI = "jdbc:h2:mem:~/test;MODE=MYSQL;DB_CLOSE_DELAY=-1";
private final String username = "sa";
@@ -104,8 +102,8 @@ public class DBConnectionPoolTest {
@Test
public void testShutdownException() throws SQLException {
- DBConnectionPool dbcpSpy = Mockito.spy(new DBConnectionPool(connectURI, username, password, driverClass,
- 0, 0, 0, 0, 0));
+ DBConnectionPool dbcpSpy =
+ Mockito.spy(new DBConnectionPool(connectURI, username, password, driverClass, 0, 0, 0, 0, 0));
BasicDataSource mockDataSource = Mockito.mock(BasicDataSource.class);
Mockito.doThrow(new SQLException()).when(mockDataSource).close();
Whitebox.setInternalState(dbcpSpy, "dataSource", mockDataSource);
diff --git a/appc-dispatcher/appc-dispatcher-common/domain-model-lib/src/test/java/org/onap/appc/domainmodel/lcm/TestRequestContext.java b/appc-dispatcher/appc-dispatcher-common/domain-model-lib/src/test/java/org/onap/appc/domainmodel/lcm/TestRequestContext.java
index 4df409995..7d56ab732 100644
--- a/appc-dispatcher/appc-dispatcher-common/domain-model-lib/src/test/java/org/onap/appc/domainmodel/lcm/TestRequestContext.java
+++ b/appc-dispatcher/appc-dispatcher-common/domain-model-lib/src/test/java/org/onap/appc/domainmodel/lcm/TestRequestContext.java
@@ -6,6 +6,8 @@
*=================================================================================
* Modifications Copyright 2018 IBM.
*=================================================================================
+* Modifications Copyright 2019 AT&T Intellectual Property
+*=================================================================================
* 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
@@ -42,26 +44,26 @@ public class TestRequestContext {
@Test
public void testGetActionLevel_ValidEnumConstant() {
requestContext.setActionLevel(ActionLevel.VM);
- Assert.assertNotNull(requestContext. getActionLevel());
- Assert.assertEquals(requestContext. getActionLevel(),ActionLevel.VM);
+ Assert.assertNotNull(requestContext.getActionLevel());
+ Assert.assertEquals(requestContext.getActionLevel(), ActionLevel.VM);
}
@Test
public void testgetAdditionalContext() {
- testadditionalContext=new HashMap<String, String>();
+ testadditionalContext = new HashMap<String, String>();
testadditionalContext.put("A", "a");
requestContext.setAdditionalContext(testadditionalContext);
Assert.assertNotNull(requestContext.getAdditionalContext());
Assert.assertTrue(requestContext.getAdditionalContext().containsKey("A"));
Assert.assertTrue(requestContext.getAdditionalContext().containsValue("a"));
}
-
+
@Test
public void testAddKeyValueToAdditionalContext() {
- String key="key1";
- String value="value1";
+ String key = "key1";
+ String value = "value1";
requestContext.addKeyValueToAdditionalContext(key, value);
- Map<String, String> additionalContext= requestContext.getAdditionalContext();
+ Map<String, String> additionalContext = requestContext.getAdditionalContext();
Assert.assertEquals("value1", additionalContext.get("key1"));
}
@@ -82,27 +84,24 @@ public class TestRequestContext {
public void testToString_ContainsString() {
assertTrue(requestContext.toString().contains("RequestContext{commonHeader"));
}
-
+
@Test
- public void testGetSetCommonHeader()
- {
+ public void testGetSetCommonHeader() {
CommonHeader commonHeader = new CommonHeader();
requestContext.setCommonHeader(commonHeader);
assertEquals(commonHeader, requestContext.getCommonHeader());
}
-
+
@Test
- public void testGetSetActionIdentifiers()
- {
- ActionIdentifiers actionIdentifiers= new ActionIdentifiers();
+ public void testGetSetActionIdentifiers() {
+ ActionIdentifiers actionIdentifiers = new ActionIdentifiers();
requestContext.setActionIdentifiers(actionIdentifiers);
assertEquals(actionIdentifiers, requestContext.getActionIdentifiers());
}
-
+
@Test
- public void testGetSetAction()
- {
- VNFOperation action= VNFOperation.ActionStatus;
+ public void testGetSetAction() {
+ VNFOperation action = VNFOperation.ActionStatus;
requestContext.setAction(action);
assertEquals(action, requestContext.getAction());
}
diff --git a/appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/main/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImpl.java b/appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/main/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImpl.java
index 15ed9ad4b..0acb2b5a0 100644
--- a/appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/main/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImpl.java
+++ b/appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/main/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImpl.java
@@ -19,7 +19,6 @@
* 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.
- *
* ============LICENSE_END=========================================================
*/
@@ -37,17 +36,17 @@ import org.onap.ccsdk.sli.core.dblib.DbLibService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.sql.rowset.CachedRowSet;
import java.sql.SQLException;
+import javax.sql.rowset.CachedRowSet;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.time.temporal.ChronoUnit;
import static org.onap.appc.transactionrecorder.objects.TransactionConstants.TRANSACTION_ATTRIBUTES.*;
import static org.onap.appc.transactionrecorder.objects.TransactionConstants.*;
@@ -74,44 +73,41 @@ public class TransactionRecorderImpl implements TransactionRecorder {
*/
@Override
public void store(TransactionRecord record) throws APPCException {
- if (logger.isTraceEnabled()) {
- logger.trace("Transaction data insertion into DB");
- }
- final String STORE_DATE_QUERY = TransactionConstants.INSERT_INTO + TransactionConstants.TRANSACTIONS +
- "(" + TRANSACTION_ID.getColumnName() + TransactionConstants.COMMA +
- ORIGIN_TIMESTAMP.getColumnName() + TransactionConstants.COMMA +
- REQUEST_ID.getColumnName() + TransactionConstants.COMMA +
- SUBREQUEST_ID.getColumnName() + TransactionConstants.COMMA +
- ORIGINATOR_ID.getColumnName() + TransactionConstants.COMMA +
- START_TIME.getColumnName() + TransactionConstants.COMMA +
- END_TIME.getColumnName() + TransactionConstants.COMMA +
- TARGET_ID.getColumnName() + TransactionConstants.COMMA +
- TARGET_TYPE.getColumnName() + TransactionConstants.COMMA +
- OPERATION.getColumnName() + TransactionConstants.COMMA +
- RESULT_CODE.getColumnName() + TransactionConstants.COMMA +
- DESCRIPTION.getColumnName() + TransactionConstants.COMMA +
- STATE.getColumnName() + TransactionConstants.COMMA +
- SERVICE_INSTANCE_ID + TransactionConstants.COMMA +
- VNFC_NAME + TransactionConstants.COMMA +
- VSERVER_ID + TransactionConstants.COMMA +
- VF_MODULE_ID + TransactionConstants.COMMA +
- MODE + ") " +
- "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+ logger.trace("Transaction data insertion into DB");
+ final String STORE_DATE_QUERY =
+ TransactionConstants.INSERT_INTO + TransactionConstants.TRANSACTIONS
+ + "(" + TRANSACTION_ID.getColumnName() + TransactionConstants.COMMA
+ + ORIGIN_TIMESTAMP.getColumnName() + TransactionConstants.COMMA
+ + REQUEST_ID.getColumnName() + TransactionConstants.COMMA
+ + SUBREQUEST_ID.getColumnName() + TransactionConstants.COMMA
+ + ORIGINATOR_ID.getColumnName() + TransactionConstants.COMMA
+ + START_TIME.getColumnName() + TransactionConstants.COMMA
+ + END_TIME.getColumnName() + TransactionConstants.COMMA
+ + TARGET_ID.getColumnName() + TransactionConstants.COMMA
+ + TARGET_TYPE.getColumnName() + TransactionConstants.COMMA
+ + OPERATION.getColumnName() + TransactionConstants.COMMA
+ + RESULT_CODE.getColumnName() + TransactionConstants.COMMA
+ + DESCRIPTION.getColumnName() + TransactionConstants.COMMA
+ + STATE.getColumnName() + TransactionConstants.COMMA
+ + SERVICE_INSTANCE_ID + TransactionConstants.COMMA
+ + VNFC_NAME + TransactionConstants.COMMA
+ + VSERVER_ID + TransactionConstants.COMMA
+ + VF_MODULE_ID + TransactionConstants.COMMA
+ + MODE + ") "
+ + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
try {
dbLibService.writeData(STORE_DATE_QUERY, prepareArguments(record), SCHEMA);
} catch (SQLException e) {
logger.error("Error on storing record " + record.toString(), e);
throw new APPCException(ERROR_ACCESSING_DATABASE, e);
}
- if (logger.isTraceEnabled()) {
- logger.trace("Transaction Data Inserted Successfully into DB");
- }
+ logger.trace("Transaction Data Inserted Successfully into DB");
}
@Override
public void update(String key,
- String requestId,
- Map<TransactionConstants.TRANSACTION_ATTRIBUTES, String> updateColumns) throws APPCException {
+ String requestId,
+ Map<TransactionConstants.TRANSACTION_ATTRIBUTES, String> updateColumns) throws APPCException {
logger.debug("Inside update in TransactionRecorderImpl");
if (appcInstanceId != null && checkIfNullInstanceEntryExist(key, requestId)) {
@@ -151,15 +147,12 @@ public class TransactionRecorderImpl implements TransactionRecorder {
logger.error("Error in updating records in updateTransactionEntry " + e);
throw new APPCException(ERROR_ACCESSING_DATABASE, e);
}
- if (logger.isTraceEnabled()) {
- logger.trace("Transaction data updated successfully");
- }
-
+ logger.trace("Transaction data updated successfully");
}
private void updateNullInstanceEntry(String key,
- String requestId,
- Map<TRANSACTION_ATTRIBUTES, String> updateColumns) throws APPCException {
+ String requestId,
+ Map<TRANSACTION_ATTRIBUTES, String> updateColumns) throws APPCException {
logger.debug("Inside updateNullInstanceEntry");
ArrayList<String> values = new ArrayList<>();
@@ -180,7 +173,7 @@ public class TransactionRecorderImpl implements TransactionRecorder {
if (logger.isDebugEnabled()) {
logger.debug("Before updating Transaction table the Query is: " + query);
for (String value : values) {
- logger.debug("Value for Transaction table: " + value);
+ logger.debug("Value for Transaction table: " + value);
}
}
Boolean result = dbLibService.writeData(query, values, SCHEMA);
@@ -195,24 +188,24 @@ public class TransactionRecorderImpl implements TransactionRecorder {
private boolean checkIfNullInstanceEntryExist(String key, String requestId) throws APPCException {
logger.debug("Entered checkIfNullInstanceEntryExist");
- String nullInstanceCheckQuery = new String("SELECT COUNT(*) as ROWCOUNT FROM " +
- TransactionConstants.TRANSACTIONS + WHERE +
- TRANSACTION_ID.getColumnName() + " = ? AND " +
- REQUEST_ID.getColumnName() + " = ? ");
+ String nullInstanceCheckQuery = new String(
+ "SELECT COUNT(*) as ROWCOUNT FROM "
+ + TransactionConstants.TRANSACTIONS + WHERE
+ + TRANSACTION_ID.getColumnName() + " = ? AND "
+ + REQUEST_ID.getColumnName() + " = ? ");
ArrayList<String> nullInstanceCheckParams = new ArrayList<>();
nullInstanceCheckParams.add(null + "~" + key);
nullInstanceCheckParams.add(requestId);
- try{
- CachedRowSet rowSet = dbLibService.getData(nullInstanceCheckQuery, nullInstanceCheckParams, SCHEMA);
+ try (CachedRowSet rowSet = dbLibService.getData(nullInstanceCheckQuery, nullInstanceCheckParams, SCHEMA)) {
int noRows = 0;
if (rowSet != null && rowSet.first()) {
noRows = rowSet.getInt("ROWCOUNT");
- logger.info("No of Rows in Transactions Table with TRANSACTION_ID: " +
- null + "~" + key + " and REQUEST_ID " + requestId + " is: " + noRows);
+ logger.info("No of Rows in Transactions Table with TRANSACTION_ID: "
+ + null + "~" + key + " and REQUEST_ID " + requestId + " is: " + noRows);
}
- if(noRows > 0)
+ if (noRows > 0)
return true;
} catch (SQLException e) {
logger.error("Error in checkIfNullInstanceEntryExist in the transaction table", e);
@@ -223,14 +216,12 @@ public class TransactionRecorderImpl implements TransactionRecorder {
@Override
public void markTransactionsAborted(String appcInstanceId) {
- if (logger.isTraceEnabled()) {
- logger.trace("marking in progress transactions to aborted");
- }
+ logger.trace("marking in progress transactions to aborted");
final String updateQuery =
- "UPDATE " + TransactionConstants.TRANSACTIONS +
- " SET " + STATE.getColumnName() + " = '" + RequestStatus.ABORTED.name() + "',"
- + END_TIME.getColumnName() + " = ? " +
- WHERE + TRANSACTION_ID.getColumnName() + " LIKE '" + appcInstanceId + "%' AND "
+ "UPDATE " + TransactionConstants.TRANSACTIONS
+ + " SET " + STATE.getColumnName() + " = '" + RequestStatus.ABORTED.name() + "',"
+ + END_TIME.getColumnName() + " = ? "
+ + WHERE + TRANSACTION_ID.getColumnName() + " LIKE '" + appcInstanceId + "%' AND "
+ STATE.getColumnName() + " in (?,?)";
if (logger.isDebugEnabled()) {
@@ -248,19 +239,18 @@ public class TransactionRecorderImpl implements TransactionRecorder {
logger.error(message);
throw new RuntimeException(message, e);
}
- if (logger.isTraceEnabled()) {
- logger.trace("In progress transactions marked aborted");
- }
+ logger.trace("In progress transactions marked aborted");
}
@Override
public List<TransactionRecord> getInProgressRequests(TransactionRecord record, int interval) throws APPCException {
- String IN_PROGRESS_REQUESTS_QUERY = "SELECT * FROM " +
- TransactionConstants.TRANSACTIONS + WHERE +
- TARGET_ID + " = ? AND " +
- STATE.getColumnName() + " IN (?,?) AND " +
- START_TIME.getColumnName() + " < ?";
+ String IN_PROGRESS_REQUESTS_QUERY =
+ "SELECT * FROM "
+ + TransactionConstants.TRANSACTIONS + WHERE
+ + TARGET_ID + " = ? AND "
+ + STATE.getColumnName() + " IN (?,?) AND "
+ + START_TIME.getColumnName() + " < ?";
ArrayList<String> inProgressQueryParams = new ArrayList<>();
Instant window = record.getStartTime().minus(interval, ChronoUnit.HOURS);
@@ -273,37 +263,40 @@ public class TransactionRecorderImpl implements TransactionRecorder {
inProgressQueryParams.add(dateToStringConverterMillis(window));
}
- try (CachedRowSet rowSet = dbLibService.getData(IN_PROGRESS_REQUESTS_QUERY, inProgressQueryParams, SCHEMA)) {
+ try (CachedRowSet rowSet =
+ dbLibService.getData(IN_PROGRESS_REQUESTS_QUERY, inProgressQueryParams, SCHEMA)) {
List<TransactionRecord> inProgressRecords = new ArrayList<>();
TransactionRecord transaction;
- while (rowSet.next()) {
- transaction = new TransactionRecord();
- transaction.setTransactionId(rowSet.getString(TRANSACTION_ID.getColumnName()));
- transaction.setRequestId(rowSet.getString(REQUEST_ID.getColumnName()));
- transaction.setSubRequestId(rowSet.getString(SUBREQUEST_ID.getColumnName()));
- transaction.setOriginatorId(rowSet.getString(ORIGINATOR_ID.getColumnName()));
- transaction.setStartTime(stringToDateConverterMillis(rowSet.getString(START_TIME.getColumnName())));
- transaction.setTargetId(rowSet.getString(TARGET_ID.getColumnName()));
- transaction.setTargetType(rowSet.getString(TARGET_TYPE.getColumnName()));
- transaction.setOperation(VNFOperation.valueOf(rowSet.getString(OPERATION.getColumnName())));
- transaction.setRequestState(RequestStatus.valueOf(rowSet.getString(STATE.getColumnName())));
- transaction.setVnfcName(rowSet.getString(VNFC_NAME.getColumnName()));
- transaction.setVserverId(rowSet.getString(VSERVER_ID.getColumnName()));
- transaction.setVfModuleId(rowSet.getString(VF_MODULE_ID.getColumnName()));
- transaction.setServiceInstanceId(rowSet.getString(SERVICE_INSTANCE_ID.getColumnName()));
- transaction.setMode(Flags.Mode.valueOf(rowSet.getString(MODE.getColumnName())));
- inProgressRecords.add(transaction);
- }
- if (logger.isTraceEnabled()) {
- logger.trace("In progress transaction records fetched from database successfully.");
+ int count = 0;
+ if (rowSet != null) {
+ for (; rowSet.next(); ++count) {
+ transaction = new TransactionRecord();
+ transaction.setTransactionId(rowSet.getString(TRANSACTION_ID.getColumnName()));
+ transaction.setRequestId(rowSet.getString(REQUEST_ID.getColumnName()));
+ transaction.setSubRequestId(rowSet.getString(SUBREQUEST_ID.getColumnName()));
+ transaction.setOriginatorId(rowSet.getString(ORIGINATOR_ID.getColumnName()));
+ transaction.setStartTime(stringToDateConverterMillis(rowSet.getString(START_TIME.getColumnName())));
+ transaction.setTargetId(rowSet.getString(TARGET_ID.getColumnName()));
+ transaction.setTargetType(rowSet.getString(TARGET_TYPE.getColumnName()));
+ transaction.setOperation(VNFOperation.valueOf(rowSet.getString(OPERATION.getColumnName())));
+ transaction.setRequestState(RequestStatus.valueOf(rowSet.getString(STATE.getColumnName())));
+ transaction.setVnfcName(rowSet.getString(VNFC_NAME.getColumnName()));
+ transaction.setVserverId(rowSet.getString(VSERVER_ID.getColumnName()));
+ transaction.setVfModuleId(rowSet.getString(VF_MODULE_ID.getColumnName()));
+ transaction.setServiceInstanceId(rowSet.getString(SERVICE_INSTANCE_ID.getColumnName()));
+ transaction.setMode(Flags.Mode.valueOf(rowSet.getString(MODE.getColumnName())));
+ inProgressRecords.add(transaction);
+ }
}
+ logger.trace(String.valueOf(count)
+ + " in progress transaction records fetched from database successfully.");
return inProgressRecords;
} catch (ParseException e) {
logger.error("Error parsing start date during fetching in progress records ", e);
throw new APPCException(ERROR_ACCESSING_DATABASE, e);
} catch (SQLException e) {
- logger.error("Error fetching in progress records for Transaction ID = " + appcInstanceId + "~" + record
- .getTransactionId(), e);
+ logger.error("Error fetching in progress records for Transaction ID = " + appcInstanceId + "~"
+ + record.getTransactionId(), e);
throw new APPCException(ERROR_ACCESSING_DATABASE, e);
}
}
@@ -311,12 +304,12 @@ public class TransactionRecorderImpl implements TransactionRecorder {
@Override
public Boolean isTransactionDuplicate(TransactionRecord record) throws APPCException {
- StringBuilder duplicateRequestCheckQuery = new StringBuilder("SELECT " +
- TRANSACTION_ID.getColumnName() + " FROM " +
- TransactionConstants.TRANSACTIONS + WHERE +
- TRANSACTION_ID.getColumnName() + " <> ? AND " +
- REQUEST_ID.getColumnName() + " = ? AND " +
- STATE.getColumnName() + " IN(?,?) ");
+ StringBuilder duplicateRequestCheckQuery = new StringBuilder()
+ .append("SELECT ").append(TRANSACTION_ID.getColumnName()).append(" FROM ")
+ .append(TransactionConstants.TRANSACTIONS).append(WHERE)
+ .append(TRANSACTION_ID.getColumnName()).append(" <> ? AND ")
+ .append(REQUEST_ID.getColumnName()).append(" = ? AND ")
+ .append(STATE.getColumnName()).append(" IN(?,?) ");
ArrayList<String> duplicateCheckParams = new ArrayList<>();
duplicateCheckParams.add(appcInstanceId + "~" + record.getTransactionId());
@@ -339,35 +332,37 @@ public class TransactionRecorderImpl implements TransactionRecorder {
if (logger.isDebugEnabled()) {
logger.debug(duplicateRequestCheckQuery.toString());
}
- try (CachedRowSet rowSet = dbLibService.getData(duplicateRequestCheckQuery.toString(), duplicateCheckParams,
- SCHEMA)) {
- if (rowSet.first()) {
+ try (CachedRowSet rowSet =
+ dbLibService.getData(duplicateRequestCheckQuery.toString(), duplicateCheckParams, SCHEMA)) {
+ if (rowSet != null && rowSet.first()) {
String transactionId = rowSet.getString(TRANSACTION_ID.getColumnName());
if (logger.isErrorEnabled()) {
- logger.error("Duplicate request found. Transaction ID " + transactionId + " is currently in " +
- "progress.");
+ logger.error("Duplicate request found. Transaction ID " + transactionId
+ + " is currently in progress.");
}
return true;
}
return false;
} catch (SQLException e) {
- logger.error("Error checking duplicate records for Transaction ID = " + appcInstanceId + "~" + record
- .getTransactionId(), e);
+ logger.error("Error checking duplicate records for Transaction ID = " + appcInstanceId + "~"
+ + record.getTransactionId(), e);
throw new APPCException(ERROR_ACCESSING_DATABASE, e);
}
}
@Override
public Integer getInProgressRequestsCount() throws APPCException {
- final String inProgressRequestCountQuery = "SELECT COUNT(*) as VALUE FROM "
- + TransactionConstants.TRANSACTIONS
- + WHERE + STATE.getColumnName() + " IN (?,?) ";
+ final String inProgressRequestCountQuery =
+ "SELECT COUNT(*) as VALUE FROM "
+ + TransactionConstants.TRANSACTIONS
+ + WHERE + STATE.getColumnName() + " IN (?,?) ";
ArrayList<String> checkInProgressParams = new ArrayList<>();
checkInProgressParams.add(RequestStatus.RECEIVED.name());
checkInProgressParams.add(RequestStatus.ACCEPTED.name());
- try(CachedRowSet rowSet=dbLibService.getData(inProgressRequestCountQuery,checkInProgressParams,SCHEMA)){
- if (rowSet.first()) {
+ try (CachedRowSet rowSet =
+ dbLibService.getData(inProgressRequestCountQuery, checkInProgressParams, SCHEMA)) {
+ if (rowSet != null && rowSet.first()) {
int count = rowSet.getInt("VALUE");
logger.info("In progress request count fetched from database successfully.");
return count;
@@ -391,44 +386,51 @@ public class TransactionRecorderImpl implements TransactionRecorder {
public List<RequestStatus> getRecords(String requestId, String subrequestId, String originatorId, String vnfId)
throws APPCException {
StringBuilder queryString = (new StringBuilder(1024))
- .append("SELECT " + TRANSACTION_ATTRIBUTES.STATE.getColumnName())
- .append(" FROM " + TRANSACTIONS)
- .append(" WHERE " + TRANSACTION_ATTRIBUTES.REQUEST_ID.getColumnName() + " = ? AND " +
- TRANSACTION_ATTRIBUTES.TARGET_ID.getColumnName() + " = ?");
-
+ .append("SELECT ").append(TRANSACTION_ID.getColumnName())
+ .append(",")
+ .append(STATE.getColumnName())
+ .append(" FROM ").append(TRANSACTIONS)
+ .append(" WHERE ").append(TRANSACTION_ATTRIBUTES.REQUEST_ID.getColumnName()).append(" = ? AND ")
+ .append(TRANSACTION_ATTRIBUTES.TARGET_ID.getColumnName()).append(" = ?");
ArrayList<String> argList = new ArrayList<>();
argList.add(requestId);
argList.add(vnfId);
if (subrequestId != null) {
- queryString.append(" AND " + TRANSACTION_ATTRIBUTES.SUBREQUEST_ID.getColumnName() + " = ?");
+ queryString.append(" AND ").append(TRANSACTION_ATTRIBUTES.SUBREQUEST_ID.getColumnName()).append(" = ?");
argList.add(subrequestId);
}
if (originatorId != null) {
- queryString.append(" AND " + TRANSACTION_ATTRIBUTES.ORIGINATOR_ID.getColumnName() + " = ?");
+ queryString.append(" AND ").append(TRANSACTION_ATTRIBUTES.ORIGINATOR_ID.getColumnName()).append(" = ?");
argList.add(originatorId);
}
List<RequestStatus> requestStatusList = new ArrayList<>();
- try {
- CachedRowSet resultSet = dbLibService.getData(queryString.toString(), argList, SCHEMA);
- while (resultSet.next()) {
- String name = resultSet.getString(TRANSACTION_ATTRIBUTES.STATE.getColumnName());
- RequestStatus requestStatus = null;
- try {
- requestStatus = RequestStatus.valueOf(name);
- } catch (IllegalArgumentException e) {
- logger.error(String.format("Invalid request status (%s) using (%s) :", name, RequestStatus
- .UNKNOWN), e);
- requestStatus = RequestStatus.UNKNOWN;
+ try (CachedRowSet resultSet = dbLibService.getData(queryString.toString(), argList, SCHEMA)) {
+ if (resultSet == null) {
+ logger.error(String.format(
+ "No results returned when retrieving record for requestID %s and vnfId %s %s",
+ requestId, vnfId, "from the transactions table"));
+ } else {
+ while (resultSet.next()) {
+ String name = resultSet.getString(TRANSACTION_ATTRIBUTES.STATE.getColumnName());
+ RequestStatus requestStatus = null;
+ try {
+ requestStatus = RequestStatus.valueOf(name);
+ } catch (IllegalArgumentException e) {
+ logger.error(String.format(
+ "Invalid request status (%s) using (%s):", name, RequestStatus.UNKNOWN), e);
+ requestStatus = RequestStatus.UNKNOWN;
+ }
+ requestStatusList.add(requestStatus);
+ logger.debug(String.format("Request Status obtained (%s).", requestStatus));
}
- requestStatusList.add(requestStatus);
- logger.debug(String.format("Request Status obtained (%s).", requestStatus));
}
} catch (SQLException e) {
logger.error("Error Accessing Database ", e);
- throw new APPCException(String.format("Error retrieving record for requestID %s and vnfId %s " +
- "from the transactions table", requestId, vnfId), e);
+ throw new APPCException(String.format(
+ "Error retrieving record for requestID %s and vnfId %s from the transactions table",
+ requestId, vnfId), e);
}
return requestStatusList;
diff --git a/appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/test/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImplTest.java b/appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/test/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImplTest.java
index 36cf26bb7..394aa97a1 100644
--- a/appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/test/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImplTest.java
+++ b/appc-dispatcher/appc-dispatcher-common/transaction-recorder/src/test/java/org/onap/appc/transactionrecorder/impl/TransactionRecorderImplTest.java
@@ -19,31 +19,12 @@
* 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.
- *
* ============LICENSE_END=========================================================
*/
package org.onap.appc.transactionrecorder.impl;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.anyString;
-import static org.hamcrest.CoreMatchers.isA;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.text.ParseException;
-import java.time.Instant;
-import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import javax.sql.rowset.CachedRowSet;
+import com.sun.rowset.CachedRowSetImpl;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -51,6 +32,11 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.mockito.Mockito;
+
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+import static org.hamcrest.CoreMatchers.isA;
+
import org.onap.appc.dao.util.dbcp.DBConnectionPool;
import org.onap.appc.dao.util.helper.DBHelper;
import org.onap.appc.domainmodel.lcm.Flags;
@@ -61,7 +47,22 @@ import org.onap.appc.exceptions.APPCException;
import org.onap.appc.transactionrecorder.objects.TransactionConstants;
import org.onap.appc.transactionrecorder.objects.TransactionConstants.TRANSACTION_ATTRIBUTES;
import org.onap.ccsdk.sli.core.dblib.DbLibService;
-import com.sun.rowset.CachedRowSetImpl;
+
+import javax.sql.rowset.CachedRowSet;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.Instant;
+import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
/**
* Test class for TransactionRecorder
@@ -86,26 +87,27 @@ public class TransactionRecorderImplTest {
* <p>
* Please ensure this table create script is identical to the source script used in a deployment.
*/
- private String TRANSACTION_CREATE_TABLE = "CREATE TABLE TRANSACTIONS (" +
- " TRANSACTION_ID VARCHAR(75) NOT NULL PRIMARY KEY," +
- " ORIGIN_TIMESTAMP DATETIME(3) NOT NULL," +
- " REQUEST_ID VARCHAR(256) NOT NULL," +
- " SUBREQUEST_ID VARCHAR(256) DEFAULT NULL," +
- " ORIGINATOR_ID VARCHAR(256) DEFAULT NULL," +
- " START_TIME DATETIME(3) NOT NULL," +
- " END_TIME DATETIME(3) DEFAULT NULL," +
- " TARGET_ID VARCHAR(256) NOT NULL," +
- " TARGET_TYPE VARCHAR(256) DEFAULT NULL," +
- " OPERATION VARCHAR(256) NOT NULL," +
- " RESULT_CODE INT(11) DEFAULT NULL," +
- " DESCRIPTION TEXT," +
- " STATE VARCHAR(50) NOT NULL," +
- " SERVICE_INSTANCE_ID VARCHAR(256) DEFAULT NULL," +
- " VNFC_NAME VARCHAR(256) DEFAULT NULL," +
- " VSERVER_ID VARCHAR(256) DEFAULT NULL," +
- " VF_MODULE_ID VARCHAR(256) DEFAULT NULL," +
- " MODE VARCHAR(50) NOT NULL," +
- ")";
+ private String TRANSACTION_CREATE_TABLE =
+ "CREATE TABLE TRANSACTIONS ("
+ + " TRANSACTION_ID VARCHAR(75) NOT NULL PRIMARY KEY,"
+ + " ORIGIN_TIMESTAMP DATETIME(3) NOT NULL,"
+ + " REQUEST_ID VARCHAR(256) NOT NULL,"
+ + " SUBREQUEST_ID VARCHAR(256) DEFAULT NULL,"
+ + " ORIGINATOR_ID VARCHAR(256) DEFAULT NULL,"
+ + " START_TIME DATETIME(3) NOT NULL,"
+ + " END_TIME DATETIME(3) DEFAULT NULL,"
+ + " TARGET_ID VARCHAR(256) NOT NULL,"
+ + " TARGET_TYPE VARCHAR(256) DEFAULT NULL,"
+ + " OPERATION VARCHAR(256) NOT NULL,"
+ + " RESULT_CODE INT(11) DEFAULT NULL,"
+ + " DESCRIPTION TEXT,"
+ + " STATE VARCHAR(50) NOT NULL,"
+ + " SERVICE_INSTANCE_ID VARCHAR(256) DEFAULT NULL,"
+ + " VNFC_NAME VARCHAR(256) DEFAULT NULL,"
+ + " VSERVER_ID VARCHAR(256) DEFAULT NULL,"
+ + " VF_MODULE_ID VARCHAR(256) DEFAULT NULL,"
+ + " MODE VARCHAR(50) NOT NULL,"
+ + ")";
private String TRANSACTION_DROP_TABLE = "DROP TABLE IF EXISTS TRANSACTIONS";
@Rule
@@ -151,8 +153,8 @@ public class TransactionRecorderImplTest {
public void testStore() throws Exception {
TransactionRecord input = prepareTransactionsInput();
- Mockito.when(dbLibService.writeData(anyString(), anyObject(), anyString())).thenAnswer(invocation ->
- testStoreInMemory(invocation.getArguments()));
+ Mockito.when(dbLibService.writeData(anyString(), anyObject(), anyString()))
+ .thenAnswer(invocation -> testStoreInMemory(invocation.getArguments()));
transactionRecorderImpl.store(input);
}
@@ -175,8 +177,8 @@ public class TransactionRecorderImplTest {
insertRecord(record1);
TransactionRecord input = prepareTransactionsInput();
input.setStartTime(Instant.now());
- Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString())).thenAnswer(invocation ->
- inMemoryExecutionWithResultSet(invocation.getArguments()));
+ Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString()))
+ .thenAnswer(invocation -> inMemoryExecutionWithResultSet(invocation.getArguments()));
Assert.assertEquals(1, transactionRecorderImpl.getInProgressRequests(input, 0).size());
}
@@ -197,22 +199,22 @@ public class TransactionRecorderImplTest {
@Test
public void testGetInProgressRequestsWithinTimeInterval() throws SQLException, APPCException {
TransactionRecord record1 = prepareTransactionsInput();
- record1.setStartTime(Instant.now().minus(4,ChronoUnit.HOURS));
+ record1.setStartTime(Instant.now().minus(4, ChronoUnit.HOURS));
insertRecord(record1);
TransactionRecord input = prepareTransactionsInput();
input.setStartTime(Instant.now());
- Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString())).thenAnswer(invocation ->
- inMemoryExecutionWithResultSet(invocation.getArguments()));
- List<TransactionRecord> aList= transactionRecorderImpl.getInProgressRequests(input,12);
- Assert.assertEquals(1, transactionRecorderImpl.getInProgressRequests(input,12).size());
+ Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString()))
+ .thenAnswer(invocation -> inMemoryExecutionWithResultSet(invocation.getArguments()));
+ List<TransactionRecord> aList = transactionRecorderImpl.getInProgressRequests(input, 12);
+ Assert.assertEquals(1, transactionRecorderImpl.getInProgressRequests(input, 12).size());
}
@Test
public void testIsTransactionDuplicate() throws SQLException, APPCException {
TransactionRecord input = prepareTransactionsInput();
- Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString())).thenAnswer(invocation ->
- inMemoryExecutionWithResultSet(invocation.getArguments()));
+ Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString()))
+ .thenAnswer(invocation -> inMemoryExecutionWithResultSet(invocation.getArguments()));
Assert.assertFalse(transactionRecorderImpl.isTransactionDuplicate(input));
}
@@ -274,10 +276,10 @@ public class TransactionRecorderImplTest {
insertRecord(input);
Map<TransactionConstants.TRANSACTION_ATTRIBUTES, String> updateColumns = new HashMap<>();
updateColumns.put(TransactionConstants.TRANSACTION_ATTRIBUTES.TARGET_TYPE, "Firewall");
- Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString())).thenAnswer(invocation ->
- returnResult(invocation.getArguments()));
- Mockito.when(dbLibService.writeData(anyString(), anyObject(), anyString())).thenAnswer(invocation ->
- testUpdateInMemory(invocation.getArguments()));
+ Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString()))
+ .thenAnswer(invocation -> returnResult(invocation.getArguments()));
+ Mockito.when(dbLibService.writeData(anyString(), anyObject(), anyString()))
+ .thenAnswer(invocation -> testUpdateInMemory(invocation.getArguments()));
transactionRecorderImpl.update(input.getTransactionId(), input.getRequestId(), updateColumns);
Mockito.verify(dbLibService).getData(anyString(), anyObject(), anyString());
Mockito.verify(dbLibService).writeData(anyString(), anyObject(), anyString());
@@ -301,11 +303,10 @@ public class TransactionRecorderImplTest {
TransactionRecord input = prepareTransactionsInput();
Map<TransactionConstants.TRANSACTION_ATTRIBUTES, String> updateColumns = new HashMap<>();
updateColumns.put(TransactionConstants.TRANSACTION_ATTRIBUTES.TARGET_TYPE, "Firewall");
- Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString())).thenAnswer(invocation ->
- returnPositiveResult(invocation.getArguments()));
- Mockito.when(dbLibService.writeData(anyString(), anyObject(), anyString())).thenAnswer(invocation ->
- testUpdateInMemory(invocation.getArguments()));
-
+ Mockito.when(dbLibService.getData(anyString(), anyObject(), anyString()))
+ .thenAnswer(invocation -> returnPositiveResult(invocation.getArguments()));
+ Mockito.when(dbLibService.writeData(anyString(), anyObject(), anyString()))
+ .thenAnswer(invocation -> testUpdateInMemory(invocation.getArguments()));
transactionRecorderImpl.update(input.getTransactionId(), input.getRequestId(), updateColumns);
Mockito.verify(dbLibService).getData(anyString(), anyObject(), anyString());
Mockito.verify(dbLibService).writeData(anyString(), anyObject(), anyString());
@@ -319,9 +320,9 @@ public class TransactionRecorderImplTest {
insertNullInstanceData(args.get(0));
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps_second = con.prepareStatement(query)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps_second = con.prepareStatement(query)
+ ) {
for (int i = 1; i <= args.size(); i++) {
ps_second.setString(i, args.get(i - 1));
}
@@ -332,12 +333,13 @@ public class TransactionRecorderImplTest {
}
private void insertNullInstanceData(String transactionId) throws Exception {
- final String nullInstanceQuery = (TransactionConstants.INSERT_INTO + TransactionConstants.TRANSACTIONS +
- " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
+ final String nullInstanceQuery =
+ TransactionConstants.INSERT_INTO + TransactionConstants.TRANSACTIONS
+ + " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement(nullInstanceQuery)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(nullInstanceQuery)
+ ) {
ArrayList<String> input = new ArrayList<String>();
input.add(transactionId);
input.add(dateToStringConverterMillis(Instant.parse("2017-09-12T00:00:01.00Z")));
@@ -374,9 +376,9 @@ public class TransactionRecorderImplTest {
ArrayList<String> args = (ArrayList<String>) obj[1];
System.out.println("Query: " + query + "\nArgs: " + args);
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement(query)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(query)
+ ) {
for (int i = 1; i <= args.size(); i++) {
ps.setString(i, args.get(i - 1));
}
@@ -430,9 +432,9 @@ public class TransactionRecorderImplTest {
ArrayList<String> args = (ArrayList<String>) obj[1];
// System.out.println("Query: " + query + "\nArgs: " + args);
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement(query)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(query)
+ ) {
for (int i = 1; i <= args.size(); i++) {
ps.setString(i, args.get(i - 1));
}
@@ -446,9 +448,9 @@ public class TransactionRecorderImplTest {
String query = (String) obj[0];
ArrayList<String> args = (ArrayList<String>) obj[1];
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement(query)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(query)
+ ) {
for (int i = 1; i <= args.size(); i++) {
ps.setString(i, args.get(i - 1));
}
@@ -460,13 +462,13 @@ public class TransactionRecorderImplTest {
private boolean isTransactionAborted() throws Exception {
String query = "SELECT COUNT(*) FROM TRANSACTIONS WHERE STATE = ?";
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement(query)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(query)
+ ) {
ps.setString(1, RequestStatus.ABORTED.toString());
try (
- ResultSet rs = ps.executeQuery()
- ) {
+ ResultSet rs = ps.executeQuery()
+ ) {
while (rs.next()) {
int value = rs.getInt(1);
if (value == 1) {
@@ -483,9 +485,9 @@ public class TransactionRecorderImplTest {
String query = (String) obj[0];
ArrayList<String> args = (ArrayList<String>) obj[1];
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement(query)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(query)
+ ) {
for (int i = 1; i <= args.size(); i++) {
System.out.println("Value at " + i + ": " + args.get(i - 1));
ps.setString(i, args.get(i - 1));
@@ -504,9 +506,9 @@ public class TransactionRecorderImplTest {
String query = (String) obj[0];
ArrayList<String> args = (ArrayList<String>) obj[1];
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement(query)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(query)
+ ) {
for (int i = 1; i <= args.size(); i++) {
ps.setString(i, args.get(i - 1));
}
@@ -538,12 +540,13 @@ public class TransactionRecorderImplTest {
}
private void insertRecord(TransactionRecord input) throws SQLException {
- final String STORE_DATE_QUERY = TransactionConstants.INSERT_INTO + TransactionConstants.TRANSACTIONS +
- " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+ final String STORE_DATE_QUERY =
+ TransactionConstants.INSERT_INTO + TransactionConstants.TRANSACTIONS
+ + " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement(STORE_DATE_QUERY)
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(STORE_DATE_QUERY)
+ ) {
ArrayList<String> args = prepareArguments(input);
args.remove(0);
args.add(0, "123~" + input.getTransactionId());
@@ -615,21 +618,22 @@ public class TransactionRecorderImplTest {
private String checkIfValueIsUpdated(String key) throws Exception {
try (
- Connection con = dbConnectionPool.getConnection();
- PreparedStatement ps = con.prepareStatement("SELECT TARGET_TYPE,TRANSACTION_ID FROM TRANSACTIONS" +
- " WHERE TRANSACTION_ID = ?")
- ) {
+ Connection con = dbConnectionPool.getConnection();
+ PreparedStatement ps = con.prepareStatement(
+ "SELECT TARGET_TYPE, TRANSACTION_ID FROM TRANSACTIONS"
+ + " WHERE TRANSACTION_ID = ?")
+ ) {
ps.setString(1, key);
try (
- ResultSet rs = ps.executeQuery()
- ) {
- while (rs.next()) {
- String value = rs.getString("TARGET_TYPE");
- String transactionId = rs.getString("TRANSACTION_ID");
- System.out.println("Updated data: TRANSACTION_ID: " + transactionId + " TARGET_TYPE: " + value);
- return value;
- }
- throw new Exception("Value not found");
+ ResultSet rs = ps.executeQuery()
+ ) {
+ while (rs.next()) {
+ String value = rs.getString("TARGET_TYPE");
+ String transactionId = rs.getString("TRANSACTION_ID");
+ System.out.println("Updated data: TRANSACTION_ID: " + transactionId + " TARGET_TYPE: " + value);
+ return value;
+ }
+ throw new Exception("Value not found");
}
}
}