[teiid-commits] teiid SVN: r1890 - in branches/JCA/console/src: main/java/org/teiid/rhq/plugin and 3 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed Mar 3 13:45:43 EST 2010


Author: tejones
Date: 2010-03-03 13:45:43 -0500 (Wed, 03 Mar 2010)
New Revision: 1890

Modified:
   branches/JCA/console/src/main/java/org/teiid/rhq/admin/DQPManagementView.java
   branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformComponent.java
   branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformDiscoveryComponent.java
   branches/JCA/console/src/main/java/org/teiid/rhq/plugin/VDBComponent.java
   branches/JCA/console/src/main/java/org/teiid/rhq/plugin/objects/ExecutedOperationResultImpl.java
   branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java
   branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/ProfileServiceUtil.java
   branches/JCA/console/src/resources/embedded/META-INF/rhq-plugin.xml
Log:
Add operations and metrics to VDB and engine. Also restructure tree.

Modified: branches/JCA/console/src/main/java/org/teiid/rhq/admin/DQPManagementView.java
===================================================================
--- branches/JCA/console/src/main/java/org/teiid/rhq/admin/DQPManagementView.java	2010-03-03 04:42:56 UTC (rev 1889)
+++ branches/JCA/console/src/main/java/org/teiid/rhq/admin/DQPManagementView.java	2010-03-03 18:45:43 UTC (rev 1890)
@@ -4,24 +4,21 @@
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 
 import javax.naming.NamingException;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.managed.api.ComponentType;
 import org.jboss.managed.api.ManagedComponent;
 import org.jboss.managed.api.ManagedOperation;
 import org.jboss.metatype.api.types.MetaType;
 import org.jboss.metatype.api.values.CollectionValueSupport;
 import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.MetaValueFactory;
 import org.teiid.adminapi.impl.RequestMetadata;
 import org.teiid.adminapi.impl.RequestMetadataMapper;
 import org.teiid.adminapi.impl.SessionMetadata;
@@ -30,15 +27,16 @@
 import org.teiid.rhq.plugin.util.PluginConstants;
 import org.teiid.rhq.plugin.util.ProfileServiceUtil;
 import org.teiid.rhq.plugin.util.PluginConstants.ComponentType.Platform;
-import org.teiid.rhq.plugin.util.PluginConstants.ComponentType.Platform.Metrics;
-import org.teiid.rhq.plugin.util.PluginConstants.ComponentType.Platform.Operations;
+import org.teiid.rhq.plugin.util.PluginConstants.ComponentType.VDB;
 
-import com.metamatrix.core.MetaMatrixRuntimeException;
 
-public class DQPManagementView implements PluginConstants{
 
+public class DQPManagementView implements PluginConstants {
+
 	private static ManagedComponent mc = null;
 	private static final Log LOG = LogFactory.getLog(DQPManagementView.class);
+	private static final MetaValueFactory metaValueFactory = MetaValueFactory
+			.getInstance();
 
 	public DQPManagementView() {
 
@@ -62,7 +60,7 @@
 	}
 
 	private Object getPlatformMetric(String componentType, String metric,
-			Map valueMap) {
+			Map<String, Object> valueMap) {
 
 		Object resultObject = new Object();
 
@@ -78,8 +76,7 @@
 						.equals(PluginConstants.ComponentType.Platform.Metrics.LONG_RUNNING_QUERIES)) {
 					Integer longRunningQueryLimit = (Integer) valueMap
 							.get(PluginConstants.Operation.Value.LONG_RUNNING_QUERY_LIMIT);
-					Collection<RequestMetadata> longRunningQueries = getLongRunningQueries(
-							longRunningQueryLimit);
+					Collection<RequestMetadata> longRunningQueries = getLongRunningQueries(longRunningQueryLimit);
 					resultObject = new Double(longRunningQueries.size());
 				}
 			}
@@ -89,7 +86,7 @@
 	}
 
 	private Object getVdbMetric(String componentType, String identifier,
-			String metric, Map valueMap) {
+			String metric, Map<String, Object> valueMap) {
 
 		Object resultObject = new Object();
 
@@ -111,118 +108,148 @@
 				PluginConstants.ComponentType.Platform.NAME)) {
 			executePlatformOperation(operationResult, operationResult
 					.getOperationName(), valueMap);
+		} else if (operationResult.getComponentType().equals(
+				PluginConstants.ComponentType.VDB.NAME)) {
+			executeVdbOperation(operationResult, operationResult
+					.getOperationName(), valueMap);
 		}
 
