Index: src/test/java/com/sun/enterprise/configapi/tests/AttributeRemovalTest.java =================================================================== --- src/test/java/com/sun/enterprise/configapi/tests/AttributeRemovalTest.java (revision 43977) +++ src/test/java/com/sun/enterprise/configapi/tests/AttributeRemovalTest.java (working copy) @@ -107,27 +107,26 @@ @Test public void deprecatedWrite() throws TransactionFailure { final Server server = getHabitat().getComponent(Server.class); - final String value = server.getConfigRef(); - logger.fine("config-ref is " + server.getNodeAgentRef()); + final String value = server.getNodeRef(); + logger.fine("node-ref is " + server.getNodeRef()); ConfigSupport.apply(new SingleConfigCode() { @Override public Object run(Server s) throws PropertyVetoException, TransactionFailure { - s.setConfigRef(null); + s.setNodeAgentRef(value); return null; } }, server); - - logger.fine("after, config-ref is " + server.getNodeAgentRef()); + logger.fine("node-agent-ref is " + server.getNodeAgentRef()); // restore ConfigSupport.apply(new SingleConfigCode() { @Override public Object run(Server s) throws PropertyVetoException, TransactionFailure { - s.setConfigRef(value); + s.setNodeAgentRef(null); return null; } }, server); + logger.fine("after, node-agent-ref is " + server.getNodeAgentRef()); - } Index: src/main/java/com/sun/enterprise/config/serverbeans/Server.java =================================================================== --- src/main/java/com/sun/enterprise/config/serverbeans/Server.java (revision 43977) +++ src/main/java/com/sun/enterprise/config/serverbeans/Server.java (working copy) @@ -42,6 +42,8 @@ import com.sun.enterprise.config.util.InstanceRegisterInstanceCommandParameters; import static com.sun.enterprise.config.util.RegisterInstanceCommandParameters.ParameterNames.*; +import com.sun.enterprise.config.serverbeans.customvalidators.ConfigRefConstraint; +import com.sun.enterprise.config.serverbeans.customvalidators.ConfigRefValidator; import com.sun.enterprise.config.serverbeans.customvalidators.NotTargetKeyword; import com.sun.enterprise.config.serverbeans.customvalidators.NotDuplicateTargetName; import com.sun.enterprise.config.util.ServerHelper; @@ -81,6 +83,7 @@ import java.util.logging.Logger; import javax.validation.Payload; import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import org.glassfish.api.admin.ServerEnvironment; @@ -96,6 +99,7 @@ * User applications cannot be deployed to an Administration Server instance */ @Configured +@ConfigRefConstraint(message="{configref.invalid}", payload=ConfigRefValidator.class) @SuppressWarnings("unused") @NotDuplicateTargetName(message="{server.duplicate.name}", payload=Server.class) public interface Server extends ConfigBeanProxy, Injectable, PropertyBag, Named, SystemPropertyBag, ReferenceContainer, RefContainer, Payload { @@ -121,6 +125,7 @@ * {@link String } */ @Attribute + @NotNull @NotTargetKeyword(message="{server.reserved.name}", payload=Server.class) @Pattern(regexp = NAME_SERVER_REGEX) String getConfigRef();