[teiid-commits] teiid SVN: r4095 - trunk/jboss-integration/src/main/java/org/teiid/jboss.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Thu May 10 13:12:25 EDT 2012


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);
+		}		
+	}
 }



More information about the teiid-commits mailing list