-		// else if
-		// (operationResult.getComponentType().equals(ConnectionConstants.ComponentType.Runtime.System.TYPE))
-		// {
-		// executeSystemOperation(operationResult,
-		// operationResult.getOperationName(), valueMap);
-		// } else if (operationResult.getComponentType().equals(
-		// Runtime.Process.TYPE)) {
-		// executeProcessOperation(operationResult,
-		// operationResult.getOperationName(), valueMap);
-		// } else if
-		// (operationResult.getComponentType().equals(com.metamatrix.rhq.comm.ConnectionConstants.ComponentType.Runtime.Host.TYPE))
-		// {
-		// executeHostOperation(operationResult,
-		// operationResult.getOperationName(), valueMap);
-		// } else if
-		// (operationResult.getComponentType().equals(com.metamatrix.rhq.comm.ConnectionConstants.ComponentType.Runtime.Session.TYPE))
-		// {
-		// executeSessionOperation(operationResult,
-		// operationResult.getOperationName(), valueMap);
-		// } else if
-		// (operationResult.getComponentType().equals(com.metamatrix.rhq.comm.ConnectionConstants.ComponentType.Runtime.Queries.TYPE))
-		// {
-		// executeQueriesOperation(operationResult,
-		// operationResult.getOperationName(), valueMap);
-		// }
 	}
 
 	private void executePlatformOperation(ExecutedResult operationResult,
 			final String operationName, final Map<String, Object> valueMap) {
 		Collection<RequestMetadata> resultObject = new ArrayList<RequestMetadata>();
+		Collection<SessionMetadata> activeSessionsCollection = new ArrayList<SessionMetadata>();
 
 		if (operationName.equals(Platform.Operations.GET_LONGRUNNINGQUERIES)) {
 			Integer longRunningValue = (Integer) valueMap
 					.get(Operation.Value.LONG_RUNNING_QUERY_LIMIT);
 			List<String> fieldNameList = operationResult.getFieldNameList();
 			resultObject = getLongRunningQueries(longRunningValue);
-			operationResult.setContent(createReportResultList(fieldNameList, resultObject.iterator()));
-		} 
-		
-//		else if (operationName.equals(ComponentType.Operation.KILL_REQUEST)) {
-//			String requestID = (String) valueMap
-//					.get(ConnectionConstants.ComponentType.Operation.Value.REQUEST_ID);
-//			cancelRequest(requestID);
-//		} else if (operationName.equals(ComponentType.Operation.GET_VDBS)) {
-//			List fieldNameList = operationResult.getFieldNameList();
-//			resultObject = getVDBs(fieldNameList);
-//			operationResult.setContent((List) resultObject);
-//		} else if (operationName.equals(ComponentType.Operation.GET_PROPERTIES)) {
-//			String identifier = (String) valueMap
-//					.get(ConnectionConstants.IDENTIFIER);
-//			Properties props = getProperties(
-//					ConnectionConstants.ComponentType.Runtime.System.TYPE,
-//					identifier);
-//			resultObject = createReportResultList(props);
-//			operationResult.setContent((List) resultObject);
-//		}
+			operationResult.setContent(createReportResultList(fieldNameList,
+					resultObject.iterator()));
+		} else if (operationName.equals(Platform.Operations.GET_SESSIONS)) {
+			List<String> fieldNameList = operationResult.getFieldNameList();
+			MetaValue sessionMetaValue = getSessions();
+			getSessionCollectionValue(sessionMetaValue,
+					activeSessionsCollection);
+			operationResult.setContent(createReportResultList(fieldNameList,
+					activeSessionsCollection.iterator()));
+		} else if (operationName.equals(Platform.Operations.GET_REQUESTS)) {
+			List<String> fieldNameList = operationResult.getFieldNameList();
+			MetaValue requestMetaValue = getRequests();
+			getRequestCollectionValue(requestMetaValue, resultObject);
+			operationResult.setContent(createReportResultList(fieldNameList,
+					resultObject.iterator()));
+		} else if (operationName.equals(Platform.Operations.KILL_SESSION)) {
+			Long sessionID = (Long) valueMap.get(Operation.Value.SESSION_ID);
+			MetaValue[] args = new MetaValue[] {metaValueFactory.create(sessionID) };
+			try {
+				executeManagedOperation(mc, Platform.Operations.KILL_SESSION, args);
+			} catch (Exception e) {
+				final String msg = "Exception executing operation: " + Platform.Operations.KILL_SESSION; //$NON-NLS-1$
+				LOG.error(msg, e);
+			}
+		} else if (operationName.equals(Platform.Operations.KILL_REQUEST)) {
+			Long requestID = (Long) valueMap.get(Operation.Value.REQUEST_ID);
+			Long sessionID = (Long) valueMap.get(Operation.Value.SESSION_ID);
+			MetaValue[] args = new MetaValue[] {
+					metaValueFactory.create(requestID),
+					metaValueFactory.create(sessionID) };
+			try {
+				executeManagedOperation(mc, Platform.Operations.KILL_REQUEST, args);
+			} catch (Exception e) {
+				final String msg = "Exception executing operation: " + Platform.Operations.KILL_REQUEST; //$NON-NLS-1$
+				LOG.error(msg, e);
+			}
+		}
+	}
 
+	private void executeVdbOperation(ExecutedResult operationResult,
+			final String operationName, final Map<String, Object> valueMap) {
+		Collection<RequestMetadata> resultObject = new ArrayList<RequestMetadata>();
+		Collection<SessionMetadata> activeSessionsCollection = new ArrayList<SessionMetadata>();
+
+		if (operationName.equals(VDB.Operations.GET_PROPERTIES)) {
+			List<String> fieldNameList = operationResult.getFieldNameList();
+			getProperties(PluginConstants.ComponentType.VDB.NAME);
+			operationResult.setContent(createReportResultList(fieldNameList,
+			resultObject.iterator()));
+		}else if (operationName.equals(VDB.Operations.GET_SESSIONS)) {
+			List<String> fieldNameList = operationResult.getFieldNameList();
+			MetaValue sessionMetaValue = getSessions();
+			getSessionCollectionValue(sessionMetaValue,
+					activeSessionsCollection);
+			operationResult.setContent(createReportResultList(fieldNameList,
+					activeSessionsCollection.iterator()));
+		} else if (operationName.equals(VDB.Operations.GET_REQUESTS)) {
+			List<String> fieldNameList = operationResult.getFieldNameList();
+			MetaValue requestMetaValue = getRequests();
+			getRequestCollectionValue(requestMetaValue, resultObject);
+			operationResult.setContent(createReportResultList(fieldNameList,
+					resultObject.iterator()));
+		}
+
 	}
 
 	/*
 	 * Helper methods
 	 */
 
-	protected MetaValue getRequests(List<String> fieldNameList) {
+	public MetaValue getProperties(final String component) {
 
+		MetaValue propertyValue = null;
+		MetaValue args = null;
+
+		try {
+			propertyValue = executeManagedOperation(mc,
+					PluginConstants.Operation.GET_PROPERTIES, args);
+		} catch (Exception e) {
+			final String msg = "Exception executing operation: " + Platform.Operations.GET_PROPERTIES; //$NON-NLS-1$
+			LOG.error(msg, e);
+		}
+
+		return propertyValue;
+
+	}
+
+	protected MetaValue getRequests()  {
+
 		MetaValue requestsCollection = null;
 		MetaValue args = null;
 
-		requestsCollection = executeManagedOperation(mc,
-				PluginConstants.Operation.GET_REQUESTS, args);
+		try {
+			requestsCollection = executeManagedOperation(mc,
+					PluginConstants.Operation.GET_REQUESTS, args);
+		} catch (Exception e) {
+			final String msg = "Exception executing operation: " + Platform.Operations.GET_REQUESTS; //$NON-NLS-1$
+			LOG.error(msg, e);
+		}
 
 		return requestsCollection;
 
-		// if (fieldNameList != null) {
-		// Collection reportResultCollection = createReportResultList(
-		// fieldNameList, requestsCollection.iterator());
-		// return reportResultCollection;
-		// } else {
-		// return requestsCollection;
-		// }
 	}
 
-	public MetaValue getSessions(List<String> fieldNameList) {
+	public MetaValue getSessions() {
 
 		MetaValue sessionCollection = null;
 		MetaValue args = null;
 
-		sessionCollection = executeManagedOperation(mc,
-				PluginConstants.Operation.GET_SESSIONS, args);
+		try {
+			sessionCollection = executeManagedOperation(mc,
+					PluginConstants.Operation.GET_SESSIONS, args);
+		} catch (Exception e) {
+			final String msg = "Exception executing operation: " + Platform.Operations.GET_SESSIONS; //$NON-NLS-1$
+			LOG.error(msg, e);
+		}
 		return sessionCollection;
 
-		// if (fieldNameList != null) {
-		// Collection reportResultCollection = createReportResultList(
-		// fieldNameList, requestsCollection.iterator());
-		// return reportResultCollection;
-		// } else {
-		// return requestsCollection;
-		// }
 	}
 
 	public static MetaValue executeManagedOperation(ManagedComponent mc,
-			String operation, MetaValue... args) {
+			String operation, MetaValue... args) throws Exception {
 
-		try {
-			mc = ProfileServiceUtil.getDQPManagementView();
-		} catch (NamingException e) {
-			LOG.error(e);
-		} catch (Exception e1) {
-			LOG.error(e1);
-		}
+		mc = getDQPManagementView(mc);
 
 		for (ManagedOperation mo : mc.getOperations()) {
 			String opName = mo.getName();
@@ -239,19 +266,52 @@
 				}
 			}
 		}
-		throw new MetaMatrixRuntimeException(
+		throw new Exception(
 				"No operation found with given name =" + operation);
 
 	}
 
+	/**
+	 * @param mc
+	 * @return
+	 */
+	private static ManagedComponent getDQPManagementView(ManagedComponent mc) {
+		try {
+			mc = ProfileServiceUtil.getDQPManagementView();
+		} catch (NamingException e) {
+			final String msg = "NamingException getting the DQPManagementView"; //$NON-NLS-1$
+			LOG.error(msg, e);
+		} catch (Exception e1) {
+			final String msg = "Exception getting the DQPManagementView"; //$NON-NLS-1$
+			LOG.error(msg, e1);
+		}
+		return mc;
+	}
+
+	public static MetaValue getManagedProperty(ManagedComponent mc,
+			String property, MetaValue... args) throws Exception {
+
+		mc = getDQPManagementView(mc);
+		
+		try {
+			mc.getProperty(property);
+		} catch (Exception e) {
+			final String msg = "Exception getting the AdminApi in " + property; //$NON-NLS-1$
+			LOG.error(msg, e);
+		}
+
+		throw new Exception(
+				"No property found with given name =" + property);
+	}
+
 	private Integer getQueryCount() {
 
 		Integer count = new Integer(0);
 
 		MetaValue requests = null;
-		Collection<RequestMetadata> requestsCollection = new ArrayList();
+		Collection<RequestMetadata> requestsCollection = new ArrayList<RequestMetadata>();
 
-		requests = getRequests(null);
+		requests = getRequests();
 
 		getRequestCollectionValue(requests, requestsCollection);
 
@@ -265,7 +325,7 @@
 	private Integer getSessionCount() {
 
 		Collection<SessionMetadata> activeSessionsCollection = new ArrayList<SessionMetadata>();
-		MetaValue sessionMetaValue = getSessions(null);
+		MetaValue sessionMetaValue = getSessions();
 		getSessionCollectionValue(sessionMetaValue, activeSessionsCollection);
 		return activeSessionsCollection.size();
 	}
@@ -278,7 +338,7 @@
 
 		double longRunningQueryTimeDouble = new Double(longRunningValue);
 
-		requestsCollection = getRequests(null);
+		requestsCollection = getRequests();
 
 		getRequestCollectionValue(requestsCollection, list);
 
@@ -294,10 +354,10 @@
 				requestsIter.remove();
 			}
 		}
-		 
+
 		return list;
 	}
-	
+
 	public static <T> void getRequestCollectionValue(MetaValue pValue,
 			Collection<RequestMetadata> list) {
 		MetaType metaType = pValue.getMetaType();
@@ -335,10 +395,11 @@
 			}
 		}
 	}
