Author: rareddy
Date: 2012-05-10 13:12:24 -0400 (Thu, 10 May 2012)
New Revision: 4095
Modified:
trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidExtension.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidOperationHandler.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/TransportAdd.java
Log:
TEIID-2026: Made all the attributes writable. However since most of them or independent
services with dependecies with each other, they require restart to take effect.
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java 2012-05-10
16:53:47 UTC (rev 4094)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java 2012-05-10
17:12:24 UTC (rev 4095)
@@ -44,6 +44,8 @@
import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.ServiceVerificationHandler;
import org.jboss.as.controller.descriptions.DescriptionProvider;
+import org.jboss.as.controller.registry.AttributeAccess.Storage;
+import org.jboss.as.controller.registry.ManagementResourceRegistration;
import org.jboss.as.controller.services.path.RelativePathService;
import org.jboss.as.naming.ManagedReferenceFactory;
import org.jboss.as.naming.ServiceBasedNamingStore;
@@ -570,4 +572,10 @@
return this.vdbRepoInjector.getValue();
}
}
+
+ public static void registerReadWriteAttributes(ManagementResourceRegistration subsystem)
{
+ for (int i = 0; i < attributes.length; i++) {
+ subsystem.registerReadWriteAttribute(attributes[i].getModelName(), null,
AttributeWrite.INSTANCE, Storage.CONFIGURATION);
+ }
+ }
}
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidExtension.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidExtension.java 2012-05-10
16:53:47 UTC (rev 4094)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidExtension.java 2012-05-10
17:12:24 UTC (rev 4095)
@@ -33,8 +33,8 @@
import org.jboss.as.controller.descriptions.DescriptionProvider;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.parsing.ExtensionParsingContext;
+import org.jboss.as.controller.registry.AttributeAccess.Storage;
import org.jboss.as.controller.registry.ManagementResourceRegistration;
-import org.jboss.as.controller.registry.AttributeAccess.Storage;
import org.jboss.dmr.ModelNode;
import org.teiid.logging.LogManager;
@@ -114,7 +114,10 @@
teiidSubsystem.registerReadOnlyAttribute(RUNTIME_VERSION, new
GetRuntimeVersion(RUNTIME_VERSION), Storage.RUNTIME);
- teiidSubsystem.registerReadOnlyAttribute(ACTIVE_SESSION_COUNT, new
GetActiveSessionsCount(ACTIVE_SESSION_COUNT), Storage.RUNTIME);
+ teiidSubsystem.registerReadOnlyAttribute(ACTIVE_SESSION_COUNT, new
GetActiveSessionsCount(ACTIVE_SESSION_COUNT), Storage.RUNTIME);
+
+ TeiidAdd.registerReadWriteAttributes(teiidSubsystem);
+ TransportAdd.registerReadWriteAttributes(transportModel);
// teiid level admin api operation handlers
new GetTranslator().register(teiidSubsystem);
Modified:
trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidOperationHandler.java
===================================================================
---
trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidOperationHandler.java 2012-05-10
16:53:47 UTC (rev 4094)
+++
trunk/jboss-integration/src/main/java/org/teiid/jboss/TeiidOperationHandler.java 2012-05-10
17:12:24 UTC (rev 4095)
@@ -42,6 +42,7 @@
import javax.xml.stream.XMLStreamException;
import org.jboss.as.connector.metadata.xmldescriptors.ConnectorXmlDescriptor;
+import org.jboss.as.controller.AbstractWriteAttributeHandler;
import org.jboss.as.controller.OperationContext;
import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.PathAddress;
@@ -141,6 +142,27 @@
}
}
+/**
+ * Since all the properties in the DQP/Buffer Manager etc needs restart, just save it to
the configuration
+ * then restart will apply correctly to the buffer manager.
+ */
+class AttributeWrite extends AbstractWriteAttributeHandler<Void> {
+ static AttributeWrite INSTANCE = new AttributeWrite();
+
+ @Override
+ protected boolean applyUpdateToRuntime(OperationContext context,ModelNode
operation,String attributeName,ModelNode resolvedValue,
+ ModelNode currentValue,
org.jboss.as.controller.AbstractWriteAttributeHandler.HandbackHolder<Void>
handbackHolder)
+ throws OperationFailedException {
+ return true;
+ }
+
+ @Override
+ protected void revertUpdateToRuntime(OperationContext context, ModelNode operation,
String attributeName,
+ ModelNode valueToRestore, ModelNode valueToRevert, Void handback)
+ throws OperationFailedException {
+ }
+}
+
class GetActiveSessionsCount extends TeiidOperationHandler{
protected GetActiveSessionsCount(String operationName) {
super(operationName);
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/TransportAdd.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/TransportAdd.java 2012-05-10
16:53:47 UTC (rev 4094)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/TransportAdd.java 2012-05-10
17:12:24 UTC (rev 4095)
@@ -42,6 +42,8 @@
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.ServiceVerificationHandler;
import org.jboss.as.controller.descriptions.DescriptionProvider;
+import org.jboss.as.controller.registry.ManagementResourceRegistration;
+import org.jboss.as.controller.registry.AttributeAccess.Storage;
import org.jboss.as.naming.ManagedReferenceFactory;
import org.jboss.as.naming.ServiceBasedNamingStore;
import org.jboss.as.naming.deployment.ContextNames;
@@ -297,4 +299,10 @@
return socket;
}
+
+ public static void registerReadWriteAttributes(ManagementResourceRegistration subsystem)
{
+ for (int i = 0; i < attributes.length; i++) {
+ subsystem.registerReadWriteAttribute(attributes[i].getModelName(), null,
AttributeWrite.INSTANCE, Storage.CONFIGURATION);
+ }
+ }
}
Show replies by date