package org.jboss.as.controller.transform;
import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.NoopOperationStepHandler;
import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.ReloadRequiredWriteAttributeHandler;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.SimpleResourceDefinition;
import org.jboss.as.controller.descriptions.NonResolvingResourceDescriptionResolver;
import org.jboss.as.controller.registry.ManagementResourceRegistration;
import org.jboss.as.controller.test.TestUtils;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
/**
* @author Tomaz Cerar
* @created 19.12.11 21:04
*/
public class SessionDefinition extends SimpleResourceDefinition {
public static SessionDefinition INSTANCE = new SessionDefinition();
private SessionDefinition() {
super(PathElement.pathElement("session"), new NonResolvingResourceDescriptionResolver());
}
protected static final SimpleAttributeDefinition JNDI_NAME =
new SimpleAttributeDefinitionBuilder("jndi-name", ModelType.STRING, true)
.setAllowExpression(true)
.setRestartAllServices()
.build();
protected static final SimpleAttributeDefinition FROM =
new SimpleAttributeDefinitionBuilder("from", ModelType.STRING, true)
.setAllowExpression(true)
.setDefaultValue(null)
.setRestartAllServices()
.setAllowNull(true)
.build();
protected static final SimpleAttributeDefinition DEBUG =
new SimpleAttributeDefinitionBuilder("debug", ModelType.BOOLEAN, true)
.setAllowExpression(true)
.setDefaultValue(new ModelNode(false))
.setRestartAllServices()
.build();
private static final AttributeDefinition[] ATTRIBUTES = {DEBUG, JNDI_NAME, FROM};
@Override
public void registerAttributes(final ManagementResourceRegistration registry) {
for (AttributeDefinition attr : ATTRIBUTES) {
registry.registerReadWriteAttribute(attr, null, new ReloadRequiredWriteAttributeHandler(attr));
}
}
@Override
public void registerOperations(ManagementResourceRegistration registry) {
super.registerOperations(registry);
registry.registerOperationHandler(TestUtils.createOperationDefinition("dump-session-info",DEBUG), NoopOperationStepHandler.WITHOUT_RESULT);
}
}