-	
-	private Collection createReportResultList(List fieldNameList, Iterator objectIter) {
+
+	private Collection createReportResultList(List fieldNameList,
+			Iterator objectIter) {
 		Collection reportResultList = new ArrayList();
-		
+
 		while (objectIter.hasNext()) {
 			Object object = objectIter.next();
 
@@ -347,10 +408,10 @@
 				cls = object.getClass();
 				Iterator methodIter = fieldNameList.iterator();
 				Map reportValueMap = new HashMap<String, String>();
-				while (methodIter.hasNext()) {						
+				while (methodIter.hasNext()) {
 					String fieldName = (String) methodIter.next();
 					String methodName = fieldName;
-					Method meth = cls.getMethod(methodName, (Class[]) null);  
+					Method meth = cls.getMethod(methodName, (Class[]) null);
 					Object retObj = meth.invoke(object, (Object[]) null);
 					reportValueMap.put(fieldName, retObj);
 				}

Modified: branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformComponent.java
===================================================================
--- branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformComponent.java	2010-03-03 04:42:56 UTC (rev 1889)
+++ branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformComponent.java	2010-03-03 18:45:43 UTC (rev 1890)
@@ -31,7 +31,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.managed.api.ManagedComponent;
 import org.jboss.managed.api.RunState;
 import org.rhq.core.domain.configuration.Configuration;
 import org.rhq.core.domain.configuration.PropertySimple;
@@ -51,10 +50,9 @@
 public class PlatformComponent extends Facet implements PluginConstants {
 	private final Log LOG = LogFactory.getLog(PlatformComponent.class);
 
-	
 	/**
 	 * @see org.teiid.rhq.plugin.Facet#getComponentType()
-	 * @since 4.3
+	 * @since 7.0
 	 */
 	@Override
 	String getComponentType() {
@@ -63,14 +61,10 @@
 
 	@Override
 	public AvailabilityType getAvailability() {
-		RunState runState = null;
-		ManagedComponent mc;
+				
+		RunState runState;
 		try {
-			mc =  ProfileServiceUtil.getManagedComponent(new org.jboss.managed.api.ComponentType(
-					ComponentType.Platform.TYPE,
-					ComponentType.Platform.SUBTYPE),
-					ComponentType.Platform.TEIID_RUNTIME_ENGINE);
-			runState = mc.getRunState();
+			runState = ProfileServiceUtil.getDQPManagementView().getRunState();
 		} catch (NamingException e) {
 			LOG
 					.error("Naming exception getting: "
@@ -82,35 +76,40 @@
 							+ PluginConstants.ComponentType.Platform.TEIID_RUNTIME_ENGINE);
 			return AvailabilityType.DOWN;
 		}
-
-		return (runState == RunState.RUNNING) ? AvailabilityType.UP
-				: AvailabilityType.DOWN;
-
+        return (runState == RunState.RUNNING) ? AvailabilityType.UP :
+                AvailabilityType.DOWN;
+				
 	}
 
 	@Override
 	protected void setOperationArguments(String name,
 			Configuration configuration, Map<String, Object> valueMap) {
 		// Parameter logic for System Operations
-		if (name.equals(Platform.Operations.GET_QUERIES) ||
-			name.equals(Platform.Operations.GET_LONGRUNNINGQUERIES)) {
-			Integer long_running_value = getResourceConfiguration().getSimple(Operation.Value.LONG_RUNNING_QUERY_LIMIT).getIntegerValue();
-			valueMap.put(Operation.Value.LONG_RUNNING_QUERY_LIMIT, long_running_value);				
+		if (name.equals(Platform.Operations.GET_QUERIES)
+				|| name.equals(Platform.Operations.GET_LONGRUNNINGQUERIES)) {
+			Integer long_running_value = getResourceConfiguration().getSimple(
+					Operation.Value.LONG_RUNNING_QUERY_LIMIT).getIntegerValue();
+			valueMap.put(Operation.Value.LONG_RUNNING_QUERY_LIMIT,
+					long_running_value);
 		} else if (name.equals(Platform.Operations.KILL_REQUEST)) {
-			String key = Operation.Value.REQUEST_ID;
-			valueMap.put(key, configuration.getSimple(key).getStringValue());
-		} 
-//		else if (name.equals(ConnectionConstants.ComponentType.Operation.GET_PROPERTIES) ) {
-//			String key = ConnectionConstants.IDENTIFIER;
-//			valueMap.put(key, getComponentIdentifier());
-//		}
+			valueMap.put(Operation.Value.REQUEST_ID, configuration.getSimple(
+					Operation.Value.REQUEST_ID).getLongValue());
+			valueMap.put(Operation.Value.SESSION_ID, configuration.getSimple(
+					Operation.Value.SESSION_ID).getLongValue());
+		} else if (name.equals(Platform.Operations.KILL_SESSION)) {
+			valueMap.put(Operation.Value.SESSION_ID, configuration.getSimple(
+					Operation.Value.SESSION_ID).getLongValue());
+		} else if (name.equals(Platform.Operations.GET_PROPERTIES)) {
+			// String key = ConnectionConstants.IDENTIFIER;
+			// valueMap.put(key, getComponentIdentifier());
+		}
 
 	}
 
 	@Override
 	public void getValues(MeasurementReport report,
 			Set<MeasurementScheduleRequest> requests) throws Exception {
-		
+
 		DQPManagementView view = new DQPManagementView();
 
 		Map<String, Object> valueMap = new HashMap<String, Object>();
@@ -121,31 +120,46 @@
 
 			// Initialize any parameters to be used in the retrieval of metric
 			// values
-			if (request.getName().equals(PluginConstants.ComponentType.Platform.Metrics.LONG_RUNNING_QUERIES)) {
+			if (request
+					.getName()
+					.equals(
+							PluginConstants.ComponentType.Platform.Metrics.LONG_RUNNING_QUERIES)) {
 				Integer value = getResourceConfiguration()
 						.getSimple(
 								PluginConstants.Operation.Value.LONG_RUNNING_QUERY_LIMIT)
 						.getIntegerValue();
-				valueMap.put(PluginConstants.Operation.Value.LONG_RUNNING_QUERY_LIMIT, value);
+				valueMap
+						.put(
+								PluginConstants.Operation.Value.LONG_RUNNING_QUERY_LIMIT,
+								value);
 			}
 
 			Object metricReturnObject = view.getMetric(getComponentType(), this
 					.getComponentIdentifier(), name, valueMap);
 
 			try {
-				if (request.getName().equals(PluginConstants.ComponentType.Platform.Metrics.QUERY_COUNT)) {
+				if (request
+						.getName()
+						.equals(
+								PluginConstants.ComponentType.Platform.Metrics.QUERY_COUNT)) {
 					report.addData(new MeasurementDataNumeric(request,
 							(Double) metricReturnObject));
 				} else {
-					if (request.getName().equals(PluginConstants.ComponentType.Platform.Metrics.SESSION_COUNT)) {
+					if (request
+							.getName()
+							.equals(
+									PluginConstants.ComponentType.Platform.Metrics.SESSION_COUNT)) {
 						report.addData(new MeasurementDataNumeric(request,
 								(Double) metricReturnObject));
 					} else {
-						if (request.getName().equals(
-								PluginConstants.ComponentType.Platform.Metrics.LONG_RUNNING_QUERIES)) {
+						if (request
+								.getName()
+								.equals(
+										PluginConstants.ComponentType.Platform.Metrics.LONG_RUNNING_QUERIES)) {
 							report.addData(new MeasurementDataNumeric(request,
 									(Double) metricReturnObject));
 						}
+
 					}
 				}
 
@@ -177,7 +191,7 @@
 			props.put(pluginProp.getName(), pluginProp.getStringValue());
 		}
 
-		//SingletonConnectionManager.getInstance().initialize(props);
+		// SingletonConnectionManager.getInstance().initialize(props);
 		super.updateResourceConfiguration(report);
 
 	}

Modified: branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformDiscoveryComponent.java
===================================================================
--- branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformDiscoveryComponent.java	2010-03-03 04:42:56 UTC (rev 1889)
+++ branches/JCA/console/src/main/java/org/teiid/rhq/plugin/PlatformDiscoveryComponent.java	2010-03-03 18:45:43 UTC (rev 1890)
@@ -38,7 +38,7 @@
 import org.teiid.rhq.plugin.util.ProfileServiceUtil;
 
 /**
- * This is the parent node for a MetaMatrix system
+ * This is the parent node for a Teiid system
  */
 public class PlatformDiscoveryComponent implements ResourceDiscoveryComponent {
 
@@ -58,8 +58,8 @@
 		Set<DiscoveredResourceDetails> discoveredResources = new HashSet<DiscoveredResourceDetails>();
 
 		ManagedComponent mc = ProfileServiceUtil.getManagedComponent(
-				new ComponentType(PluginConstants.ComponentType.Platform.TYPE,
-						PluginConstants.ComponentType.Platform.SUBTYPE),
+				new ComponentType("teiid",
+						"dqp"),
 				PluginConstants.ComponentType.Platform.TEIID_RUNTIME_ENGINE);
 
 		Configuration c = new Configuration(); 

Modified: branches/JCA/console/src/main/java/org/teiid/rhq/plugin/VDBComponent.java
===================================================================
--- branches/JCA/console/src/main/java/org/teiid/rhq/plugin/VDBComponent.java	2010-03-03 04:42:56 UTC (rev 1889)
+++ branches/JCA/console/src/main/java/org/teiid/rhq/plugin/VDBComponent.java	2010-03-03 18:45:43 UTC (rev 1890)
@@ -21,18 +21,24 @@
  */
 package org.teiid.rhq.plugin;
 
+import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.hyperic.sigar.test.GetPass;
 import org.rhq.core.domain.configuration.Configuration;
 import org.rhq.core.domain.measurement.MeasurementDataNumeric;
 import org.rhq.core.domain.measurement.MeasurementReport;
 import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
 import org.rhq.core.pluginapi.measurement.MeasurementFacet;
+import org.teiid.rhq.admin.DQPManagementView;
 import org.teiid.rhq.comm.ConnectionConstants;
 import org.teiid.rhq.plugin.util.PluginConstants;
+import org.teiid.rhq.plugin.util.PluginConstants.Operation;
+import org.teiid.rhq.plugin.util.PluginConstants.ComponentType.Platform;
+import org.teiid.rhq.plugin.util.PluginConstants.ComponentType.VDB;
 
 
 /**
@@ -51,53 +57,79 @@
 	public String getComponentName() {
 		return PluginConstants.ComponentType.VDB.NAME;
 	}
+	
+	@Override
+	protected void setOperationArguments(String name,
+			Configuration configuration, Map<String, Object> valueMap) {
+		// Parameter logic for VDB Operations
+		if (name.equals(VDB.Operations.KILL_REQUEST)) {
+			valueMap.put(Operation.Value.REQUEST_ID, configuration.getSimple(
+					Operation.Value.REQUEST_ID).getLongValue());
+			valueMap.put(Operation.Value.SESSION_ID, configuration.getSimple(
+					Operation.Value.SESSION_ID).getLongValue());
+		} else if (name.equals(Platform.Operations.KILL_SESSION)) {
+			valueMap.put(Operation.Value.SESSION_ID, configuration.getSimple(
+					Operation.Value.SESSION_ID).getLongValue());
+		} else if (name.equals(Platform.Operations.GET_PROPERTIES)) {
+			String key = ConnectionConstants.IDENTIFIER;
+			valueMap.put(key, getComponentIdentifier());
+		}
 
-	/**
-	 * The plugin container will call this method when your resource component
-	 * has been scheduled to collect some measurements now. It is within this
-	 * method that you actually talk to the managed resource and collect the
-	 * measurement data that is has emitted.
-	 * 
-	 * @see MeasurementFacet#getValues(MeasurementReport, Set)
-	 */
+	}
+
+	@Override
 	public void getValues(MeasurementReport report,
-			Set<MeasurementScheduleRequest> requests) {
+			Set<MeasurementScheduleRequest> requests) throws Exception {
+
+		DQPManagementView view = new DQPManagementView();
+
+		Map<String, Object> valueMap = new HashMap<String, Object>();
+
 		for (MeasurementScheduleRequest request : requests) {
 			String name = request.getName();
+			LOG.debug("Measurement name = " + name); //$NON-NLS-1$
 
-			// TODO: based on the request information, you must collect the
-			// requested measurement(s)
-			// you can use the name of the measurement to determine what you
-			// actually need to collect
+			Object metricReturnObject = view.getMetric(getComponentType(), this
+					.getComponentIdentifier(), name, valueMap);
+
 			try {
-				Number value = new Integer(1); // dummy measurement value -
-												// this should come from the
-												// managed resource
-				report.addData(new MeasurementDataNumeric(request, value
-						.doubleValue()));
+				if (request
+						.getName()
+						.equals(
+								PluginConstants.ComponentType.Platform.Metrics.QUERY_COUNT)) {
+					report.addData(new MeasurementDataNumeric(request,
+							(Double) metricReturnObject));
+				} else {
+					if (request
+							.getName()
+							.equals(
+									PluginConstants.ComponentType.Platform.Metrics.SESSION_COUNT)) {
+						report.addData(new MeasurementDataNumeric(request,
+								(Double) metricReturnObject));
+					} else {
+						if (request
+								.getName()
+								.equals(
+										PluginConstants.ComponentType.Platform.Metrics.LONG_RUNNING_QUERIES)) {
+							report.addData(new MeasurementDataNumeric(request,
+									(Double) metricReturnObject));
+						}
+
+					}
+				}
+
 			} catch (Exception e) {
 				LOG.error("Failed to obtain measurement [" + name //$NON-NLS-1$
 						+ "]. Cause: " + e); //$NON-NLS-1$
+				// throw(e);
 			}
 		}
 
-		return;
 	}
-	
-	protected void setOperationArguments(String name, Configuration configuration,
-			Map argumentMap) {
 
-		if (name.equals(ConnectionConstants.ComponentType.Operation.GET_PROPERTIES)){
-			String key = ConnectionConstants.IDENTIFIER;
-			//argumentMap.put(key, getComponentIdentifier());
-		}
- 		
-	}
-
 	@Override
 	String getComponentType() {
-		// TODO Auto-generated method stub
-		return null;
+		return PluginConstants.ComponentType.VDB.NAME;
 	} 
 	
 }

Modified: branches/JCA/console/src/main/java/org/teiid/rhq/plugin/objects/ExecutedOperationResultImpl.java
===================================================================
--- branches/JCA/console/src/main/java/org/teiid/rhq/plugin/objects/ExecutedOperationResultImpl.java	2010-03-03 04:42:56 UTC (rev 1889)
+++ branches/JCA/console/src/main/java/org/teiid/rhq/plugin/objects/ExecutedOperationResultImpl.java	2010-03-03 18:45:43 UTC (rev 1890)
@@ -21,6 +21,7 @@
  */
 package org.teiid.rhq.plugin.objects;
 
+import java.lang.annotation.Annotation;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.LinkedList;
@@ -28,6 +29,8 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.persistence.Transient;
+
 import org.rhq.core.domain.configuration.PropertyList;
 import org.rhq.core.domain.configuration.PropertyMap;
 import org.rhq.core.domain.configuration.PropertySimple;
@@ -52,8 +55,6 @@
 	
 	final static String MAPNAME = "map"; //$NON-NLS-1$
 
-//	String mapName;
-
 	Object result;
 	
 	Object content;
@@ -131,6 +132,8 @@
 			OperationDefinition opDef = (OperationDefinition) operationsIter
 					.next();
 			if (opDef.getName().equals(operationName)) {
+				if (opDef.getResultsConfigurationDefinition()==null) break;
+					
 				Map propDefs = opDef.getResultsConfigurationDefinition()
 						.getPropertyDefinitions();
 				PropertyDefinition listPropDefinition = (PropertyDefinition) propDefs
@@ -142,7 +145,7 @@
 						.getPropertyDefinitions();
 				Iterator simplePropertiesIter = simpleProperties.values()
 						.iterator();
-
+				
 				while (simplePropertiesIter.hasNext()) {
 					PropertyDefinition simpleProp = (PropertyDefinition) simplePropertiesIter
 							.next();
@@ -154,5 +157,5 @@
 				break;
 			}
 		}
-	}	
+	}
 }

Modified: branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java
===================================================================
--- branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java	2010-03-03 04:42:56 UTC (rev 1889)
+++ branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/PluginConstants.java	2010-03-03 18:45:43 UTC (rev 1890)
@@ -37,12 +37,11 @@
 	// In embedded, its a predefined value
 	// In enterprise, its the installation directory
 	//        public final static String INSTALL_DIR = "install.dir"; //$NON-NLS-1$
-
 	/**
 	 * These are global properties used by all components
 	 */
 	public final static String PROFILE_SERVICE = "ProfileService"; //$NON-NLS-1$
-	
+
 	/**
 	 * These properties are exposed via the #getProperty method call.
 	 */
@@ -56,26 +55,28 @@
 	 * @since 1.0
 	 */
 	public interface ComponentType {
-		
+
 		public interface Platform {
 
 			public final static String NAME = "Platform"; //$NON-NLS-1$
+			public final static String TEIID_TYPE = "teiid"; //$NON-NLS-1$
+			public final static String TEIID_SUB_TYPE = "dqp"; //$NON-NLS-1$
 			public final static String TYPE = "ConnectionFactory"; //$NON-NLS-1$
 			public final static String SUBTYPE = "NoTx"; //$NON-NLS-1$
-			public final static String TEIID_RUNTIME_ENGINE = "teiid/runtime-engine"; //$NON-NLS-1$
+			public final static String TEIID_RUNTIME_ENGINE = "org.teiid.jboss.deployers.RuntimeEngineDeployer"; //$NON-NLS-1$
 			public final static String TEIID_ENGINE_RESOURCE_NAME = "Data Service Runtime Engine"; //$NON-NLS-1$
 			public final static String TEIID_ENGINE_RESOURCE_DESCRIPTION = "JBoss Enterprise Data Service Runtime Engine"; //$NON-NLS-1$
 
-
 			public static interface Operations {
 
 				public final static String GET_QUERIES = "listQueries"; //$NON-NLS-1$					
 				public final static String GET_LONGRUNNINGQUERIES = "listLongRunningQueries"; //$NON-NLS-1$
-				public final static String KILL_REQUEST = "killRequest"; //$NON-NLS-1$
+				public final static String KILL_REQUEST = "cancelRequest"; //$NON-NLS-1$
+				public final static String KILL_SESSION = "terminateSession"; //$NON-NLS-1$
 				public final static String GET_PROPERTIES = "getProperties"; //$NON-NLS-1$
 				public final static String GET_REQUESTS = "getRequests"; //$NON-NLS-1$
-				public final static String GET_SESSIONS = "getActiveSessions"; //$NON-NLS-1$
-				
+				public final static String GET_SESSIONS = "getSessions"; //$NON-NLS-1$
+
 			}
 
 			public static interface Metrics {
@@ -94,8 +95,20 @@
 			public final static String NAME = "Enterprise Virtual Database"; //$NON-NLS-1$
 			public final static String DESCRIPTION = "JBoss Enterprise Virtual Database (VDB)"; //$NON-NLS-1$
 
+			public static interface Operations {
+
+				public final static String GET_QUERIES = "listQueries"; //$NON-NLS-1$					
+				public final static String GET_LONGRUNNINGQUERIES = "listLongRunningQueries"; //$NON-NLS-1$
+				public final static String KILL_REQUEST = "cancelRequest"; //$NON-NLS-1$
+				public final static String KILL_SESSION = "terminateSession"; //$NON-NLS-1$
+				public final static String GET_PROPERTIES = "getProperties"; //$NON-NLS-1$
+				public final static String GET_REQUESTS = "getRequests"; //$NON-NLS-1$
+				public final static String GET_SESSIONS = "getSessions"; //$NON-NLS-1$
+
+			}
+
 		}
-		
+
 		public interface Model {
 
 			public final static String TYPE = "teiid"; //$NON-NLS-1$
@@ -105,7 +118,6 @@
 
 		}
 
-
 		public interface Connector {
 
 			public final static String TYPE = "ConnectionFactory"; //$NON-NLS-1$
@@ -113,7 +125,7 @@
 			public final static String SUBTYPE_TX = "Tx"; //$NON-NLS-1$
 			public final static String NAME = "Enterprise Connector"; //$NON-NLS-1$
 			public final static String DESCRIPTION = "JBoss Enterprise Connector Binding"; //$NON-NLS-1$
-			
+
 			public static interface Operations {
 
 				public final static String RESTART_CONNECTOR = "restart"; //$NON-NLS-1$            
@@ -143,20 +155,6 @@
 			}
 		}
 
-		public interface Service {
-
-			public final static String TYPE = "Resource.Service"; //$NON-NLS-1$
-
-			public static interface Operations {
-
-			}
-
-			public static interface Query {
-
-			}
-
-		}
-
 	}
 
 	/**
@@ -182,7 +180,7 @@
 		public final static String GET_PROPERTIES = "getProperties"; //$NON-NLS-1$
 		public final static String GET_REQUESTS = "getRequests"; //$NON-NLS-1$
 		public final static String GET_SESSIONS = "getActiveSessions"; //$NON-NLS-1$
-		
+
 		/**
 		 * Use these value names when calling executeOperation() on the
 		 * connection interface. These will correlate with parameters used in
@@ -201,6 +199,7 @@
 			public final static String FIELD_LIST = "fieldList"; //$NON-NLS-1$
 
 			public final static String REQUEST_ID = "requestID"; //$NON-NLS-1$
+			public final static String SESSION_ID = "sessionID"; //$NON-NLS-1$
 
 			public final static String NAME = "Name"; //$NON-NLS-1$
 			public final static String VALUE = "Value"; //$NON-NLS-1$

Modified: branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/ProfileServiceUtil.java
===================================================================
--- branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/ProfileServiceUtil.java	2010-03-03 04:42:56 UTC (rev 1889)
+++ branches/JCA/console/src/main/java/org/teiid/rhq/plugin/util/ProfileServiceUtil.java	2010-03-03 18:45:43 UTC (rev 1890)
@@ -24,15 +24,13 @@
 import org.jboss.metatype.api.values.SimpleValue;
 import org.jboss.profileservice.spi.ProfileService;
 
-import com.metamatrix.core.MetaMatrixRuntimeException;
 
 public class ProfileServiceUtil {
 
 	protected final Log LOG = LogFactory.getLog(ProfileServiceUtil.class);
 	private static ComponentType DQPTYPE = new ComponentType("teiid", "dqp");
-	private static String DQPNAME = "org.teiid.dqp.internal.process.DQPManagementView";
+	private static String DQPNAME = "org.teiid.jboss.deployers.RuntimeEngineDeployer";
 
-
 	/**
 	 * Get the passed in {@link ManagedComponent}
 	 * 
@@ -47,6 +45,7 @@
 		ManagementView mv = getManagementView(ps, true);
 
 		ManagedComponent mc = mv.getComponent(componentName, componentType);
+		
 		return mc;
 	}
 
@@ -148,14 +147,14 @@
 		return getManagedComponent(DQPTYPE, DQPNAME);
 	}
 	
-	public static String stringValue(MetaValue v1) {
+	public static String stringValue(MetaValue v1) throws Exception {
 		if (v1 != null) {
 			MetaType type = v1.getMetaType();
 			if (type instanceof SimpleMetaType) {
 				SimpleValue simple = (SimpleValue)v1;
 				return simple.getValue().toString();
 			}
-			throw new MetaMatrixRuntimeException("Failed to convert value to string value");
+			throw new Exception("Failed to convert value to string value");
 		}
 		return null;
 	}	

Modified: branches/JCA/console/src/resources/embedded/META-INF/rhq-plugin.xml
===================================================================
--- branches/JCA/console/src/resources/embedded/META-INF/rhq-plugin.xml	2010-03-03 04:42:56 UTC (rev 1889)
+++ branches/JCA/console/src/resources/embedded/META-INF/rhq-plugin.xml	2010-03-03 18:45:43 UTC (rev 1890)
@@ -27,16 +27,16 @@
 	<depends plugin="JBossAS5" useClasses="true" />
 
 	<server name="Data Services" description="JBoss Enterprise Data Services"
-		class="PlatformComponent" discovery="PlatformDiscoveryComponent">
+		class="PlatformComponent" discovery="PlatformDiscoveryComponent"
+		singleton="true">
 
 		<runs-inside>
 			<parent-resource-type name="JBossAS Server"
 				plugin="JBossAS5" />
 		</runs-inside>
-		
-		<operation name="listLongRunningQueries"
-			displayName="View current long running queries"
-			description="List current queries executing against the JBEDSP System that have surpassed the long running query threshhold">
+
+		<operation name="listLongRunningQueries" displayName="View current long running queries"
+			description="List current queries executing against the Teiid System that have surpassed the long running query threshhold">
 			<results>
 				<c:list-property name="list">
 					<c:map-property name="map">
@@ -44,11 +44,9 @@
 							name="getSessionId" type="string"
 							description="The name of the resource whose availability is being reported" />
 						<c:simple-property displayName="Request ID"
-							name="getRequestId" type="string"
-							description="The id for the request" />
+							name="getRequestId" type="string" description="The id for the request" />
 						<c:simple-property displayName="SQL String"
-							name="getCommand" type="string"
-							description="The SQL string for this query" />
+							name="getCommand" type="string" description="The SQL string for this query" />
 						<c:simple-property displayName="Source Request"
 							name="sourceRequest" type="string"
 							description="If false,this is the top level query. If true, this a physical source query." />
@@ -56,31 +54,106 @@
 							name="getExecutionId" type="string"
 							description="The execution id for this request (if this is a physical source query)" />
 						<c:simple-property displayName="Start Time"
-							name="getCreatedTime" type="string"
-							description="The time this query began" />
+							name="getCreatedTime" type="string" description="The time this query began" />
 						<c:simple-property displayName="Start Time"
-							name="getProcessingTime" type="string"
-							description="Processing time for this request" />
+							name="getProcessingTime" type="string" description="Processing time for this request" />
 						<c:simple-property displayName="Transaction ID"
 							name="getTransactionId" type="string"
 							description="The transaction XID if there is a transaction involved" />
-						<c:simple-property displayName="Node ID"
-							name="getNodeId" type="string"
-							description="The node ID of this query" />
-						</c:map-property>
+						<c:simple-property displayName="Node ID" name="getNodeId"
+							type="string" description="The node ID of this query" />
+					</c:map-property>
 				</c:list-property>
 			</results>
 		</operation>
 
-		<operation name="killRequest" displayName="Terminate query"
-			description="Terminate the processing of a query and it's source queries">
+		<operation name="getSessions" displayName="View current sessions"
+			description="Get current sessions connected to the Teiid instance">
+			<results>
+
+				<c:list-property name="list" displayName="Current Sessions"
+					description="Sessions currently connected to the Teiid system"
+					required="false">
+					<c:map-property name="map">
+						<c:simple-property displayName="Session ID"
+							name="getSessionId" type="string" description="The identifier for this session" />
+						<c:simple-property displayName="Application Name"
+							name="getApplicationName" type="string"
+							description="The application associated with Session" />
+						<c:simple-property displayName="Created Time"
+							name="getCreatedTime" type="string" description="When the session was created" />
+						<c:simple-property displayName="Client Host"
+							name="getClientHostName" type="string"
+							description="Host name from where the session created" />
+						<c:simple-property displayName="IP Address"
+							name="getIPAddress" type="string"
+							description="IP address from where this session was created" />
+						<c:simple-property displayName="Last ping time"
+							name="getLastPingTime" type="string" description="Last ping time" />
+						<c:simple-property displayName="User Name" name="getUserName"
+							type="string" description="User associated with this session" />
+						<c:simple-property displayName="VDB Name" name="getVDBName"
+							type="string" description="VDB associated with this session" />
+						<c:simple-property displayName="Security Domain"
+							name="getSecurityDomain" type="string"
+							description="Security Domain that session logged into" />
+					</c:map-property>
+				</c:list-property>
+			</results>
+		</operation>
+
+		<operation name="getRequests" displayName="View current requests"
+			description="Get current requests executing against this Teiid instance">
+			<results>
+
+				<c:list-property name="list" displayName="Current Request"
+					description="Requests currently executing against the Teiid system"
+					required="false">
+					<c:map-property name="map">
+						<c:simple-property displayName="Request ID"
+							name="getRequestId" type="string" description="The request identifier" />
+						<c:simple-property displayName="Session ID"
+							name="getSessionId" type="string" description="Session identifier" />
+						<c:simple-property displayName="Execution ID"
+							name="getExecutionId" type="string" description="Unique Identifier for Request" />
+						<c:simple-property displayName="Created Time"
+							name="getCreatedTime" type="string" description="Time when request submitted" />
+						<c:simple-property displayName="Processing Time"
+							name="getProcessingTime" type="string" description="Processing time for the request" />
+						<c:simple-property displayName="Last ping time"
+							name="getCommand" type="string" description="SQL Command" />
+						<c:simple-property displayName="Connector level request?"
+							name="sourceRequest" type="string"
+							description="True if this is a connector level request" />
+						<c:simple-property displayName="Node ID" name="getNodeId"
+							type="string" description="The node identifier" />
+						<c:simple-property displayName="Tansaction identifier"
+							name="getTransactionId" type="string"
+							description="Transaction XID if a transaction is involved" />
+					</c:map-property>
+				</c:list-property>
+			</results>
+		</operation>
+
+		<operation name="cancelRequest" displayName="Terminate request"
+			description="Terminate the processing of a query and its source queries">
 			<parameters>
-				<c:simple-property displayName="SessionID|RequestID"
-					name="requestID" type="string" required="true"
-					description="The IDs of the session|request to terminate (use format = sessionID|requestID)" />
+				<c:simple-property displayName="Session ID" name="sessionID"
+					type="long" required="true"
+					description="The ID of the session that the request to cancel is associated with" />
+				<c:simple-property displayName="Request ID" name="requestID"
+					type="long" required="true" description="The ID of the request to cancel" />
 			</parameters>
 		</operation>
 
+		<operation name="terminateSession" displayName="Terminate Session"
+			description="Terminate a specified session">
+			<parameters>
+				<c:simple-property displayName="SessionID" name="sessionID"
+					type="long" required="true" description="The ID of the session to terminate" />
+			</parameters>
+		</operation>
+
 		<metric displayName="Query Count" defaultOn="true" displayType="detail"
 			category="throughput" property="queryCount"
 			description="The number of queries for a given point in time" />
@@ -99,7 +172,7 @@
 				<c:description>Query Configuration</c:description>
 				<c:simple-property name="longRunningQueryLimit"
 					type="integer" activationPolicy="immediate" units="seconds"
-					default="600" displayName="Long Running Query limit"
+					default="600" required="true" displayName="Long Running Query limit"
 					description="The value (in seconds) to use to determine if a query is to be considered 'long running'.">
 					<c:constraint>
 						<c:integer-constraint minimum="0" maximum="999999" />
@@ -107,18 +180,81 @@
 				</c:simple-property>
 			</c:group>
 		</resource-configuration>
-       
+
 		<service name="Virtual Database (VDB)s"
 			description="JBoss Enterprise Data Services Virtual Databases" class="VDBComponent"
 			discovery="VDBDiscoveryComponent" createDeletePolicy="both"
 			creationDataType="content">
 
+			<operation name="getSessions" displayName="View VDB Sessions"
+				description="Get current sessions currently connected to this VDB">
+				<results>
+
+					<c:list-property name="list" displayName="Current VDB Sessions"
+						description="Sessions currently connected to this VDB" required="false">
+						<c:map-property name="map">
+							<c:simple-property displayName="Session ID"
+								name="getSessionId" type="string" description="The identifier for this session" />
+							<c:simple-property displayName="Application Name"
+								name="getApplicationName" type="string"
+								description="The application associated with Session" />
+							<c:simple-property displayName="Created Time"
+								name="getCreatedTime" type="string" description="When the session was created" />
+							<c:simple-property displayName="Client Host"
+								name="getClientHostName" type="string"
+								description="Host name from where the session created" />
+							<c:simple-property displayName="IP Address"
+								name="getIPAddress" type="string"
+								description="IP address from where this session was created" />
+							<c:simple-property displayName="Last ping time"
+								name="getLastPingTime" type="string" description="Last ping time" />
+							<c:simple-property displayName="User Name"
+								name="getUserName" type="string" description="User associated with this session" />
+							<c:simple-property displayName="Security Domain"
+								name="getSecurityDomain" type="string"
+								description="Security Domain that session logged into" />
+						</c:map-property>
+					</c:list-property>
+				</results>
+			</operation>
+
+			<operation name="getRequests" displayName="View VDB requests"
+				description="Get current requests executing against this VDB">
+				<results>
+
+					<c:list-property name="list" displayName="Current Request"
+						description="Requests currently executing against the Teiid system"
+						required="false">
+						<c:map-property name="map">
+							<c:simple-property displayName="Request ID"
+								name="getRequestId" type="string" description="The request identifier" />
+							<c:simple-property displayName="Session ID"
+								name="getSessionId" type="string" description="Session identifier" />
+							<c:simple-property displayName="Execution ID"
+								name="getExecutionId" type="string" description="Unique Identifier for Request" />
+							<c:simple-property displayName="Created Time"
+								name="getCreatedTime" type="string" description="Time when request submitted" />
+							<c:simple-property displayName="Processing Time"
+								name="getProcessingTime" type="string" description="Processing time for the request" />
+							<c:simple-property displayName="Last ping time"
+								name="getCommand" type="string" description="SQL Command" />
+							<c:simple-property displayName="Connector level request?"
+								name="sourceRequest" type="string"
+								description="True if this is a connector level request" />
+							<c:simple-property displayName="Node ID" name="getNodeId"
+								type="string" description="The node identifier" />
+							<c:simple-property displayName="Tansaction identifier"
+								name="getTransactionId" type="string"
+								description="Transaction XID if a transaction is involved" />
+						</c:map-property>
+					</c:list-property>
+				</results>
+			</operation>
+
 			<content name="vdb" displayName="VDB Archive" category="deployable"
 				isCreationType="true">
-
 			</content>
 
-
 			<resource-configuration>
 				<c:group name="general" displayName="General"
 					hiddenByDefault="false">
@@ -150,6 +286,15 @@
 				</c:group>
 			</resource-configuration>
 
+			<!--
+				<operation name="getProperties" displayName="View VDB properties"
+				description="List the properties of this VDB"> <results>
+				<c:list-property name="list"> <c:map-property name="map">
+				<c:simple-property name="Name" type="string" description="The name
+				of this property" /> <c:simple-property name="Value" type="string"
+				description="The value of this property" /> </c:map-property>
+				</c:list-property> </results> </operation>
+			-->
 
 			<service name="Models" description="Models that map to a datasource"
 				class="ModelComponent" discovery="ModelDiscoveryComponent"



More information about the teiid-commits mailing list