remove unnecessary template model wrapping
as it confuses some unwrapping, causing surprising lookups and errors
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/text/TemplateProcessor.java b/core/src/main/java/org/apache/brooklyn/util/core/text/TemplateProcessor.java
index 3777c32..b620ca1 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/text/TemplateProcessor.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/text/TemplateProcessor.java
@@ -99,6 +99,7 @@
static CrossTaskThreadLocalStack<Boolean> IS_FOR_WORKFLOW = new CrossTaskThreadLocalStack<>();
public interface UnwrappableTemplateModel {
+ // could make sense to distinguish 'unwrappable as result' from 'unwrappable for alternative lookup'
Maybe<Object> unwrap();
}
@@ -441,7 +442,7 @@
* Freemarker will only do this when in inside bracket notation in an outer map, as in <code>${outer['a.b.']}</code>;
* as a result this is intended only for use by {@link EntityAndMapTemplateModel} where
* a caller has used bracked notation, as in <code>${mgmt['key.subkey']}</code>. */
- protected static final class EntityConfigTemplateModel implements TemplateHashModel, UnwrappableTemplateModel {
+ protected static final class EntityConfigTemplateModel implements TemplateHashModel {
protected final EntityInternal entity;
protected final ManagementContext mgmt;
@@ -451,11 +452,6 @@
}
@Override
- public Maybe<Object> unwrap() {
- return Maybe.of(entity);
- }
-
- @Override
public boolean isEmpty() { return false; }
@Override
@@ -524,7 +520,7 @@
* Freemarker will only do this when in inside bracket notation in an outer map, as in <code>${outer['a.b.']}</code>;
* as a result this is intended only for use by {@link LocationAndMapTemplateModel} where
* a caller has used bracked notation, as in <code>${mgmt['key.subkey']}</code>. */
- protected static final class LocationConfigTemplateModel implements TemplateHashModel, UnwrappableTemplateModel {
+ protected static final class LocationConfigTemplateModel implements TemplateHashModel {
protected final LocationInternal location;
protected final ManagementContext mgmt;
@@ -534,11 +530,6 @@
}
@Override
- public Maybe<Object> unwrap() {
- return Maybe.of(location);
- }
-
- @Override
public boolean isEmpty() { return false; }
@Override
@@ -597,15 +588,10 @@
throw new TemplateModelException(msg+": "+Exceptions.collapseText(cause), cause);
}
- protected final static class EntityAttributeTemplateModel implements TemplateHashModel, UnwrappableTemplateModel {
+ protected final static class EntityAttributeTemplateModel implements TemplateHashModel {
protected final EntityInternal entity;
private final SensorResolutionMode mode;
- @Override
- public Maybe<Object> unwrap() {
- return Maybe.of(entity);
- }
-
enum SensorResolutionMode { SENSOR_DEFINITION,
ATTRIBUTE_VALUE,
ATTRIBUTE_WHEN_READY_FOR_TEMPLATES,