You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/06/10 13:28:24 UTC
svn commit: r1747707 - in /qpid/java/trunk/broker-core/src:
main/java/org/apache/qpid/server/model/
test/java/org/apache/qpid/server/model/testmodels/hierarchy/
test/java/org/apache/qpid/server/model/testmodels/singleton/
Author: rgodfrey
Date: Fri Jun 10 13:28:24 2016
New Revision: 1747707
URL: http://svn.apache.org/viewvc?rev=1747707&view=rev
Log:
QPID-7221 : Allow for attributes to have their defaults copied / materialized at creation time. Apply to virtual host isDeadLetterQueueEnabled
Added:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Initialization.java (with props)
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableAttribute.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableInjectedAttribute.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/InjectedAttributeTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Fri Jun 10 13:28:24 2016
@@ -763,16 +763,7 @@ public abstract class AbstractConfigured
{
if (_dynamicState.compareAndSet(DynamicState.UNINIT, DynamicState.OPENED))
{
- final AuthenticatedPrincipal currentUser = SecurityManager.getCurrentUser();
- if (currentUser != null)
- {
- String currentUserName = currentUser.getName();
- _attributes.put(LAST_UPDATED_BY, currentUserName);
- _attributes.put(CREATED_BY, currentUserName);
- }
- final Date currentTime = new Date();
- _attributes.put(LAST_UPDATED_TIME, currentTime);
- _attributes.put(CREATED_TIME, currentTime);
+ initializeAttributes();
CreateExceptionHandler createExceptionHandler = new CreateExceptionHandler();
try
@@ -826,6 +817,50 @@ public abstract class AbstractConfigured
}
+ private void initializeAttributes()
+ {
+ final AuthenticatedPrincipal currentUser = SecurityManager.getCurrentUser();
+ if (currentUser != null)
+ {
+ String currentUserName = currentUser.getName();
+ _attributes.put(LAST_UPDATED_BY, currentUserName);
+ _attributes.put(CREATED_BY, currentUserName);
+ }
+
+ final Date currentTime = new Date();
+ _attributes.put(LAST_UPDATED_TIME, currentTime);
+ _attributes.put(CREATED_TIME, currentTime);
+
+ ConfiguredObject<?> proxyForInitialization = null;
+ for(ConfiguredObjectAttribute<?,?> attr : _attributeTypes.values())
+ {
+ if(!attr.isDerived())
+ {
+ ConfiguredSettableAttribute autoAttr = (ConfiguredSettableAttribute)attr;
+ final boolean isPresent = _attributes.containsKey(attr.getName());
+ final boolean hasDefault = !"".equals(autoAttr.defaultValue());
+ if(!isPresent && hasDefault)
+ {
+ switch(autoAttr.getInitialization())
+ {
+ case copy:
+ _attributes.put(autoAttr.getName(), autoAttr.defaultValue());
+ break;
+ case materialize:
+
+ if(proxyForInitialization == null)
+ {
+ proxyForInitialization = createProxyForInitialization(_attributes);
+ }
+ _attributes.put(autoAttr.getName(), autoAttr.convert(autoAttr.defaultValue(),
+ proxyForInitialization));
+ break;
+ }
+ }
+ }
+ }
+ }
+
protected void validateOnCreate()
{
}
@@ -2614,6 +2649,13 @@ public abstract class AbstractConfigured
new AttributeGettingHandler(attributes, _attributeTypes, this));
}
+ private ConfiguredObject<?> createProxyForInitialization(final Map<String, Object> attributes)
+ {
+ return (ConfiguredObject<?>) Proxy.newProxyInstance(getClass().getClassLoader(),
+ new Class<?>[]{_bestFitInterface},
+ new AttributeInitializationInvocationHandler(attributes, _attributeTypes, this));
+ }
+
private ConfiguredObject<?> createProxyForAuthorisation(final Class<? extends ConfiguredObject> category,
final Map<String, Object> attributes,
final ConfiguredObject<?> parent,
@@ -3000,6 +3042,35 @@ public abstract class AbstractConfigured
{
return _configuredObject.getCategoryClass();
}
+
+ ConfiguredObject<?> getConfiguredObject()
+ {
+ return _configuredObject;
+ }
+ }
+
+ private static class AttributeInitializationInvocationHandler extends AttributeGettingHandler
+ {
+
+ AttributeInitializationInvocationHandler(final Map<String, Object> modifiedAttributes,
+ final Map<String, ConfiguredObjectAttribute<?, ?>> attributeTypes,
+ final ConfiguredObject<?> configuredObject)
+ {
+ super(modifiedAttributes, attributeTypes, configuredObject);
+ }
+
+ @Override
+ public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable
+ {
+ if (Arrays.asList("getModel", "getCategoryClass", "getParent").contains(method.getName()))
+ {
+ return method.invoke(getConfiguredObject(), args);
+ }
+ else
+ {
+ return super.invoke(proxy, method, args);
+ }
+ }
}
private static class AuthorisationProxyInvocationHandler extends AttributeGettingHandler
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java Fri Jun 10 13:28:24 2016
@@ -175,6 +175,12 @@ public class ConfiguredAutomatedAttribut
return _annotation.oversizedAltText();
}
+ @Override
+ public Initialization getInitialization()
+ {
+ return _annotation.initialization();
+ }
+
public String getDescription()
{
return _annotation.description();
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableAttribute.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableAttribute.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableAttribute.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableAttribute.java Fri Jun 10 13:28:24 2016
@@ -40,4 +40,5 @@ public interface ConfiguredSettableAttri
T convert(Object value, C object);
+ Initialization getInitialization();
}
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableInjectedAttribute.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableInjectedAttribute.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableInjectedAttribute.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredSettableInjectedAttribute.java Fri Jun 10 13:28:24 2016
@@ -53,6 +53,7 @@ public class ConfiguredSettableInjectedA
private final String _description;
private final String[] _validValues;
private final String _validValuePattern;
+ private Initialization _initialization;
public ConfiguredSettableInjectedAttribute(final String name,
final Class<T> type,
@@ -66,7 +67,9 @@ public class ConfiguredSettableInjectedA
final String oversizedAltText,
final String description,
final String[] validValues,
- final String validValuePattern, final TypeValidator typeValidator)
+ final String validValuePattern,
+ final TypeValidator typeValidator,
+ final Initialization initialization)
{
super(name, type, genericType, typeValidator);
_converter = AttributeValueConverter.getConverter(type, genericType);
@@ -80,6 +83,7 @@ public class ConfiguredSettableInjectedA
_description = description;
_validValues = validValues;
_validValuePattern = validValuePattern;
+ _initialization = initialization;
Method validValuesMethod = null;
@@ -159,6 +163,12 @@ public class ConfiguredSettableInjectedA
return _defaultValue;
}
+ @Override
+ public Initialization getInitialization()
+ {
+ return _initialization;
+ }
+
public boolean isSecure()
{
return _secure;
Added: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Initialization.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Initialization.java?rev=1747707&view=auto
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Initialization.java (added)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Initialization.java Fri Jun 10 13:28:24 2016
@@ -0,0 +1,28 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.model;
+
+public enum Initialization
+{
+ none,
+ copy,
+ materialize
+}
Propchange: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Initialization.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java Fri Jun 10 13:28:24 2016
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.server.model;
+import static org.apache.qpid.server.model.Initialization.none;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -41,6 +43,7 @@ public @interface ManagedAttribute
String secureValueFilter() default "";
/** If true, the model attribute value cannot be mutated after construction. */
boolean immutable() default false;
+ Initialization initialization() default none;
boolean updateAttributeDespiteUnchangedValue() default false;
}
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHost.java Fri Jun 10 13:28:24 2016
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.server.model;
+import static org.apache.qpid.server.model.Initialization.materialize;
+
import java.security.AccessControlContext;
import java.security.AccessControlException;
import java.security.Principal;
@@ -81,7 +83,7 @@ public interface VirtualHost<X extends V
public static final boolean DEFAULT_DEAD_LETTER_QUEUE_ENABLED = false;
String DEFAULT_DLE_NAME_SUFFIX = "_DLE";
- @ManagedAttribute( defaultValue = "${queue.deadLetterQueueEnabled}")
+ @ManagedAttribute( defaultValue = "${queue.deadLetterQueueEnabled}", initialization = materialize)
boolean isQueue_deadLetterQueueEnabled();
@ManagedContextDefault( name = "virtualhost.housekeepingCheckPeriod")
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/InjectedAttributeTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/InjectedAttributeTest.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/InjectedAttributeTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/InjectedAttributeTest.java Fri Jun 10 13:28:24 2016
@@ -127,7 +127,7 @@ public class InjectedAttributeTest exten
"",
"",
null,
- "", validator);
+ "", validator, Initialization.none);
TestModel model = new TestModel(null, new TestInjector(attrInjector));
@@ -175,7 +175,7 @@ public class InjectedAttributeTest exten
"",
"",
new String[] { "42", "49" },
- "", validator);
+ "", validator, Initialization.none);
TestModel model = new TestModel(null, new TestInjector(attrInjector));
@@ -203,19 +203,19 @@ public class InjectedAttributeTest exten
{
final ConfiguredSettableInjectedAttribute<?, ?> attribute =
new ConfiguredSettableInjectedAttribute<TestCar<?>, Colour>("trimColour",
- Colour.class,
- Colour.class,
- Colour.BLACK.name(),
- false,
- true,
- false,
- "",
- false,
- "",
- "",
- null,
- "",
- null);
+ Colour.class,
+ Colour.class,
+ Colour.BLACK.name(),
+ false,
+ true,
+ false,
+ "",
+ false,
+ "",
+ "",
+ null,
+ "",
+ null, Initialization.none);
assertEquals("The attribute's valid values should match the set of the enum",
Lists.newArrayList("BLACK", "RED", "BLUE", "GREY"),
@@ -238,7 +238,7 @@ public class InjectedAttributeTest exten
"",
new String[] {Colour.GREY.name(), Colour.BLACK.name()},
"",
- null);
+ null, Initialization.none);
assertEquals("The attribute's valid values should match the restricted set defined on the attribute itself",
Lists.newArrayList("GREY", "BLACK"),
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java Fri Jun 10 13:28:24 2016
@@ -142,6 +142,53 @@ public class AbstractConfiguredObjectTes
assertEquals(TestSingleton.DEFAULTED_VALUE_DEFAULT, object.getDefaultedValue());
}
+ public void testDefaultInitialization()
+ {
+ TestSingleton object =
+ _model.getObjectFactory().create(TestSingleton.class,
+ Collections.<String, Object>singletonMap(ConfiguredObject.NAME,
+ "testDefaultInitialization")
+ );
+ assertEquals(object.getAttrWithDefaultFromContextNoInit(), TestSingleton.testGlobalDefault);
+ assertEquals(object.getAttrWithDefaultFromContextCopyInit(), TestSingleton.testGlobalDefault);
+ assertEquals(object.getAttrWithDefaultFromContextMaterializeInit(), TestSingleton.testGlobalDefault);
+
+ assertFalse(object.getActualAttributes().containsKey("attrWithDefaultFromContextNoInit"));
+ assertEquals("${"+TestSingleton.TEST_CONTEXT_DEFAULT+"}",object.getActualAttributes().get("attrWithDefaultFromContextCopyInit"));
+ assertEquals(TestSingleton.testGlobalDefault,object.getActualAttributes().get("attrWithDefaultFromContextMaterializeInit"));
+
+
+ Map<String, Object> attributes = new HashMap<>();
+ attributes.put(ConfiguredObject.NAME, "testDefaultInitialization2");
+ attributes.put(ConfiguredObject.CONTEXT, Collections.singletonMap(TestSingleton.TEST_CONTEXT_DEFAULT, "foo"));
+ object = _model.getObjectFactory().create(TestSingleton.class,
+ attributes
+ );
+ assertEquals("foo", object.getAttrWithDefaultFromContextNoInit());
+ assertEquals("foo", object.getAttrWithDefaultFromContextCopyInit());
+ assertEquals("foo", object.getAttrWithDefaultFromContextMaterializeInit());
+
+ assertFalse(object.getActualAttributes().containsKey("attrWithDefaultFromContextNoInit"));
+ assertEquals("${"+TestSingleton.TEST_CONTEXT_DEFAULT+"}",object.getActualAttributes().get("attrWithDefaultFromContextCopyInit"));
+ assertEquals("foo",object.getActualAttributes().get("attrWithDefaultFromContextMaterializeInit"));
+
+
+ setTestSystemProperty(TestSingleton.TEST_CONTEXT_DEFAULT, "bar");
+ object = _model.getObjectFactory().create(TestSingleton.class,
+ Collections.<String, Object>singletonMap(ConfiguredObject.NAME,
+ "testDefaultInitialization3")
+ );
+
+ assertEquals("bar", object.getAttrWithDefaultFromContextNoInit());
+ assertEquals("bar", object.getAttrWithDefaultFromContextCopyInit());
+ assertEquals("bar", object.getAttrWithDefaultFromContextMaterializeInit());
+
+ assertFalse(object.getActualAttributes().containsKey("attrWithDefaultFromContextNoInit"));
+ assertEquals("${"+TestSingleton.TEST_CONTEXT_DEFAULT+"}",object.getActualAttributes().get("attrWithDefaultFromContextCopyInit"));
+ assertEquals("bar",object.getActualAttributes().get("attrWithDefaultFromContextMaterializeInit"));
+
+ }
+
public void testEnumAttributeValueFromString()
{
final String objectName = "myName";
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingleton.java Fri Jun 10 13:28:24 2016
@@ -18,6 +18,9 @@
*/
package org.apache.qpid.server.model.testmodels.singleton;
+import static org.apache.qpid.server.model.Initialization.copy;
+import static org.apache.qpid.server.model.Initialization.materialize;
+
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -25,6 +28,7 @@ import java.util.Set;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.DerivedAttribute;
+import org.apache.qpid.server.model.Initialization;
import org.apache.qpid.server.model.ManagedAttribute;
import org.apache.qpid.server.model.ManagedContextDefault;
import org.apache.qpid.server.model.ManagedObject;
@@ -111,4 +115,13 @@ public interface TestSingleton<X extends
@ManagedStatistic(units = StatisticUnit.ABSOLUTE_TIME, statisticType = StatisticType.POINT_IN_TIME)
Long getLongStatistic();
+ @ManagedAttribute( defaultValue = "${TEST_CONTEXT_DEFAULT}")
+ String getAttrWithDefaultFromContextNoInit();
+
+ @ManagedAttribute( defaultValue = "${TEST_CONTEXT_DEFAULT}", initialization = copy)
+ String getAttrWithDefaultFromContextCopyInit();
+
+ @ManagedAttribute( defaultValue = "${TEST_CONTEXT_DEFAULT}", initialization = materialize)
+ String getAttrWithDefaultFromContextMaterializeInit();
+
}
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java?rev=1747707&r1=1747706&r2=1747707&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java Fri Jun 10 13:28:24 2016
@@ -83,6 +83,15 @@ public class TestSingletonImpl extends A
@ManagedAttributeField
private Date _dateValue;
+ @ManagedAttributeField
+ private String _attrWithDefaultFromContextNoInit;
+
+ @ManagedAttributeField
+ private String _attrWithDefaultFromContextCopyInit;
+
+ @ManagedAttributeField
+ private String _attrWithDefaultFromContextMaterializeInit;
+
@ManagedObjectFactoryConstructor
public TestSingletonImpl(final Map<String, Object> attributes)
{
@@ -206,4 +215,22 @@ public class TestSingletonImpl extends A
{
return System.currentTimeMillis();
}
+
+ @Override
+ public String getAttrWithDefaultFromContextNoInit()
+ {
+ return _attrWithDefaultFromContextNoInit;
+ }
+
+ @Override
+ public String getAttrWithDefaultFromContextCopyInit()
+ {
+ return _attrWithDefaultFromContextCopyInit;
+ }
+
+ @Override
+ public String getAttrWithDefaultFromContextMaterializeInit()
+ {
+ return _attrWithDefaultFromContextMaterializeInit;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org