001
014
015 package com.liferay.portal.lar.lifecycle;
016
017 import com.liferay.portal.kernel.lar.lifecycle.ExportImportLifecycleEvent;
018 import com.liferay.portal.kernel.lar.lifecycle.ExportImportLifecycleEventListenerRegistryUtil;
019 import com.liferay.portal.kernel.lar.lifecycle.ExportImportLifecycleListener;
020 import com.liferay.portal.kernel.log.Log;
021 import com.liferay.portal.kernel.log.LogFactoryUtil;
022 import com.liferay.portal.kernel.messaging.BaseMessageListener;
023 import com.liferay.portal.kernel.messaging.DestinationNames;
024 import com.liferay.portal.kernel.messaging.Message;
025
026 import java.util.Set;
027
028
031 public class ExportImportLifecycleMessageListener extends BaseMessageListener {
032
033 @Override
034 protected void doReceive(Message message) throws Exception {
035 Set<ExportImportLifecycleListener> exportImportLifecycleListeners =
036 getExportImportLifecycleListeners(message);
037
038 ExportImportLifecycleEvent exportImportLifecycleEvent =
039 (ExportImportLifecycleEvent)message.get(
040 "exportImportLifecycleEvent");
041
042 for (ExportImportLifecycleListener exportImportLifecycleListener :
043 exportImportLifecycleListeners) {
044
045 try {
046 exportImportLifecycleListener.onExportImportLifecycleEvent(
047 exportImportLifecycleEvent);
048 }
049 catch (Exception e) {
050 if (_log.isWarnEnabled()) {
051 _log.warn(
052 "Unable to call " +
053 exportImportLifecycleListener.getClass(),
054 e);
055 }
056 }
057 }
058 }
059
060 protected Set<ExportImportLifecycleListener>
061 getExportImportLifecycleListeners(Message message) {
062
063 String destinationName = message.getDestinationName();
064
065 if (destinationName.equals(
066 DestinationNames.EXPORT_IMPORT_LIFECYCLE_EVENT_SYNC)) {
067
068 return ExportImportLifecycleEventListenerRegistryUtil.
069 getSyncExportImportLifecycleListeners();
070 }
071
072 return ExportImportLifecycleEventListenerRegistryUtil.
073 getAsyncExportImportLifecycleListeners();
074 }
075
076 private static final Log _log = LogFactoryUtil.getLog(
077 ExportImportLifecycleMessageListener.class);
078
079 }