You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2018/07/10 07:48:53 UTC
[3/3] syncope git commit: Better help message for JEXL mapping
transformers, remarking that only 'value' shall be used
Better help message for JEXL mapping transformers, remarking that only 'value' shall be used
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/c3dbca02
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/c3dbca02
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/c3dbca02
Branch: refs/heads/master
Commit: c3dbca022d1bd8ef9a8c463ebde5369a5359237f
Parents: 3e106c2
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Jul 10 09:47:26 2018 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Jul 10 09:48:39 2018 +0200
----------------------------------------------------------------------
.../client/console/commons/Constants.java | 26 ++++++++++++++------
.../markup/html/form/AjaxTextFieldPanel.java | 8 +++++-
.../resources/JEXLTransformersTogglePanel.java | 4 +--
.../java/data/JEXLItemTransformerImpl.java | 2 --
4 files changed, 28 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/c3dbca02/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
index 01ea08a..2fceb73 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/commons/Constants.java
@@ -200,15 +200,27 @@ public final class Constants {
public static final String GUARDED_BYTE_ARRAY = "org.identityconnectors.common.security.GuardedByteArray";
public static Component getJEXLPopover(final Component caller, final TooltipConfig.Placement placement) {
+ return getJEXLPopover(caller, placement, caller.getString("jexl_ex1"), caller.getString("jexl_ex2"));
+ }
+
+ public static Component getJEXLPopover(
+ final Component caller,
+ final TooltipConfig.Placement placement,
+ final String... jexlExamples) {
+
+ StringBuilder body = new StringBuilder(caller.getString("jexl_info")).
+ append("<ul>");
+ for (String jexlExample : jexlExamples) {
+ body.append("<li>").append(jexlExample).append("</li>");
+ }
+ body.append("</ul>").
+ append("<a href='https://commons.apache.org/proper/commons-jexl/reference/' target='_blank'>").
+ append(caller.getString("jexl_syntax_url")).
+ append("</a>");
+
return new Label("jexlInfo", Model.of()).add(new PopoverBehavior(
Model.<String>of(),
- Model.of(caller.getString("jexl_info")
- + "<ul>"
- + "<li>" + caller.getString("jexl_ex1") + "</li>"
- + "<li>" + caller.getString("jexl_ex2") + "</li>"
- + "</ul>"
- + "<a href='https://commons.apache.org/proper/commons-jexl/reference/index.html' "
- + "target='_blank'>" + caller.getString("jexl_syntax_url") + "</a>"),
+ Model.of(body.toString()),
new PopoverConfig().withHtml(true).withPlacement(placement)) {
private static final long serialVersionUID = -7867802555691605021L;
http://git-wip-us.apache.org/repos/asf/syncope/blob/c3dbca02/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java
index 8d0c665..4396a7e 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxTextFieldPanel.java
@@ -40,7 +40,7 @@ public class AjaxTextFieldPanel extends FieldPanel<String> implements Cloneable
private static final long serialVersionUID = 238940918106696068L;
- private final Component questionMarkJexlHelp;
+ private Component questionMarkJexlHelp;
private List<String> choices = Collections.emptyList();
@@ -113,6 +113,12 @@ public class AjaxTextFieldPanel extends FieldPanel<String> implements Cloneable
return this;
}
+ public FieldPanel<String> enableJexlHelp(final String... jexlExamples) {
+ questionMarkJexlHelp = Constants.getJEXLPopover(this, TooltipConfig.Placement.bottom, jexlExamples);
+ addOrReplace(questionMarkJexlHelp.setVisible(true));
+ return this;
+ }
+
protected Iterator<String> getChoices(final String input) {
Pattern pattern = Pattern.compile(".*" + Pattern.quote(input) + ".*", Pattern.CASE_INSENSITIVE);
return choices.stream().filter(choice -> pattern.matcher(choice).matches()).iterator();
http://git-wip-us.apache.org/repos/asf/syncope/blob/c3dbca02/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
index fdbab71..f375a68 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/resources/JEXLTransformersTogglePanel.java
@@ -49,13 +49,13 @@ public class JEXLTransformersTogglePanel extends TogglePanel<Serializable> {
"propagationJEXLTransformer",
"Propagation",
Model.of(""));
- form.add(propagationJEXLTransformer.enableJexlHelp());
+ form.add(propagationJEXLTransformer.enableJexlHelp("value.toLowecase()", "'PREFIX' + value"));
pullJEXLTransformer = new AjaxTextFieldPanel(
"pullJEXLTransformer",
"Pull",
Model.of(""));
- form.add(pullJEXLTransformer.enableJexlHelp());
+ form.add(pullJEXLTransformer.enableJexlHelp("value.toLowecase()", "'PREFIX' + value"));
form.add(new AjaxSubmitLink("submit", form) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/c3dbca02/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
index 67c3439..4ed7477 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
@@ -94,7 +94,6 @@ public class JEXLItemTransformerImpl implements JEXLItemTransformer {
JexlUtils.addAttrTOsToContext(((AnyTO) entityTO).getVirAttrs(), jexlContext);
} else if (entityTO instanceof RealmTO) {
JexlUtils.addFieldsToContext((RealmTO) entityTO, jexlContext);
- newValues.add(JexlUtils.evaluate(pullJEXL, jexlContext));
}
newValues.add(JexlUtils.evaluate(pullJEXL, jexlContext));
@@ -105,5 +104,4 @@ public class JEXLItemTransformerImpl implements JEXLItemTransformer {
return JEXLItemTransformer.super.beforePull(item, entityTO, values);
}
-
}