diff --git a/pom.xml b/pom.xml index f90cd6c..88f8115 100644 --- a/pom.xml +++ b/pom.xml @@ -289,5 +289,4 @@ - war diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/MonitorDialog.java b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/MonitorDialog.java index 99802f6..64dcb72 100644 --- a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/MonitorDialog.java +++ b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/MonitorDialog.java @@ -6,7 +6,9 @@ import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpire import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitor; import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitorSession; import org.gcube.portlets.user.td.monitorwidget.client.details.MonitorDetailPanel; +import org.gcube.portlets.user.td.widgetcommonevent.client.event.BackgroundRequestEvent; import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent; +import org.gcube.portlets.user.td.widgetcommonevent.client.type.BackgroundRequestType; import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType; import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; @@ -215,7 +217,6 @@ public class MonitorDialog extends Window implements MonitorUpdaterListener { btnBackground.setEnabled(false); btnAbort.setEnabled(false); fireRequestPutInBackground(); - close(); } public boolean isAbortBtnEnabled() { @@ -369,6 +370,10 @@ public class MonitorDialog extends Window implements MonitorUpdaterListener { public void monitorPutInBackground() { fireOperationPutInBackground(); close(); + Log.debug("Request Background"); + BackgroundRequestEvent e = new BackgroundRequestEvent( + BackgroundRequestType.BACKGROUND); + eventBus.fireEvent(e); } @@ -396,8 +401,11 @@ public class MonitorDialog extends Window implements MonitorUpdaterListener { protected void fireOperationPutInBackground() { for (MonitorDialogListener listener : listeners) listener.operationPutInBackground(); + } - + + + //UI event Fire protected void fireRequestAborted() { for (MonitorDialogEventUIListener listener : monitorDialogEventUIListeners) { listener.requestAborted(); @@ -408,6 +416,8 @@ public class MonitorDialog extends Window implements MonitorUpdaterListener { for (MonitorDialogEventUIListener listener : monitorDialogEventUIListeners) { listener.requestPutInBackground(); } + + } /** diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/MonitorUpdater.java b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/MonitorUpdater.java index c9a0fba..d75e510 100644 --- a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/MonitorUpdater.java +++ b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/MonitorUpdater.java @@ -238,7 +238,7 @@ public class MonitorUpdater extends Timer implements MonitorDialogEventUIListene @Override public void requestPutInBackground() { - // TODO Auto-generated method stub + operationMonitorSession.setInBackground(true); } } diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundEventUIListener.java b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundEventUIListener.java index 815c3e2..f025dcf 100644 --- a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundEventUIListener.java +++ b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundEventUIListener.java @@ -8,6 +8,13 @@ public interface MonitorBackgroundEventUIListener { public void requestAborted(String taskId); + /** + * Called when the task is hidden + * + */ + public void requestHidden(String taskId); + + /** * Called when the task is resumed * diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundInfoDialog.java b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundInfoDialog.java index 962e38e..45dea51 100644 --- a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundInfoDialog.java +++ b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundInfoDialog.java @@ -19,7 +19,7 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; public class MonitorBackgroundInfoDialog extends Window { private static final String WIDTH = "640px"; - private static final String HEIGHT = "378px"; + private static final String HEIGHT = "408px"; protected EventBus eventBus; protected MonitorBackgroundInfoPanel monitorBackgroundInfoPanel; diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundInfoPanel.java b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundInfoPanel.java index b50dc83..730a7d8 100644 --- a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundInfoPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundInfoPanel.java @@ -29,8 +29,12 @@ import com.sencha.gxt.data.shared.ModelKeyProvider; import com.sencha.gxt.data.shared.TreeStore; import com.sencha.gxt.widget.core.client.FramedPanel; import com.sencha.gxt.widget.core.client.button.TextButton; +import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer; import com.sencha.gxt.widget.core.client.container.MarginData; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; +import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData; +import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutPack; +import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer.HBoxLayoutAlign; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; import com.sencha.gxt.widget.core.client.event.CollapseItemEvent; import com.sencha.gxt.widget.core.client.event.CollapseItemEvent.CollapseItemHandler; @@ -51,8 +55,8 @@ import com.sencha.gxt.widget.core.client.treegrid.TreeGrid; */ public class MonitorBackgroundInfoPanel extends FramedPanel { protected static final String WIDTH = "618px"; - protected static final String HEIGHT = "370px"; - protected static final String HEIGHTGRID ="300px"; + protected static final String HEIGHT = "400px"; + protected static final String HEIGHTGRID ="290px"; protected static final int CC1WIDTH = 168; protected static final int CC2WIDTH = 100; @@ -75,6 +79,7 @@ public class MonitorBackgroundInfoPanel extends FramedPanel { protected EventBus eventBus; protected MonitorBackgroundUpdater monitorBackgroundUpdater; + private TextButton btnClose; class KeyProvider implements ModelKeyProvider { @Override @@ -336,9 +341,33 @@ public class MonitorBackgroundInfoPanel extends FramedPanel { } }); toolBar.add(btnCollapseAll); + + // + btnClose = new TextButton("Close"); + btnClose.setWidth("70px"); + // btnAbort.setIcon(ResourceBundle.INSTANCE.abort()); + // btnAbort.setIconAlign(IconAlign.RIGHT); + btnClose.setTitle("Close"); + btnClose.addSelectHandler(new SelectHandler() { + + public void onSelect(SelectEvent event) { + close(); + + } + }); + + HBoxLayoutContainer flowButton = new HBoxLayoutContainer(); + flowButton.setHBoxLayoutAlign(HBoxLayoutAlign.MIDDLE); + flowButton.setPack(BoxLayoutPack.CENTER); + + flowButton.add(btnClose, new BoxLayoutData(new Margins(0, 4, 0, 4))); + + // con.add(toolBar, new VerticalLayoutData(1, -1, new Margins(0))); con.add(tree, new VerticalLayoutData(1, -1, new Margins(0))); + con.add(flowButton, + new VerticalLayoutData(1, 36, new Margins(5, 5, 5, 5))); add(con, new MarginData(0)); diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundPanel.java b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundPanel.java index 9568589..f8e78d4 100644 --- a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundPanel.java @@ -5,6 +5,7 @@ import java.util.List; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitor; +import org.gcube.portlets.user.td.gwtservice.shared.task.State; import org.gcube.portlets.user.td.gwtservice.shared.task.ValidationsTasksMetadata; import org.gcube.portlets.user.td.gwtservice.shared.task.WorkerState; import org.gcube.portlets.user.td.gwtservice.shared.task.WorkerStateParser; @@ -58,11 +59,11 @@ import com.sencha.gxt.widget.core.client.treegrid.TreeGrid; */ public class MonitorBackgroundPanel extends FramedPanel implements MonitorBackgroundUpdaterListener { - protected static final int STATUS_POLLING_DELAY = 4000; + protected static final int STATUS_POLLING_DELAY = 5000; protected static final String WIDTH = "298px"; protected static final String HEIGHT = "520px"; - protected static final int CC1WIDTH = 110; - protected static final int CC2WIDTH = 70; + protected static final int CC1WIDTH = 100; + protected static final int CC2WIDTH = 60; protected static final int CC3WIDTH = 100; protected MonitorBackgroundDialog parent; @@ -73,6 +74,7 @@ public class MonitorBackgroundPanel extends FramedPanel implements protected Menu contextMenu; protected MenuItem infoItem; protected MenuItem abortItem; + protected MenuItem hiddenItem; protected TRId trId; protected VerticalLayoutContainer con; @@ -123,7 +125,7 @@ public class MonitorBackgroundPanel extends FramedPanel implements protected void create() { con = new VerticalLayoutContainer(); - con.setScrollMode(ScrollMode.AUTO); + con.setScrollMode(ScrollMode.AUTO); store = new TreeStore(new KeyProvider()); @@ -225,7 +227,7 @@ public class MonitorBackgroundPanel extends FramedPanel implements } }; progress.setProgressText("{0}% Complete"); - progress.setWidth(110); + progress.setWidth(100); cc3.setCell(progress); @@ -242,7 +244,7 @@ public class MonitorBackgroundPanel extends FramedPanel implements tree.setColumnResize(true); tree.getView().setAutoExpandColumn(cc1); tree.getElement().setAttribute("height", "auto"); - + IconProvider iconProvider = new IconProvider() { @Override @@ -291,7 +293,7 @@ public class MonitorBackgroundPanel extends FramedPanel implements add(con, new MarginData(0)); - // addMonitor(); + addMonitor(); forceLayout(); @@ -301,10 +303,10 @@ public class MonitorBackgroundPanel extends FramedPanel implements monitorBackgroundUpdater = new MonitorBackgroundUpdater(); monitorBackgroundUpdater.addListener(this); - monitorBackgroundUpdater.scheduleRepeating(STATUS_POLLING_DELAY); addMonitorBackgroundEventUIListener(monitorBackgroundUpdater); - + monitorBackgroundUpdater.scheduleRepeating(STATUS_POLLING_DELAY); + monitorBackgroundUpdater.run(); } public void addMonitorBackgroundEventUIListener( @@ -321,10 +323,11 @@ public class MonitorBackgroundPanel extends FramedPanel implements forceLayout(); } - protected void close() { + public void close() { if (parent != null) { parent.close(); } + monitorBackgroundUpdater.cancel(); } @@ -358,7 +361,7 @@ public class MonitorBackgroundPanel extends FramedPanel implements infoItem = new MenuItem(); infoItem.setText("Info"); - infoItem.setIcon(ResourceBundle.INSTANCE.ok()); + infoItem.setIcon(ResourceBundle.INSTANCE.information()); infoItem.addSelectionHandler(new SelectionHandler() { @Override @@ -372,7 +375,7 @@ public class MonitorBackgroundPanel extends FramedPanel implements abortItem = new MenuItem(); abortItem.setText("Abort"); - abortItem.setIcon(ResourceBundle.INSTANCE.basket()); + abortItem.setIcon(ResourceBundle.INSTANCE.basketDelete()); abortItem.addSelectionHandler(new SelectionHandler() { @Override @@ -386,8 +389,26 @@ public class MonitorBackgroundPanel extends FramedPanel implements }); + hiddenItem = new MenuItem(); + hiddenItem.setText("Hidden"); + hiddenItem.setIcon(ResourceBundle.INSTANCE.basketRemove()); + hiddenItem.addSelectionHandler(new SelectionHandler() { + + @Override + public void onSelection(SelectionEvent event) { + MonitorBaseDto selected = tree.getSelectionModel() + .getSelectedItem(); + Log.debug(selected.toString()); + requestBacgroundHidden(selected); + + } + + }); + contextMenu.add(infoItem); contextMenu.add(abortItem); + contextMenu.add(hiddenItem); + tree.setContextMenu(contextMenu); } @@ -406,7 +427,27 @@ public class MonitorBackgroundPanel extends FramedPanel implements } protected void requestBacgroundAbort(MonitorBaseDto selected) { + for (OperationMonitor operationMonitor : operationMonitorList) { + if (operationMonitor.getTaskId().compareTo(selected.getId()) == 0) { + Log.debug("Found Task Id: " + operationMonitor.getTaskId()); + if (operationMonitor.getTask().getState() == State.IN_PROGRESS + || operationMonitor.getTask().getState() == State.INITIALIZING + || operationMonitor.getTask().getState() == State.VALIDATING_RULES) { + fireRequestAborted(operationMonitor.getTaskId()); + } + return; + } + } + } + protected void requestBacgroundHidden(MonitorBaseDto selected) { + for (OperationMonitor operationMonitor : operationMonitorList) { + if (operationMonitor.getTaskId().compareTo(selected.getId()) == 0) { + Log.debug("Found Task Id: " + operationMonitor.getTaskId()); + fireRequestHidden(operationMonitor.getTaskId()); + return; + } + } } @Override @@ -435,4 +476,26 @@ public class MonitorBackgroundPanel extends FramedPanel implements } + // UI event Fire + protected void fireRequestAborted(String taskId) { + for (MonitorBackgroundEventUIListener listener : monitorBackgroundEventUIListeners) { + listener.requestAborted(taskId); + + } + } + + protected void fireRequestHidden(String taskId) { + for (MonitorBackgroundEventUIListener listener : monitorBackgroundEventUIListeners) { + listener.requestHidden(taskId); + + } + } + + protected void fireRequestResume(String taskId) { + for (MonitorBackgroundEventUIListener listener : monitorBackgroundEventUIListeners) { + listener.requestResume(taskId); + + } + } + } \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundUpdater.java b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundUpdater.java index 2cba223..ec85298 100644 --- a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundUpdater.java +++ b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/background/MonitorBackgroundUpdater.java @@ -100,7 +100,16 @@ public class MonitorBackgroundUpdater extends Timer implements MonitorBackground backgroundOperationMonitorSession.addToOperationMonitorSessionList(operationMonitorSession); } + @Override + public void requestHidden(String taskId) { + OperationMonitorSession operationMonitorSession=new OperationMonitorSession(taskId); + operationMonitorSession.setHidden(true); + backgroundOperationMonitorSession.addToOperationMonitorSessionList(operationMonitorSession); + } + + + @Override public void requestResume(String taskId) { // TODO Auto-generated method stub diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/ResourceBundle.java b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/ResourceBundle.java index 866179a..adbeb8d 100644 --- a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/ResourceBundle.java +++ b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/ResourceBundle.java @@ -53,5 +53,23 @@ public interface ResourceBundle extends ClientBundle { @Source("magnifier-zoom-out.png") ImageResource magnifierZoomOut(); + + @Source("basket-delete.png") + ImageResource basketDelete(); + @Source("basket-delete_32.png") + ImageResource basketDelete32(); + + @Source("basket-remove.png") + ImageResource basketRemove(); + + @Source("basket-remove_32.png") + ImageResource basketRemove32(); + + @Source("information.png") + ImageResource information(); + + @Source("information_32.png") + ImageResource information32(); + } diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-delete.png b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-delete.png new file mode 100644 index 0000000..dac5ddf Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-delete.png differ diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-delete_32.png b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-delete_32.png new file mode 100644 index 0000000..d17d6e1 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-delete_32.png differ diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-remove.png b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-remove.png new file mode 100644 index 0000000..5b8288d Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-remove.png differ diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-remove_32.png b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-remove_32.png new file mode 100644 index 0000000..ba87ab0 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/basket-remove_32.png differ diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/information.png b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/information.png new file mode 100644 index 0000000..fd2adea Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/information.png differ diff --git a/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/information_32.png b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/information_32.png new file mode 100644 index 0000000..95e0dd3 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/td/monitorwidget/client/resources/information_32.png differ diff --git a/src/main/resources/org/gcube/portlets/user/td/monitorwidget/MonitorWidgetTD.gwt.xml b/src/main/resources/org/gcube/portlets/user/td/monitorwidget/MonitorWidgetTD.gwt.xml index 57a7c5f..0638c5e 100644 --- a/src/main/resources/org/gcube/portlets/user/td/monitorwidget/MonitorWidgetTD.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/td/monitorwidget/MonitorWidgetTD.gwt.xml @@ -23,10 +23,10 @@ - + - +