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.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();
}
@ -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) {
String parameter = getSelectedText();
Log.debug("Save Variable: " + ioType + ", " + parameter);
@ -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() != null && 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());
} else {
mainCodeField.setValue("");
}
loadCode();
}
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 != null && projectSupportBashEdit.getBinaryItem() != null) {
if (projectSupportBashEdit.getBinaryItem().getName() != null) {
if (projectSupportBashEdit.getBinaryItem() != null
&& projectSupportBashEdit.getBinaryItem().getName() != null) {
mainCodeField.setValue(projectSupportBashEdit.getBinaryItem().getName());
} else {
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 {
editor.setText("");
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 {
editor.setText("");
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;

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.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 {
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);
}
}
}
}
@ -176,21 +180,20 @@ public class WorkAreaPanel extends SimpleContainer {
}
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);
}

View File

@ -103,7 +103,8 @@ 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<CodeData>();
FilesStorage filesStorage = new FilesStorage();
InputStream is = filesStorage.getFileOnWorkspace(serviceCredentials.getUserName(), itemId);
@ -121,6 +122,9 @@ public class CodeReader {
}
is.close();
logger.trace("Code size: " + code.size());
} else {
logger.debug("The itemId is null");
}
} catch (IOException e) {
e.printStackTrace();
new StatAlgoImporterServiceException(e.getLocalizedMessage());