001
014
015 package com.liferay.portal.kernel.workflow.test;
016
017 import com.liferay.portal.kernel.workflow.WorkflowHandler;
018 import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil;
019
020
023 public class WorkflowHandlerReplacer<T> implements AutoCloseable {
024
025 public WorkflowHandlerReplacer(
026 String className, WorkflowHandler<T> replacementWorkflowHandler) {
027
028 _originalWorkflowHandler =
029 WorkflowHandlerRegistryUtil.getWorkflowHandler(className);
030 _replacementWorkflowHandler = replacementWorkflowHandler;
031
032 WorkflowHandlerRegistryUtil.unregister(_originalWorkflowHandler);
033 WorkflowHandlerRegistryUtil.register(_replacementWorkflowHandler);
034 }
035
036 @Override
037 public void close() throws Exception {
038 WorkflowHandlerRegistryUtil.unregister(_replacementWorkflowHandler);
039 WorkflowHandlerRegistryUtil.register(_originalWorkflowHandler);
040 }
041
042 private final WorkflowHandler<T> _originalWorkflowHandler;
043 private final WorkflowHandler<T> _replacementWorkflowHandler;
044
045 }