You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2015/01/27 16:27:02 UTC
[08/13] airavata git commit: retiring ws-messenger and remove
dependency of workflow tracking - AIRAVATA-1556, AIRAVATA-1557
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventData.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventData.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventData.java
deleted file mode 100644
index 6afa9af..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventData.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-import java.net.URI;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.apache.airavata.ws.monitor.MonitorUtil.EventType;
-import org.xmlpull.infoset.XmlElement;
-
-public class EventData {
-
- private String timeText;
-
- private Date timestamp;
-
- private String idText;
-
- private String statusText;
-
- private String message;
-
- private XmlElement event;
-
- private EventType type;
-
- private URI workflowID;
-
- private String nodeID;
-
- private String experimentID;
-
- /**
- * Constructs a MonitorEvent.
- *
- * @param event
- */
- public EventData(XmlElement event) {
- this.event = event;
- parse();
- }
-
- /**
- * Returns the event.
- *
- * @return The event
- */
- public XmlElement getEvent() {
- return this.event;
- }
-
- /**
- * Returns the idText.
- *
- * @return The idText
- */
- public String getIDText() {
- return this.idText;
- }
-
- /**
- * Returns the message.
- *
- * @return The message
- */
- public String getMessage() {
- return this.message;
- }
-
- /**
- * Returns the statusText.
- *
- * @return The statusText
- */
- public String getStatusText() {
- return this.statusText;
- }
-
- /**
- * Returns the timeText.
- *
- * @return The timeText
- */
- public String getTimeText() {
- return this.timeText;
- }
-
- /**
- * Returns the type.
- *
- * @return The type
- */
- public EventType getType() {
- return this.type;
- }
-
- /**
- * Returns the workflowID.
- *
- * @return The workflowID
- */
- public URI getWorkflowID() {
- return this.workflowID;
- }
-
- /**
- * Returns the nodeID.
- *
- * @return The nodeID
- */
- public String getNodeID() {
- return this.nodeID;
- }
-
- private void parse() {
- this.type = MonitorUtil.getType(this.event);
- this.workflowID = MonitorUtil.getWorkflowID(this.event);
- this.nodeID = MonitorUtil.getNodeID(this.event);
- this.experimentID = MonitorUtil.getExperiementID(this.event);
- timestamp = MonitorUtil.getTimestamp(this.event);
-
- if (timestamp != null) {
- SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss.S MM/dd/yy ");
- this.timeText = format.format(timestamp);
- } else {
- this.timeText = "";
- }
-
- this.idText = this.nodeID;
-
- this.statusText = MonitorUtil.getStatus(this.event);
-
- this.message = MonitorUtil.getMessage(this.event);
- if (this.type == MonitorUtil.EventType.PUBLISH_URL) {
- String location = MonitorUtil.getLocation(this.event);
- // should be looked into
- // String url = PREFIX + location + SUFFIX;
- String url = location;
- this.message = "<html>" + this.message + ": " + "<a href=\"" + url + "\">" + url + " </a></html>";
- }
- }
-
- public Date getTimestamp() {
- return timestamp;
- }
-
- public void setTimestamp(Date timestamp) {
- this.timestamp = timestamp;
- }
-
- public String getExperimentID() {
- return experimentID;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataListener.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataListener.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataListener.java
deleted file mode 100644
index ed5875f..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataListener.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-public interface EventDataListener {
-
- /**
- * Gets triggered when a new message is received relevant for the experiment subscribed to
- * @param eventDataRepo - Contains a collection of events up to this point in monitoring
- * @param eventData - the new message related to the experiment
- */
- public void notify(EventDataRepository eventDataRepo, EventData eventData);
-
- /**
- * Set the Monitor object
- * @param monitor
- */
- public void setExperimentMonitor(Monitor monitor);
-
- /**
- * Gets triggered just before the experiment monitoring is started
- */
- public void monitoringPreStart();
-
- /**
- * Gets triggered just after the experiment monitoring is started
- */
- public void monitoringPostStart();
-
- /**
- * Gets triggered just before the experiment monitoring is stopped
- */
- public void monitoringPreStop();
-
- /**
- * Gets triggered just after the experiment monitoring is stopped
- */
- public void monitoringPostStop();
-
- /**
- * Gets triggered when experiment fails
- */
- public void onFail(EventData failNotification);
-
- /**
- * Gets triggered when the experiment completes
- */
- public void onCompletion(EventData completionNotification);
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataListenerAdapter.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataListenerAdapter.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataListenerAdapter.java
deleted file mode 100644
index 5eeaeaf..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataListenerAdapter.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-public abstract class EventDataListenerAdapter implements EventDataListener {
- private Monitor monitor;
-
- @Override
- public void setExperimentMonitor(Monitor monitor) {
- setMonitor(monitor);
- }
-
- @Override
- public void monitoringPreStart() {
- //Nothing to do
- }
-
- @Override
- public void monitoringPostStart() {
- //Nothing to do
- }
-
- @Override
- public void monitoringPreStop() {
- //Nothing to do
- }
-
- @Override
- public void monitoringPostStop() {
- //Nothing to do
- }
-
- protected Monitor getMonitor() {
- return monitor;
- }
-
- private void setMonitor(Monitor monitor) {
- this.monitor = monitor;
- }
-
- @Override
- public void onFail(EventData failNotification) {
- //Nothing to do
- }
-
- @Override
- public void onCompletion(EventData completionNotification) {
- //Nothing to do
- }
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataRepository.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataRepository.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataRepository.java
deleted file mode 100644
index 1c20cf8..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventDataRepository.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.swing.BoundedRangeModel;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-import javax.swing.event.TableModelEvent;
-import javax.swing.event.TableModelListener;
-import javax.swing.table.TableModel;
-
-import org.apache.airavata.ws.monitor.MonitorUtil.EventType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xmlpull.infoset.XmlElement;
-
-public class EventDataRepository implements TableModel, BoundedRangeModel {
-
- /**
- * Column
- */
- public static enum Column {
- /**
- * TIME
- */
- TIME("Time"),
- /**
- * ID
- */
- ID("Component"),
- /**
- * STATUS
- */
- STATUS("Status"),
- /**
- * MESSAGE
- */
- MESSAGE("Message");
-
- private String name;
-
- private Column(String name) {
- this.name = name;
- }
-
- /**
- * @return The name.
- */
- public String getName() {
- return this.name;
- }
- }
-
- private static final Logger logger = LoggerFactory.getLogger(EventDataRepository.class);
-
- private List<TableModelListener> tableModelListeners;
-
- private List<ChangeListener> sliderModelListeners;
-
- private List<EventData> events;
-
- private int sliderValue;
-
- private boolean sliderAdjusting;
-
- private ChangeEvent tableModelChangeEvent;
-
- private EventFilter filter;
-
- private List<EventDataListener> monitorEventListerners;
-
- /**
- *
- * Constructs a MonitorEventData.
- *
- */
- public EventDataRepository() {
- this(null);
- }
-
- /**
- * Constructs a NotificationTableModel.
- */
- public EventDataRepository(EventFilter filter) {
- this.filter = filter;
- this.tableModelListeners = new LinkedList<TableModelListener>();
- this.sliderModelListeners = new LinkedList<ChangeListener>();
- this.tableModelChangeEvent = new ChangeEvent(this); // We only need one.
- this.events = new ArrayList<EventData>();
- }
- public void addEvent(XmlElement message) throws Exception {
- addEvent(new EventData(message));
- }
- /**
- * @param event
- */
- public void addEvent(EventData event) throws Exception {
- // no need the check for not null because second clause is evaluated only if
- // not null
- if (this.filter == null || this.filter.isAcceptable(event)) {
- boolean sliderMax = (this.sliderValue == this.events.size());
-
- this.events.add(event);
-
- if (sliderMax) {
- // Move the slider to the max
- this.sliderValue = this.events.size();
-
- // The new event shows up on the table only when the slider is
- // max.
- TableModelEvent tableEvent = new TableModelEvent(this, this.sliderValue - 1, this.sliderValue,
- TableModelEvent.ALL_COLUMNS, TableModelEvent.INSERT);
- fireTableChanged(tableEvent);
- }
-
- // The muxmum of the slider changed regardless whether we move the
- // slider or not.
- fireSliderChanged();
- triggerListenerForMonitorEvent(event);
- }
-
- }
- public void triggerListenerForPreMonitorStart() throws Exception {
- for (EventDataListener listener : getMonitorEventListerners()) {
- try {
- listener.monitoringPreStart();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new Exception(e.getMessage(), e);
- }
- }
- }
-
- public void triggerListenerForPostMonitorStart() throws Exception{
- for (EventDataListener listener : getMonitorEventListerners()) {
- try {
- listener.monitoringPostStart();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new Exception(e.getMessage(), e);
- }
- }
- }
-
- public void triggerListenerForPreMonitorStop() throws Exception {
- for (EventDataListener listener : getMonitorEventListerners()) {
- try {
- listener.monitoringPreStop();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new Exception(e.getMessage(), e);
- }
- }
- }
-
- public void triggerListenerForPostMonitorStop() throws Exception {
- for (EventDataListener listener : getMonitorEventListerners()) {
- try {
- listener.monitoringPostStop();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new Exception(e.getMessage(), e);
- }
- }
- }
- private void triggerListenerForMonitorEvent(EventData event) throws Exception{
- for (EventDataListener listener : getMonitorEventListerners()) {
- try {
- listener.notify(this, event);
- if (event.getType()==EventType.WORKFLOW_TERMINATED){
- listener.onCompletion(event);
- }else if (event.getType()==EventType.SENDING_FAULT){
- listener.onFail(event);
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new Exception(e.getMessage(), e);
- }
- }
- }
-
- /**
- * @return All events.
- */
- public List<EventData> getEvents() {
- return this.events;
- }
-
- /**
- * Returns a notification at a specified row.
- *
- * @param index
- * The specified row.
- * @return The notification at the specified row
- */
- public EventData getEvent(int index) {
- return this.events.get(index);
- }
-
- /**
- * @return The number of events.
- */
- public int getEventSize() {
- return this.events.size();
- }
-
- /**
- * Clears the notifications.
- */
- public void removeAllEvents() {
- int size = this.events.size();
- this.events.clear();
-
- this.sliderValue = 0;
-
- TableModelEvent event = new TableModelEvent(this, 0, Math.max(0, size - 1), TableModelEvent.ALL_COLUMNS,
- TableModelEvent.DELETE);
- fireTableChanged(event);
-
- // The muxmum of the slider changed.
- fireSliderChanged();
- }
-
- // methods implementing TableModel interface.
-
- /**
- * @see javax.swing.table.TableModel#getRowCount()
- */
- public int getRowCount() {
- // Only show the events up to the slider value.
- return this.sliderValue;
- }
-
- /**
- * @see javax.swing.table.TableModel#getColumnCount()
- */
- public int getColumnCount() {
- return Column.values().length;
- }
-
- /**
- * @see javax.swing.table.TableModel#getColumnName(int)
- */
- public String getColumnName(int columnIndex) {
- Column[] columns = Column.values();
- if (columnIndex < 0 || columnIndex >= columns.length) {
- // Should not happen.
- throw new IllegalArgumentException("columnIndex has be be between 0 to " + columns.length);
- }
- return columns[columnIndex].getName();
- }
-
- /**
- * @see javax.swing.table.TableModel#getColumnClass(int)
- */
- public Class<?> getColumnClass(int columnIndex) {
- return String.class;
- }
-
- /**
- * @see javax.swing.table.TableModel#isCellEditable(int, int)
- */
- public boolean isCellEditable(int rowIndex, int columnIndex) {
- return false;
- }
-
- /**
- * @see javax.swing.table.TableModel#getValueAt(int, int)
- */
- public Object getValueAt(int rowIndex, int columnIndex) {
- String value;
- try {
- EventData event = this.events.get(rowIndex);
- value = getTextAt(event, columnIndex);
- } catch (RuntimeException e) {
- // This should not happen, but if it happens it blocks the UI.
- // That's why catching it.
- logger.error(e.getMessage(), e);
- value = "Error";
- }
- return value;
- }
-
- /**
- * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
- */
- public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @see javax.swing.table.TableModel#addTableModelListener(javax.swing.event.TableModelListener)
- */
- public void addTableModelListener(TableModelListener listener) {
- this.tableModelListeners.add(listener);
- }
-
- /**
- * @see javax.swing.table.TableModel#removeTableModelListener(javax.swing.event.TableModelListener)
- */
- public void removeTableModelListener(TableModelListener listener) {
- this.tableModelListeners.remove(listener);
- }
-
- // methods implementing BoundedRangeModel interface.
-
- /**
- * @see javax.swing.BoundedRangeModel#getExtent()
- */
- public int getExtent() {
- return 0;
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#setExtent(int)
- */
- public void setExtent(int newExtent) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#getMaximum()
- */
- public int getMaximum() {
- return getEventSize();
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#setMaximum(int)
- */
- public void setMaximum(int newMaximum) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#getMinimum()
- */
- public int getMinimum() {
- return 0;
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#setMinimum(int)
- */
- public void setMinimum(int newMinimum) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#getValue()
- */
- public int getValue() {
- return this.sliderValue;
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#setValue(int)
- */
- public void setValue(int newValue) {
- if (this.sliderValue == newValue) {
- return;
- }
-
- // Correct the value to be withing the range.
- if (newValue < 0) {
- newValue = 0;
- }
- if (newValue > this.events.size()) {
- newValue = this.events.size();
- }
-
- int oldRowCount = this.sliderValue;
- this.sliderValue = newValue;
-
- TableModelEvent event;
- if (oldRowCount < this.sliderValue) {
- event = new TableModelEvent(this, oldRowCount, this.sliderValue, TableModelEvent.ALL_COLUMNS,
- TableModelEvent.INSERT);
- } else {
- event = new TableModelEvent(this, this.sliderValue, oldRowCount, TableModelEvent.ALL_COLUMNS,
- TableModelEvent.DELETE);
- }
- fireTableChanged(event);
- fireSliderChanged();
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#getValueIsAdjusting()
- */
- public boolean getValueIsAdjusting() {
- return this.sliderAdjusting;
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#setValueIsAdjusting(boolean)
- */
- public void setValueIsAdjusting(boolean adjusting) {
- this.sliderAdjusting = adjusting;
- fireSliderChanged();
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#setRangeProperties(int, int, int, int, boolean)
- */
- public void setRangeProperties(int value, int extent, int min, int max, boolean adjusting) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#addChangeListener(javax.swing.event.ChangeListener)
- */
- public void addChangeListener(ChangeListener listener) {
- this.sliderModelListeners.add(listener);
- }
-
- /**
- * @see javax.swing.BoundedRangeModel#removeChangeListener(javax.swing.event.ChangeListener)
- */
- public void removeChangeListener(ChangeListener listener) {
- this.sliderModelListeners.remove(listener);
- }
-
- private String getTextAt(EventData event, int columnIndex) {
- Column[] columns = Column.values();
- if (columnIndex < 0 || columnIndex >= columns.length) {
- // Should not happen.
- throw new IllegalArgumentException("columnIndex has be be between 0 to " + columns.length);
- }
- Column column = columns[columnIndex];
- String value;
- switch (column) {
- case TIME:
- value = event.getTimeText();
- break;
- case ID:
- value = event.getIDText();
- break;
- case STATUS:
- value = event.getStatusText();
- break;
- case MESSAGE:
- value = event.getMessage();
- break;
- default:
- // Should not happen.
- throw new IllegalArgumentException("columnIndex has be be between 0 to " + columns.length);
- }
- return value;
- }
-
- private void fireTableChanged(TableModelEvent event) {
- for (TableModelListener listener : this.tableModelListeners) {
- listener.tableChanged(event);
- }
- }
-
- private void fireSliderChanged() {
- for (ChangeListener listener : this.sliderModelListeners) {
- listener.stateChanged(this.tableModelChangeEvent);
- }
- }
- private List<EventDataListener> getMonitorEventListerners() {
- if (monitorEventListerners==null){
- monitorEventListerners=new ArrayList<EventDataListener>();
- }
- return monitorEventListerners;
- }
-
- public void registerEventListener(EventDataListener listener){
- if (listener!=null) {
- getMonitorEventListerners().add(listener);
- }
- }
-
- public void unregisterEventListener(EventDataListener listener){
- if (getMonitorEventListerners().contains(listener)) {
- getMonitorEventListerners().remove(listener);
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventFilter.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventFilter.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventFilter.java
deleted file mode 100644
index 6e8b286..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/EventFilter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-public interface EventFilter {
-
- public boolean isAcceptable(EventData event);
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java
deleted file mode 100644
index 0666bd1..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.airavata.common.utils.XMLUtil;
-import org.apache.airavata.workflow.model.exceptions.WorkflowException;
-import org.apache.airavata.ws.monitor.MonitorUtil.EventType;
-import org.apache.airavata.ws.monitor.event.Event;
-import org.apache.airavata.ws.monitor.event.EventProducer;
-import org.apache.airavata.ws.monitor.event.Event.Type;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xmlpull.infoset.XmlElement;
-
-public class Monitor extends EventProducer {
-
- protected static final Logger logger = LoggerFactory.getLogger(Monitor.class);
-
- protected MonitorConfiguration configuration;
-
- protected static final String DEFAULT_MODEL_KEY = "_DEFAULT_MODEL_KEY";
-
- protected Map<String, EventDataRepository> eventDataMap = new HashMap<String, EventDataRepository>();
-
- protected WsmgClient wsmgClient;
-
- protected boolean printRawMessages;
-
- protected long messagePullTimeout = 20000L;
-
- protected boolean monitoring = false;
-
- private boolean monitoringCompleted=false;
-
- private boolean monitoringFailed=false;
-
- private String lastTerminatedWorkflowExecutionId=null;
-
- public Monitor(MonitorConfiguration configuration) {
- this.configuration = configuration;
- // First one keeps all event data & it doesn't have filters
- this.eventDataMap.put(DEFAULT_MODEL_KEY, new EventDataRepository());
- }
-
- /**
- * @return The configuration for monitoring
- */
- public MonitorConfiguration getConfiguration() {
- return this.configuration;
- }
-
- /**
- * Return the event data repository containing all the notifications
- * @return
- */
- public EventDataRepository getEventDataRepository() {
- return this.eventDataMap.get(DEFAULT_MODEL_KEY);
- }
-
- /**
- * Return the event data repository containing all the notifications for the node
- * @param nodeID
- * @return
- */
- public EventDataRepository getEventDataRepository(String nodeID){
- return this.eventDataMap.get(nodeID);
- }
-
- /**
- * @throws MonitorException
- */
- public synchronized void start() throws Exception {
-
- //Make sure currently we are not doing any monitoring
- stop();
-
- // Reset monitoring variables
- monitoringCompleted=false;
- monitoringFailed=false;
-
- //Notify listeners that the monitoring is about to start
- getEventDataRepository().triggerListenerForPreMonitorStart();
-
- subscribe();
-
- if (null != this.configuration.getInteractiveNodeIDs()) {
- List<String> interactiveNodeIDs = this.configuration.getInteractiveNodeIDs();
- // now add models for this as well
- for (String string : interactiveNodeIDs) {
-
- final String nodeID = string;
- // for each wsnode there is one data model which
- this.eventDataMap.put(nodeID, new EventDataRepository(new EventFilter() {
- public boolean isAcceptable(EventData event) {
- return event != null && event.getNodeID() != null && event.getNodeID().equals(nodeID);
- }
- }));
- }
-
- }
- getEventDataRepository().triggerListenerForPostMonitorStart();
- }
-
- /**
- * Stops monitoring without using a thread.
- *
- * @throws MonitorException
- */
- public synchronized void stop() throws MonitorException {
- try {
- if (this.wsmgClient != null) {
- getEventDataRepository().triggerListenerForPreMonitorStop();
- unsubscribe(this.wsmgClient);
- this.wsmgClient = null;
- getEventDataRepository().triggerListenerForPostMonitorStop();
- }
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new MonitorException(e.getMessage(), e);
- } finally{
- monitoringCompleted=true;
- }
- }
-
- /**
- * Start monitoring asynchronously
- */
- public void startMonitoring(){
- new Thread(){
- @Override
- public void run() {
- try {
- Monitor.this.start();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- }
- }
- }.start();
- }
-
- /**
- * Stop monitoring asynchronously
- */
- public void stopMonitoring(){
- // Users don't need to know the end of unsubscription.
- new Thread() {
- @Override
- public void run() {
- try {
- Monitor.this.stop();
- } catch (WorkflowException e) {
- // Ignore the error in unsubscription.
- logger.error(e.getMessage(), e);
- }
- }
- }.start();
- }
-
- /**
- * Resets the graph and clear the monitoring table. Remove all the extra table models available
- */
- public void resetEventData() {
- Set<String> keys = this.eventDataMap.keySet();
- LinkedList<String> keysToBeRemoved = new LinkedList<String>();
- // Remove everthing leaving only the last one
- for (String key : keys) {
- EventDataRepository monitorEventData = this.eventDataMap.get(key);
- monitorEventData.removeAllEvents();
- if (!key.equals(DEFAULT_MODEL_KEY)) {
- keysToBeRemoved.add(key);
- }
- }
- for (String key : keysToBeRemoved) {
- this.eventDataMap.remove(key);
- }
-
- }
-
- /**
- * @param event
- */
- protected synchronized void handleNotification(XmlElement event) {
- EventData eventData = new EventData(event);
- if (eventData.getType()==EventType.WORKFLOW_TERMINATED){
- lastTerminatedWorkflowExecutionId=eventData.getExperimentID();
- }
- Set<String> keys = this.eventDataMap.keySet();
- // Remove everthing leaving only the last one
- if(printRawMessages){
- System.out.println(XMLUtil.xmlElementToString(event));
- }
- for (String key : keys) {
- try {
- this.eventDataMap.get(key).addEvent(eventData);
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- }
- }
- }
-
- /**
- * Subscribe to the WS Messenger client to pull notifications from the message box
- * @throws MonitorException
- */
- private void subscribe() throws MonitorException {
- this.wsmgClient = new WsmgClient(this);
- //Users can set the timeout and interval for the subscription using wsmg setter methods, here we use the default values
- this.wsmgClient.setTimeout(this.getMessagePullTimeout());
- this.wsmgClient.subscribe();
- setMonitoring(true);
-
- // Enable/disable some menu items and show the monitor panel.
- sendSafeEvent(new Event(Type.MONITOR_STARTED));
- }
-
- /**
- * Unsubcribe from the ws messager client
- * @param client
- * @throws MonitorException
- */
- private void unsubscribe(WsmgClient client) throws MonitorException {
- // Enable/disable some menu items.
- sendSafeEvent(new Event(Type.MONITOR_STOPED));
- client.unsubscribe();
- setMonitoring(false);
- }
-
- /**
- * Wait until the monitoring is completed
- */
- public void waitForCompletion() throws Exception {
- while(!monitoringCompleted && !monitoringFailed){
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- logger.error(e.getMessage(), e);
- throw new Exception(e.getMessage(), e);
- }
- }
- }
-
- /**
- * Print the raw notification messages to the console as they arrive
- * @param print - if <code>true</code> raw notifications are printed
- */
- public void printRawMessage(boolean print){
- this.printRawMessages = print;
- }
-
- /**
- * Retrieve the timeout in milliseconds for pulling messages
- * @return
- */
- public long getMessagePullTimeout() {
- return messagePullTimeout;
- }
-
- /**
- * Set the timeout in milliseconds for pulling messages
- * @param timeout
- */
- public void setMessagePullTimeout(long timeout) {
- this.messagePullTimeout = timeout;
- }
-
- /**
- * is the monitoring active
- * @return
- */
- public boolean isMonitoring() {
- return monitoring;
- }
-
- public boolean hasCurrentExecutionTerminatedNotificationReceived() {
- return getConfiguration().getTopic()!=null && getConfiguration().getTopic().equals(lastTerminatedWorkflowExecutionId);
- }
-
- private void setMonitoring(boolean monitoring) {
- this.monitoring = monitoring;
- }
-
- /**
- * Return the id of the experiment which the monitoring is done
- * @return
- */
- public String getExperimentId(){
- return getConfiguration().getTopic();
- }
-
- /**
- * @deprecated - Use <code>getEventDataRepository()</code> instead
- * @return
- */
- public EventDataRepository getEventData(){
- return getEventDataRepository();
- }
-
- /**
- * @deprecated - Use <code>getEventDataRepository(...)</code> instead
- * @param nodeID
- * @return
- */
- public EventDataRepository getEventData(String nodeID) {
- return getEventDataRepository(nodeID);
- }
-
- /**
- * @deprecated - Use <code>printRawMessage(...)</code> instead
- * @param print - if <code>true</code> raw notifications are printed
- */
- public void setPrint(boolean print) {
- this.printRawMessages = print;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorConfiguration.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorConfiguration.java
deleted file mode 100644
index 892fa1f..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorConfiguration.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-import java.net.URI;
-import java.util.List;
-
-import org.apache.airavata.ws.monitor.event.Event;
-import org.apache.airavata.ws.monitor.event.EventProducer;
-import org.apache.airavata.ws.monitor.event.Event.Type;
-import org.apache.airavata.common.utils.StringUtil;
-
-public class MonitorConfiguration extends EventProducer implements Cloneable{
-
- // private static final Logger logger = LoggerFactory.getLogger();
-
- private URI brokerURL;
-
- private String topic;
-
- private boolean pullMode;
-
- private URI messageBoxURL;
-
- private List<String> interactiveNodeIDs = null;
-
- /**
- * Constructs a NotificationConfiguration.
- *
- * @param brokerURL
- * @param topic
- * @param pullMode
- * @param messageBoxURL
- */
- public MonitorConfiguration(URI brokerURL, String topic, boolean pullMode, URI messageBoxURL) {
- set(brokerURL, topic, pullMode, messageBoxURL);
- }
-
- /**
- * @param brokerURL
- * @param topic
- * @param pullMode
- * @param messageBoxURL
- */
- public void set(URI brokerURL, String topic, boolean pullMode, URI messageBoxURL) {
- this.brokerURL = brokerURL;
- this.topic = topic;
- this.pullMode = pullMode;
- this.messageBoxURL = messageBoxURL;
- sendSafeEvent(new Event(Type.MONITOR_CONFIGURATION_CHANGED));
- }
-
- /**
- * @param brokerURL
- * The brokerLocation to set.
- */
- public void setBrokerURL(URI brokerURL) {
- this.brokerURL = brokerURL;
- sendSafeEvent(new Event(Type.MONITOR_CONFIGURATION_CHANGED));
- }
-
- /**
- * Returns the URL of the notification broker.
- *
- * @return The URL of the notification broker
- */
- public URI getBrokerURL() {
- return this.brokerURL;
- }
-
- /**
- * @param topic
- * The topic to set
- */
- public void setTopic(String topic) {
- this.topic = StringUtil.trimAndNullify(topic);
- sendSafeEvent(new Event(Type.MONITOR_CONFIGURATION_CHANGED));
- }
-
- /**
- * @return The userId.
- */
- public String getTopic() {
- return this.topic;
- }
-
- /**
- * Returns the messageBoxUrl.
- *
- * @return The messageBoxUrl
- */
- public URI getMessageBoxURL() {
- return this.messageBoxURL;
- }
-
- /**
- * Sets messageBoxUrl.
- *
- * @param messageBoxURL
- * The messageBoxUrl to set.
- */
- public void setMessageBoxURL(URI messageBoxURL) {
- this.messageBoxURL = messageBoxURL;
- sendSafeEvent(new Event(Type.MONITOR_CONFIGURATION_CHANGED));
- }
-
- /**
- * Returns the pullMode.
- *
- * @return The pullMode
- */
- public boolean isPullMode() {
- return this.pullMode;
- }
-
- /**
- * Sets pullMode.
- *
- * @param pullMode
- * The pullMode to set.
- */
- public void setPullMode(boolean pullMode) {
- this.pullMode = pullMode;
- sendSafeEvent(new Event(Type.MONITOR_CONFIGURATION_CHANGED));
- }
-
- /**
- * @return true if the configuration is valid; false otherwise.
- */
- public boolean isValid() {
- if (this.brokerURL == null) {
- return false;
- }
- if (this.topic == null || this.topic.length() == 0) {
- return false;
- }
- if (this.pullMode == true) {
- if (this.messageBoxURL == null) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * @see java.lang.Object#clone()
- */
- @Override
- public MonitorConfiguration clone() {
- return new MonitorConfiguration(this.brokerURL, this.topic, this.pullMode, this.messageBoxURL);
- }
-
- /**
- * Returns the interactiveNodeIDs.
- *
- * @return The interactiveNodeIDs
- */
- public List<String> getInteractiveNodeIDs() {
- return this.interactiveNodeIDs;
- }
-
- /**
- * Sets interactiveNodeIDs.
- *
- * @param interactiveNodeIDs
- * The interactiveNodeIDs to set.
- */
- public void setInteractiveNodeIDs(List<String> interactiveNodeIDs) {
- this.interactiveNodeIDs = interactiveNodeIDs;
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEvent.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEvent.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEvent.java
deleted file mode 100644
index 95f9fc5..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEvent.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-import org.xmlpull.infoset.XmlElement;
-
-@Deprecated
-public class MonitorEvent extends EventData {
-
- public MonitorEvent(XmlElement event) {
- super(event);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEventData.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEventData.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEventData.java
deleted file mode 100644
index df93144..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEventData.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-@Deprecated
-public class MonitorEventData extends EventDataRepository {
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEventListener.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEventListener.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEventListener.java
deleted file mode 100644
index 06d1897..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorEventListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-/**
- * @deprecated - Use <code>EventDataListener</code> instead
- * @author samindaw
- *
- */
-public interface MonitorEventListener extends EventDataListener {
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorException.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorException.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorException.java
deleted file mode 100644
index 6993227..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorException.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-import org.apache.airavata.workflow.model.exceptions.WorkflowException;
-
-public class MonitorException extends WorkflowException {
-
- /**
- * Constructs a MonitorException.
- */
- public MonitorException() {
- super();
- }
-
- /**
- * Constructs a MonitorException.
- *
- * @param message
- */
- public MonitorException(String message) {
- super(message);
- }
-
- /**
- * Constructs a MonitorException.
- *
- * @param cause
- */
- public MonitorException(Throwable cause) {
- super(cause);
- }
-
- /**
- * Constructs a MonitorException.
- *
- * @param message
- * @param cause
- */
- public MonitorException(String message, Throwable cause) {
- super(message, cause);
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorUtil.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorUtil.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorUtil.java
deleted file mode 100644
index 71ec411..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/MonitorUtil.java
+++ /dev/null
@@ -1,627 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Date;
-
-import org.apache.airavata.common.utils.XMLUtil;
-import org.apache.airavata.workflow.model.exceptions.WorkflowRuntimeException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xmlpull.infoset.XmlElement;
-import org.xmlpull.infoset.XmlNamespace;
-
-import atomixmiser.DcDate;
-
-/**
- * Manipulate XML Events
- */
-public class MonitorUtil {
-
- private static final Logger logger = LoggerFactory.getLogger(MonitorUtil.class);
-
- /**
- * Workflow tracking namespace
- */
- public static final XmlNamespace WOR_NS = XMLUtil.BUILDER.newNamespace("wor",
- "http://airavata.apache.org/schemas/wft/2011/08");
-
- /**
- * XBaya events namespace
- */
- public static final XmlNamespace XBAYA_EVENTS_NS = XMLUtil.BUILDER.newNamespace("xbaya",
- "http://www.extreme.indiana.edu/xgws/xbaya/ns/2006/");
-
- /**
- * gotResult
- */
- public static final String GOT_RESULT_EVENT_TAG = "receivedResult";
-
- /**
- * description
- */
- public static final String DESCRIPTION_TAG = "description";
-
- /**
- * timestamp
- */
- public static final String TIMESTAMP_TAG = "timestamp";
-
- /**
- * request
- *
- * In invokingService
- */
- public static final String REQUEST = "request";
-
- /**
- * result
- *
- * In sendingResult
- */
- public static final String RESULT = "result";
-
- /**
- * body
- *
- * In sendingResult
- */
- public static final String BODY = "body";
-
- /**
- * experimentID
- * In Notification Message
- */
- public static final String WORKFLOW_EXPERIMENT_ID = "experimentID";
- /**
- * workflowID
- *
- * workflow instance ID.
- */
- private static final String WORKFLOW_ID_ATTRIBUTE = "workflowID";
-
- /**
- * serviceID
- *
- * In workflowInitialized notification, this is the worklfow instance ID.
- */
- private static final String SERVICE_ID_ATTRIBUTE = "serviceID";
-
- /**
- * workflowNodeID
- *
- * Node ID.
- */
- private static final String WORKFLOW_NODE_ID_ATTRIBUTE = "workflowNodeID";
-
- /**
- * receiver
- *
- * Extract a node ID from here when a notification is sent by a workflow when the workflow is sending a message to a
- * service.
- */
- private static final String RECEIVER_TAG = "receiver";
-
- /**
- * responder
- *
- * Extract a node ID from here when a notification is sent by a workflow when the workflow is receiving a message
- * from a service.
- */
- private static final String RESPONDER_TAG = "responder";
-
- /**
- * notificationSource
- *
- * Extract a node ID from here when a service sends notification.
- */
- private static final String NOTIFICATION_SOURCE_TAG = "notificationSource";
-
- // Followings are specific to some event types.
-
- /**
- * location
- *
- * In publishURL
- */
- private static final String LOCATION_TAG = "location";
-
- /**
- * retryStatusCount
- *
- * In computationDuration
- */
- private static final String RETRY_STATUS_COUNT_TAG = "retryStatusCount";
-
- /**
- * mappedResource
- *
- * In resourceMapping
- */
- private static final String MAPPED_RESOURCE_TAG = "mappedResource";
-
- /**
- * dataProduct
- *
- * In a couple of data-related notifications.
- */
- private static final String DATA_PRODUCT_TAG = "dataProduct";
-
- /**
- * durationInMillis
- *
- * In computationDuration
- */
- @SuppressWarnings("unused")
- private static final String DURATION_IN_MILLS_TAG = "durationInMillis";
-
- /**
- * Type of the notification event.
- */
- public enum EventType {
- /**
- * unknown
- */
- UNKNOWN("unknown"),
-
- // Notification from a workflow
-
- /**
- * workflowInitialized
- */
- WORKFLOW_INITIALIZED("workflowInitialized"),
-
- /**
- * workflowInvoked
- */
- WORKFLOW_INVOKED("workflowInvoked"),
-
- /**
- * workflowTerminated
- */
- WORKFLOW_TERMINATED("workflowTerminated"),
-
- /**
- * invokingService
- */
- INVOKING_SERVICE("invokingService"),
-
- /**
- * invokingServiceSucceeded
- */
- INVOKING_SERVICE_SUCCEEDED("invokingServiceSucceeded"),
-
- /**
- * invokingServiceFailed
- */
- INVOKING_SERVICE_FAILED("invokingServiceFailed"),
-
- /**
- * receivedResult
- */
- RECEIVED_RESULT("receivedResult"),
-
- /**
- * receivedFault
- */
- RECEIVED_FAULT("receivedFault"),
-
- // Notification from a service
-
- /**
- * serviceInvoked
- */
- SERVICE_INVOKED("serviceInvoked"),
-
- /**
- * sendingResult
- */
- SENDING_RESULT("sendingResult"),
-
- /**
- * sendingResponseFailed
- */
- SENDING_RESPONSE_FAILED("sendingResponseFailed"),
-
- /**
- * sendingFault
- */
- SENDING_FAULT("sendingFault"),
-
- // Other types of notification from a service.
- /**
- * logInfo
- */
- LOG_INFO("logInfo"),
-
- /**
- * logException
- */
- LOG_EXCEPTION("logException"),
-
- /**
- * logWarning
- */
- LOG_WARNING("logWarning"),
-
- /**
- * logDebug
- */
- LOG_DEBUG("logDebug"),
-
- /**
- * dataConsumed
- */
- DATA_CONSUMED("dataConsumed"),
-
- /**
- * dataProduced
- */
- DATA_PRODUCED("dataProduced"),
-
- /**
- * dataReceiveDuration
- */
- DATA_RECEIVE_DURATION("dataReceiveDuration"),
-
- /**
- * applicationAudit
- */
- APPLICATION_AUDIT("applicationAudit"),
-
- /**
- * computationDuration
- */
- COMPUTATION_DURATION("computationDuration"),
-
- /**
- * publishURL
- */
- PUBLISH_URL("publishURL"),
-
- /**
- * resourceMapping
- */
- RESOURCE_MAPPING("resourceMapping");
-
- String name;
-
- EventType(String name) {
- this.name = name;
- }
- }
-
- /**
- * @param event
- * @return The type of the event.
- */
- public static EventType getType(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- XmlNamespace ns = event.getNamespace();
- String name = event.getName();
- if (XBAYA_EVENTS_NS.equals(ns)) {
- if (GOT_RESULT_EVENT_TAG.equals(name)) {
- return EventType.WORKFLOW_TERMINATED;
- } else {
- return EventType.UNKNOWN;
- }
- } else if (WOR_NS.equals(ns)) {
- for (EventType type : EventType.values()) {
- if (type.name.equals(name)) {
- return type;
- }
- }
- }
- return EventType.UNKNOWN;
- }
-
- /**
- * @param event
- * @return The timestamp.
- */
- public static Date getTimestamp(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- XmlElement timestampEl = event.element(WOR_NS, TIMESTAMP_TAG);
- if (timestampEl == null)
- return null;
- String timestamp = timestampEl.requiredText();
- DcDate date = DcDate.create(timestamp);
- return new Date(date.getTimeInMillis());
- }
-
- /**
- * @param event
- * @return The node ID if the message contains it; "", otherwise
- */
- public static String getNodeID(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- XmlElement idElement = getIDElement(event);
- String nodeID = null;
- if (idElement != null) {
- nodeID = idElement.attributeValue(WOR_NS, WORKFLOW_NODE_ID_ATTRIBUTE);
- }
- if(nodeID == null){
- nodeID = event.element(NOTIFICATION_SOURCE_TAG).attributeValue(WOR_NS, WORKFLOW_NODE_ID_ATTRIBUTE);
- }
- if (nodeID == null) {
- nodeID = "";
- }
- return nodeID;
- }
-
- /**
- * @param event
- * @return The node ID if the message contains it; "", otherwise
- */
- public static String getExperiementID(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- XmlElement idElement = event.element(WOR_NS,NOTIFICATION_SOURCE_TAG);
- String nodeID = null;
- if (idElement != null) {
- nodeID = idElement.attributeValue(WOR_NS, WORKFLOW_EXPERIMENT_ID);
- }if(nodeID == null){
- nodeID = event.element(NOTIFICATION_SOURCE_TAG).attributeValue(WOR_NS, WORKFLOW_EXPERIMENT_ID);
- }
- if (nodeID == null) {
- nodeID = "";
- }
- return nodeID;
- }
-
- /**
- * @param event
- * @return The workflow instance ID. null if there is no workflow instance ID.
- */
- public static URI getWorkflowID(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- EventType type = getType(event);
- XmlElement idElement = getIDElement(event);
- if (idElement == null) {
- return null;
- }
-
- String workflowID;
- switch (type) {
- case WORKFLOW_INITIALIZED:
- case WORKFLOW_TERMINATED:
- // Special cases
- workflowID = idElement.attributeValue(WOR_NS, SERVICE_ID_ATTRIBUTE);
- break;
- default:
- // Default
- workflowID = idElement.attributeValue(WOR_NS, WORKFLOW_ID_ATTRIBUTE);
- break;
- }
- if (workflowID == null || workflowID.length() == 0) {
- return null;
- }
- try {
- return new URI(workflowID);
- } catch (URISyntaxException e) {
- logger.error(e.getMessage(), e);
- return null;
- }
- }
-
- /**
- * @param event
- * @return The type of the event to display
- */
- public static String getStatus(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- EventType type = getType(event);
- String status;
- switch (type) {
- case LOG_INFO:
- status = "INFO";
- break;
- case LOG_EXCEPTION:
- status = "EXCEPTION";
- break;
- case LOG_WARNING:
- status = "WARNING";
- break;
- case LOG_DEBUG:
- status = "DEBUG";
- break;
- default:
- status = event.getName();
- }
- return status;
- }
-
- /**
- * @param event
- * @return The message to display.
- */
- public static String getMessage(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- String description = null;
- XmlElement descElement = event.element(WOR_NS, DESCRIPTION_TAG);
- if (descElement != null) {
- description = descElement.requiredText();
- }
-
- if (description == null || description.length() == 0) {
- // It might be a data-related notification
- XmlElement dataProduct = event.element(WOR_NS, DATA_PRODUCT_TAG);
- if (dataProduct != null) {
- descElement = dataProduct.element(WOR_NS, DESCRIPTION_TAG);
- if (descElement != null) {
- description = descElement.requiredText();
- }
- }
- }
-
- if (description == null) {
- description = "";
- }
- return description;
- }
-
- /**
- * @param event
- * @return The location.
- */
- public static String getLocation(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- XmlElement locationEl = event.element(WOR_NS, LOCATION_TAG);
- if (locationEl != null) {
- String location = locationEl.requiredText();
- return location;
- } else {
- return null;
- }
- }
-
- /**
- * Gets the mapped resource from the event.
- *
- * @param event
- * The event, the type of which has to be resourceMapping.
- * @return The resource
- */
- public static String getMappedResource(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- EventType type = getType(event);
- if (type != EventType.RESOURCE_MAPPING) {
- throw new IllegalArgumentException("Event must have resourceMapping type instead of " + type);
- }
- XmlElement mappedResource = event.element(MAPPED_RESOURCE_TAG);
- String resource = mappedResource.requiredText();
- return resource;
- }
-
- /**
- * Gets the retry count from the event.
- *
- * @param event
- * The event, the type of which has to be resourceMapping.
- * @return The resource
- */
- public static String getRetryCount(XmlElement event) {
- if (event == null) {
- throw new IllegalArgumentException("null");
- }
- EventType type = getType(event);
- if (type != EventType.RESOURCE_MAPPING) {
- throw new IllegalArgumentException("Event must have resourceMapping type instead of " + type);
- }
- XmlElement retryCountElement = event.element(RETRY_STATUS_COUNT_TAG);
- String retryCount = retryCountElement.requiredText();
- return retryCount;
- }
-
- /**
- * Gets the workflow instance ID.
- *
- * @param event
- * The event, the type of which has to be workflowInitialized.
- * @return The workflowInstanceID
- */
- public static URI getWorkflowInstanceID(XmlElement event) {
- EventType type = getType(event);
- if (!(type == EventType.WORKFLOW_INITIALIZED || type == EventType.WORKFLOW_TERMINATED)) {
- throw new IllegalArgumentException(
- "Event must be an workflowInitialized type or an workflowTerminated type instead of " + type);
- }
- XmlElement notificationSource = event.element(WOR_NS, NOTIFICATION_SOURCE_TAG);
- if (notificationSource == null) {
- throw new WorkflowRuntimeException("The notification should have " + NOTIFICATION_SOURCE_TAG + " element.");
- }
- String workflowInstanceID = notificationSource.attributeValue(WOR_NS, SERVICE_ID_ATTRIBUTE);
- if (workflowInstanceID == null) {
- throw new WorkflowRuntimeException("The notification should have " + SERVICE_ID_ATTRIBUTE + " attribute.");
- }
- try {
- return new URI(workflowInstanceID);
- } catch (URISyntaxException e) {
- throw new WorkflowRuntimeException(e);
- }
- }
-
- /**
- * @param event
- * @return The element that has workflow ID, node ID, etc.
- */
- private static XmlElement getIDElement(XmlElement event) {
- EventType type = getType(event);
- switch (type) {
- // The following three don't include node ID, but includes workflow ID.
- case WORKFLOW_INITIALIZED:
- case WORKFLOW_INVOKED:
- case WORKFLOW_TERMINATED:
- // The followings include both workflow ID and node ID.
- // TODO they might be used by a workflow too.
- case SERVICE_INVOKED:
- case SENDING_RESULT:
- case SENDING_FAULT:
- case SENDING_RESPONSE_FAILED: // TODO make sure
- // The followings are used only in services.
- case LOG_INFO:
- case LOG_WARNING:
- case LOG_EXCEPTION:
- case LOG_DEBUG:
- case DATA_CONSUMED:
- case DATA_PRODUCED:
- case DATA_RECEIVE_DURATION:
- case APPLICATION_AUDIT:
- case COMPUTATION_DURATION:
- case RESOURCE_MAPPING:
- case PUBLISH_URL:
- case INVOKING_SERVICE:
- return event.element(RECEIVER_TAG);
- case INVOKING_SERVICE_SUCCEEDED: // TODO make sure
- case INVOKING_SERVICE_FAILED: // TODO make sure
- return event.element(RECEIVER_TAG);
- case RECEIVED_RESULT:
- case RECEIVED_FAULT:
- return event.element(RESPONDER_TAG);
- case UNKNOWN:
- // Most of unknown types are from service.
- return event.element(NOTIFICATION_SOURCE_TAG);
- default:
- // Most of unknown types are from service.
- return event.element(NOTIFICATION_SOURCE_TAG);
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/WsmgClient.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/WsmgClient.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/WsmgClient.java
deleted file mode 100644
index b2e8437..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/WsmgClient.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.apache.airavata.common.utils.XMLUtil;
-import org.apache.airavata.wsmg.client.ConsumerNotificationHandler;
-import org.apache.airavata.wsmg.client.MsgBrokerClientException;
-import org.apache.airavata.wsmg.client.NotificationHandler;
-import org.apache.airavata.wsmg.client.WseMsgBrokerClient;
-import org.apache.airavata.wsmg.client.msgbox.MessagePuller;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axis2.addressing.EndpointReference;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xmlpull.infoset.XmlElement;
-
-public class WsmgClient implements ConsumerNotificationHandler, NotificationHandler {
-
- private static final Logger logger = LoggerFactory.getLogger(WsmgClient.class);
-
- private Monitor monitor;
-
- private URI brokerURL;
-
- private String topic;
-
- private boolean pullMode;
-
- private URI messageBoxURL;
-
- private WseMsgBrokerClient wseClient;
-
- private String subscriptionID;
-
- private MessagePuller messagePuller;
-
- private long timeout = 20000L;
-
- private long interval = 1000L;
- /**
- * Constructs a WsmgClient.
- *
- * @param monitor
- */
- public WsmgClient(Monitor monitor) {
- this.monitor = monitor;
-
- MonitorConfiguration configuration = monitor.getConfiguration();
- // We need to copy these because the configuration might change.
- this.brokerURL = configuration.getBrokerURL();
- this.topic = configuration.getTopic();
- this.pullMode = configuration.isPullMode();
- this.messageBoxURL = configuration.getMessageBoxURL();
-
- this.wseClient = new WseMsgBrokerClient();
- this.wseClient.init(this.brokerURL.toString());
- }
-
- /**
- * Subscribes to the notification.
- *
- * @throws MonitorException
- */
- public synchronized void subscribe() throws MonitorException {
- try {
- if (this.pullMode) {
- EndpointReference messageBoxEPR = this.wseClient.createPullMsgBox(this.messageBoxURL.toString(),getTimeout());
- this.subscriptionID = this.wseClient.subscribe(messageBoxEPR.getAddress(), this.topic, null);
- this.messagePuller = this.wseClient.startPullingEventsFromMsgBox(messageBoxEPR, this, getInterval(), getTimeout());
- } else {
- String[] endpoints = this.wseClient.startConsumerService(2222, this);
- this.subscriptionID = this.wseClient.subscribe(endpoints[0], this.topic, null);
- }
- } catch (IOException e) {
- throw new MonitorException("Failed to subscribe.", e);
- } catch (RuntimeException e) {
- throw new MonitorException("Failed to subscribe.", e);
- }
- }
-
- /**
- * Unsubscribes from the notification.
- *
- * @throws MonitorException
- */
- public synchronized void unsubscribe() throws MonitorException {
- // This method needs to be synchronized along with subscribe() because
- // unsubscribe() might be called while subscribe() is being executed.
- if (this.subscriptionID == null) {
- throw new IllegalStateException();
- }
- try {
- if (this.pullMode) {
- this.messagePuller.stopPulling();
- } else {
- this.wseClient.shutdownConsumerService();
- }
- this.wseClient.unSubscribe(this.subscriptionID);
- } catch (MsgBrokerClientException e) {
- throw new MonitorException("Failed to unsubscribe.", e);
- }
-
- }
-
- /**
- * @see org.apache.airavata.wsmg.client.NotificationHandler#handleNotification(java.lang.String)
- */
- public void handleNotification(SOAPEnvelope message) {
- String soapBody = message.getBody().toString();
- this.handleNotification(soapBody);
- }
-
- /**
- *
- * @param message
- */
- public void handleNotification(String message) {
- try {
- XmlElement event = XMLUtil.stringToXmlElement(message);
- this.monitor.handleNotification(event);
- } catch (Exception e) {
- // Just log them because they can be unrelated messages sent to
- // this topic by accident.
- logger.warn("Could not parse received notification: " + message, e);
- }
- }
-
- public long getTimeout() {
- return timeout;
- }
-
- public void setTimeout(long timeout) {
- this.timeout = timeout;
- }
-
- public long getInterval() {
- return interval;
- }
-
- public void setInterval(long interval) {
- this.interval = interval;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/Event.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/Event.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/Event.java
deleted file mode 100644
index 7f4e87f..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/Event.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor.event;
-
-public class Event {
-
- /**
- */
- public enum Type {
- /**
- * GPEL_CONFIGURATION_CHANGED
- */
- GPEL_CONFIGURATION_CHANGED,
- /**
- * GPEL_CONNECTED
- */
- GPEL_ENGINE_CONNECTED,
- /**
- * GPEL_ENGINE_DISCONNECTED
- */
- GPEL_ENGINE_DISCONNECTED,
-
- /**
- * MONITOR_CONFIGURATION_CHANGED
- */
- MONITOR_CONFIGURATION_CHANGED,
- /**
- * MONITOR_STARTED
- */
- MONITOR_STARTED,
- /**
- * MONITOR_STOPED
- */
- MONITOR_STOPED,
-
- /**
- * KARMA_STARTED
- */
- KARMA_STARTED,
-
- /**
- * MYLEAD_CONFIGURATION_CHANGED
- */
- MYLEAD_CONFIGURATION_CHANGED,
- }
-
- private Type type;
-
- /**
- * Constructs a Event.
- *
- * @param type
- */
- public Event(Type type) {
- this.type = type;
- }
-
- /**
- * @return The type of the event
- */
- public Type getType() {
- return this.type;
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/EventListener.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/EventListener.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/EventListener.java
deleted file mode 100644
index 16473a8..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/EventListener.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor.event;
-
-import org.apache.airavata.workflow.model.exceptions.WorkflowException;
-
-public interface EventListener {
-
- /**
- * Called when an event is received.
- *
- * @param event
- * @throws WorkflowException
- */
- public void eventReceived(Event event) throws WorkflowException;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/EventProducer.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/EventProducer.java b/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/EventProducer.java
deleted file mode 100644
index 9f33d53..0000000
--- a/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/event/EventProducer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.ws.monitor.event;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.airavata.workflow.model.exceptions.WorkflowException;
-import org.apache.airavata.workflow.model.exceptions.WorkflowRuntimeException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public abstract class EventProducer {
-
- private static final Logger logger = LoggerFactory.getLogger(EventProducer.class);
-
- private List<EventListener> listeners = new LinkedList<EventListener>();
-
- /**
- * @param listener
- */
- public void addEventListener(EventListener listener) {
- this.listeners.add(listener);
- }
-
- /**
- * @param listener
- */
- public void removeEventListener(EventListener listener) {
- this.listeners.remove(listener);
- }
-
- /**
- * @param event
- */
- public void sendSafeEvent(Event event) {
- Throwable exception = null;
- for (EventListener listener : this.listeners) {
- try {
- listener.eventReceived(event);
- } catch (Throwable e) {
- logger.error(e.getMessage(), e);
- // Just remember the first one.
- if (exception == null) {
- exception = e;
- }
- }
- }
- if (exception != null) {
- if (exception instanceof RuntimeException) {
- throw (RuntimeException) exception;
- } else {
- throw new WorkflowRuntimeException(exception);
- }
- }
- }
-
- /**
- * Sends an event.
- *
- * @param event
- * @throws WorkflowException
- */
- public void sendEvent(Event event) throws WorkflowException {
- Throwable exception = null;
- for (EventListener listener : this.listeners) {
- try {
- listener.eventReceived(event);
- } catch (Throwable e) {
- logger.error(e.getMessage(), e);
- // Just remember the first one.
- if (exception == null) {
- exception = e;
- }
- }
- }
- if (exception != null) {
- if (exception instanceof WorkflowException) {
- throw (WorkflowException) exception;
- } else {
- throw new WorkflowException(exception);
- }
- }
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/cab15715/modules/ws-messenger/messagebox/maven-eclipse.xml
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/messagebox/maven-eclipse.xml b/modules/ws-messenger/messagebox/maven-eclipse.xml
deleted file mode 100644
index 3f67e06..0000000
--- a/modules/ws-messenger/messagebox/maven-eclipse.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<!--Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under
- the Apache License, Version 2.0 (theĆ "License"); you may not use this file except in compliance with the License. You may
- obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to
- in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
- ANY ~ KIND, either express or implied. See the License for the specific language governing permissions and limitations under
- the License. -->
-
-<project default="copy-resources">
- <target name="init"/>
- <target name="copy-resources" depends="init">
- <copy todir="target/classes/META-INF" filtering="false">
- <fileset dir="resources" includes="**/*.wsdl|**/*.xml" excludes="**/*.java"/>
- </copy>
- </target>
-</project>
\ No newline at end of file