diff --git a/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ColumnExpressionDialog.java b/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ColumnExpressionDialog.java
index 1520da3..feb1ea6 100644
--- a/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ColumnExpressionDialog.java
+++ b/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ColumnExpressionDialog.java
@@ -117,6 +117,7 @@ public class ColumnExpressionDialog extends Window {
@Override
public void hide() {
ExpressionEvent expressionEvent= new ExpressionEvent(ExpressionType.EXPRESSIONNULL);
+ Log.debug(expressionEvent.toString());
eventBus.fireEvent(expressionEvent);
hide(null);
}
diff --git a/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ColumnExpressionPanel.java b/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ColumnExpressionPanel.java
index 6842391..60ab21f 100644
--- a/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ColumnExpressionPanel.java
+++ b/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ColumnExpressionPanel.java
@@ -55,6 +55,8 @@ public class ColumnExpressionPanel extends FramedPanel {
this.parent=parent;
this.column = column;
this.eventBus=eventBus;
+ Log.debug(column.toString());
+
create();
}
@@ -172,7 +174,6 @@ public class ColumnExpressionPanel extends FramedPanel {
protected void applyRule() {
- Log.debug("Apply");
C_Expression exp=conditionWidget.getExpression();
parent.setExpression(exp);
ExpressionEvent expressionEvent= new ExpressionEvent(ExpressionType.CREATECOLUMNEXPRESSION);
@@ -199,6 +200,7 @@ public class ColumnExpressionPanel extends FramedPanel {
protected void close() {
ExpressionEvent expressionEvent= new ExpressionEvent(ExpressionType.EXPRESSIONNULL);
+ Log.debug(expressionEvent.toString());
eventBus.fireEvent(expressionEvent);
parent.hide();
}
diff --git a/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ConditionWidget.java b/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ConditionWidget.java
index 6075aa7..82bb4c5 100644
--- a/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ConditionWidget.java
+++ b/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ConditionWidget.java
@@ -49,7 +49,7 @@ public class ConditionWidget extends SimpleContainer {
protected String HEIGHT = "210px";
protected FieldLabel matchLabel;
protected ToggleGroup groupMatch;
-
+
protected String itemIdCombo = "ComboConditions";
protected String itemIdFirstArg = "FirstArg";
protected String itemIdSecondArg = "SecondArg";
@@ -57,68 +57,66 @@ public class ConditionWidget extends SimpleContainer {
protected String itemIdBtnDel = "BtnDel";
protected VerticalLayoutContainer vert;
protected ColumnData column;
-
-
-
- ConditionWidget(ColumnData column){
- this.column=column;
+ ConditionWidget(ColumnData column) {
+ this.column = column;
setBorders(true);
setHeight(HEIGHT);
thisCont = this;
VerticalLayoutContainer baseLayout = new VerticalLayoutContainer();
-
+
Radio radioAll = new Radio();
radioAll.setName("All");
- radioAll.setBoxLabel("All conditions");
- radioAll.setValue(true);
-
- Radio radioAny = new Radio();
- radioAny.setName("Any");
- radioAny.setBoxLabel("Any condition");
-
- HorizontalPanel matchPanel = new HorizontalPanel();
- matchPanel.add(radioAll);
- matchPanel.add(radioAny);
-
- matchLabel=new FieldLabel(matchPanel, "Match");
- matchLabel.setVisible(false);
-
- baseLayout.add(matchLabel, new VerticalLayoutData(-1, -1, new Margins(2,1,2,1)));
-
- groupMatch = new ToggleGroup();
- groupMatch.add(radioAll);
- groupMatch.add(radioAny);
-
-
- vert = new VerticalLayoutContainer();
+ radioAll.setBoxLabel("All conditions");
+ radioAll.setValue(true);
+
+ Radio radioAny = new Radio();
+ radioAny.setName("Any");
+ radioAny.setBoxLabel("Any condition");
+
+ HorizontalPanel matchPanel = new HorizontalPanel();
+ matchPanel.add(radioAll);
+ matchPanel.add(radioAny);
+
+ matchLabel = new FieldLabel(matchPanel, "Match");
+ matchLabel.setVisible(false);
+
+ baseLayout.add(matchLabel, new VerticalLayoutData(-1, -1, new Margins(
+ 2, 1, 2, 1)));
+
+ groupMatch = new ToggleGroup();
+ groupMatch.add(radioAll);
+ groupMatch.add(radioAny);
+
+ vert = new VerticalLayoutContainer();
vert.setScrollMode(ScrollMode.AUTO);
vert.setAdjustForScroll(true);
-
+
setup();
-
- baseLayout.add(vert,new VerticalLayoutData(-1, -1, new Margins(0)));
+
+ baseLayout.add(vert, new VerticalLayoutData(-1, -1, new Margins(0)));
add(baseLayout);
show();
-
+
}
-
- protected void setup(){
+
+ protected void setup() {
final HBoxLayoutContainer horiz = new HBoxLayoutContainer();
final TextField firstArg = new TextField();
firstArg.setItemId(itemIdFirstArg);
firstArg.setVisible(false);
-
- final HTML andText=new HTML("
and
");
+
+ final HTML andText = new HTML(
+ "and
");
andText.setVisible(false);
-
+
final TextField secondArg = new TextField();
- firstArg.setItemId(itemIdSecondArg);
+ secondArg.setItemId(itemIdSecondArg);
secondArg.setVisible(false);
-
+
final IconButton btnAdd = new IconButton();
btnAdd.setItemId(itemIdBtnAdd);
btnAdd.setIcon(ExpressionResources.INSTANCE.add());
@@ -129,12 +127,11 @@ public class ConditionWidget extends SimpleContainer {
matchLabel.setVisible(true);
addCondition();
thisCont.forceLayout();
-
}
});
btnAdd.setVisible(false);
-
+
final IconButton btnDel = new IconButton();
btnAdd.setItemId(itemIdBtnDel);
btnDel.setIcon(ExpressionResources.INSTANCE.delete());
@@ -143,20 +140,20 @@ public class ConditionWidget extends SimpleContainer {
public void onClick(ClickEvent event) {
Log.debug("Clicked btnDel");
vert.remove(horiz);
- if(vert.getWidgetCount()==0){
+ if (vert.getWidgetCount() == 0) {
setup();
matchLabel.setVisible(false);
} else {
- if(vert.getWidgetCount()==1){
+ if (vert.getWidgetCount() == 1) {
matchLabel.setVisible(false);
}
}
thisCont.forceLayout();
-
+
}
});
btnDel.setVisible(false);
-
+
OperationProperties props = GWT.create(OperationProperties.class);
ListStore storeOp = new ListStore(props.id());
storeOp.addAll(OperationsStore.getAll(column.getDataTypeName()));
@@ -164,10 +161,9 @@ public class ConditionWidget extends SimpleContainer {
Log.debug("Store created");
ComboBox comboOp = new ComboBox(storeOp,
props.label());
-
+
Log.debug("Combo created");
-
comboOp.addSelectionHandler(new SelectionHandler() {
public void onSelection(SelectionEvent event) {
@@ -215,7 +211,6 @@ public class ConditionWidget extends SimpleContainer {
}
-
}
});
@@ -235,24 +230,23 @@ public class ConditionWidget extends SimpleContainer {
vert.add(horiz, new VerticalLayoutData(-1, -1, new Margins(1)));
-
-
}
-
protected void addCondition() {
final HBoxLayoutContainer horiz = new HBoxLayoutContainer();
final TextField firstArg = new TextField();
+ firstArg.setItemId(itemIdFirstArg);
firstArg.setVisible(false);
-
- final HTML andText=new HTML("and
");
+
+ final HTML andText = new HTML(
+ "and
");
andText.setVisible(false);
-
+
final TextField secondArg = new TextField();
+ secondArg.setItemId(itemIdSecondArg);
secondArg.setVisible(false);
-
-
+
final IconButton btnAdd = new IconButton();
btnAdd.setItemId(itemIdBtnAdd);
btnAdd.setIcon(ExpressionResources.INSTANCE.add());
@@ -275,11 +269,11 @@ public class ConditionWidget extends SimpleContainer {
public void onClick(ClickEvent event) {
Log.debug("Clicked btnDel");
vert.remove(horiz);
- if(vert.getWidgetCount()==0){
+ if (vert.getWidgetCount() == 0) {
setup();
matchLabel.setVisible(false);
} else {
- if(vert.getWidgetCount()==1){
+ if (vert.getWidgetCount() == 1) {
matchLabel.setVisible(false);
}
}
@@ -338,7 +332,7 @@ public class ConditionWidget extends SimpleContainer {
btnDel.setVisible(true);
break;
default:
- break;
+ break;
}
thisCont.forceLayout();
@@ -366,45 +360,53 @@ public class ConditionWidget extends SimpleContainer {
}
public C_Expression getExpression() {
- C_Expression exp=null;
- List arguments=new ArrayList();
-
- OperatorTypeMap mapOp=new OperatorTypeMap();
+ C_Expression exp = null;
+ List arguments = new ArrayList();
+ TextField firstArg;
+ TextField secondArg;
+ C_Expression expression;
+
+ OperatorTypeMap mapOp = new OperatorTypeMap();
Iterator iteratorVert = vert.iterator();
+ HBoxLayoutContainer horiz;
while (iteratorVert.hasNext()) {
- HBoxLayoutContainer horiz = (HBoxLayoutContainer) iteratorVert
+ horiz = (HBoxLayoutContainer) iteratorVert
.next();
- Log.debug("horiz:");
@SuppressWarnings("unchecked")
ComboBox comboOp = (ComboBox) horiz
.getItemByItemId(itemIdCombo);
Log.debug("combo:" + comboOp.getCurrentValue().toString());
-
- TextField firstArg = (TextField) horiz.getItemByItemId(itemIdFirstArg);
- TextField secondArg = (TextField) horiz.getItemByItemId(itemIdSecondArg);
- C_Expression expression=mapOp.map(column,comboOp.getCurrentValue().getOperatorType(), firstArg.getCurrentValue(), secondArg.getCurrentValue());
+
+ firstArg = (TextField) horiz.getItemByItemId(itemIdFirstArg);
+ secondArg = (TextField) horiz.getItemByItemId(itemIdSecondArg);
+ Log.debug("argLeft:" + firstArg + " argRight:" + secondArg);
+
+ expression = mapOp.map(column, comboOp.getCurrentValue()
+ .getOperatorType(),
+ firstArg == null ? null : firstArg.getCurrentValue(),
+ secondArg == null ? null : secondArg.getCurrentValue());
+ Log.debug(expression.toString());
arguments.add(expression);
}
- if(arguments.size()>0){
- if(arguments.size()==1){
- exp=arguments.get(0);
+ if (arguments.size() > 0) {
+ if (arguments.size() == 1) {
+ exp = arguments.get(0);
} else {
- Radio radio=(Radio) groupMatch.getValue();
+ Radio radio = (Radio) groupMatch.getValue();
if (radio.getName().compareTo("All") == 0) {
} else {
- exp=mapOp.createC_And(arguments);
+ exp = mapOp.createC_And(arguments);
if (radio.getName().compareTo("Any") == 0) {
- exp=mapOp.createC_Or(arguments);
+ exp = mapOp.createC_Or(arguments);
} else {
Log.error("No All or Any set!");
}
}
}
-
+
}
-
+ Log.debug("C_Expression" + exp);
return exp;
}
-
-
+
}
diff --git a/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ExpressionWidgetEntry.java b/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ExpressionWidgetEntry.java
index 4c4438c..a9b9943 100644
--- a/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ExpressionWidgetEntry.java
+++ b/src/main/java/org/gcube/portlets/user/td/expressionwidget/client/ExpressionWidgetEntry.java
@@ -19,7 +19,7 @@ public class ExpressionWidgetEntry implements EntryPoint {
public void onModuleLoad() {
EventBus eventBus= new SimpleEventBus();
- ColumnExpressionDialog expressionDialog=new ColumnExpressionDialog("0", ColumnTypeCode.ATTRIBUTE, ColumnDataType.Integer, eventBus);
+ ColumnExpressionDialog expressionDialog=new ColumnExpressionDialog("1", ColumnTypeCode.ATTRIBUTE, ColumnDataType.Integer, eventBus);
RootPanel.get().add(expressionDialog);
Log.info("Hello!");