From 37e8fc6ceff880f5adb9d81909fcbb7f38080220 Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Thu, 28 Jun 2012 12:41:16 +0000
Subject: [PATCH] SP-136 BIS-21 refactor registration context

SVN: 25935
---
 ...tOmniscientTopLevelDataSetRegistrator.java |  4 +--
 .../DataSetRegistrationService.java           |  8 ++---
 .../DataSetStorageAlgorithmRunner.java        | 18 ++++++------
 .../JythonTopLevelDataSetHandler.java         | 27 ++++++++---------
 .../v2/JythonTopLevelDataSetHandlerV2.java    | 29 ++++++++++---------
 5 files changed, 44 insertions(+), 42 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/AbstractOmniscientTopLevelDataSetRegistrator.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/AbstractOmniscientTopLevelDataSetRegistrator.java
index 4a0ca929aad..fe2d74dede8 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/AbstractOmniscientTopLevelDataSetRegistrator.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/AbstractOmniscientTopLevelDataSetRegistrator.java
@@ -612,7 +612,7 @@ public abstract class AbstractOmniscientTopLevelDataSetRegistrator<T extends Dat
      * Subclasses can override and implement their own handling logic.
      */
     public void didPreRegistration(DataSetRegistrationService<T> service,
-            DataSetRegistrationContext.IHolder persistentMapHolder)
+            DataSetRegistrationContext.IHolder registrationContextHolder)
     {
     }
 
@@ -622,7 +622,7 @@ public abstract class AbstractOmniscientTopLevelDataSetRegistrator<T extends Dat
      * Subclasses can override and implement their own handling logic.
      */
     public void didPostRegistration(DataSetRegistrationService<T> service,
-            DataSetRegistrationContext.IHolder persistentMapHolder)
+            DataSetRegistrationContext.IHolder registrationContextHolder)
     {
     }
 
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationService.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationService.java
index b7efb6781c5..d64d702b0ec 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationService.java
@@ -269,15 +269,15 @@ public class DataSetRegistrationService<T extends DataSetInformation> implements
     }
 
     @Override
-    public void executePreRegistration(DataSetRegistrationContext.IHolder persistentMapHolder)
+    public void executePreRegistration(DataSetRegistrationContext.IHolder registrationContextHolder)
     {
-        registrator.didPreRegistration(this, persistentMapHolder);
+        registrator.didPreRegistration(this, registrationContextHolder);
     }
 
     @Override
-    public void executePostRegistration(DataSetRegistrationContext.IHolder persistentMapHolder)
+    public void executePostRegistration(DataSetRegistrationContext.IHolder registrationContextHolder)
     {
-        registrator.didPostRegistration(this, persistentMapHolder);
+        registrator.didPostRegistration(this, registrationContextHolder);
     }
 
     public void didEncounterSecondaryTransactionErrors(
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java
index fcaa2071c29..7a83552a461 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetStorageAlgorithmRunner.java
@@ -78,10 +78,10 @@ public class DataSetStorageAlgorithmRunner<T extends DataSetInformation>
     public static interface IPrePostRegistrationHook<T extends DataSetInformation>
     {
         public void executePreRegistration(
-DataSetRegistrationContext.IHolder persistentMapHolder);
+                DataSetRegistrationContext.IHolder registrationContextHolder);
 
         public void executePostRegistration(
-DataSetRegistrationContext.IHolder persistentMapHolder);
+                DataSetRegistrationContext.IHolder registrationContextHolder);
     }
 
     static private final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION,
@@ -102,7 +102,7 @@ DataSetRegistrationContext.IHolder persistentMapHolder);
 
     private final IRollbackStack rollbackStack;
 
-    private final DataSetRegistrationContext.IHolder persistentMapHolder;
+    private final DataSetRegistrationContext.IHolder registrationContextHolder;
 
     private final IPrePostRegistrationHook<T> postPreRegistrationHooks;
 
@@ -131,7 +131,7 @@ DataSetRegistrationContext.IHolder persistentMapHolder);
                 new ArrayList<DataSetStorageAlgorithm<T>>(dataSetStorageAlgorithms);
         this.rollbackDelegate = transaction;
         this.applicationServerRegistrator = transaction;
-        this.persistentMapHolder = transaction;
+        this.registrationContextHolder = transaction;
         this.rollbackStack = rollbackStack;
         this.dssRegistrationLog = dssRegistrationLog;
         this.openBISService = openBISService;
@@ -155,14 +155,14 @@ DataSetRegistrationContext.IHolder persistentMapHolder);
             DssRegistrationLogger dssRegistrationLog, IEncapsulatedOpenBISService openBISService,
             IPrePostRegistrationHook<T> postPreRegistrationHooks,
             IDataSetStorageRecoveryManager storageRecoveryManager,
-            DataSetRegistrationContext.IHolder persistentMapHolder,
+            DataSetRegistrationContext.IHolder registrationContextHolder,
             TopLevelDataSetRegistratorGlobalState globalState)
     {
         this.dataSetStorageAlgorithms =
                 new ArrayList<DataSetStorageAlgorithm<T>>(dataSetStorageAlgorithms);
         this.rollbackDelegate = rollbackDelegate;
         this.applicationServerRegistrator = null;
-        this.persistentMapHolder = persistentMapHolder;
+        this.registrationContextHolder = registrationContextHolder;
         this.rollbackStack = rollbackStack;
         this.dssRegistrationLog = dssRegistrationLog;
         this.openBISService = openBISService;
@@ -286,7 +286,7 @@ DataSetRegistrationContext.IHolder persistentMapHolder);
     {
         try
         {
-            postPreRegistrationHooks.executePreRegistration(persistentMapHolder);
+            postPreRegistrationHooks.executePreRegistration(registrationContextHolder);
         } catch (Throwable throwable)
         {
             operationLog.error("Error in execution of pre registration hooks", throwable);
@@ -741,7 +741,7 @@ DataSetRegistrationContext.IHolder persistentMapHolder);
     {
         try
         {
-            postPreRegistrationHooks.executePostRegistration(persistentMapHolder);
+            postPreRegistrationHooks.executePostRegistration(registrationContextHolder);
         } catch (final Throwable throwable)
         {
             dssRegistrationLog.log("Post-registration action failed:");
@@ -822,6 +822,6 @@ DataSetRegistrationContext.IHolder persistentMapHolder);
 
     public DataSetRegistrationContext getRegistrationContext()
     {
-        return persistentMapHolder.getRegistrationContext();
+        return registrationContextHolder.getRegistrationContext();
     }
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java
index 0c42d383930..c493f5ea062 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java
@@ -312,18 +312,18 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends
 
     @Override
     public void didPreRegistration(DataSetRegistrationService<T> service,
-            DataSetRegistrationContext.IHolder persistentMapHolder)
+            DataSetRegistrationContext.IHolder registrationContextHolder)
     {
-        super.didPreRegistration(service, persistentMapHolder);
-        invokePreRegistrationFunction(service, persistentMapHolder);
+        super.didPreRegistration(service, registrationContextHolder);
+        invokePreRegistrationFunction(service, registrationContextHolder);
     }
 
     @Override
     public void didPostRegistration(DataSetRegistrationService<T> service,
-            DataSetRegistrationContext.IHolder persistentMapHolder)
+            DataSetRegistrationContext.IHolder registrationContextHolder)
     {
-        super.didPostRegistration(service, persistentMapHolder);
-        invokePostRegistrationFunction(service, persistentMapHolder);
+        super.didPostRegistration(service, registrationContextHolder);
+        invokePostRegistrationFunction(service, registrationContextHolder);
     }
 
     @Override
@@ -439,7 +439,7 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends
     }
 
     private void invokePreRegistrationFunction(DataSetRegistrationService<T> service,
-            DataSetRegistrationContext.IHolder persistentMapholder)
+            DataSetRegistrationContext.IHolder registrationContextHolder)
     {
         PythonInterpreter interpreter = getInterpreterFromService(service);
         PyFunction function =
@@ -447,17 +447,17 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends
 
         if (null != function)
         {
-            invokeTransactionFunctionWithContext(function, persistentMapholder);
+            invokeTransactionFunctionWithContext(function, registrationContextHolder);
         }
     }
 
     private void invokePostRegistrationFunction(DataSetRegistrationService<T> service,
-            DataSetRegistrationContext.IHolder persistentMapHolder)
+            DataSetRegistrationContext.IHolder registrationContextHolder)
     {
         PyFunction function = tryGetPostRegistrationFunction(service);
         if (null != function)
         {
-            invokeTransactionFunctionWithContext(function, persistentMapHolder);
+            invokeTransactionFunctionWithContext(function, registrationContextHolder);
         }
     }
 
@@ -513,14 +513,15 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends
     }
 
     private void invokeTransactionFunctionWithContext(PyFunction function,
-            DataSetRegistrationContext.IHolder persistentMapHolder, Object... additionalArgs)
+            DataSetRegistrationContext.IHolder registrationContextHolder, Object... additionalArgs)
     {
         if (additionalArgs.length > 0)
         {
-            invokeFunction(function, persistentMapHolder.getRegistrationContext(), additionalArgs);
+            invokeFunction(function, registrationContextHolder.getRegistrationContext(),
+                    additionalArgs);
         } else
         {
-            invokeFunction(function, persistentMapHolder.getRegistrationContext());
+            invokeFunction(function, registrationContextHolder.getRegistrationContext());
         }
     }
 
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonTopLevelDataSetHandlerV2.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonTopLevelDataSetHandlerV2.java
index 8cd9be074b3..ab48d42746b 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonTopLevelDataSetHandlerV2.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonTopLevelDataSetHandlerV2.java
@@ -196,13 +196,13 @@ public class JythonTopLevelDataSetHandlerV2<T extends DataSetInformation> extend
                         + " time (max allowed is " + processMaxRetryCount + ")");
             }
 
-            DataSetRegistrationContext persistentMap =
+            DataSetRegistrationContext registrationContext =
                     service.getTransaction().getRegistrationContext();
 
             PyObject retryFunctionResult = null;
             try
             {
-                retryFunctionResult = invokeFunction(retryFunction, persistentMap, problem);
+                retryFunctionResult = invokeFunction(retryFunction, registrationContext, problem);
             } catch (Exception ex)
             {
                 operationLog.error("The retry function has failed. Rolling back.", ex);
@@ -237,7 +237,7 @@ public class JythonTopLevelDataSetHandlerV2<T extends DataSetInformation> extend
 
             // creates the new transaction and propagates the values in the persistent map
             service.transaction().getRegistrationContext().getPersistentMap()
-                    .putAll(persistentMap.getPersistentMap());
+                    .putAll(registrationContext.getPersistentMap());
 
             waitTheRetryPeriod(processRetryPauseInSec);
         }
@@ -462,7 +462,7 @@ public class JythonTopLevelDataSetHandlerV2<T extends DataSetInformation> extend
                 new RecoveryHookAdaptor(recoveryState.getIncomingDataSetFile()
                         .getLogicalIncomingFile());
 
-        DataSetRegistrationContext.IHolder persistentMapHolder =
+        DataSetRegistrationContext.IHolder registrationContextHolder =
                 new DataSetRegistrationContext.IHolder()
                     {
 
@@ -488,7 +488,8 @@ public class JythonTopLevelDataSetHandlerV2<T extends DataSetInformation> extend
                         logger, // registrationLogger
                         state.getGlobalState().getOpenBisService(), // openBisService
                         hookAdaptor, // the hooks
-                        state.getGlobalState().getStorageRecoveryManager(), persistentMapHolder,
+                        state.getGlobalState().getStorageRecoveryManager(),
+                        registrationContextHolder,
                         state.getGlobalState());
 
         boolean registrationSuccessful = false;
@@ -548,7 +549,7 @@ public class JythonTopLevelDataSetHandlerV2<T extends DataSetInformation> extend
 
                 shouldStopRecovery = true;
 
-                hookAdaptor.executePreRegistrationRollback(persistentMapHolder, null);
+                hookAdaptor.executePreRegistrationRollback(registrationContextHolder, null);
 
                 finishRegistration(dataSetStorageAlgorithms, rollbackStack);
             } else
@@ -574,7 +575,7 @@ public class JythonTopLevelDataSetHandlerV2<T extends DataSetInformation> extend
                 }
                 if (success)
                 {
-                    hookAdaptor.executePostStorage(persistentMapHolder);
+                    hookAdaptor.executePostStorage(registrationContextHolder);
 
                     registrationSuccessful = true;
                     shouldStopRecovery = true;
@@ -655,21 +656,21 @@ public class JythonTopLevelDataSetHandlerV2<T extends DataSetInformation> extend
 
         @Override
         public void executePreRegistration(
-DataSetRegistrationContext.IHolder persistentMapHolder)
+                DataSetRegistrationContext.IHolder registrationContextHolder)
         {
             throw new NotImplementedException("Recovery cannot execute pre-registration hook.");
         }
 
         @Override
         public void executePostRegistration(
-DataSetRegistrationContext.IHolder persistentMapHolder)
+                DataSetRegistrationContext.IHolder registrationContextHolder)
         {
             PyFunction function =
                     tryJythonFunction(getInterpreter(),
                             JythonHookFunction.POST_REGISTRATION_FUNCTION_NAME);
             if (function != null)
             {
-                invokeFunction(function, persistentMapHolder.getRegistrationContext());
+                invokeFunction(function, registrationContextHolder.getRegistrationContext());
             }
         }
 
@@ -677,26 +678,26 @@ DataSetRegistrationContext.IHolder persistentMapHolder)
          * This method does not belong to the IPrePostRegistrationHook interface. Is called directly
          * by recovery.
          */
-        public void executePostStorage(DataSetRegistrationContext.IHolder persistentMapHolder)
+        public void executePostStorage(DataSetRegistrationContext.IHolder registrationContextHolder)
         {
             PyFunction function =
                     tryJythonFunction(getInterpreter(),
                             JythonHookFunction.POST_STORAGE_FUNCTION_NAME);
             if (function != null)
             {
-                invokeFunction(function, persistentMapHolder.getRegistrationContext());
+                invokeFunction(function, registrationContextHolder.getRegistrationContext());
             }
         }
 
         public void executePreRegistrationRollback(
-                DataSetRegistrationContext.IHolder persistentMapHolder, Throwable t)
+                DataSetRegistrationContext.IHolder registrationContextHolder, Throwable t)
         {
             PyFunction function =
                     tryJythonFunction(getInterpreter(),
                             JythonHookFunction.ROLLBACK_PRE_REGISTRATION_FUNCTION_NAME);
             if (function != null)
             {
-                invokeFunction(function, persistentMapHolder.getRegistrationContext(), t);
+                invokeFunction(function, registrationContextHolder.getRegistrationContext(), t);
             }
         }
 
-- 
GitLab