ref 7120:Manage SAI output
https://support.d4science.org/issues/7120 git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/statistical-algorithms-importer@144027 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
d4b9954bb7
commit
c5d0bda36c
|
@ -1,6 +1,8 @@
|
||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
<Changeset component="${groupId}.${artifactId}.1-5-0" date="2017-02-15">
|
<Changeset component="${groupId}.${artifactId}.1-5-0" date="2017-02-15">
|
||||||
<Change>Updated PortalContext support[ticket #6279]</Change>
|
<Change>Updated PortalContext support[ticket #6279]</Change>
|
||||||
|
<Change>Added support only for file data type in output
|
||||||
|
parameter[ticket #7120]</Change>
|
||||||
</Changeset>
|
</Changeset>
|
||||||
<Changeset component="${groupId}.${artifactId}.1-4-0" date="2016-12-01">
|
<Changeset component="${groupId}.${artifactId}.1-4-0" date="2016-12-01">
|
||||||
<Change>Updated Storage support</Change>
|
<Change>Updated Storage support</Change>
|
||||||
|
|
|
@ -17,8 +17,9 @@ public class CodeParser {
|
||||||
|
|
||||||
private static final String IMAGE_PATTERN = "([^\\s]+(\\.(jpg|png|gif|bmp)\"))";
|
private static final String IMAGE_PATTERN = "([^\\s]+(\\.(jpg|png|gif|bmp)\"))";
|
||||||
private static final String FILE_PATTERN = "([^\\s]+(\\.(txt|csv|pdf|doc|zip|bin|dat|mat|java|m|exe|sh|tar|gz|r)\"))";
|
private static final String FILE_PATTERN = "([^\\s]+(\\.(txt|csv|pdf|doc|zip|bin|dat|mat|java|m|exe|sh|tar|gz|r)\"))";
|
||||||
//private static final String ENUM1_PATTERN = "(c\\([^\\)]*\\))";
|
|
||||||
//private static final String ENUM2_PATTERN = "(\\{[^\\}]*\\})";
|
// private static final String ENUM1_PATTERN = "(c\\([^\\)]*\\))";
|
||||||
|
// private static final String ENUM2_PATTERN = "(\\{[^\\}]*\\})";
|
||||||
|
|
||||||
public CodeParser() {
|
public CodeParser() {
|
||||||
|
|
||||||
|
@ -46,18 +47,23 @@ public class CodeParser {
|
||||||
if (defaultValue.endsWith("\""))
|
if (defaultValue.endsWith("\""))
|
||||||
defaultValue = defaultValue.substring(0,
|
defaultValue = defaultValue.substring(0,
|
||||||
defaultValue.length() - 1);
|
defaultValue.length() - 1);
|
||||||
String[] def=defaultValue.split("\"");
|
String[] def = defaultValue.split("\"");
|
||||||
if(def.length>2){
|
if (def.length > 2) {
|
||||||
defaultValue=def[0];
|
defaultValue = def[0];
|
||||||
for(int i=1; i<def.length;i++){
|
for (int i = 1; i < def.length; i++) {
|
||||||
defaultValue=defaultValue+"\\\""+def[i];
|
defaultValue = defaultValue + "\\\"" + def[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ioType.compareTo(IOType.OUTPUT) == 0) {
|
||||||
selectedRowsVariables = new InputOutputVariables(
|
selectedRowsVariables = new InputOutputVariables(
|
||||||
varDescription[0].trim(), varDescription[0].trim(),
|
varDescription[0].trim(), varDescription[0].trim(),
|
||||||
defaultValue, checkDataType(checkDataTypeValue), ioType,
|
defaultValue, DataType.FILE, ioType, parameter);
|
||||||
parameter);
|
} else {
|
||||||
|
selectedRowsVariables = new InputOutputVariables(
|
||||||
|
varDescription[0].trim(), varDescription[0].trim(),
|
||||||
|
defaultValue, checkDataType(checkDataTypeValue),
|
||||||
|
ioType, parameter);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (parameter.contains("=")) {
|
if (parameter.contains("=")) {
|
||||||
String[] varDescription = parameter.split("=");
|
String[] varDescription = parameter.split("=");
|
||||||
|
@ -74,17 +80,24 @@ public class CodeParser {
|
||||||
if (defaultValue.endsWith("\""))
|
if (defaultValue.endsWith("\""))
|
||||||
defaultValue = defaultValue.substring(0,
|
defaultValue = defaultValue.substring(0,
|
||||||
defaultValue.length() - 1);
|
defaultValue.length() - 1);
|
||||||
String[] def=defaultValue.split("\"");
|
String[] def = defaultValue.split("\"");
|
||||||
if(def.length>2){
|
if (def.length > 2) {
|
||||||
defaultValue=def[0];
|
defaultValue = def[0];
|
||||||
for(int i=1; i<def.length;i++){
|
for (int i = 1; i < def.length; i++) {
|
||||||
defaultValue=defaultValue+"\\\""+def[i];
|
defaultValue = defaultValue + "\\\"" + def[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
selectedRowsVariables = new InputOutputVariables(
|
|
||||||
varDescription[0].trim(), varDescription[0].trim(),
|
if (ioType.compareTo(IOType.OUTPUT) == 0) {
|
||||||
defaultValue, checkDataType(checkDataTypeValue),
|
selectedRowsVariables = new InputOutputVariables(
|
||||||
ioType, parameter);
|
varDescription[0].trim(), varDescription[0].trim(),
|
||||||
|
defaultValue, DataType.FILE, ioType, parameter);
|
||||||
|
} else {
|
||||||
|
selectedRowsVariables = new InputOutputVariables(
|
||||||
|
varDescription[0].trim(), varDescription[0].trim(),
|
||||||
|
defaultValue, checkDataType(checkDataTypeValue),
|
||||||
|
ioType, parameter);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
|
@ -112,15 +125,12 @@ public class CodeParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
RegExp regExpEnum1 = RegExp.compile(ENUM1_PATTERN);
|
* RegExp regExpEnum1 = RegExp.compile(ENUM1_PATTERN); if
|
||||||
if (regExpEnum1.test(data)) {
|
* (regExpEnum1.test(data)) { return DataType.ENUMERATED; }
|
||||||
return DataType.ENUMERATED;
|
*
|
||||||
}
|
* RegExp regExpEnum2 = RegExp.compile(ENUM2_PATTERN); if
|
||||||
|
* (regExpEnum2.test(data)) { return DataType.ENUMERATED; }
|
||||||
RegExp regExpEnum2 = RegExp.compile(ENUM2_PATTERN);
|
*/
|
||||||
if (regExpEnum2.test(data)) {
|
|
||||||
return DataType.ENUMERATED;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Integer.parseInt(data);
|
Integer.parseInt(data);
|
||||||
|
|
|
@ -15,6 +15,10 @@ import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Proj
|
||||||
import com.allen_sauer.gwt.log.client.Log;
|
import com.allen_sauer.gwt.log.client.Log;
|
||||||
import com.google.gwt.cell.client.AbstractCell;
|
import com.google.gwt.cell.client.AbstractCell;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
|
import com.google.gwt.event.logical.shared.SelectionEvent;
|
||||||
|
import com.google.gwt.event.logical.shared.SelectionHandler;
|
||||||
|
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||||
|
import com.google.gwt.event.logical.shared.ValueChangeHandler;
|
||||||
import com.google.gwt.event.shared.EventBus;
|
import com.google.gwt.event.shared.EventBus;
|
||||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||||
|
@ -182,6 +186,9 @@ public class InputOutputVariablesPanel extends ContentPanel {
|
||||||
|
|
||||||
if (project != null && project.getInputData() != null
|
if (project != null && project.getInputData() != null
|
||||||
&& project.getInputData().getListInputOutputVariables() != null) {
|
&& project.getInputData().getListInputOutputVariables() != null) {
|
||||||
|
checkOutputParameterOnlyFileTypeIsSupported(project.getInputData()
|
||||||
|
.getListInputOutputVariables());
|
||||||
|
|
||||||
storeInputOutputVariables.addAll(project.getInputData()
|
storeInputOutputVariables.addAll(project.getInputData()
|
||||||
.getListInputOutputVariables());
|
.getListInputOutputVariables());
|
||||||
}
|
}
|
||||||
|
@ -267,11 +274,10 @@ public class InputOutputVariablesPanel extends ContentPanel {
|
||||||
"Attention character \" is not allowed"));
|
"Attention character \" is not allowed"));
|
||||||
TextField defaultValueColumnEditing = new TextField();
|
TextField defaultValueColumnEditing = new TextField();
|
||||||
defaultValueColumnEditing.setAllowBlank(false);
|
defaultValueColumnEditing.setAllowBlank(false);
|
||||||
defaultValueColumnEditing.addValidator(new RegExValidator("^[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*$",
|
defaultValueColumnEditing.addValidator(new RegExValidator(
|
||||||
|
"^[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*$",
|
||||||
"Attention character \" is not allowed"));
|
"Attention character \" is not allowed"));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
gridInputOutputVariablesEditing = new GridRowEditing<InputOutputVariables>(
|
gridInputOutputVariablesEditing = new GridRowEditing<InputOutputVariables>(
|
||||||
gridInputOutputVariables);
|
gridInputOutputVariables);
|
||||||
gridInputOutputVariablesEditing
|
gridInputOutputVariablesEditing
|
||||||
|
@ -400,18 +406,112 @@ public class InputOutputVariablesPanel extends ContentPanel {
|
||||||
|
|
||||||
private void editingBeforeStart(
|
private void editingBeforeStart(
|
||||||
BeforeStartEditEvent<InputOutputVariables> event) {
|
BeforeStartEditEvent<InputOutputVariables> event) {
|
||||||
// TODO Auto-generated method stub
|
if (storeInputOutputVariables != null
|
||||||
|
&& storeInputOutputVariables.size() > 0) {
|
||||||
|
|
||||||
|
int rowIndex = event.getEditCell().getRow();
|
||||||
|
|
||||||
|
InputOutputVariables currentInputOutputVariable = storeInputOutputVariables
|
||||||
|
.get(rowIndex);
|
||||||
|
if (currentInputOutputVariable != null
|
||||||
|
&& currentInputOutputVariable.getIoType() != null
|
||||||
|
&& currentInputOutputVariable.getIoType().compareTo(
|
||||||
|
IOType.OUTPUT) == 0) {
|
||||||
|
storeComboDataType.clear();
|
||||||
|
storeComboDataType.add(DataType.FILE);
|
||||||
|
storeComboDataType.commitChanges();
|
||||||
|
} else {
|
||||||
|
storeComboDataType.clear();
|
||||||
|
storeComboDataType.addAll(DataType.asList());
|
||||||
|
storeComboDataType.commitChanges();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
storeComboDataType.clear();
|
||||||
|
storeComboDataType.addAll(DataType.asList());
|
||||||
|
storeComboDataType.commitChanges();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addHandlersForComboDataType(
|
||||||
|
LabelProvider<DataType> labelProvider) {
|
||||||
|
comboDataType.addValueChangeHandler(new ValueChangeHandler<DataType>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onValueChange(ValueChangeEvent<DataType> event) {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
comboDataType.addSelectionHandler(new SelectionHandler<DataType>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSelection(SelectionEvent<DataType> event) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addHandlersForComboDataType(LabelProvider<DataType> idI18N) {
|
private void addHandlersForComboIOType(LabelProvider<IOType> labelProvider) {
|
||||||
// TODO Auto-generated method stub
|
comboIOType.addValueChangeHandler(new ValueChangeHandler<IOType>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onValueChange(ValueChangeEvent<IOType> event) {
|
||||||
|
IOType ioType = event.getValue();
|
||||||
|
switch (ioType) {
|
||||||
|
case INPUT:
|
||||||
|
setComboForInputParameter();
|
||||||
|
break;
|
||||||
|
case OUTPUT:
|
||||||
|
setComboForOutputParamert();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
setComboForInputParameter();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
comboIOType.addSelectionHandler(new SelectionHandler<IOType>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSelection(SelectionEvent<IOType> event) {
|
||||||
|
|
||||||
|
IOType ioType = event.getSelectedItem();
|
||||||
|
switch (ioType) {
|
||||||
|
case INPUT:
|
||||||
|
setComboForInputParameter();
|
||||||
|
break;
|
||||||
|
case OUTPUT:
|
||||||
|
setComboForOutputParamert();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
setComboForInputParameter();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addHandlersForComboIOType(LabelProvider<IOType> idI18N) {
|
private void setComboForOutputParamert() {
|
||||||
// TODO Auto-generated method stub
|
storeComboDataType.clear();
|
||||||
|
storeComboDataType.add(DataType.FILE);
|
||||||
|
storeComboDataType.commitChanges();
|
||||||
|
comboDataType.clear();
|
||||||
|
comboDataType.setValue(DataType.FILE,true,true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setComboForInputParameter() {
|
||||||
|
storeComboDataType.clear();
|
||||||
|
storeComboDataType.addAll(DataType.asList());
|
||||||
|
storeComboDataType.commitChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addNewInputOutputVariables(
|
public void addNewInputOutputVariables(
|
||||||
|
@ -468,6 +568,9 @@ public class InputOutputVariablesPanel extends ContentPanel {
|
||||||
Log.debug("Update Input/Output Variables: " + project);
|
Log.debug("Update Input/Output Variables: " + project);
|
||||||
if (project != null && project.getInputData() != null
|
if (project != null && project.getInputData() != null
|
||||||
&& project.getInputData().getListInputOutputVariables() != null) {
|
&& project.getInputData().getListInputOutputVariables() != null) {
|
||||||
|
checkOutputParameterOnlyFileTypeIsSupported(project.getInputData()
|
||||||
|
.getListInputOutputVariables());
|
||||||
|
|
||||||
storeInputOutputVariables.clear();
|
storeInputOutputVariables.clear();
|
||||||
storeInputOutputVariables.addAll(project.getInputData()
|
storeInputOutputVariables.addAll(project.getInputData()
|
||||||
.getListInputOutputVariables());
|
.getListInputOutputVariables());
|
||||||
|
@ -482,6 +585,19 @@ public class InputOutputVariablesPanel extends ContentPanel {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkOutputParameterOnlyFileTypeIsSupported(
|
||||||
|
ArrayList<InputOutputVariables> inputOutputVarialbles) {
|
||||||
|
for (InputOutputVariables ioVariable : inputOutputVarialbles) {
|
||||||
|
if (ioVariable.getIoType() != null
|
||||||
|
&& ioVariable.getIoType().compareTo(IOType.OUTPUT) == 0) {
|
||||||
|
if (ioVariable.getDataType() == null
|
||||||
|
|| ioVariable.getDataType().compareTo(DataType.FILE) != 0) {
|
||||||
|
ioVariable.setDataType(DataType.FILE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ArrayList<InputOutputVariables> getInputOutputVariables() {
|
public ArrayList<InputOutputVariables> getInputOutputVariables() {
|
||||||
ArrayList<InputOutputVariables> listInputOutputVarialbles = new ArrayList<>(
|
ArrayList<InputOutputVariables> listInputOutputVarialbles = new ArrayList<>(
|
||||||
gridInputOutputVariables.getStore().getAll());
|
gridInputOutputVariables.getStore().getAll());
|
||||||
|
|
Loading…
Reference in New Issue