From 6f9cd6d4a0628af7f5ac6337571a510e436dbe0e Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Mon, 10 Dec 2018 16:25:07 +0000 Subject: [PATCH] ref 12977: SAI - Force the path of the project folder to be updated to a new format https://support.d4science.org/issues/12977 Now, when the project is open the path is forced to be updated git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/statistical-algorithms-importer@174718 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/maindata/CodeEditPanel.java | 173 +++++++++++------- .../client/workarea/WorkAreaPanel.java | 33 ++-- .../server/file/CodeReader.java | 32 ++-- 3 files changed, 143 insertions(+), 95 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/maindata/CodeEditPanel.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/maindata/CodeEditPanel.java index 4424663..c5f5666 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/maindata/CodeEditPanel.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/maindata/CodeEditPanel.java @@ -19,6 +19,7 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input.IOType import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input.InputOutputVariables; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportBashEdit; +import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportBlackBox; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportREdit; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription; @@ -160,11 +161,6 @@ public class CodeEditPanel extends ContentPanel { editor.setShowPrintMargin(false); if (project != null && project.getMainCode() != null && project.getMainCode().getItemDescription() != null) { - if (project.getMainCode().getItemDescription().getName() != null) { - mainCodeField.setValue(project.getMainCode().getItemDescription().getName()); - } else { - mainCodeField.setValue(""); - } loadCode(); } @@ -182,8 +178,61 @@ public class CodeEditPanel extends ContentPanel { } }); + + initCode(); } + + public void codeUpdate(Project project) { + this.project = project; + initCode(); + } + + + private void initCode(){ + if (project != null) { + if (project.getProjectConfig() != null) { + if (project.getProjectConfig().getProjectSupport() != null) { + if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) { + if (project.getMainCode() != null && project.getMainCode().getItemDescription() != null) { + loadCode(); + } + } else { + if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) { + ProjectSupportBashEdit projectSupportBashEdit = (ProjectSupportBashEdit) project + .getProjectConfig().getProjectSupport(); + if (projectSupportBashEdit != null && projectSupportBashEdit.getBinaryItem() != null) { + loadCode(); + } + } else { + if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBlackBox) { + ProjectSupportBlackBox projectSupportBlackBox = (ProjectSupportBlackBox) project + .getProjectConfig().getProjectSupport(); + if (projectSupportBlackBox.getBinaryItem() != null + && projectSupportBlackBox.getBinaryItem().getName() != null) { + mainCodeField.setValue(projectSupportBlackBox.getBinaryItem().getName()); + } else { + mainCodeField.setValue(""); + } + editor.setText(""); + } else { + mainCodeField.setValue(""); + editor.setText(""); + + } + } + } + } else { + mainCodeField.setValue(""); + editor.setText(""); + } + } + } else { + mainCodeField.setValue(""); + editor.setText(""); + } + } + private void saveVariable(IOType ioType) { String parameter = getSelectedText(); @@ -314,88 +363,80 @@ public class CodeEditPanel extends ContentPanel { } else { } - - if (project != null) { - if (project.getProjectConfig() != null && project.getProjectConfig().getProjectSupport() != null) { - if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) { - editor.setShowPrintMargin(false); - editor.setMode(AceEditorMode.R); - editor.setTheme(AceEditorTheme.ECLIPSE); - editor.setText(text); - } else { - if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) { - editor.setShowPrintMargin(false); - editor.setMode(AceEditorMode.SH); - editor.setTheme(AceEditorTheme.ECLIPSE); - editor.setText(text); - } else { - editor.setShowPrintMargin(false); - editor.setMode(AceEditorMode.R); - editor.setTheme(AceEditorTheme.ECLIPSE); - editor.setText(text); - } - } - } else { - editor.setShowPrintMargin(false); - editor.setMode(AceEditorMode.R); - editor.setTheme(AceEditorTheme.ECLIPSE); - editor.setText(text); - } - } else { - editor.setShowPrintMargin(false); - editor.setMode(AceEditorMode.R); - editor.setTheme(AceEditorTheme.ECLIPSE); - editor.setText(text); - } - + showCode(text); forceLayout(); } + }); } - public void codeUpdate(Project project) { - this.project = project; + private void showCode(String text) { if (project != null) { - if (project.getProjectConfig() != null) { - if (project.getProjectConfig().getProjectSupport() != null) { - if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) { - if (project.getMainCode() != null && project.getMainCode().getItemDescription() != null) { - if (project.getMainCode().getItemDescription().getName() != null) { - mainCodeField.setValue(project.getMainCode().getItemDescription().getName()); + if (project.getProjectConfig() != null && project.getProjectConfig().getProjectSupport() != null) { + if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) { + if (project.getMainCode().getItemDescription().getName() != null) { + mainCodeField.setValue(project.getMainCode().getItemDescription().getName()); + } else { + mainCodeField.setValue(""); + } + editor.setShowPrintMargin(false); + editor.setMode(AceEditorMode.R); + editor.setTheme(AceEditorTheme.ECLIPSE); + editor.setText(text); + } else { + if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) { + ProjectSupportBashEdit projectSupportBashEdit = (ProjectSupportBashEdit) project + .getProjectConfig().getProjectSupport(); + if (projectSupportBashEdit.getBinaryItem() != null + && projectSupportBashEdit.getBinaryItem().getName() != null) { + mainCodeField.setValue(projectSupportBashEdit.getBinaryItem().getName()); + } else { + mainCodeField.setValue(""); + } + + editor.setShowPrintMargin(false); + editor.setMode(AceEditorMode.SH); + editor.setTheme(AceEditorTheme.ECLIPSE); + editor.setText(text); + } else { + if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBlackBox) { + Log.debug("No editing enabled for BlackBox project"); + ProjectSupportBlackBox projectSupportBlackBox = (ProjectSupportBlackBox) project + .getProjectConfig().getProjectSupport(); + if (projectSupportBlackBox.getBinaryItem() != null + && projectSupportBlackBox.getBinaryItem().getName() != null) { + mainCodeField.setValue(projectSupportBlackBox.getBinaryItem().getName()); } else { mainCodeField.setValue(""); } - loadCode(); - } - } else { - if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) { - ProjectSupportBashEdit projectSupportBashEdit = (ProjectSupportBashEdit) project - .getProjectConfig().getProjectSupport(); - if (projectSupportBashEdit != null && projectSupportBashEdit.getBinaryItem() != null) { - if (projectSupportBashEdit.getBinaryItem().getName() != null) { - mainCodeField.setValue(projectSupportBashEdit.getBinaryItem().getName()); - } else { - mainCodeField.setValue(""); - } - loadCode(); - } - } else { + editor.setShowPrintMargin(false); + editor.setMode(AceEditorMode.SH); + editor.setTheme(AceEditorTheme.ECLIPSE); editor.setText(""); + } else { + Log.debug("No editing enabled"); mainCodeField.setValue(""); + editor.setText(""); } } - } else { - editor.setText(""); - mainCodeField.setValue(""); } + } else { + Log.debug("No editing enabled"); + mainCodeField.setValue(""); + editor.setText(""); + } } else { - editor.setText(""); + Log.debug("No editing enabled"); mainCodeField.setValue(""); + editor.setText(""); } } + + + private String getSelectedText() { String selectedText = null; diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/workarea/WorkAreaPanel.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/workarea/WorkAreaPanel.java index fcaf1ff..c1bee87 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/workarea/WorkAreaPanel.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/workarea/WorkAreaPanel.java @@ -8,6 +8,7 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.client.type.Project import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportBashEdit; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportBlackBox; +import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportREdit; import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.Scheduler; @@ -43,10 +44,10 @@ public class WorkAreaPanel extends SimpleContainer { } private void create() { - //addStyleName(StatAlgoImporterResources.INSTANCE.saiStyles().getWorkAreaPanel()); - //Image logo = new Image(StatAlgoImporterResources.INSTANCE.saiLogo()); - //logo.addStyleName(StatAlgoImporterResources.INSTANCE.saiStyles().getLogo()); - //add(logo); + // addStyleName(StatAlgoImporterResources.INSTANCE.saiStyles().getWorkAreaPanel()); + // Image logo = new Image(StatAlgoImporterResources.INSTANCE.saiLogo()); + // logo.addStyleName(StatAlgoImporterResources.INSTANCE.saiStyles().getLogo()); + // add(logo); } private void bindToEvents() { @@ -86,16 +87,19 @@ public class WorkAreaPanel extends SimpleContainer { } else { if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBlackBox) { Log.debug("Work Area Panel Set BlackBox Area! "); - createBlackBoxArea(project); } else { if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) { Log.debug("Work Area Panel Set BashEdit Area! "); - createBashArea(project); } else { - Log.debug("Work Area Panel Set R Area! "); - createRArea(project); + if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) { + Log.debug("Work Area Panel Set R Area! "); + createRArea(project); + } else { + Log.debug("Work Area Panel Set Default R Area! "); + createRArea(project); + } } } } @@ -144,7 +148,7 @@ public class WorkAreaPanel extends SimpleContainer { add(mainPanelLayout); } - + private void createBashArea(Project project) { // Main Panel BorderLayoutContainer mainPanelLayout = new BorderLayoutContainer(); @@ -175,22 +179,21 @@ public class WorkAreaPanel extends SimpleContainer { add(mainPanelLayout); } - private void fireProjectStatusOpenEvent(final Project project) { try { Scheduler.get().scheduleDeferred(new ScheduledCommand() { - + @Override public void execute() { - ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.OPEN, project); + ProjectStatusEvent projectStatusEvent = new ProjectStatusEvent(ProjectStatusEventType.OPEN, + project); Log.debug("Work Area Panel ProjectStatusEvent fire! " + projectStatusEvent); eventBus.fireEvent(projectStatusEvent); - + } }); - - + } catch (Throwable e) { Log.error(e.getLocalizedMessage(), e); } diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/file/CodeReader.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/file/CodeReader.java index bf06b06..45ccd82 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/file/CodeReader.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/file/CodeReader.java @@ -103,24 +103,28 @@ public class CodeReader { private void readCodeFromItem(String itemId) throws StatAlgoImporterServiceException { try { + logger.debug("Read code from itemId: " + itemId); + if (itemId != null && !itemId.isEmpty()) { + code = new ArrayList(); + FilesStorage filesStorage = new FilesStorage(); + InputStream is = filesStorage.getFileOnWorkspace(serviceCredentials.getUserName(), itemId); - code = new ArrayList(); - FilesStorage filesStorage = new FilesStorage(); - InputStream is = filesStorage.getFileOnWorkspace(serviceCredentials.getUserName(), itemId); + InputStreamReader isr = new InputStreamReader(is); - InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader((Reader) isr); - BufferedReader br = new BufferedReader((Reader) isr); - - String s; - int i = 1; - while ((s = br.readLine()) != null) { - CodeData codeData = new CodeData(i, s); - code.add(codeData); - i++; + String s; + int i = 1; + while ((s = br.readLine()) != null) { + CodeData codeData = new CodeData(i, s); + code.add(codeData); + i++; + } + is.close(); + logger.trace("Code size: " + code.size()); + } else { + logger.debug("The itemId is null"); } - is.close(); - logger.trace("Code size: " + code.size()); } catch (IOException e) { e.printStackTrace(); new StatAlgoImporterServiceException(e.getLocalizedMessage());