diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/properties/InterpreterPackageInfoProperties.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/properties/InterpreterPackageInfoProperties.java
new file mode 100644
index 0000000..a4f9438
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/properties/InterpreterPackageInfoProperties.java
@@ -0,0 +1,24 @@
+package org.gcube.portlets.user.statisticalalgorithmsimporter.client.properties;
+
+import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input.InterpreterPackageInfo;
+
+import com.sencha.gxt.core.client.ValueProvider;
+import com.sencha.gxt.data.shared.ModelKeyProvider;
+import com.sencha.gxt.data.shared.PropertyAccess;
+
+/**
+ *
+ * @author giancarlo email: g.panichi@isti.cnr.it
+ *
+ */
+public interface InterpreterPackageInfoProperties extends
+ PropertyAccess {
+
+ ModelKeyProvider id();
+
+ ValueProvider name();
+
+ ValueProvider version();
+
+}
diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/EnvironmentVariablesPanel.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/EnvironmentVariablesPanel.java
index aa72b77..8fb84bf 100644
--- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/EnvironmentVariablesPanel.java
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/EnvironmentVariablesPanel.java
@@ -293,7 +293,7 @@ public class EnvironmentVariablesPanel extends ContentPanel {
btnAdd.setEnabled(true);
} catch (Throwable e) {
- Log.error("Error in RuleOnTableNewDefinitionCard: "
+ Log.error("Error: "
+ e.getLocalizedMessage());
e.printStackTrace();
}
diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariableMessages.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariableMessages.java
index 08a56b2..066146b 100644
--- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariableMessages.java
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariableMessages.java
@@ -12,11 +12,13 @@ public interface InputVariableMessages extends Messages {
//
@DefaultMessage("Selected Rows")
- String selectedRowsItem();
+ String selectedRows();
@DefaultMessage("Enviroment Variables")
String environmentVariables();
+ @DefaultMessage("Interpreter")
+ String interpreterInfo();
}
\ No newline at end of file
diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariableTabPanel.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariableTabPanel.java
index 9589ced..329610c 100644
--- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariableTabPanel.java
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariableTabPanel.java
@@ -24,6 +24,7 @@ public class InputVariableTabPanel extends TabPanel {
private EventBus eventBus;
private EnvironmentVariablesPanel enviromentVariablesPanel;
private SelectedRowsPanel selectedRowsPanel;
+ private InterpreterInfoPanel interpreterInfoPanel;
public InputVariableTabPanel(EventBus eventBus,
InputVariablePanel toolBoxPanel) {
@@ -34,8 +35,8 @@ public class InputVariableTabPanel extends TabPanel {
init();
}
-
- protected void init(){
+
+ protected void init() {
setId("InputVariableTabPanel");
setBodyBorder(false);
setBorders(false);
@@ -48,7 +49,7 @@ public class InputVariableTabPanel extends TabPanel {
Log.debug("Start InputVariable Tabs");
addEnvironmentVariablesPanel(project);
addSelectedRowsPanel(project);
-
+ addInterpreterInfoPanel(project);
setActiveWidget(getWidget(0));
}
@@ -83,15 +84,15 @@ public class InputVariableTabPanel extends TabPanel {
+ e.getLocalizedMessage());
e.printStackTrace();
}
-
+
}
-
public void updateTabs(Project project) {
try {
enviromentVariablesPanel.update(project);
selectedRowsPanel.update(project);
-
+ interpreterInfoPanel.update(project);
+
forceLayout();
} catch (Throwable e) {
Log.error("Error in InputVariableTabPanel: "
@@ -112,6 +113,11 @@ public class InputVariableTabPanel extends TabPanel {
.getSelectedRows());
}
+ if (interpreterInfoPanel != null) {
+ inputVariables.setInterpreterInfo(interpreterInfoPanel
+ .getInterpreterInfo());
+ }
+
InputSaveReadyEvent inputSaveReadyEvent = new InputSaveReadyEvent(
inputVariables);
eventBus.fireEvent(inputSaveReadyEvent);
@@ -122,7 +128,7 @@ public class InputVariableTabPanel extends TabPanel {
// Add
private void addSelectedRowsPanel(Project project) {
TabItemConfig selectedRowsPanelItemConf = new TabItemConfig(
- msgs.selectedRowsItem(), false);
+ msgs.selectedRows(), false);
selectedRowsPanel = new SelectedRowsPanel(project, eventBus);
selectedRowsPanel.setHeaderVisible(false);
@@ -134,19 +140,27 @@ public class InputVariableTabPanel extends TabPanel {
TabItemConfig enviromentVariablePanelItemConf = new TabItemConfig(
msgs.environmentVariables(), false);
- enviromentVariablesPanel = new EnvironmentVariablesPanel(project, eventBus);
+ enviromentVariablesPanel = new EnvironmentVariablesPanel(project,
+ eventBus);
enviromentVariablesPanel.setHeaderVisible(false);
add(enviromentVariablesPanel, enviromentVariablePanelItemConf);
}
+ private void addInterpreterInfoPanel(Project project) {
+ TabItemConfig interpreterInfoPanelItemConf = new TabItemConfig(
+ msgs.interpreterInfo(), false);
+
+ interpreterInfoPanel = new InterpreterInfoPanel(project, eventBus);
+ interpreterInfoPanel.setHeaderVisible(false);
+ add(interpreterInfoPanel, interpreterInfoPanelItemConf);
+
+ }
+
public void addSelectedRowsVariable(
SelectedRowsVariables selectedRowsVariable) {
setActiveWidget(selectedRowsPanel);
selectedRowsPanel.addNewSelectedRowsVariable(selectedRowsVariable);
-
-
+
}
-
-
}
diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InterpreterInfoPanel.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InterpreterInfoPanel.java
new file mode 100644
index 0000000..1e2a44f
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InterpreterInfoPanel.java
@@ -0,0 +1,381 @@
+package org.gcube.portlets.user.statisticalalgorithmsimporter.client.tools.input;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.gcube.portlets.user.statisticalalgorithmsimporter.client.properties.InterpreterPackageInfoProperties;
+import org.gcube.portlets.user.statisticalalgorithmsimporter.client.resource.StatAlgoImporterResources;
+import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input.InterpreterInfo;
+import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input.InterpreterPackageInfo;
+import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.shared.EventBus;
+import com.sencha.gxt.core.client.Style.SelectionMode;
+import com.sencha.gxt.core.client.dom.ScrollSupport.ScrollMode;
+import com.sencha.gxt.core.client.util.Margins;
+import com.sencha.gxt.data.shared.ListStore;
+import com.sencha.gxt.widget.core.client.ContentPanel;
+import com.sencha.gxt.widget.core.client.button.ButtonBar;
+import com.sencha.gxt.widget.core.client.button.TextButton;
+import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData;
+import com.sencha.gxt.widget.core.client.container.MarginData;
+import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
+import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
+import com.sencha.gxt.widget.core.client.event.BeforeStartEditEvent;
+import com.sencha.gxt.widget.core.client.event.BeforeStartEditEvent.BeforeStartEditHandler;
+import com.sencha.gxt.widget.core.client.event.CancelEditEvent;
+import com.sencha.gxt.widget.core.client.event.CancelEditEvent.CancelEditHandler;
+import com.sencha.gxt.widget.core.client.event.CompleteEditEvent;
+import com.sencha.gxt.widget.core.client.event.CompleteEditEvent.CompleteEditHandler;
+import com.sencha.gxt.widget.core.client.event.SelectEvent;
+import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
+import com.sencha.gxt.widget.core.client.form.FieldLabel;
+import com.sencha.gxt.widget.core.client.form.TextField;
+import com.sencha.gxt.widget.core.client.grid.ColumnConfig;
+import com.sencha.gxt.widget.core.client.grid.ColumnModel;
+import com.sencha.gxt.widget.core.client.grid.Grid;
+import com.sencha.gxt.widget.core.client.grid.Grid.GridCell;
+import com.sencha.gxt.widget.core.client.grid.GridSelectionModel;
+import com.sencha.gxt.widget.core.client.grid.editing.GridRowEditing;
+import com.sencha.gxt.widget.core.client.toolbar.ToolBar;
+
+/**
+ *
+ * @author giancarlo email: g.panichi@isti.cnr.it
+ *
+ */
+public class InterpreterInfoPanel extends ContentPanel {
+
+ @SuppressWarnings("unused")
+ private EventBus eventBus;
+ private ListStore storeInterpreterPackageInfo;
+ private Grid gridInterpreterPackageInfo;
+ private GridRowEditing gridInterpreterPackageInfoEditing;
+ private TextButton btnAdd;
+ private boolean addStatus;
+ private int seq = 0;
+ private TextField interpreterVersion;
+
+ public InterpreterInfoPanel(Project project, EventBus eventBus) {
+ super();
+ Log.debug("InterpreterPanel");
+ this.eventBus = eventBus;
+
+ // msgs = GWT.create(ServiceCategoryMessages.class);
+ try {
+ init();
+ create(project);
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void init() {
+ setHeaderVisible(false);
+ setResize(true);
+ setBodyBorder(false);
+ setBorders(false);
+ forceLayoutOnResize = true;
+ }
+
+ private void create(Project project) {
+ if (project != null
+ && project.getInputData() != null
+ && project.getInputData().getInterpreterInfo() != null
+ && project.getInputData().getInterpreterInfo()
+ .getInterpreterPackagesInfo() != null) {
+ seq = project.getInputData().getInterpreterInfo()
+ .getInterpreterPackagesInfo().size();
+ } else {
+ seq = 0;
+ }
+
+ // Grid
+ InterpreterPackageInfoProperties props = GWT
+ .create(InterpreterPackageInfoProperties.class);
+
+ ColumnConfig nameColumn = new ColumnConfig(
+ props.name(), 100, "Name");
+ // nameColumn.setMenuDisabled(true);
+
+ ColumnConfig versionColumn = new ColumnConfig(
+ props.version(), 100, "Version");
+ // descriptionColumn.setMenuDisabled(true);
+
+ ArrayList> l = new ArrayList>();
+ l.add(nameColumn);
+ l.add(versionColumn);
+
+ ColumnModel columns = new ColumnModel(
+ l);
+
+ storeInterpreterPackageInfo = new ListStore(
+ props.id());
+
+ /*
+ * ArrayList list = new ArrayList<>(); for (int
+ * i = 0; i < 10; i++) { list.add(new InterpreterPackageInfo(i, "Test" +
+ * i, "Desc", "defaultValue", InputType.STRING)); }
+ *
+ * storeEnvironmentVariable.addAll(list);
+ */
+
+ if (project != null
+ && project.getInputData() != null
+ && project.getInputData().getInterpreterInfo() != null
+ && project.getInputData().getInterpreterInfo()
+ .getInterpreterPackagesInfo() != null) {
+ storeInterpreterPackageInfo.addAll(project.getInputData()
+ .getInterpreterInfo().getInterpreterPackagesInfo());
+ }
+
+ final GridSelectionModel sm = new GridSelectionModel();
+ sm.setSelectionMode(SelectionMode.SINGLE);
+
+ gridInterpreterPackageInfo = new Grid(
+ storeInterpreterPackageInfo, columns);
+ gridInterpreterPackageInfo.setSelectionModel(sm);
+ gridInterpreterPackageInfo.getView().setStripeRows(true);
+ gridInterpreterPackageInfo.getView().setColumnLines(true);
+ gridInterpreterPackageInfo.getView().setAutoExpandColumn(nameColumn);
+ gridInterpreterPackageInfo.getView().setAutoFill(true);
+ gridInterpreterPackageInfo.setBorders(false);
+ gridInterpreterPackageInfo.setColumnReordering(false);
+
+ // EDITING //
+ gridInterpreterPackageInfoEditing = new GridRowEditing(
+ gridInterpreterPackageInfo);
+ gridInterpreterPackageInfoEditing
+ .addEditor(nameColumn, new TextField());
+ gridInterpreterPackageInfoEditing.addEditor(versionColumn,
+ new TextField());
+
+ btnAdd = new TextButton();
+ btnAdd.setIcon(StatAlgoImporterResources.INSTANCE.add16());
+ // btnAdd.setIconAlign(IconAlign.);
+ btnAdd.setToolTip("Add Package Info");
+ btnAdd.addSelectHandler(new SelectHandler() {
+
+ @Override
+ public void onSelect(SelectEvent event) {
+ addInterpreterPackageInfo(event);
+ }
+
+ });
+
+ TextButton btnDelete = new TextButton("Delete");
+ btnDelete.addSelectHandler(new SelectEvent.SelectHandler() {
+ public void onSelect(SelectEvent event) {
+ GridCell cell = gridInterpreterPackageInfoEditing
+ .getActiveCell();
+ int rowIndex = cell.getRow();
+
+ gridInterpreterPackageInfoEditing.cancelEditing();
+
+ storeInterpreterPackageInfo.remove(rowIndex);
+ storeInterpreterPackageInfo.commitChanges();
+
+ gridInterpreterPackageInfoEditing.getCancelButton().setVisible(
+ true);
+ btnAdd.setEnabled(true);
+ if (addStatus) {
+ addStatus = false;
+ }
+
+ List listPackages = storeInterpreterPackageInfo
+ .getAll();
+ List listNewPackages = new ArrayList();
+ for (int i = 0; i < listPackages.size(); i++) {
+ InterpreterPackageInfo var = listPackages.get(i);
+ var.setId(i);
+ listNewPackages.add(var);
+ }
+
+ storeInterpreterPackageInfo.clear();
+ storeInterpreterPackageInfo.addAll(listNewPackages);
+ storeInterpreterPackageInfo.commitChanges();
+
+ seq = listNewPackages.size();
+ Log.debug("Current Seq: " + seq);
+
+ }
+ });
+ ButtonBar buttonBar = gridInterpreterPackageInfoEditing.getButtonBar();
+ buttonBar.add(btnDelete);
+
+ gridInterpreterPackageInfoEditing
+ .addBeforeStartEditHandler(new BeforeStartEditHandler() {
+
+ @Override
+ public void onBeforeStartEdit(
+ BeforeStartEditEvent event) {
+ editingBeforeStart(event);
+
+ }
+ });
+
+ gridInterpreterPackageInfoEditing
+ .addCancelEditHandler(new CancelEditHandler() {
+
+ @Override
+ public void onCancelEdit(
+ CancelEditEvent event) {
+ storeInterpreterPackageInfo.rejectChanges();
+ btnAdd.setEnabled(true);
+
+ }
+
+ });
+
+ gridInterpreterPackageInfoEditing
+ .addCompleteEditHandler(new CompleteEditHandler() {
+
+ @Override
+ public void onCompleteEdit(
+ CompleteEditEvent event) {
+ try {
+ if (addStatus) {
+ addStatus = false;
+ }
+ storeInterpreterPackageInfo.commitChanges();
+
+ gridInterpreterPackageInfoEditing.getCancelButton()
+ .setVisible(true);
+ btnAdd.setEnabled(true);
+
+ } catch (Throwable e) {
+ Log.error("Error: " + e.getLocalizedMessage());
+ e.printStackTrace();
+ }
+ }
+ });
+
+ interpreterVersion = new TextField();
+ interpreterVersion.setAllowBlank(false);
+ interpreterVersion.setEmptyText("Enter version...");
+ FieldLabel interpreterVersionLabel = new FieldLabel(interpreterVersion,
+ "Version");
+
+ if (project != null
+ && project.getInputData() != null
+ && project.getInputData().getInterpreterInfo() != null
+ && project.getInputData().getInterpreterInfo().getVersion() != null) {
+ interpreterVersion.setValue(project.getInputData()
+ .getInterpreterInfo().getVersion());
+
+ }
+
+ FieldLabel interpreterPackagesLabel = new FieldLabel(null, "Packages");
+
+ ToolBar toolBar = new ToolBar();
+ toolBar.add(btnAdd, new BoxLayoutData(new Margins(0)));
+
+ VerticalLayoutContainer vlc = new VerticalLayoutContainer();
+ vlc.setAdjustForScroll(false);
+ vlc.setScrollMode(ScrollMode.NONE);
+
+ vlc.add(interpreterVersionLabel, new VerticalLayoutData(1, -1,
+ new Margins(5, 0, 5, 0)));
+
+ vlc.add(interpreterPackagesLabel, new VerticalLayoutData(1, -1,
+ new Margins(0)));
+
+ vlc.add(toolBar, new VerticalLayoutData(1, -1, new Margins(0)));
+ vlc.add(gridInterpreterPackageInfo, new VerticalLayoutData(1, 1,
+ new Margins(0)));
+
+ add(vlc, new MarginData(new Margins(0)));
+
+ }
+
+ private void editingBeforeStart(
+ BeforeStartEditEvent event) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addNewInterpreterPackageInfo(
+ InterpreterPackageInfo interpreterPackageInfo) {
+ try {
+ Log.debug("Current Seq: " + seq);
+ seq++;
+ interpreterPackageInfo.setId(seq);
+ Log.debug("New Interpreter Package Info: " + interpreterPackageInfo);
+ storeInterpreterPackageInfo.add(interpreterPackageInfo);
+ storeInterpreterPackageInfo.commitChanges();
+
+ if (gridInterpreterPackageInfoEditing.isEditing()) {
+ gridInterpreterPackageInfoEditing.cancelEditing();
+ }
+ forceLayout();
+ } catch (Throwable e) {
+ Log.error(e.getLocalizedMessage());
+ e.printStackTrace();
+ }
+ }
+
+ private void addInterpreterPackageInfo(SelectEvent event) {
+ try {
+ Log.debug("Current Seq: " + seq);
+ seq++;
+ InterpreterPackageInfo newInterpreterPackageInfo = new InterpreterPackageInfo(
+ seq, "", "");
+ Log.debug("New Interpreter Package Info: "
+ + newInterpreterPackageInfo);
+ gridInterpreterPackageInfoEditing.cancelEditing();
+ addStatus = true;
+ gridInterpreterPackageInfoEditing.getCancelButton().setVisible(
+ false);
+ storeInterpreterPackageInfo.add(newInterpreterPackageInfo);
+ int row = storeInterpreterPackageInfo
+ .indexOf(newInterpreterPackageInfo);
+
+ gridInterpreterPackageInfoEditing
+ .startEditing(new GridCell(row, 0));
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void update(Project project) {
+ Log.debug("Update Interpreter Package Info: " + project);
+ if (project != null && project.getInputData() != null
+ && project.getInputData().getInterpreterInfo() != null) {
+
+ if (project.getInputData().getInterpreterInfo().getVersion() != null) {
+ interpreterVersion.setValue(project.getInputData()
+ .getInterpreterInfo().getVersion());
+
+ }
+
+ if (project.getInputData().getInterpreterInfo()
+ .getInterpreterPackagesInfo() != null) {
+
+ storeInterpreterPackageInfo.clear();
+ storeInterpreterPackageInfo.addAll(project.getInputData()
+ .getInterpreterInfo().getInterpreterPackagesInfo());
+ storeInterpreterPackageInfo.commitChanges();
+ seq = project.getInputData().getListSelectedRows().size();
+ } else {
+ seq = 0;
+ }
+ } else {
+ interpreterVersion.clear();
+ seq = 0;
+ }
+
+ }
+
+ public InterpreterInfo getInterpreterInfo() {
+
+ ArrayList interpreterPackagesInfo = new ArrayList<>(
+ gridInterpreterPackageInfo.getStore().getAll());
+
+ String version = interpreterVersion.getCurrentValue();
+ return new InterpreterInfo(version, interpreterPackagesInfo);
+
+ }
+}
diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/SelectedRowsPanel.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/SelectedRowsPanel.java
index 8c9e43f..0716e70 100644
--- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/SelectedRowsPanel.java
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/SelectedRowsPanel.java
@@ -349,7 +349,7 @@ public class SelectedRowsPanel extends ContentPanel {
btnAdd.setEnabled(true);
} catch (Throwable e) {
- Log.error("Error in RuleOnTableNewDefinitionCard: "
+ Log.error("Error: "
+ e.getLocalizedMessage());
e.printStackTrace();
}
diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/input/InterpreterInfo.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/input/InterpreterInfo.java
new file mode 100644
index 0000000..593df99
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/input/InterpreterInfo.java
@@ -0,0 +1,53 @@
+package org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+
+/**
+ *
+ * @author giancarlo email: g.panichi@isti.cnr.it
+ *
+ */
+public class InterpreterInfo implements Serializable {
+
+ private static final long serialVersionUID = -7259162372427984451L;
+
+ private String version;
+ private ArrayList interpreterPackagesInfo;
+
+ public InterpreterInfo() {
+ super();
+ }
+
+ public InterpreterInfo(String version,
+ ArrayList interpreterPackagesInfo) {
+ super();
+ this.version = version;
+ this.interpreterPackagesInfo = interpreterPackagesInfo;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public ArrayList getInterpreterPackagesInfo() {
+ return interpreterPackagesInfo;
+ }
+
+ public void setInterpreterPackagesInfo(
+ ArrayList interpreterPackagesInfo) {
+ this.interpreterPackagesInfo = interpreterPackagesInfo;
+ }
+
+ @Override
+ public String toString() {
+ return "InterpreterInfo [version=" + version
+ + ", interpreterPackagesInfo=" + interpreterPackagesInfo + "]";
+ }
+
+}
diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/input/InterpreterPackageInfo.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/input/InterpreterPackageInfo.java
new file mode 100644
index 0000000..b73dd5f
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/input/InterpreterPackageInfo.java
@@ -0,0 +1,66 @@
+package org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author Giancarlo Panichi email: g.panichi@isti.cnr.it
+ *
+ */
+public class InterpreterPackageInfo implements Serializable {
+
+ private static final long serialVersionUID = 6638656450670269043L;
+
+ private int id;
+ private String name;
+ private String version;
+
+ public InterpreterPackageInfo() {
+ super();
+ }
+
+ /**
+ *
+ * @param id
+ * @param name Package Name
+ * @param version Package Version
+ */
+ public InterpreterPackageInfo(int id, String name, String version) {
+ super();
+ this.id = id;
+ this.name = name;
+ this.version = version;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ @Override
+ public String toString() {
+ return "InterpreterPackageInfo [id=" + id + ", name=" + name
+ + ", version=" + version + "]";
+ }
+
+}
diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/project/InputData.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/project/InputData.java
index 9757ae0..78e4edd 100644
--- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/project/InputData.java
+++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/shared/project/InputData.java
@@ -4,6 +4,7 @@ import java.io.Serializable;
import java.util.ArrayList;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input.EnvironmentVariables;
+import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input.InterpreterInfo;
import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.input.SelectedRowsVariables;
/**
@@ -17,16 +18,19 @@ public class InputData implements Serializable {
private static final long serialVersionUID = -2405068429998054485L;
private ArrayList listEnvironmentVariables;
private ArrayList listSelectedRows;
+ private InterpreterInfo interpreterInfo;
public InputData() {
super();
}
public InputData(ArrayList listEnvironmentVariables,
- ArrayList listSelectedRows) {
+ ArrayList listSelectedRows,
+ InterpreterInfo interpreterInfo) {
super();
this.listEnvironmentVariables = listEnvironmentVariables;
this.listSelectedRows = listSelectedRows;
+ this.interpreterInfo = interpreterInfo;
}
public ArrayList getListEnvironmentVariables() {
@@ -47,14 +51,20 @@ public class InputData implements Serializable {
this.listSelectedRows = listSelectedRows;
}
+ public InterpreterInfo getInterpreterInfo() {
+ return interpreterInfo;
+ }
+
+ public void setInterpreterInfo(InterpreterInfo interpreterInfo) {
+ this.interpreterInfo = interpreterInfo;
+ }
+
@Override
public String toString() {
return "InputData [listEnvironmentVariables="
+ listEnvironmentVariables + ", listSelectedRows="
- + listSelectedRows + "]";
+ + listSelectedRows + ", interpreterInfo=" + interpreterInfo
+ + "]";
}
-
-
-
}