Minor Update
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-table-widget@97733 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
c5c00927c0
commit
4cbf2563c5
|
@ -125,5 +125,11 @@ public interface ResourceBundle extends ClientBundle {
|
||||||
@Source("expandall_32.png")
|
@Source("expandall_32.png")
|
||||||
ImageResource expandAll32();
|
ImageResource expandAll32();
|
||||||
|
|
||||||
|
@Source("plaster_32.png")
|
||||||
|
ImageResource plaster32();
|
||||||
|
|
||||||
|
@Source("plaster.png")
|
||||||
|
ImageResource plaster();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
|
@ -4,11 +4,14 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.gcube.portlets.user.td.columnwidget.client.progress.ResumeDialogListener;
|
||||||
|
import org.gcube.portlets.user.td.columnwidget.client.progress.TaskResumeProgressDialog;
|
||||||
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
|
import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.Constants;
|
import org.gcube.portlets.user.td.gwtservice.shared.Constants;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.OperationsId;
|
import org.gcube.portlets.user.td.gwtservice.shared.OperationsId;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException;
|
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.task.InvocationS;
|
import org.gcube.portlets.user.td.gwtservice.shared.task.InvocationS;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskResumeSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.task.ValidationsTasksMetadata;
|
import org.gcube.portlets.user.td.gwtservice.shared.task.ValidationsTasksMetadata;
|
||||||
import org.gcube.portlets.user.td.tablewidget.client.custom.ValidationCell;
|
import org.gcube.portlets.user.td.tablewidget.client.custom.ValidationCell;
|
||||||
import org.gcube.portlets.user.td.tablewidget.client.resources.ResourceBundle;
|
import org.gcube.portlets.user.td.tablewidget.client.resources.ResourceBundle;
|
||||||
|
@ -17,8 +20,11 @@ import org.gcube.portlets.user.td.tablewidget.client.validation.tree.BaseDto;
|
||||||
import org.gcube.portlets.user.td.tablewidget.client.validation.tree.FolderDto;
|
import org.gcube.portlets.user.td.tablewidget.client.validation.tree.FolderDto;
|
||||||
import org.gcube.portlets.user.td.tablewidget.client.validation.tree.TreeDataGenerator;
|
import org.gcube.portlets.user.td.tablewidget.client.validation.tree.TreeDataGenerator;
|
||||||
import org.gcube.portlets.user.td.tablewidget.client.validation.tree.ValidationDto;
|
import org.gcube.portlets.user.td.tablewidget.client.validation.tree.ValidationDto;
|
||||||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.ChangeTableRequestEvent;
|
||||||
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent;
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent;
|
||||||
import org.gcube.portlets.user.td.widgetcommonevent.client.event.WidgetRequestEvent;
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.WidgetRequestEvent;
|
||||||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.ChangeTableRequestType;
|
||||||
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.ChangeTableWhy;
|
||||||
import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType;
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType;
|
||||||
import org.gcube.portlets.user.td.widgetcommonevent.client.type.WidgetRequestType;
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.WidgetRequestType;
|
||||||
import org.gcube.portlets.user.td.widgetcommonevent.shared.RequestProperties;
|
import org.gcube.portlets.user.td.widgetcommonevent.shared.RequestProperties;
|
||||||
|
@ -27,6 +33,8 @@ import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
|
||||||
import com.allen_sauer.gwt.log.client.Log;
|
import com.allen_sauer.gwt.log.client.Log;
|
||||||
import com.google.gwt.cell.client.AbstractCell;
|
import com.google.gwt.cell.client.AbstractCell;
|
||||||
import com.google.gwt.cell.client.Cell.Context;
|
import com.google.gwt.cell.client.Cell.Context;
|
||||||
|
import com.google.gwt.event.logical.shared.SelectionEvent;
|
||||||
|
import com.google.gwt.event.logical.shared.SelectionHandler;
|
||||||
import com.google.gwt.resources.client.ImageResource;
|
import com.google.gwt.resources.client.ImageResource;
|
||||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||||
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
|
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
|
||||||
|
@ -43,6 +51,8 @@ import com.sencha.gxt.widget.core.client.button.TextButton;
|
||||||
import com.sencha.gxt.widget.core.client.container.MarginData;
|
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.VerticalLayoutContainer;
|
||||||
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
|
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
|
||||||
|
import com.sencha.gxt.widget.core.client.event.BeforeShowContextMenuEvent;
|
||||||
|
import com.sencha.gxt.widget.core.client.event.BeforeShowContextMenuEvent.BeforeShowContextMenuHandler;
|
||||||
import com.sencha.gxt.widget.core.client.event.CollapseItemEvent;
|
import com.sencha.gxt.widget.core.client.event.CollapseItemEvent;
|
||||||
import com.sencha.gxt.widget.core.client.event.CollapseItemEvent.CollapseItemHandler;
|
import com.sencha.gxt.widget.core.client.event.CollapseItemEvent.CollapseItemHandler;
|
||||||
import com.sencha.gxt.widget.core.client.event.ExpandItemEvent;
|
import com.sencha.gxt.widget.core.client.event.ExpandItemEvent;
|
||||||
|
@ -51,6 +61,9 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent;
|
||||||
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
|
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
|
||||||
import com.sencha.gxt.widget.core.client.grid.ColumnConfig;
|
import com.sencha.gxt.widget.core.client.grid.ColumnConfig;
|
||||||
import com.sencha.gxt.widget.core.client.grid.ColumnModel;
|
import com.sencha.gxt.widget.core.client.grid.ColumnModel;
|
||||||
|
import com.sencha.gxt.widget.core.client.menu.Item;
|
||||||
|
import com.sencha.gxt.widget.core.client.menu.Menu;
|
||||||
|
import com.sencha.gxt.widget.core.client.menu.MenuItem;
|
||||||
import com.sencha.gxt.widget.core.client.toolbar.ToolBar;
|
import com.sencha.gxt.widget.core.client.toolbar.ToolBar;
|
||||||
import com.sencha.gxt.widget.core.client.treegrid.TreeGrid;
|
import com.sencha.gxt.widget.core.client.treegrid.TreeGrid;
|
||||||
|
|
||||||
|
@ -60,9 +73,14 @@ import com.sencha.gxt.widget.core.client.treegrid.TreeGrid;
|
||||||
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class ValidationsTasksPanel extends FramedPanel {
|
public class ValidationsTasksPanel extends FramedPanel implements ResumeDialogListener {
|
||||||
protected String WIDTH = "298px";
|
protected String WIDTH = "298px";
|
||||||
protected String HEIGHT = "520px";
|
protected String HEIGHT = "520px";
|
||||||
|
protected ValidationsTasksPanel thisPanel;
|
||||||
|
|
||||||
|
protected Menu contextMenu;
|
||||||
|
protected MenuItem resumeItem;
|
||||||
|
protected MenuItem resolveItem;
|
||||||
|
|
||||||
protected TRId trId;
|
protected TRId trId;
|
||||||
protected VerticalLayoutContainer con;
|
protected VerticalLayoutContainer con;
|
||||||
|
@ -141,6 +159,7 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
super();
|
super();
|
||||||
Log.debug("ValidationsTasksPanel");
|
Log.debug("ValidationsTasksPanel");
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
|
this.thisPanel=this;
|
||||||
forceLayoutOnResize = true;
|
forceLayoutOnResize = true;
|
||||||
retrieveCurrentTR();
|
retrieveCurrentTR();
|
||||||
|
|
||||||
|
@ -151,6 +170,7 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
Log.debug("ValidationsTasksPanel: " + trId);
|
Log.debug("ValidationsTasksPanel: " + trId);
|
||||||
this.trId = trId;
|
this.trId = trId;
|
||||||
this.eventBus = eventBus;
|
this.eventBus = eventBus;
|
||||||
|
this.thisPanel=this;
|
||||||
forceLayoutOnResize = true;
|
forceLayoutOnResize = true;
|
||||||
draw();
|
draw();
|
||||||
}
|
}
|
||||||
|
@ -247,8 +267,8 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
validationButton.setTrueIcon(ResourceBundle.INSTANCE.ok());
|
validationButton.setTrueIcon(ResourceBundle.INSTANCE.ok());
|
||||||
validationButton.setFalseIcon(ResourceBundle.INSTANCE.error());
|
validationButton.setFalseIcon(ResourceBundle.INSTANCE.error());
|
||||||
validationButton.setTrueTitle("Valid");
|
validationButton.setTrueTitle("Valid");
|
||||||
validationButton.setFalseTitle("Resolve");
|
validationButton.setFalseTitle("Error");
|
||||||
validationButton.addSelectHandler(new SelectHandler() {
|
/*validationButton.addSelectHandler(new SelectHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSelect(SelectEvent event) {
|
public void onSelect(SelectEvent event) {
|
||||||
|
@ -257,7 +277,7 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
requestSolution(context);
|
requestSolution(context);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});*/
|
||||||
|
|
||||||
cc3.setCell(validationButton);
|
cc3.setCell(validationButton);
|
||||||
|
|
||||||
|
@ -320,6 +340,9 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
createContextMenu();
|
||||||
|
|
||||||
|
|
||||||
ToolBar toolBar = new ToolBar();
|
ToolBar toolBar = new ToolBar();
|
||||||
|
|
||||||
TextButton btnExpandAll = new TextButton();
|
TextButton btnExpandAll = new TextButton();
|
||||||
|
@ -361,8 +384,11 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
protected void requestSolution(Context context) {
|
protected void requestSolution(Context context) {
|
||||||
String key = (String) context.getKey();
|
String key = (String) context.getKey();
|
||||||
BaseDto d = store.findModelWithKey(key);
|
BaseDto d = store.findModelWithKey(key);
|
||||||
|
requestResolve(d);
|
||||||
|
}
|
||||||
|
|
||||||
String title = "";
|
protected void requestResolve(BaseDto d){
|
||||||
|
//String title = "";
|
||||||
if (d != null) {
|
if (d != null) {
|
||||||
Log.debug(d.toString());
|
Log.debug(d.toString());
|
||||||
if (d instanceof ValidationDto) {
|
if (d instanceof ValidationDto) {
|
||||||
|
@ -375,7 +401,7 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
} else {
|
} else {
|
||||||
if (v.getInvocation() != null) {
|
if (v.getInvocation() != null) {
|
||||||
InvocationS invocationS = v.getInvocation();
|
InvocationS invocationS = v.getInvocation();
|
||||||
title = invocationS.toString();
|
//title = invocationS.toString();
|
||||||
Long op = invocationS.getOperationId();
|
Long op = invocationS.getOperationId();
|
||||||
if (op.compareTo(OperationsId.ChangeToDimensionColumn
|
if (op.compareTo(OperationsId.ChangeToDimensionColumn
|
||||||
.toLong()) == 0) {
|
.toLong()) == 0) {
|
||||||
|
@ -387,12 +413,14 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
invocationS.getRefColumn());
|
invocationS.getRefColumn());
|
||||||
map.put(Constants.REQUEST_PROPERTIES_COLUMNID,
|
map.put(Constants.REQUEST_PROPERTIES_COLUMNID,
|
||||||
invocationS.getColumnId());
|
invocationS.getColumnId());
|
||||||
map.put(Constants.REQUEST_PROPERTIES_TASKID, invocationS.getTaskId());
|
map.put(Constants.REQUEST_PROPERTIES_TASKID,
|
||||||
|
invocationS.getTaskId());
|
||||||
RequestProperties props = new RequestProperties(map);
|
RequestProperties props = new RequestProperties(map);
|
||||||
widgetRequestEvent.setRequestProperties(props);
|
widgetRequestEvent.setRequestProperties(props);
|
||||||
eventBus.fireEvent(widgetRequestEvent);
|
eventBus.fireEvent(widgetRequestEvent);
|
||||||
} else {
|
} else {
|
||||||
UtilsGXT3.info("Invocation Info", title);
|
//UtilsGXT3.info("Invocation Info", title);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -402,6 +430,124 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void requestResume(BaseDto selected){
|
||||||
|
if (selected instanceof ValidationDto) {
|
||||||
|
ValidationDto v = (ValidationDto) selected;
|
||||||
|
Log.debug("ValidationDto: [" + v.getId() + ", "
|
||||||
|
+ v.getDescription() + ", " + v.getValid() + ", "
|
||||||
|
+ v.getInvocation() + "]");
|
||||||
|
if (v.getInvocation() != null) {
|
||||||
|
if (v.getValid()) {
|
||||||
|
UtilsGXT3.info("Resume", "Is valid, resume not applicable");
|
||||||
|
} else {
|
||||||
|
InvocationS invocationS = v.getInvocation();
|
||||||
|
String taskId=invocationS.getTaskId();
|
||||||
|
if(taskId==null || taskId.isEmpty()){
|
||||||
|
UtilsGXT3.alert("Resume", "TaskId is null, resume not applicable");
|
||||||
|
} else {
|
||||||
|
TaskResumeSession taskResumeSession=new TaskResumeSession(trId,taskId);
|
||||||
|
startTaskResume(taskResumeSession);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
UtilsGXT3.alert("Resume", "Invocation is null, resume not applicable");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected void createContextMenu() {
|
||||||
|
contextMenu = new Menu();
|
||||||
|
|
||||||
|
resumeItem = new MenuItem();
|
||||||
|
resumeItem.setText("Resume");
|
||||||
|
resumeItem.setIcon(ResourceBundle.INSTANCE.refresh());
|
||||||
|
resumeItem.addSelectionHandler(new SelectionHandler<Item>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSelection(SelectionEvent<Item> event) {
|
||||||
|
BaseDto selected = tree.getSelectionModel().getSelectedItem();
|
||||||
|
Log.debug(selected.toString());
|
||||||
|
requestResume(selected);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
resolveItem = new MenuItem();
|
||||||
|
resolveItem.setText("Resolve");
|
||||||
|
resolveItem.setIcon(ResourceBundle.INSTANCE.plaster());
|
||||||
|
resolveItem.addSelectionHandler(new SelectionHandler<Item>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSelection(SelectionEvent<Item> event) {
|
||||||
|
BaseDto selected = tree.getSelectionModel()
|
||||||
|
.getSelectedItem();
|
||||||
|
Log.debug(selected.toString());
|
||||||
|
requestResolve(selected);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
contextMenu.add(resumeItem);
|
||||||
|
contextMenu.setVisible(false);
|
||||||
|
tree.setContextMenu(contextMenu);
|
||||||
|
|
||||||
|
tree.addBeforeShowContextMenuHandler(new BeforeShowContextMenuHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBeforeShowContextMenu(BeforeShowContextMenuEvent event) {
|
||||||
|
Menu contextMenu=event.getMenu();
|
||||||
|
|
||||||
|
BaseDto selected = tree.getSelectionModel()
|
||||||
|
.getSelectedItem();
|
||||||
|
if (selected instanceof ValidationDto) {
|
||||||
|
ValidationDto v = (ValidationDto) selected;
|
||||||
|
Log.debug("ValidationDto: [" + v.getId() + ", "
|
||||||
|
+ v.getDescription() + ", " + v.getValid() + ", "
|
||||||
|
+ v.getInvocation() + "]");
|
||||||
|
if (v.getInvocation() != null) {
|
||||||
|
if (v.getValid()) {
|
||||||
|
contextMenu.clear();
|
||||||
|
contextMenu.add(resumeItem);
|
||||||
|
contextMenu.setVisible(true);
|
||||||
|
tree.setContextMenu(contextMenu);
|
||||||
|
} else {
|
||||||
|
InvocationS invocationS = v.getInvocation();
|
||||||
|
Long op = invocationS.getOperationId();
|
||||||
|
if (op.compareTo(OperationsId.ChangeToDimensionColumn
|
||||||
|
.toLong()) == 0) {
|
||||||
|
contextMenu.clear();
|
||||||
|
contextMenu.add(resolveItem);
|
||||||
|
contextMenu.add(resumeItem);
|
||||||
|
contextMenu.setVisible(true);
|
||||||
|
tree.setContextMenu(contextMenu);
|
||||||
|
} else {
|
||||||
|
contextMenu.clear();
|
||||||
|
contextMenu.add(resumeItem);
|
||||||
|
contextMenu.setVisible(true);
|
||||||
|
tree.setContextMenu(contextMenu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
contextMenu.clear();
|
||||||
|
contextMenu.setVisible(false);
|
||||||
|
tree.setContextMenu(contextMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
contextMenu.clear();
|
||||||
|
contextMenu.setVisible(false);
|
||||||
|
tree.setContextMenu(contextMenu);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
protected void retrieveValidations() {
|
protected void retrieveValidations() {
|
||||||
|
|
||||||
TDGWTServiceAsync.INSTANCE.getValidationsTasksMetadata(trId,
|
TDGWTServiceAsync.INSTANCE.getValidationsTasksMetadata(trId,
|
||||||
|
@ -476,4 +622,59 @@ public class ValidationsTasksPanel extends FramedPanel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void startTaskResume(TaskResumeSession taskResumeSession){
|
||||||
|
Log.debug(taskResumeSession.toString());
|
||||||
|
TDGWTServiceAsync.INSTANCE.startTaskResume(taskResumeSession, new AsyncCallback<Void>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Throwable caught) {
|
||||||
|
if (caught instanceof TDGWTSessionExpiredException) {
|
||||||
|
eventBus.fireEvent(new SessionExpiredEvent(
|
||||||
|
SessionExpiredType.EXPIREDONSERVER));
|
||||||
|
} else {
|
||||||
|
Log.debug(caught.getLocalizedMessage());
|
||||||
|
UtilsGXT3.alert("Error in Resume",
|
||||||
|
caught.getLocalizedMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(Void result) {
|
||||||
|
TaskResumeProgressDialog taskResumeProgressDialog=new TaskResumeProgressDialog(eventBus);
|
||||||
|
taskResumeProgressDialog.addResumeDialogListener(thisPanel);
|
||||||
|
taskResumeProgressDialog.show();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resumeComplete(TRId trId) {
|
||||||
|
ChangeTableWhy why = ChangeTableWhy.TABLEUPDATED;
|
||||||
|
ChangeTableRequestEvent changeTableRequestEvent = new ChangeTableRequestEvent(
|
||||||
|
ChangeTableRequestType.TASKRESUME, trId, why);
|
||||||
|
eventBus.fireEvent(changeTableRequestEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resumeFailed(Throwable caught, String reason) {
|
||||||
|
UtilsGXT3.alert("Error in Resume", reason);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resumeStopped(TRId trId, String reason, String details) {
|
||||||
|
ChangeTableWhy why = ChangeTableWhy.TABLECURATION;
|
||||||
|
ChangeTableRequestEvent changeTableRequestEvent = new ChangeTableRequestEvent(
|
||||||
|
ChangeTableRequestType.TASKRESUME, trId, why);
|
||||||
|
eventBus.fireEvent(changeTableRequestEvent);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
Loading…
Reference in New Issue