Minor Update
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-expression-widget@113637 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
f215c727c4
commit
a1748af328
|
@ -232,7 +232,8 @@ public class ConditionWidget extends SimpleContainer {
|
|||
case NOT_CONTAINS:
|
||||
case NOT_MATCH_REGEX:
|
||||
case IN:
|
||||
case NOT_IN:
|
||||
case NOT_IN:
|
||||
case SOUNDEX:
|
||||
if (column.getDataTypeName().compareTo("Date") == 0) {
|
||||
firstArgDate.setVisible(true);
|
||||
andText.setVisible(false);
|
||||
|
@ -413,7 +414,8 @@ public class ConditionWidget extends SimpleContainer {
|
|||
case NOT_CONTAINS:
|
||||
case NOT_MATCH_REGEX:
|
||||
case IN:
|
||||
case NOT_IN:
|
||||
case NOT_IN:
|
||||
case SOUNDEX:
|
||||
if (column.getDataTypeName().compareTo("Date") == 0) {
|
||||
firstArgDate.setVisible(true);
|
||||
andText.setVisible(false);
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.gcube.portlets.user.td.expressionwidget.client.operation;
|
|||
import java.util.ArrayList;
|
||||
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.C_OperatorType;
|
||||
import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.column.ColumnDataType;
|
||||
|
||||
|
||||
|
||||
|
@ -13,7 +14,7 @@ import org.gcube.portlets.user.td.expressionwidget.shared.model.C_OperatorType;
|
|||
*
|
||||
*/
|
||||
public class OperationsStore {
|
||||
protected ArrayList<Operation> operations;
|
||||
private ArrayList<Operation> operations;
|
||||
|
||||
protected ArrayList<Operation> operationsNumeric = new ArrayList<Operation>() {
|
||||
private static final long serialVersionUID = -6559885743626876431L;
|
||||
|
@ -52,7 +53,8 @@ public class OperationsStore {
|
|||
add(new Operation(13,"BETWEEN","The value is between",C_OperatorType.BETWEEN));
|
||||
add(new Operation(14,"NOT_BETWEEN","The value is not between",C_OperatorType.NOT_BETWEEN));
|
||||
add(new Operation(15,"IN","The value is in",C_OperatorType.IN));
|
||||
add(new Operation(16,"NOT_IN","The value is not in",C_OperatorType.NOT_IN));
|
||||
add(new Operation(16,"NOT_IN","The value is not in",C_OperatorType.NOT_IN));
|
||||
add(new Operation(17,"SOUNDEX","The soundex is equal to", C_OperatorType.SOUNDEX));
|
||||
}};
|
||||
|
||||
protected ArrayList<Operation> operationsBoolean = new ArrayList<Operation>() {
|
||||
|
@ -102,32 +104,37 @@ public class OperationsStore {
|
|||
|
||||
|
||||
public ArrayList<Operation> getAll(String dataTypeName){
|
||||
if(dataTypeName.compareTo("Boolean")==0){
|
||||
operations=operationsBoolean;
|
||||
} else {
|
||||
if(dataTypeName.compareTo("Date")==0){
|
||||
operations=operationsDate;
|
||||
} else {
|
||||
if(dataTypeName.compareTo("Integer")==0){
|
||||
operations=operationsNumeric;
|
||||
} else {
|
||||
if(dataTypeName.compareTo("Geometry")==0){
|
||||
operations=operationsGeometry;
|
||||
} else {
|
||||
if(dataTypeName.compareTo("Numeric")==0){
|
||||
operations=operationsNumeric;
|
||||
} else {
|
||||
if(dataTypeName.compareTo("Text")==0){
|
||||
operations=operationsText;
|
||||
} else {
|
||||
operations=new ArrayList<Operation>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
ColumnDataType dataType=ColumnDataType.getColumnDataTypeFromId(dataTypeName);
|
||||
|
||||
if(dataType==null){
|
||||
operations=new ArrayList<Operation>();
|
||||
return operations;
|
||||
}
|
||||
|
||||
switch (dataType) {
|
||||
case Boolean:
|
||||
operations=operationsBoolean;
|
||||
break;
|
||||
case Date:
|
||||
operations=operationsDate;
|
||||
break;
|
||||
case Geometry:
|
||||
operations=operationsGeometry;
|
||||
break;
|
||||
case Integer:
|
||||
operations=operationsNumeric;
|
||||
break;
|
||||
case Numeric:
|
||||
operations=operationsNumeric;
|
||||
break;
|
||||
case Text:
|
||||
operations=operationsText;
|
||||
break;
|
||||
default:
|
||||
operations=new ArrayList<Operation>();
|
||||
break;
|
||||
}
|
||||
|
||||
return operations;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ import org.gcube.data.analysis.tabulardata.expression.composite.comparable.NotLe
|
|||
import org.gcube.data.analysis.tabulardata.expression.composite.text.Concat;
|
||||
import org.gcube.data.analysis.tabulardata.expression.composite.text.Lower;
|
||||
import org.gcube.data.analysis.tabulardata.expression.composite.text.MD5;
|
||||
import org.gcube.data.analysis.tabulardata.expression.composite.text.Soundex;
|
||||
import org.gcube.data.analysis.tabulardata.expression.composite.text.SubstringByIndex;
|
||||
import org.gcube.data.analysis.tabulardata.expression.composite.text.SubstringByRegex;
|
||||
import org.gcube.data.analysis.tabulardata.expression.composite.text.SubstringPosition;
|
||||
|
@ -93,6 +94,7 @@ import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.functi
|
|||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_Concat;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_Lower;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_MD5;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_Soundex;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_SubstringByIndex;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_SubstringByRegex;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_SubstringPosition;
|
||||
|
@ -267,6 +269,8 @@ public class C_ExpressionParser {
|
|||
case "MD5":
|
||||
ex = getMD5(exp);
|
||||
break;
|
||||
case "Soundex":
|
||||
ex = getSoundex(exp);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -648,6 +652,14 @@ public class C_ExpressionParser {
|
|||
MD5 md5 = new MD5(arg);
|
||||
return md5;
|
||||
}
|
||||
|
||||
protected Expression getSoundex(C_Expression exp)
|
||||
throws ExpressionParserException {
|
||||
C_Soundex e = (C_Soundex) exp;
|
||||
Expression arg = parse(e.getArgument());
|
||||
Soundex soundex = new Soundex(arg);
|
||||
return soundex;
|
||||
}
|
||||
|
||||
|
||||
protected Expression getEquals(C_Expression exp)
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.compar
|
|||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.comparable.C_NotEquals;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.comparable.C_NotGreater;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.comparable.C_NotLess;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_Soundex;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_TextBeginsWith;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_TextContains;
|
||||
import org.gcube.portlets.user.td.expressionwidget.shared.model.composite.text.C_TextEndsWith;
|
||||
|
@ -329,10 +330,12 @@ public class ConditionTypeMap {
|
|||
case UNIQUE:
|
||||
break;
|
||||
case SOUNDEX:
|
||||
/*checkTypeArgument(column, firstArg);
|
||||
exp = new C_Soundex(placeHolder, new TD_Value(dataType, firstArg));
|
||||
readableExpression = "Equals(" + readablePlaceHolder + ","
|
||||
+ firstArg + ")";*/
|
||||
checkTypeArgument(column, firstArg);
|
||||
C_Soundex soundexPlaceHolder=new C_Soundex(placeHolder);
|
||||
C_Soundex soundexValue=new C_Soundex(new TD_Value(dataType, firstArg));
|
||||
exp = new C_Equals(soundexPlaceHolder, soundexValue);
|
||||
readableExpression = "Equals(Soundex(" + readablePlaceHolder + "),Soundex("
|
||||
+ firstArg + "))";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -612,6 +615,14 @@ public class ConditionTypeMap {
|
|||
break;
|
||||
case UNIQUE:
|
||||
break;
|
||||
case SOUNDEX:
|
||||
checkTypeArgument(column, firstArg);
|
||||
C_Soundex soundexPlaceHolder=new C_Soundex(columnReference);
|
||||
C_Soundex soundexValue=new C_Soundex(new TD_Value(dataType, firstArg));
|
||||
exp = new C_Equals(soundexPlaceHolder, soundexValue);
|
||||
readableExpression = "Equals(Soundex(" + columnReference + "),Soundex("
|
||||
+ firstArg + "))";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue