1
14
15 package com.liferay.portal.kernel.workflow.messaging;
16
17 import com.liferay.portal.kernel.log.Log;
18 import com.liferay.portal.kernel.log.LogFactoryUtil;
19 import com.liferay.portal.kernel.messaging.BaseDestinationEventListener;
20 import com.liferay.portal.kernel.messaging.DestinationNames;
21 import com.liferay.portal.kernel.messaging.MessageBusUtil;
22 import com.liferay.portal.kernel.messaging.MessageListener;
23
24
30 public class DefaultWorkflowDestinationEventListener
31 extends BaseDestinationEventListener {
32
33 public void messageListenerRegistered(
34 String destinationName, MessageListener messageListener) {
35
36 if (_log.isInfoEnabled()) {
37 _log.info(
38 "Unregistering default workflow engine " + _workflowEngineName);
39 }
40
41 if (!isProceed(destinationName, messageListener)) {
42 return;
43 }
44
45 MessageBusUtil.unregisterMessageListener(
46 DestinationNames.WORKFLOW_DEFINITION,
47 _workflowDefinitionManagerListener);
48
49 MessageBusUtil.unregisterMessageListener(
50 DestinationNames.WORKFLOW_ENGINE, _workflowEngineManagerListener);
51
52 MessageBusUtil.unregisterMessageListener(
53 DestinationNames.WORKFLOW_INSTANCE,
54 _workflowInstanceManagerListener);
55
56 MessageBusUtil.unregisterMessageListener(
57 DestinationNames.WORKFLOW_LOG, _workflowLogManagerListener);
58
59 MessageBusUtil.unregisterMessageListener(
60 DestinationNames.WORKFLOW_TASK, _workflowTaskManagerListener);
61 }
62
63 public void messageListenerUnregistered(
64 String destinationName, MessageListener messageListener) {
65
66 if (!isProceed(destinationName, messageListener)) {
67 return;
68 }
69
70 if (_log.isInfoEnabled()) {
71 _log.info(
72 "Registering default workflow engine " + _workflowEngineName);
73 }
74
75 MessageBusUtil.registerMessageListener(
76 DestinationNames.WORKFLOW_DEFINITION,
77 _workflowDefinitionManagerListener);
78
79 MessageBusUtil.registerMessageListener(
80 DestinationNames.WORKFLOW_ENGINE, _workflowEngineManagerListener);
81
82 MessageBusUtil.registerMessageListener(
83 DestinationNames.WORKFLOW_INSTANCE,
84 _workflowInstanceManagerListener);
85
86 MessageBusUtil.registerMessageListener(
87 DestinationNames.WORKFLOW_LOG, _workflowLogManagerListener);
88
89 MessageBusUtil.registerMessageListener(
90 DestinationNames.WORKFLOW_TASK, _workflowTaskManagerListener);
91 }
92
93 public void setWorkflowDefinitionManagerListener(
94 MessageListener workflowDefinitionManagerListener) {
95
96 _workflowDefinitionManagerListener = workflowDefinitionManagerListener;
97 }
98
99 public void setWorkflowEngineManagerListener(
100 MessageListener workflowEngineManagerListener) {
101
102 _workflowEngineManagerListener = workflowEngineManagerListener;
103 }
104
105 public void setWorkflowEngineName(String workflowEngineName) {
106 _workflowEngineName = workflowEngineName;
107 }
108
109 public void setWorkflowInstanceManagerListener(
110 MessageListener workflowInstanceManagerListener) {
111
112 _workflowInstanceManagerListener = workflowInstanceManagerListener;
113 }
114
115 public void setWorkflowLogManagerListener(
116 MessageListener workflowLogManagerListener) {
117
118 _workflowLogManagerListener = workflowLogManagerListener;
119 }
120
121 public void setWorkflowTaskManagerListener(
122 MessageListener workflowTaskManagerListener) {
123
124 _workflowTaskManagerListener = workflowTaskManagerListener;
125 }
126
127 protected boolean isProceed(
128 String destinationName, MessageListener messageListener) {
129
130 if (messageListener.equals(_workflowEngineManagerListener)) {
131 return false;
132 }
133 else {
134 return true;
135 }
136 }
137
138 private static final Log _log = LogFactoryUtil.getLog(
139 DefaultWorkflowDestinationEventListener.class);
140
141 private MessageListener _workflowDefinitionManagerListener;
142 private MessageListener _workflowEngineManagerListener;
143 private String _workflowEngineName;
144 private MessageListener _workflowInstanceManagerListener;
145 private MessageListener _workflowLogManagerListener;
146 private MessageListener _workflowTaskManagerListener;
147
148 }