You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by mg...@apache.org on 2015/01/05 08:02:27 UTC
[12/13] isis git commit: ISIS-995 Allow the label of a property to be
rendered as HTML. Also,
allow the label of boolean panels to be rendered on the right hand side.
ISIS-995 Allow the label of a property to be rendered as HTML. Also, allow the label of boolean panels to be rendered on the right hand side.
Add support for 'namedEscaped' attribute to @CollectionLayout, @PropertyLayout and @ParameterLayout.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/14f1047a
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/14f1047a
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/14f1047a
Branch: refs/heads/ISIS-995-namedEscaped
Commit: 14f1047aa62c0a40c31c19866db52b781c27a0f3
Parents: 6c75618
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Jan 4 13:54:07 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Jan 5 09:00:41 2015 +0200
----------------------------------------------------------------------
.../scalars/primitive/BooleanPanel.java | 5 ++++
.../applib/annotation/CollectionLayout.java | 7 +++++-
.../isis/applib/annotation/LabelPosition.java | 1 +
.../isis/applib/annotation/ParameterLayout.java | 5 ++++
.../isis/applib/annotation/PropertyLayout.java | 5 ++++
.../i18n/internal/NamedFacetWrapI18n.java | 2 +-
.../NamedFacetForActionLayoutAnnotation.java | 5 ++--
.../NamedFacetOnActionFromLayoutProperties.java | 22 +++++++++++++++---
.../metamodel/facets/all/named/NamedFacet.java | 13 +++++++++--
.../facets/all/named/NamedFacetAbstract.java | 24 ++++++++++++++++----
.../facets/all/named/NamedFacetInferred.java | 3 ++-
...NamedFacetForCollectionLayoutAnnotation.java | 10 +++++---
...edFacetOnCollectionFromLayoutProperties.java | 21 ++++++++++++++---
.../facets/fallback/NamedFacetNone.java | 2 +-
.../annotprop/NamedFacetOnMemberAnnotation.java | 2 +-
.../NamedFacetOnMemberFromProperties.java | 11 +++++++--
.../staticmethod/NamedFacetStaticMethod.java | 2 +-
...edFacetForDomainServiceLayoutAnnotation.java | 2 +-
...medFacetForDomainObjectLayoutAnnotation.java | 2 +-
.../annotation/NamedFacetOnTypeAnnotation.java | 2 +-
.../staticmethod/NamedFacetStaticMethod.java | 2 +-
.../NamedFacetForParameterLayoutAnnotation.java | 10 +++++---
.../NamedFacetOnParameterAnnotation.java | 2 +-
.../NamedFacetForPropertyLayoutAnnotation.java | 10 +++++---
...amedFacetOnPropertyFromLayoutProperties.java | 24 ++++++++++++++++----
.../layoutmetadata/PropertyLayoutFacetRepr.java | 3 ++-
.../NamedFacetOnStandaloneList.java | 2 +-
.../runtime/system/ObjectActionImplTest.java | 8 +++++--
.../system/ObjectMemberAbstractTest.java | 14 ++++++++----
29 files changed, 172 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index ff670f9..38803e1 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -30,6 +30,7 @@ import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
@@ -80,6 +81,10 @@ public class BooleanPanel extends ScalarPanelAbstract {
final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(checkBox));
labelIfRegular.add(scalarName);
+ NamedFacet namedFacet = getModel().getFacet(NamedFacet.class);
+ if (namedFacet != null) {
+ scalarName.setEscapeModelStrings(namedFacet.escaped());
+ }
final List<LinkAndLabel> entityActions = EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentType());
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
index 0df2ec8..ea794ed 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
@@ -61,6 +61,11 @@ public @interface CollectionLayout {
String named() default "";
/**
+ * A flag indicating whether the value of {@linkplain #named()} should be HTML escaped or not.
+ */
+ boolean namedEscaped() default true;
+
+ /**
* The page size for instances of this class when rendered within
* a table.
*
@@ -127,4 +132,4 @@ public @interface CollectionLayout {
@SuppressWarnings("rawtypes")
Class sortedBy() default Comparator.class;
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
index 229806a..50d685c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/LabelPosition.java
@@ -27,6 +27,7 @@ package org.apache.isis.applib.annotation;
public enum LabelPosition {
DEFAULT,
LEFT,
+ RIGHT,
TOP,
NONE
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
index fa37dbe..54cd96d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
@@ -60,6 +60,11 @@ public @interface ParameterLayout {
String named() default "";
/**
+ * A flag indicating whether the value of {@linkplain #named()} should be HTML escaped or not.
+ */
+ boolean namedEscaped() default true;
+
+ /**
* For string parameters (and properties), whether to render as a text area over multiple lines.
*/
int multiLine() default -1;
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
index 2aa131c..12e556f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
@@ -66,6 +66,11 @@ public @interface PropertyLayout {
String named() default "";
/**
+ * A flag indicating whether the value of {@linkplain #named()} should be HTML escaped or not.
+ */
+ boolean namedEscaped() default true;
+
+ /**
* For date properties (and parameters) only, instructs the viewer that the date should be rendered as one day
* prior to the actually stored date.
*
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/i18n/internal/NamedFacetWrapI18n.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/i18n/internal/NamedFacetWrapI18n.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/i18n/internal/NamedFacetWrapI18n.java
index 609c98f..b163150 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/i18n/internal/NamedFacetWrapI18n.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/i18n/internal/NamedFacetWrapI18n.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetWrapI18n extends NamedFacetAbstract {
public NamedFacetWrapI18n(final String value, final FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java
index a01f19b..3bf2cab 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutAnnotation.java
@@ -35,8 +35,9 @@ public class NamedFacetForActionLayoutAnnotation extends NamedFacetAbstract {
return named != null ? new NamedFacetForActionLayoutAnnotation(named, holder) : null;
}
- private NamedFacetForActionLayoutAnnotation(String value, FacetHolder holder) {
- super(value, holder);
+ private NamedFacetForActionLayoutAnnotation(final String value, final FacetHolder holder) {
+
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
index 9492f11..03e31b3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetOnActionFromLayoutProperties.java
@@ -29,11 +29,16 @@ public class NamedFacetOnActionFromLayoutProperties extends NamedFacetAbstract {
public static NamedFacet create(Properties properties, FacetHolder holder) {
final String named = named(properties);
- return named != null? new NamedFacetOnActionFromLayoutProperties(named, holder): null;
+ final boolean namedEscaped = namedEscaped(properties);
+ return named != null? new NamedFacetOnActionFromLayoutProperties(named, namedEscaped, holder): null;
}
- private NamedFacetOnActionFromLayoutProperties(String named, FacetHolder holder) {
- super(named, holder);
+ private NamedFacetOnActionFromLayoutProperties(
+ final String named,
+ final boolean namedEscaped,
+ final FacetHolder holder) {
+
+ super(named, namedEscaped, holder);
}
private static String named(Properties properties) {
@@ -48,4 +53,15 @@ public class NamedFacetOnActionFromLayoutProperties extends NamedFacetAbstract {
return named;
}
+ private static boolean namedEscaped(Properties properties) {
+ boolean escaped = true;
+ if(properties != null) {
+ String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
+ if("false".equalsIgnoreCase(namedEscapedValue)) {
+ escaped = false;
+ }
+ }
+ return escaped;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacet.java
index 44bb1cc..f2a6c4e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacet.java
@@ -19,7 +19,7 @@
package org.apache.isis.core.metamodel.facets.all.named;
-import org.apache.isis.core.metamodel.facets.SingleStringValueFacet;
+import org.apache.isis.core.metamodel.facets.MultipleValueFacet;
/**
* The name of a class, a property, collection, an action or a parameter.
@@ -28,6 +28,15 @@ import org.apache.isis.core.metamodel.facets.SingleStringValueFacet;
* In the standard Apache Isis Programming Model, corresponds to annotating the
* member with <tt>@Named</tt>.
*/
-public interface NamedFacet extends SingleStringValueFacet {
+public interface NamedFacet extends MultipleValueFacet {
+ /**
+ * @return The name to use as a label for a collection, a property or a parameter
+ */
+ String value();
+
+ /**
+ * @return A flag indicating whether the label should be show as is, or should be HTML escaped
+ */
+ boolean escaped();
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetAbstract.java
index 029fcca..1570d07 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetAbstract.java
@@ -21,15 +21,31 @@ package org.apache.isis.core.metamodel.facets.all.named;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.SingleStringValueFacetAbstract;
+import org.apache.isis.core.metamodel.facets.MultipleValueFacetAbstract;
-public abstract class NamedFacetAbstract extends SingleStringValueFacetAbstract implements NamedFacet {
+public abstract class NamedFacetAbstract extends MultipleValueFacetAbstract implements NamedFacet {
+
+ private final String value;
+ private final boolean escaped;
public static Class<? extends Facet> type() {
return NamedFacet.class;
}
- public NamedFacetAbstract(final String value, final FacetHolder holder) {
- super(type(), holder, value);
+ public NamedFacetAbstract(final String value, final boolean escaped, final FacetHolder holder) {
+ super(type(), holder);
+
+ this.value = value;
+ this.escaped = escaped;
+ }
+
+ @Override
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public boolean escaped() {
+ return escaped;
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetInferred.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetInferred.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetInferred.java
index 1993d4c..9314378 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetInferred.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/named/NamedFacetInferred.java
@@ -24,7 +24,8 @@ import org.apache.isis.core.metamodel.facetapi.FacetHolder;
public class NamedFacetInferred extends NamedFacetAbstract {
public NamedFacetInferred(final String value, final FacetHolder holder) {
- super(value, holder);
+
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java
index 4b21538..a3b0070 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetForCollectionLayoutAnnotation.java
@@ -32,11 +32,15 @@ public class NamedFacetForCollectionLayoutAnnotation extends NamedFacetAbstract
return null;
}
final String named = Strings.emptyToNull(collectionLayout.named());
- return named != null ? new NamedFacetForCollectionLayoutAnnotation(named, holder) : null;
+ return named != null ? new NamedFacetForCollectionLayoutAnnotation(named, collectionLayout.namedEscaped(), holder) : null;
}
- private NamedFacetForCollectionLayoutAnnotation(String value, FacetHolder holder) {
- super(value, holder);
+ private NamedFacetForCollectionLayoutAnnotation(
+ final String value,
+ final boolean escaped,
+ final FacetHolder holder) {
+
+ super(value, escaped, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
index ad2280e..80b123f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/NamedFacetOnCollectionFromLayoutProperties.java
@@ -29,11 +29,16 @@ public class NamedFacetOnCollectionFromLayoutProperties extends NamedFacetAbstra
public static NamedFacet create(Properties properties, FacetHolder holder) {
final String named = named(properties);
- return named != null? new NamedFacetOnCollectionFromLayoutProperties(named, holder): null;
+ boolean namedEscaped = namedEscaped(properties);
+ return named != null? new NamedFacetOnCollectionFromLayoutProperties(named, namedEscaped, holder): null;
}
- private NamedFacetOnCollectionFromLayoutProperties(String named, FacetHolder holder) {
- super(named, holder);
+ private NamedFacetOnCollectionFromLayoutProperties(
+ final String named,
+ final boolean escaped,
+ final FacetHolder holder) {
+
+ super(named, escaped, holder);
}
private static String named(Properties properties) {
@@ -48,4 +53,14 @@ public class NamedFacetOnCollectionFromLayoutProperties extends NamedFacetAbstra
return named;
}
+ private static boolean namedEscaped(final Properties properties) {
+ boolean escaped = true;
+ if(properties != null) {
+ String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
+ if("false".equalsIgnoreCase(namedEscapedValue)) {
+ escaped = false;
+ }
+ }
+ return escaped;
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
index d0536b0..86cbbf3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
@@ -31,7 +31,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetNone extends NamedFacetAbstract {
public NamedFacetNone(final FacetHolder holder) {
- super(null, holder);
+ super(null, /*escaped*/ true, holder);
}
@Override
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberAnnotation.java
index 6aa73f0..91c3ca6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberAnnotation.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetOnMemberAnnotation extends NamedFacetAbstract {
public NamedFacetOnMemberAnnotation(final String value, final FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
index fac7931..20682e0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/annotprop/NamedFacetOnMemberFromProperties.java
@@ -20,18 +20,25 @@
package org.apache.isis.core.metamodel.facets.members.named.annotprop;
import java.util.Properties;
-
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetOnMemberFromProperties extends NamedFacetAbstract {
public NamedFacetOnMemberFromProperties(final Properties properties, final FacetHolder holder) {
- super(valueFrom(properties), holder);
+ super(valueFrom(properties), namedEscapedFrom(properties), holder);
}
private static String valueFrom(Properties properties) {
return properties.getProperty("value");
}
+ private static boolean namedEscapedFrom(final Properties properties) {
+ boolean escaped = true;
+ String namedEscapedValue = properties.getProperty("namedEscaped");
+ if("false".equalsIgnoreCase(namedEscapedValue)) {
+ escaped = false;
+ }
+ return escaped;
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethod.java
index cbdf7d1..f03e98b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/named/staticmethod/NamedFacetStaticMethod.java
@@ -32,7 +32,7 @@ public class NamedFacetStaticMethod extends NamedFacetAbstract implements Impera
private final Method method;
public NamedFacetStaticMethod(final String value, final Method method, final FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
this.method = method;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java
index c764004..b769a95 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainservicelayout/NamedFacetForDomainServiceLayoutAnnotation.java
@@ -37,6 +37,6 @@ public class NamedFacetForDomainServiceLayoutAnnotation extends NamedFacetAbstra
}
private NamedFacetForDomainServiceLayoutAnnotation(String value, FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/NamedFacetForDomainObjectLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/NamedFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/NamedFacetForDomainObjectLayoutAnnotation.java
index 474d243..10256c2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/NamedFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/layout/NamedFacetForDomainObjectLayoutAnnotation.java
@@ -37,6 +37,6 @@ public class NamedFacetForDomainObjectLayoutAnnotation extends NamedFacetAbstrac
}
private NamedFacetForDomainObjectLayoutAnnotation(String value, FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotation.java
index 84385c7..f2d4873 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/annotation/NamedFacetOnTypeAnnotation.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetOnTypeAnnotation extends NamedFacetAbstract {
public NamedFacetOnTypeAnnotation(final String value, final FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethod.java
index 9412b81..fe420fc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/named/staticmethod/NamedFacetStaticMethod.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetStaticMethod extends NamedFacetAbstract {
public NamedFacetStaticMethod(final String value, final FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java
index c8d3f25..daacce8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/NamedFacetForParameterLayoutAnnotation.java
@@ -32,11 +32,15 @@ public class NamedFacetForParameterLayoutAnnotation extends NamedFacetAbstract {
return null;
}
final String named = Strings.emptyToNull(parameterLayout.named());
- return named != null ? new NamedFacetForParameterLayoutAnnotation(named, holder) : null;
+ return named != null ? new NamedFacetForParameterLayoutAnnotation(named, parameterLayout.namedEscaped(), holder) : null;
}
- private NamedFacetForParameterLayoutAnnotation(String value, FacetHolder holder) {
- super(value, holder);
+ private NamedFacetForParameterLayoutAnnotation(
+ final String value,
+ final boolean escaped,
+ final FacetHolder holder) {
+
+ super(value, escaped, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/named/annotation/NamedFacetOnParameterAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/named/annotation/NamedFacetOnParameterAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/named/annotation/NamedFacetOnParameterAnnotation.java
index 4de7e60..faf916e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/named/annotation/NamedFacetOnParameterAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/named/annotation/NamedFacetOnParameterAnnotation.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetOnParameterAnnotation extends NamedFacetAbstract {
public NamedFacetOnParameterAnnotation(final String value, final FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetForPropertyLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetForPropertyLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetForPropertyLayoutAnnotation.java
index ccdfb7e..ece1029 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetForPropertyLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetForPropertyLayoutAnnotation.java
@@ -32,11 +32,15 @@ public class NamedFacetForPropertyLayoutAnnotation extends NamedFacetAbstract {
return null;
}
final String named = Strings.emptyToNull(propertyLayout.named());
- return named != null ? new NamedFacetForPropertyLayoutAnnotation(named, holder) : null;
+ return named != null ? new NamedFacetForPropertyLayoutAnnotation(named, propertyLayout.namedEscaped(), holder) : null;
}
- private NamedFacetForPropertyLayoutAnnotation(String value, FacetHolder holder) {
- super(value, holder);
+ private NamedFacetForPropertyLayoutAnnotation(
+ final String value,
+ final boolean escaped,
+ final FacetHolder holder) {
+
+ super(value, escaped, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetOnPropertyFromLayoutProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetOnPropertyFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetOnPropertyFromLayoutProperties.java
index 73513e4..49790d2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetOnPropertyFromLayoutProperties.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/layout/NamedFacetOnPropertyFromLayoutProperties.java
@@ -28,12 +28,17 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetOnPropertyFromLayoutProperties extends NamedFacetAbstract {
public static NamedFacet create(Properties properties, FacetHolder holder) {
- final String named = named(properties);
- return named != null? new NamedFacetOnPropertyFromLayoutProperties(named, holder): null;
+ final String value = named(properties);
+ final boolean escaped = namedEscaped(properties);
+ return value != null? new NamedFacetOnPropertyFromLayoutProperties(value, escaped, holder): null;
}
- private NamedFacetOnPropertyFromLayoutProperties(String named, FacetHolder holder) {
- super(named, holder);
+ private NamedFacetOnPropertyFromLayoutProperties(
+ final String named,
+ final boolean escaped,
+ final FacetHolder holder) {
+
+ super(named, escaped, holder);
}
private static String named(Properties properties) {
@@ -48,4 +53,15 @@ public class NamedFacetOnPropertyFromLayoutProperties extends NamedFacetAbstract
return named;
}
+ private static boolean namedEscaped(final Properties properties) {
+ boolean escaped = true;
+ if(properties != null) {
+ String namedEscapedValue = Strings.emptyToNull(properties.getProperty("namedEscaped"));
+ if("false".equalsIgnoreCase(namedEscapedValue)) {
+ escaped = false;
+ }
+ }
+ return escaped;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
index 363af5d..2619428 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/PropertyLayoutFacetRepr.java
@@ -28,7 +28,8 @@ public class PropertyLayoutFacetRepr {
public LabelPosition labelPosition;
public int multiLine;
public String named;
+ public boolean namedEscaped;
public boolean renderedAsDayBefore;
public int typicalLength;
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/NamedFacetOnStandaloneList.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/NamedFacetOnStandaloneList.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/NamedFacetOnStandaloneList.java
index 2f8db6d..1c22da4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/NamedFacetOnStandaloneList.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/NamedFacetOnStandaloneList.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
public class NamedFacetOnStandaloneList extends NamedFacetAbstract {
public NamedFacetOnStandaloneList(final String value, final FacetHolder holder) {
- super(value, holder);
+ super(value, /*escaped*/ true, holder);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java
index ba3e31c..31b93b6 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectActionImplTest.java
@@ -19,7 +19,10 @@
package org.apache.isis.core.runtime.system;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
import org.jmock.Expectations;
import org.jmock.auto.Mock;
@@ -81,7 +84,8 @@ public class ObjectActionImplTest {
@Test
public void testNameDefaultsToActionsMethodName() {
- final NamedFacet facet = new NamedFacetAbstract("Reduceheadcount", mockFacetedMethod) {
+ final String name = "Reduceheadcount";
+ final NamedFacet facet = new NamedFacetAbstract(name, true, mockFacetedMethod) {
};
context.checking(new Expectations() {
{
@@ -89,7 +93,7 @@ public class ObjectActionImplTest {
will(returnValue(facet));
}
});
- assertEquals("Reduceheadcount", action.getName());
+ assertThat(action.getName(), is(equalTo(name)));
}
@Test
http://git-wip-us.apache.org/repos/asf/isis/blob/14f1047a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
index 0e85b6c..5e1898d 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/ObjectMemberAbstractTest.java
@@ -19,8 +19,13 @@
package org.apache.isis.core.runtime.system;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.isEmptyString;
+import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import org.junit.Before;
@@ -78,11 +83,10 @@ public class ObjectMemberAbstractTest {
testMember = new ObjectMemberAbstractImpl("id");
}
-
@Test
public void testToString() throws Exception {
- testMember.addFacet(new NamedFacetAbstract("", testMember) {});
- assertTrue(testMember.toString().length() > 0);
+ testMember.addFacet(new NamedFacetAbstract("", true, testMember) {});
+ assertThat(testMember.toString(), not(isEmptyString()));
}
@Test
@@ -180,9 +184,9 @@ public class ObjectMemberAbstractTest {
@Test
public void testName() throws Exception {
final String name = "action name";
- testMember.addFacet(new NamedFacetAbstract(name, testMember) {
+ testMember.addFacet(new NamedFacetAbstract(name, true, testMember) {
});
- assertEquals(name, testMember.getName());
+ assertThat(testMember.getName(), is(equalTo(name)));
}
@Test