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
This commit is contained in:
Giancarlo Panichi 2018-12-10 16:25:07 +00:00
parent 68895e2274
commit 6f9cd6d4a0
3 changed files with 143 additions and 95 deletions

View File

@ -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.input.InputOutputVariables;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.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.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.project.ProjectSupportREdit;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription;
@ -160,11 +161,6 @@ public class CodeEditPanel extends ContentPanel {
editor.setShowPrintMargin(false); editor.setShowPrintMargin(false);
if (project != null && project.getMainCode() != null && project.getMainCode().getItemDescription() != null) { 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(); loadCode();
} }
@ -183,8 +179,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) { private void saveVariable(IOType ioType) {
String parameter = getSelectedText(); String parameter = getSelectedText();
Log.debug("Save Variable: " + ioType + ", " + parameter); Log.debug("Save Variable: " + ioType + ", " + parameter);
@ -314,88 +363,80 @@ public class CodeEditPanel extends ContentPanel {
} else { } else {
} }
showCode(text);
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);
}
forceLayout(); forceLayout();
} }
}); });
} }
public void codeUpdate(Project project) { private void showCode(String text) {
this.project = project;
if (project != null) { if (project != null) {
if (project.getProjectConfig() != null) { if (project.getProjectConfig() != null && project.getProjectConfig().getProjectSupport() != null) {
if (project.getProjectConfig().getProjectSupport() != null) {
if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) { if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) {
if (project.getMainCode() != null && project.getMainCode().getItemDescription() != null) {
if (project.getMainCode().getItemDescription().getName() != null) { if (project.getMainCode().getItemDescription().getName() != null) {
mainCodeField.setValue(project.getMainCode().getItemDescription().getName()); mainCodeField.setValue(project.getMainCode().getItemDescription().getName());
} else { } else {
mainCodeField.setValue(""); mainCodeField.setValue("");
} }
loadCode(); editor.setShowPrintMargin(false);
} editor.setMode(AceEditorMode.R);
editor.setTheme(AceEditorTheme.ECLIPSE);
editor.setText(text);
} else { } else {
if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) { if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) {
ProjectSupportBashEdit projectSupportBashEdit = (ProjectSupportBashEdit) project ProjectSupportBashEdit projectSupportBashEdit = (ProjectSupportBashEdit) project
.getProjectConfig().getProjectSupport(); .getProjectConfig().getProjectSupport();
if (projectSupportBashEdit != null && projectSupportBashEdit.getBinaryItem() != null) { if (projectSupportBashEdit.getBinaryItem() != null
if (projectSupportBashEdit.getBinaryItem().getName() != null) { && projectSupportBashEdit.getBinaryItem().getName() != null) {
mainCodeField.setValue(projectSupportBashEdit.getBinaryItem().getName()); mainCodeField.setValue(projectSupportBashEdit.getBinaryItem().getName());
} else { } else {
mainCodeField.setValue(""); mainCodeField.setValue("");
} }
loadCode();
} 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 { } else {
editor.setText("");
mainCodeField.setValue(""); mainCodeField.setValue("");
} }
editor.setShowPrintMargin(false);
editor.setMode(AceEditorMode.SH);
editor.setTheme(AceEditorTheme.ECLIPSE);
editor.setText("");
} else {
Log.debug("No editing enabled");
mainCodeField.setValue("");
editor.setText("");
}
}
} }
} else { } else {
editor.setText(""); Log.debug("No editing enabled");
mainCodeField.setValue(""); mainCodeField.setValue("");
} editor.setText("");
} }
} else { } else {
editor.setText(""); Log.debug("No editing enabled");
mainCodeField.setValue(""); mainCodeField.setValue("");
editor.setText("");
} }
} }
private String getSelectedText() { private String getSelectedText() {
String selectedText = null; String selectedText = null;

View File

@ -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.Project;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportBashEdit; 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.ProjectSupportBlackBox;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectSupportREdit;
import com.allen_sauer.gwt.log.client.Log; import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler;
@ -43,10 +44,10 @@ public class WorkAreaPanel extends SimpleContainer {
} }
private void create() { private void create() {
//addStyleName(StatAlgoImporterResources.INSTANCE.saiStyles().getWorkAreaPanel()); // addStyleName(StatAlgoImporterResources.INSTANCE.saiStyles().getWorkAreaPanel());
//Image logo = new Image(StatAlgoImporterResources.INSTANCE.saiLogo()); // Image logo = new Image(StatAlgoImporterResources.INSTANCE.saiLogo());
//logo.addStyleName(StatAlgoImporterResources.INSTANCE.saiStyles().getLogo()); // logo.addStyleName(StatAlgoImporterResources.INSTANCE.saiStyles().getLogo());
//add(logo); // add(logo);
} }
private void bindToEvents() { private void bindToEvents() {
@ -86,16 +87,19 @@ public class WorkAreaPanel extends SimpleContainer {
} else { } else {
if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBlackBox) { if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBlackBox) {
Log.debug("Work Area Panel Set BlackBox Area! "); Log.debug("Work Area Panel Set BlackBox Area! ");
createBlackBoxArea(project); createBlackBoxArea(project);
} else { } else {
if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) { if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportBashEdit) {
Log.debug("Work Area Panel Set BashEdit Area! "); Log.debug("Work Area Panel Set BashEdit Area! ");
createBashArea(project); createBashArea(project);
} else { } else {
if (project.getProjectConfig().getProjectSupport() instanceof ProjectSupportREdit) {
Log.debug("Work Area Panel Set R Area! "); Log.debug("Work Area Panel Set R Area! ");
createRArea(project); createRArea(project);
} else {
Log.debug("Work Area Panel Set Default R Area! ");
createRArea(project);
}
} }
} }
} }
@ -176,21 +180,20 @@ public class WorkAreaPanel extends SimpleContainer {
} }
private void fireProjectStatusOpenEvent(final Project project) { private void fireProjectStatusOpenEvent(final Project project) {
try { try {
Scheduler.get().scheduleDeferred(new ScheduledCommand() { Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override @Override
public void execute() { 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); Log.debug("Work Area Panel ProjectStatusEvent fire! " + projectStatusEvent);
eventBus.fireEvent(projectStatusEvent); eventBus.fireEvent(projectStatusEvent);
} }
}); });
} catch (Throwable e) { } catch (Throwable e) {
Log.error(e.getLocalizedMessage(), e); Log.error(e.getLocalizedMessage(), e);
} }

View File

@ -103,7 +103,8 @@ public class CodeReader {
private void readCodeFromItem(String itemId) throws StatAlgoImporterServiceException { private void readCodeFromItem(String itemId) throws StatAlgoImporterServiceException {
try { try {
logger.debug("Read code from itemId: " + itemId);
if (itemId != null && !itemId.isEmpty()) {
code = new ArrayList<CodeData>(); code = new ArrayList<CodeData>();
FilesStorage filesStorage = new FilesStorage(); FilesStorage filesStorage = new FilesStorage();
InputStream is = filesStorage.getFileOnWorkspace(serviceCredentials.getUserName(), itemId); InputStream is = filesStorage.getFileOnWorkspace(serviceCredentials.getUserName(), itemId);
@ -121,6 +122,9 @@ public class CodeReader {
} }
is.close(); is.close();
logger.trace("Code size: " + code.size()); logger.trace("Code size: " + code.size());
} else {
logger.debug("The itemId is null");
}
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
new StatAlgoImporterServiceException(e.getLocalizedMessage()); new StatAlgoImporterServiceException(e.getLocalizedMessage());