Updated Task in background
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-monitor-widget@99762 82a268e6-3cf1-43bd-a215-b396298e98cf
1
pom.xml
|
@ -289,5 +289,4 @@
|
|||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<packaging>war</packaging>
|
||||
</project>
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -238,7 +238,7 @@ public class MonitorUpdater extends Timer implements MonitorDialogEventUIListene
|
|||
|
||||
@Override
|
||||
public void requestPutInBackground() {
|
||||
// TODO Auto-generated method stub
|
||||
operationMonitorSession.setInBackground(true);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
*
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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<MonitorBaseDto> {
|
||||
@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));
|
||||
|
||||
|
|
|
@ -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<MonitorBaseDto>(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<MonitorBaseDto> iconProvider = new IconProvider<MonitorBaseDto>() {
|
||||
|
||||
@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<Item>() {
|
||||
|
||||
@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<Item>() {
|
||||
|
||||
@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<Item>() {
|
||||
|
||||
@Override
|
||||
public void onSelection(SelectionEvent<Item> 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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 669 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 691 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 695 B |
After Width: | Height: | Size: 1.5 KiB |
|
@ -23,10 +23,10 @@
|
|||
|
||||
|
||||
<!-- Specify the app entry point class. -->
|
||||
<entry-point class='org.gcube.portlets.user.td.monitorwidget.client.MonitorWidgetEntry' />
|
||||
<!-- <entry-point class='org.gcube.portlets.user.td.monitorwidget.client.MonitorWidgetEntry' /> -->
|
||||
|
||||
<!-- Logger -->
|
||||
<set-property name="log_DivLogger" value="ENABLED" />
|
||||
<!-- <set-property name="log_DivLogger" value="ENABLED" />
|
||||
<set-property name="log_ConsoleLogger" value="ENABLED" />
|
||||
<set-property name="log_FirebugLogger" value="ENABLED" />
|
||||
<set-property name="log_GWTLogger" value="ENABLED" />
|
||||
|
|
After Width: | Height: | Size: 669 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 691 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 695 B |
After Width: | Height: | Size: 1.5 KiB |