[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