Updated Replace By Expression

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-expression-widget@100116 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-09-22 17:02:29 +00:00
parent b73de5a16e
commit 056dab337f
14 changed files with 244 additions and 27 deletions

View File

@ -327,8 +327,6 @@ public class ReplaceColumnByExpressionPanel extends FramedPanel {
parent.applyReplaceColumnByExpression(cConditionExpression,
value);
} else {
UtilsGXT3.alert("Error replace value",
"Insert a valid replace value!");
return;
}
}
@ -350,20 +348,44 @@ public class ReplaceColumnByExpressionPanel extends FramedPanel {
ok = true;
break;
case Geometry:
RegExp regExp = RegExp.compile(GEOMETRY_REGEXPR);
MatchResult matcher = regExp.exec(value);
boolean matchFound = matcher != null;
if (matchFound) {
ok = true;
} else {
ok = false;
try {
RegExp regExp = RegExp.compile(GEOMETRY_REGEXPR);
MatchResult matcher = regExp.exec(value);
boolean matchFound = matcher != null;
if (matchFound) {
ok = true;
} else {
ok = false;
}
} catch (Throwable e) {
UtilsGXT3.alert("Error replace value",
"Insert a valid replace value for Geometry type! ");
e.printStackTrace();
return false;
}
break;
case Integer:
Integer.parseInt(value);
try {
Integer.parseInt(value);
} catch(Throwable e){
e.printStackTrace();
UtilsGXT3.alert("Error replace value",
"Insert a valid replace value for Integer type! ");
return false;
}
ok=true;
break;
case Numeric:
Double.parseDouble(value);
try {
Double.parseDouble(value);
} catch(Throwable e){
e.printStackTrace();
UtilsGXT3.alert("Error replace value",
"Insert a valid replace value for Numeric type! ");
return false;
}
ok=true;
break;
case Text:
ok = true;
@ -374,6 +396,10 @@ public class ReplaceColumnByExpressionPanel extends FramedPanel {
return ok;
} catch (Throwable e) {
e.printStackTrace();
UtilsGXT3.alert("Error replace value",
"Insert a valid replace value! "+e.getLocalizedMessage());
return false;
}
}

View File

@ -70,5 +70,7 @@ public class DefaultAppearance implements IconButtonAppearance {
public void render(SafeHtmlBuilder sb) {
sb.append(template.template(style));
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,43 @@
<!-- file: ./HelpReplaceByExp.html -->
<div>
<div class='HelpReplaceRegexClear'>
<h2>Replace Column By Expression</h2>
</div>
<div class='HelpReplaceRegexClear'>
<h3>Basic Example 1</h3>
<p class='HelpReplaceRegexClear'>
<div class="{style.dataStyle}"></div>
<!-- <img class='HelpReplaceRegexImg' src='Data.png' width="200" height="155" alt=""> -->
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleConcat.png" width="705" height="484" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleConcatResultData.png" width="203" height="158" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleReplaceMatchingRegex.png" width="707" height="480" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleReplaceMatchingRegexResultData.png" width="204" height="155" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleSubstringByIndex.png" width="709" height="484" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleSubstringByIndexResultData.png" width="206" height="155" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="Simple2Concat.png" width="712" height="484" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="Simple2ConcatResultData.png" width="236" height="159" alt="">
</p>
</div>
<div class='HelpReplaceRegexClear'>
<h3>Regular Expression</h3>
<p>
<a href="http://www.postgresql.org/docs/9.1/static/functions-matching.html#FUNCTIONS-POSIX-REGEXP">POSIX Regular Expressions Reference</a>
</p>
</div>
</div>

View File

@ -0,0 +1,10 @@
@CHARSET "UTF-8";
.HelpReplaceRegexImg {
float: left;
}
.HelpReplaceRegexClear {
clear: both;
}

View File

@ -0,0 +1,73 @@
package org.gcube.portlets.user.td.expressionwidget.client.help;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.client.ui.Image;
import com.sencha.gxt.core.client.XTemplates;
import com.sencha.gxt.core.client.dom.XDOM;
import com.sencha.gxt.core.client.dom.XElement;
public class HelpReplaceColumnByExpression {
public interface HelpReplaceByExpTemplate extends XTemplates {
@XTemplate(source = "HelpReplaceByExp.html")
SafeHtml render(HelpReplaceByExpStyle style);
}
public interface HelpReplaceByExpStyle extends CssResource {
@ClassName("HelpReplaceRegexImg")
public String getHelpReplaceRegexImg();
@ClassName("HelpReplaceRegexClear")
public String getHelpReplaceRegexClear();
@ClassName("DataStyle")
public String getDataStyle();
}
private final HelpReplaceByExpStyle style;
private final HelpReplaceByExpTemplate template;
public interface HelpReplaceByExpResources extends ClientBundle {
public static final HelpReplaceByExpResources INSTANCE = GWT
.create(HelpReplaceByExpResources.class);
@Source("HelpReplaceByExpStyle.css")
HelpReplaceByExpStyle style();
@Source("Data.png")
ImageResource data();
@Source("SimpleConcat.png")
ImageResource simpleConcat();
}
public HelpReplaceColumnByExpression() {
this.style = HelpReplaceByExpResources.INSTANCE.style();
this.style.ensureInjected();
this.template = GWT.create(HelpReplaceByExpTemplate.class);
}
public void render(SafeHtmlBuilder sb) {
sb.append(template.render(style));
XElement parent=XDOM.create(sb.toSafeHtml());
XElement element = parent.selectNode("." + style.getDataStyle());
Image image = new Image(HelpReplaceByExpResources.INSTANCE.data());
Element img = image.getElement();
element.appendChild(img);
}
protected void renderImg() {
}
}

View File

@ -14,8 +14,8 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
*
*/
public class HelpReplaceColumnByExpressionDialog extends Window {
protected static final String WIDTH = "800px";
protected static final String HEIGHT = "600px";
protected static final String WIDTH = "742px";
protected static final String HEIGHT = "520px";
protected EventBus eventBus;
protected HelpReplaceColumnByExpressionPanel helpReplaceColumnByExpressionPanel;

View File

@ -3,6 +3,8 @@ package org.gcube.portlets.user.td.expressionwidget.client.help;
import org.gcube.portlets.user.td.expressionwidget.client.resources.ExpressionResources;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.user.client.ui.HTML;
import com.google.web.bindery.event.shared.EventBus;
import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign;
import com.sencha.gxt.core.client.dom.ScrollSupport.ScrollMode;
@ -12,6 +14,7 @@ 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.BoxLayoutContainer.BoxLayoutPack;
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer;
import com.sencha.gxt.widget.core.client.container.SimpleContainer;
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer.HBoxLayoutAlign;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
@ -26,14 +29,16 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
*/
public class HelpReplaceColumnByExpressionPanel extends FramedPanel {
protected static final String WIDTH = "698px";
protected static final String HEIGHT = "454px";
protected static final String WIDTH = "700px";
protected static final String HEIGHT = "404px";
protected static final String HELP_CONTENT_WIDTH = "700px";
protected static final String HELP_CONTENT_HEIGHT = "404px";
protected EventBus eventBus;
protected HelpReplaceColumnByExpressionDialog parent;
private TextButton btnClose;
public HelpReplaceColumnByExpressionPanel(
HelpReplaceColumnByExpressionDialog parent, EventBus eventBus) {
@ -58,13 +63,26 @@ public class HelpReplaceColumnByExpressionPanel extends FramedPanel {
VerticalLayoutContainer basicLayout = new VerticalLayoutContainer();
basicLayout.setAdjustForScroll(true);
basicLayout.setScrollMode(ScrollMode.AUTO);
//
SimpleContainer helpContent=new SimpleContainer();
helpContent.setWidth(HELP_CONTENT_WIDTH);
helpContent.setHeight(HELP_CONTENT_HEIGHT);
VerticalLayoutContainer helpContentLayout=new VerticalLayoutContainer();
helpContent.add(helpContentLayout);
SafeHtmlBuilder safeHelp=new SafeHtmlBuilder();
HelpReplaceColumnByExpression helpR=new HelpReplaceColumnByExpression();
helpR.render(safeHelp);
HTML htmlHelp=new HTML();
htmlHelp.setHTML(safeHelp.toSafeHtml());
helpContentLayout.add(htmlHelp);
//
HBoxLayoutContainer flowButton = new HBoxLayoutContainer();
flowButton.setHBoxLayoutAlign(HBoxLayoutAlign.MIDDLE);
flowButton.setPack(BoxLayoutPack.CENTER);
//
btnClose = new TextButton("Close");
btnClose.setIcon(ExpressionResources.INSTANCE.close());
@ -80,8 +98,8 @@ public class HelpReplaceColumnByExpressionPanel extends FramedPanel {
flowButton.add(btnClose, new BoxLayoutData(new Margins(2, 4, 2, 4)));
// Add to basic layout
//basicLayout.add(properties, new VerticalLayoutData(-1, -1, new Margins(
// 1)));
basicLayout.add(helpContent, new VerticalLayoutData(-1, -1, new Margins(
1)));
basicLayout.add(flowButton, new VerticalLayoutData(-1, 36, new Margins(
5, 2, 5, 2)));

View File

@ -1,7 +0,0 @@
package org.gcube.portlets.user.td.expressionwidget.client.help;
public class HelpTemplate {
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,42 @@
<!-- file: ./HelpReplaceByExp.html -->
<div>
<div class='HelpReplaceRegexClear'>
<h2>Replace Column By Expression</h2>
</div>
<div class='HelpReplaceRegexClear'>
<h3>Basic Example 1</h3>
<p>
<img class='HelpReplaceRegexImg' src='Data.png' width="200" height="155" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleConcat.png" width="705" height="484" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleConcatResultData.png" width="203" height="158" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleReplaceMatchingRegex.png" width="707" height="480" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleReplaceMatchingRegexResultData.png" width="204" height="155" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleSubstringByIndex.png" width="709" height="484" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="SimpleSubstringByIndexResultData.png" width="206" height="155" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="Simple2Concat.png" width="712" height="484" alt="">
</p>
<p class='HelpReplaceRegexClear'>
<img class='HelpReplaceRegexImg' src="Simple2ConcatResultData.png" width="236" height="159" alt="">
</p>
</div>
<div class='HelpReplaceRegexClear'>
<h3>Regular Expression</h3>
<p>
<a href="http://www.postgresql.org/docs/9.1/static/functions-matching.html#FUNCTIONS-POSIX-REGEXP">POSIX Regular Expressions Reference</a>
</p>
</div>
</div>

View File

@ -0,0 +1,10 @@
@CHARSET "UTF-8";
.HelpReplaceRegexImg {
float: left;
}
.HelpReplaceRegexClear {
clear: both;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB