diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/WsTaskExecutorWidget.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/WsTaskExecutorWidget.java index 42923e7..e31b94d 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/WsTaskExecutorWidget.java +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/WsTaskExecutorWidget.java @@ -8,6 +8,8 @@ import org.gcube.common.workspacetaskexecutor.shared.dataminer.TaskConfiguration import org.gcube.common.workspacetaskexecutor.shared.exception.ItemNotConfiguredException; import org.gcube.common.workspacetaskexecutor.shared.exception.WorkspaceFolderLocked; import org.gcube.portlets.widgets.wstaskexecutor.client.TaskCompletedNotification.TaskCompletedNotificationListner; +import org.gcube.portlets.widgets.wstaskexecutor.client.event.CreateTaskConfigurationEvent; +import org.gcube.portlets.widgets.wstaskexecutor.client.event.CreateTaskConfigurationEventHandler; import org.gcube.portlets.widgets.wstaskexecutor.client.event.PerformRunTaskEvent; import org.gcube.portlets.widgets.wstaskexecutor.client.event.PerformRunTaskEventHandler; import org.gcube.portlets.widgets.wstaskexecutor.client.rpc.WsTaskExecutorWidgetServiceAsync; @@ -84,6 +86,39 @@ public class WsTaskExecutorWidget { } }); + eventBus.addHandler(CreateTaskConfigurationEvent.TYPE, new CreateTaskConfigurationEventHandler() { + + @Override + public void onCreateConfiguration( + final CreateTaskConfigurationEvent createTCE) { + + if(createTCE.getFolder()!=null && createTCE.getConf()!=null){ + WsTaskExecutorWidget.wsTaskService.createTaskConfiguration(createTCE.getFolder().getFolderId(), createTCE.getConf(), createTCE.isUpdate(), new AsyncCallback() { + + @Override + public void onFailure(Throwable caught) { + + Window.alert(caught.getMessage()); + + } + + @Override + public void onSuccess(Boolean result) { + + try { + showTaskConfigurationsForFolder(createTCE.getFolder()); + } + catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + }); + } + } + }); + } diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/event/CreateTaskConfigurationEvent.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/event/CreateTaskConfigurationEvent.java new file mode 100644 index 0000000..f36252e --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/event/CreateTaskConfigurationEvent.java @@ -0,0 +1,86 @@ +/* + * + */ +package org.gcube.portlets.widgets.wstaskexecutor.client.event; + +import org.gcube.common.workspacetaskexecutor.shared.dataminer.TaskConfiguration; +import org.gcube.portlets.widgets.wstaskexecutor.shared.WsFolder; + +import com.google.gwt.event.shared.GwtEvent; + + + +/** + * The Class CreateTaskConfigurationEvent. + * + * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) + * May 9, 2018 + */ +public class CreateTaskConfigurationEvent extends GwtEvent { + + /** The type. */ + public static Type TYPE = new Type(); + private TaskConfiguration conf; + private WsFolder folder; + private boolean isUpdate; + + /** + * Instantiates a new creates the task configuration event. + * + * @param folder the folder + * @param conf the conf + * @param isUpdate the is update + */ + public CreateTaskConfigurationEvent(WsFolder folder, TaskConfiguration conf, boolean isUpdate) { + this.folder = folder; + this.conf = conf; + this.isUpdate = isUpdate; + + } + + /* (non-Javadoc) + * @see com.google.gwt.event.shared.GwtEvent#getAssociatedType() + */ + @Override + public Type getAssociatedType() { + return TYPE; + } + + /* (non-Javadoc) + * @see com.google.gwt.event.shared.GwtEvent#dispatch(com.google.gwt.event.shared.EventHandler) + */ + @Override + protected void dispatch(CreateTaskConfigurationEventHandler handler) { + handler.onCreateConfiguration(this); + } + + + /** + * @return the isUpdate + */ + public boolean isUpdate() { + + return isUpdate; + } + + + /** + * Gets the conf. + * + * @return the conf + */ + public TaskConfiguration getConf() { + return conf; + + } + + /** + * Gets the folder. + * + * @return the folder + */ + public WsFolder getFolder() { + return folder; + } + +} diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/event/CreateTaskConfigurationEventHandler.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/event/CreateTaskConfigurationEventHandler.java new file mode 100644 index 0000000..eb812e4 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/event/CreateTaskConfigurationEventHandler.java @@ -0,0 +1,19 @@ +package org.gcube.portlets.widgets.wstaskexecutor.client.event; + +import com.google.gwt.event.shared.EventHandler; + + +/** + * The Interface CreateTaskConfigurationEventHandler. + * + * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) + * May 9, 2018 + */ +public interface CreateTaskConfigurationEventHandler extends EventHandler { + + /** + * @param createTaskConfigurationEvent + */ + void onCreateConfiguration( + CreateTaskConfigurationEvent createTaskConfigurationEvent); +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/rpc/WsTaskExecutorWidgetService.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/rpc/WsTaskExecutorWidgetService.java index 7071570..681df1b 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/rpc/WsTaskExecutorWidgetService.java +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/rpc/WsTaskExecutorWidgetService.java @@ -60,4 +60,23 @@ public interface WsTaskExecutorWidgetService extends RemoteService { * @throws Exception the exception */ List getAvailableParameterTypes() throws Exception; + + /** + * @param itemId + * @param taskConfiguration + * @param isUpdate + * @return + * @throws Exception + */ + Boolean createTaskConfiguration( + String itemId, TaskConfiguration taskConfiguration, boolean isUpdate) + throws Exception; + + /** + * @param itemId + * @return + * @throws Exception + */ + List getItemTaskConfigurations(String itemId) + throws Exception; } diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/rpc/WsTaskExecutorWidgetServiceAsync.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/rpc/WsTaskExecutorWidgetServiceAsync.java index a6fd250..36ed455 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/rpc/WsTaskExecutorWidgetServiceAsync.java +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/rpc/WsTaskExecutorWidgetServiceAsync.java @@ -95,4 +95,25 @@ public interface WsTaskExecutorWidgetServiceAsync { * @return the available parameter types */ void getAvailableParameterTypes(AsyncCallback> asyncCallback); + + + /** + * Creates the task configuration. + * + * @param itemId the item id + * @param taskConfiguration the task configuration + * @param isUpdate the is update + * @param asyncCallback the async callback + */ + void createTaskConfiguration( + String itemId, TaskConfiguration taskConfiguration, boolean isUpdate, AsyncCallback asyncCallback); + + /** + * Gets the item task configurations. + * + * @param itemId the item id + * @param asyncCallback the async callback + * @return the item task configurations + */ + void getItemTaskConfigurations(String itemId, AsyncCallback> asyncCallback); } diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/WsTaskExecutorWidgetViewManager.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/WsTaskExecutorWidgetViewManager.java index a590f6d..9320baa 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/WsTaskExecutorWidgetViewManager.java +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/WsTaskExecutorWidgetViewManager.java @@ -244,8 +244,10 @@ public class WsTaskExecutorWidgetViewManager { public void showCreateTaskConfigurationForFolder(final WsFolder folder, TaskConfiguration conf){ final Modal box = new Modal(true); - box.setWidth(AbstractViewDialogBox.DEFAULT_WIDTH+20+"px"); + //box.setWidth(AbstractViewDialogBox.DEFAULT_WIDTH+20+"px"); box.setTitle("Create Task Configuration for: "+FormatUtil.getFolderTitle(folder.getFoderName(), 20)); + box.addStyleName("ws-task-modal-body"); + box.setWidth(AbstractViewDialogBox.DEFAULT_WIDTH+50); //box.getElement().getStyle().setZIndex(10000); final AbstractViewDialogBox panelView = new AbstractViewDialogBox() { diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CreateTaskConfigurationView.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CreateTaskConfigurationView.java index e25c076..f0d56af 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CreateTaskConfigurationView.java +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CreateTaskConfigurationView.java @@ -34,6 +34,7 @@ import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Widget; @@ -88,6 +89,9 @@ public abstract class CreateTaskConfigurationView extends Composite { @UiField Button addCustomFieldButton; + @UiField + HTMLPanel html_panel_field; + /** The map VR es. */ private Map mapScopes = new HashMap(); @@ -193,7 +197,7 @@ public abstract class CreateTaskConfigurationView extends Composite { if(folder.getPublicLink()!=null){ customFieldEntry = new CustomFieldEntry(eventBus, "publicLink", folder.getPublicLink(), "FILE"); customFieldEntriesList.add(customFieldEntry); - task_parameters_control.add(customFieldEntry); + cg_parameters_control.add(customFieldEntry); }else addCustomFieldEvent(null); @@ -209,7 +213,7 @@ public abstract class CreateTaskConfigurationView extends Composite { CustomFieldEntry toAdd = new CustomFieldEntry(eventBus, null, null, null); customFieldEntriesList.add(toAdd); - task_parameters_control.add(toAdd); + cg_parameters_control.add(toAdd); } @@ -224,7 +228,7 @@ public abstract class CreateTaskConfigurationView extends Composite { @Override public void onRemoveEntry(DeleteCustomFieldEvent event) { customFieldEntriesList.remove(event.getRemovedEntry()); - task_parameters_control.remove(event.getRemovedEntry()); + cg_parameters_control.remove(event.getRemovedEntry()); } }); @@ -238,7 +242,7 @@ public abstract class CreateTaskConfigurationView extends Composite { */ protected boolean validateSubmit() { cg_input_task_id.setType(ControlGroupType.NONE); - cg_parameters_control.setType(ControlGroupType.NONE); + //cg_parameters_control.setType(ControlGroupType.NONE); //cg_remote_path.setType(ControlGroupType.NONE); if(field_select_scope.getSelectedItemText()==null){ @@ -254,9 +258,11 @@ public abstract class CreateTaskConfigurationView extends Composite { } for (CustomFieldEntry cFE : customFieldEntriesList) { + cFE.getControlGroup().setType(ControlGroupType.NONE); if(cFE.getKey()==null || cFE.getKey().isEmpty()){ - cg_parameters_control.setType(ControlGroupType.ERROR); - setError(true, "You must type a valid key paramter!"); + cFE.getControlGroup().setType(ControlGroupType.ERROR); + //cg_parameters_control.setType(ControlGroupType.ERROR); + setError(true, "You must type a valid key parameter!"); return false; } } diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CreateTaskConfigurationView.ui.xml b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CreateTaskConfigurationView.ui.xml index 52619ad..25941fb 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CreateTaskConfigurationView.ui.xml +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CreateTaskConfigurationView.ui.xml @@ -7,7 +7,7 @@ } - + @@ -15,7 +15,7 @@ Execute in the Scope + ui:field="field_select_scope" addStyleNames="my-external-select-width"> @@ -25,7 +25,7 @@ + ui:field="field_task_id" addStyleNames="my-external-input-width"> @@ -40,7 +40,7 @@ - \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CustomFieldEntry.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CustomFieldEntry.java index 1c2c69d..7b2440e 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CustomFieldEntry.java +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CustomFieldEntry.java @@ -7,15 +7,18 @@ import org.gcube.portlets.widgets.wstaskexecutor.client.WsTaskExecutorWidget; import org.gcube.portlets.widgets.wstaskexecutor.client.event.DeleteCustomFieldEvent; import com.github.gwtbootstrap.client.ui.Button; +import com.github.gwtbootstrap.client.ui.ControlGroup; import com.github.gwtbootstrap.client.ui.InputAddOn; import com.github.gwtbootstrap.client.ui.ListBox; import com.github.gwtbootstrap.client.ui.TextBox; import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; +import com.google.gwt.user.client.Random; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Composite; @@ -47,6 +50,7 @@ public class CustomFieldEntry extends Composite { @UiField InputAddOn valueFieldPrepend; @UiField Button removeCustomField; @UiField ListBox field_select_parameter; + @UiField ControlGroup cg_parameter; private List parameterTypes; @@ -59,6 +63,7 @@ public class CustomFieldEntry extends Composite { private HandlerManager eventBus; private String parameterType; + /** * Instantiates a new custom field entry. * @@ -69,6 +74,9 @@ public class CustomFieldEntry extends Composite { */ public CustomFieldEntry(HandlerManager eventBus, String key, String value, final String parameterType) { initWidget(uiBinder.createAndBindUi(this)); + this.getElement().getStyle().setMarginTop(10, Unit.PX); + this.getElement().getStyle().setMarginBottom(20, Unit.PX); + cg_parameter.getElement().setId(Random.nextInt()+Random.nextInt()+""); keyFieldPrepend.setTitle("This is the key of the parameter"); valueFieldPrepend.setTitle("This is the value of the parameter"); @@ -130,6 +138,14 @@ public class CustomFieldEntry extends Composite { } + + /** + * @return the cg_parameter + */ + public ControlGroup getControlGroup() { + + return cg_parameter; + } /** * Retrieve the key value. * diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CustomFieldEntry.ui.xml b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CustomFieldEntry.ui.xml index c672198..1a8d70b 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CustomFieldEntry.ui.xml +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/CustomFieldEntry.ui.xml @@ -1,23 +1,32 @@ - - Parameter - - - - - - - - - - - - - - - - + + + Parameter + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/public/WsTaskExecutorWidget.css b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/public/WsTaskExecutorWidget.css index bd03bab..e89bca5 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/public/WsTaskExecutorWidget.css +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/public/WsTaskExecutorWidget.css @@ -1,9 +1,11 @@ /** Add css rules here for your application. */ -.ws-thredds-modal-body div.modal-body { +.ws-task-modal-body div.modal-body { position: relative; - max-height: 600px !important; + max-height: 650px !important; padding: 15px; overflow-y: auto; + width: 800px; + margin: 0 auto; } .textAreaWidth { @@ -23,8 +25,27 @@ width: 750px !important; } -.myLittleMarginLeft{ - +.myLittleMarginLeft { margin-left: 25px !important; - +} + +.my-input-width { + width: 300px !important; +} + +.my-prepend-width .add-on { + width: 50px !important; + margin-bottom: 5px !important; +} + +.my-select-width { + width: 312px !important; +} + +.my-external-select-width { + width: 370px !important; +} + +.my-external-input-width { + width: 360px !important; } \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/server/WsTaskExecutorWidgetServiceImpl.java b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/server/WsTaskExecutorWidgetServiceImpl.java index b7cfc8f..272c242 100644 --- a/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/server/WsTaskExecutorWidgetServiceImpl.java +++ b/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/server/WsTaskExecutorWidgetServiceImpl.java @@ -59,6 +59,27 @@ public class WsTaskExecutorWidgetServiceImpl extends RemoteServiceServlet implem } } + /** + * Sets the masked token. + * + * @param taskConfiguration the task configuration + * @return the task configuration + * @throws Exception the exception + */ + private TaskConfiguration setMaskedToken(TaskConfiguration taskConfiguration) throws Exception{ + + String scope = taskConfiguration.getScope(); + if(scope==null) + throw new Exception("Missing scope in the input configuration. Set it and try again"); + + GCubeUser user = PortalContextUtil.getUserLogged(this.getThreadLocalRequest()); + String token = PortalContextUtil.getTokenFor(scope, user.getUsername()); + taskConfiguration.setMaskedToken(EncrypterUtil.encryptString(token)); + + return taskConfiguration; + + } + /** * Gets the task executor. * @@ -96,9 +117,9 @@ public class WsTaskExecutorWidgetServiceImpl extends RemoteServiceServlet implem if (!isWithinPortal()){ listOfScopes.add(new GcubeScope("devVRE", "/gcube/devsec/devVRE", GcubeScopeType.VRE)); listOfScopes.add(new GcubeScope("NextNext", "/gcube/devNext/NextNext", GcubeScopeType.VRE)); - listOfScopes.add(new GcubeScope("devNext", "/gcube/devNext", GcubeScopeType.VO)); - listOfScopes.add(new GcubeScope("devsec", "/gcube/devsec", GcubeScopeType.VO)); - listOfScopes.add(new GcubeScope("gcube", "/gcube", GcubeScopeType.ROOT)); +// listOfScopes.add(new GcubeScope("devNext", "/gcube/devNext", GcubeScopeType.VO)); +// listOfScopes.add(new GcubeScope("devsec", "/gcube/devsec", GcubeScopeType.VO)); +// listOfScopes.add(new GcubeScope("gcube", "/gcube", GcubeScopeType.ROOT)); Collections.sort(listOfScopes); return listOfScopes; } @@ -142,33 +163,12 @@ public class WsTaskExecutorWidgetServiceImpl extends RemoteServiceServlet implem return listOfScopes; } - - - - - /** - * Creates the task configuration. - * - * @param workspaceItemId the workspace item id - * @param taskConfiguration the task configuration - * @return the task configuration - * @throws Exception the exception - */ - public TaskConfiguration createTaskConfiguration(String workspaceItemId, TaskConfiguration taskConfiguration) throws Exception{ - - WorkspaceDataMinerTaskExecutor exec = getTaskExecutor(); - taskConfiguration = setMaskedToken(taskConfiguration); - exec.setTaskConfiguration(taskConfiguration); - - return taskConfiguration; - } - /** * Check item task configurations. * * @param itemId the item id * @return the list - * @throws Exception + * @throws Exception the exception */ @Override public List checkItemTaskConfigurations(String itemId) throws Exception { @@ -197,27 +197,6 @@ public class WsTaskExecutorWidgetServiceImpl extends RemoteServiceServlet implem } - /** - * Sets the masked token. - * - * @param taskConfiguration the task configuration - * @return the task configuration - * @throws Exception the exception - */ - private TaskConfiguration setMaskedToken(TaskConfiguration taskConfiguration) throws Exception{ - - String scope = taskConfiguration.getScope(); - if(scope==null) - throw new Exception("Missing scope in the input configuration. Set it and try again"); - - GCubeUser user = PortalContextUtil.getUserLogged(this.getThreadLocalRequest()); - String token = PortalContextUtil.getTokenFor(scope, user.getUsername()); - taskConfiguration.setMaskedToken(EncrypterUtil.encryptString(token)); - - return taskConfiguration; - - } - /* (non-Javadoc) * @see org.gcube.portlets.widgets.wstaskexecutor.client.rpc.WsTaskExecutorWidgetService#getAvailablesParameterTypes() */ @@ -241,4 +220,60 @@ public class WsTaskExecutorWidgetServiceImpl extends RemoteServiceServlet implem return null; } + + /** + * Creates the task configuration. + * + * @param itemId the item id + * @param taskConfiguration the task configuration + * @param isUpdate the is update + * @return true, if successful + * @throws Exception the exception + */ + @Override + public Boolean createTaskConfiguration(String itemId, TaskConfiguration taskConfiguration, boolean isUpdate) throws Exception{ + WorkspaceDataMinerTaskExecutor exec = getTaskExecutor(); + try { + GCubeUser user = PortalContextUtil.getUserLogged(this.getThreadLocalRequest()); + taskConfiguration.setOwner(user.getUsername()); + taskConfiguration = setMaskedToken(taskConfiguration); + exec.setTaskConfiguration(taskConfiguration); + return true; + } + catch (Exception e) { + logger.error("Error on creating the TaskConfiguration for itemId: "+itemId,e); + throw new Exception("Sorry, an rrror occurred during creating the configuration for itemId: "+itemId+ ". Refresh and try again later"); + } + } + + + /* (non-Javadoc) + * @see org.gcube.portlets.widgets.wstaskexecutor.client.rpc.WsTaskExecutorWidgetService#getItemTaskConfigurations(java.lang.String) + */ + @Override + public List getItemTaskConfigurations(String itemId) throws Exception{ + logger.debug("Getting Task Configurations for item: "+itemId); + WorkspaceDataMinerTaskExecutor exec = getTaskExecutor(); + List confs = null; + try { + confs = exec.getListOfTaskConfigurations(itemId); + } + catch (ItemNotConfiguredException e){ + String msg = "No TaskConfiguration found for itemId: "+itemId+", retuning null"; + logger.info(msg); + throw e; + }catch (WorkspaceFolderLocked e) { + logger.info(e.getMessage()); + throw e; + + }catch (Exception e) { + logger.error("Error on getting TaskConfigurations for itemId: "+itemId,e); + throw new Exception("Error occurred during loading Task Configurations for id: "+itemId+ ". Refresh and try again later"); + } + + logger.debug("Returning configurations: "+confs); + + return confs; + } + }