Skip to content
Snippets Groups Projects
Commit aad5777c authored by cramakri's avatar cramakri
Browse files

Completed implementation of IDataSetRegistrationTransaction.getDatabaseQuery()

SVN: 22312
parent 079540c7
No related branches found
No related tags found
No related merge requests found
...@@ -120,8 +120,8 @@ abstract class AbstractTransactionState<T extends DataSetInformation> ...@@ -120,8 +120,8 @@ abstract class AbstractTransactionState<T extends DataSetInformation>
private final List<Material> materialsToBeRegistered = new ArrayList<Material>(); private final List<Material> materialsToBeRegistered = new ArrayList<Material>();
private final List<DynamicTransactionQuery> queriesToCommit = private final Map<String, DynamicTransactionQuery> queriesToCommit =
new ArrayList<DynamicTransactionQuery>(); new HashMap<String, DynamicTransactionQuery>();
private String userIdOrNull = null; private String userIdOrNull = null;
...@@ -441,8 +441,12 @@ abstract class AbstractTransactionState<T extends DataSetInformation> ...@@ -441,8 +441,12 @@ abstract class AbstractTransactionState<T extends DataSetInformation>
public DynamicTransactionQuery getDatabaseQuery(String dataSourceName) public DynamicTransactionQuery getDatabaseQuery(String dataSourceName)
{ {
DynamicTransactionQuery query = QueryTool.getQuery(DynamicTransactionQuery.class); DynamicTransactionQuery query = queriesToCommit.get(dataSourceName);
queriesToCommit.add(query); if (null == query)
{
query = QueryTool.getQuery(DynamicTransactionQuery.class);
queriesToCommit.put(dataSourceName, query);
}
return query; return query;
} }
...@@ -480,7 +484,7 @@ abstract class AbstractTransactionState<T extends DataSetInformation> ...@@ -480,7 +484,7 @@ abstract class AbstractTransactionState<T extends DataSetInformation>
DataSetStorageAlgorithmRunner<T> runner = DataSetStorageAlgorithmRunner<T> runner =
new DataSetStorageAlgorithmRunner<T>(algorithms, parent, parent); new DataSetStorageAlgorithmRunner<T>(algorithms, parent, parent);
List<DataSetInformation> datasets = runner.prepareAndRunStorageAlgorithms(); List<DataSetInformation> datasets = runner.prepareAndRunStorageAlgorithms();
for (DynamicTransactionQuery query : queriesToCommit) for (DynamicTransactionQuery query : queriesToCommit.values())
{ {
query.commit(); query.commit();
query.close(false); query.close(false);
...@@ -497,7 +501,7 @@ abstract class AbstractTransactionState<T extends DataSetInformation> ...@@ -497,7 +501,7 @@ abstract class AbstractTransactionState<T extends DataSetInformation>
{ {
rollbackStack.rollbackAll(); rollbackStack.rollbackAll();
registeredDataSets.clear(); registeredDataSets.clear();
for (DynamicTransactionQuery query : queriesToCommit) for (DynamicTransactionQuery query : queriesToCommit.values())
{ {
query.rollback(); query.rollback();
query.close(false); query.close(false);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment