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();
}
@ -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;

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 {
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);
}

View File

@ -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<CodeData>();
FilesStorage filesStorage = new FilesStorage();
InputStream is = filesStorage.getFileOnWorkspace(serviceCredentials.getUserName(), itemId);
code = new ArrayList<CodeData>();
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());