[teiid-commits] teiid SVN: r1958 - in trunk/console/src: resources/embedded/META-INF and 1 other directory.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Thu Mar 11 11:06:31 EST 2010
Author: tejones
Date: 2010-03-11 11:06:31 -0500 (Thu, 11 Mar 2010)
New Revision: 1958
Modified:
trunk/console/src/main/java/org/teiid/rhq/plugin/VDBDiscoveryComponent.java
trunk/console/src/resources/embedded/META-INF/rhq-plugin.xml
Log:
Added error section and updated VDB status
Modified: trunk/console/src/main/java/org/teiid/rhq/plugin/VDBDiscoveryComponent.java
===================================================================
--- trunk/console/src/main/java/org/teiid/rhq/plugin/VDBDiscoveryComponent.java 2010-03-10 18:54:40 UTC (rev 1957)
+++ trunk/console/src/main/java/org/teiid/rhq/plugin/VDBDiscoveryComponent.java 2010-03-11 16:06:31 UTC (rev 1958)
@@ -32,6 +32,7 @@
import org.apache.commons.logging.LogFactory;
import org.jboss.managed.api.ComponentType;
import org.jboss.managed.api.ManagedComponent;
+import org.jboss.managed.api.ManagedObject;
import org.jboss.managed.api.ManagedProperty;
import org.jboss.managed.plugins.ManagedObjectImpl;
import org.jboss.metatype.api.types.MetaType;
@@ -97,7 +98,8 @@
vdbName, // Resource Name
vdbVersion.toString(), // Version
PluginConstants.ComponentType.VDB.DESCRIPTION, // Description
- discoveryContext.getDefaultPluginConfiguration(), // Plugin Config
+ discoveryContext.getDefaultPluginConfiguration(), // Plugin
+ // Config
null // Process info from a process scan
);
@@ -113,6 +115,9 @@
getModels(mcVdb, configuration);
+ // Get VDB errors/warnings
+ // getErrors(mcVdb, configuration);
+
detail.setPluginConfiguration(configuration);
// Add to return values
@@ -126,9 +131,10 @@
/**
* @param mcVdb
* @param configuration
- * @throws Exception
+ * @throws Exception
*/
- private void getModels(ManagedComponent mcVdb, Configuration configuration) throws Exception {
+ private void getModels(ManagedComponent mcVdb, Configuration configuration)
+ throws Exception {
// Get models from VDB
ManagedProperty property = mcVdb.getProperty("models");
CollectionValueSupport valueSupport = (CollectionValueSupport) property
@@ -141,6 +147,9 @@
PropertyList logicalModelsList = new PropertyList("virtualModels");
configuration.put(logicalModelsList);
+ PropertyList errorList = new PropertyList("errorList");
+ configuration.put(errorList);
+
for (MetaValue value : metaValues) {
GenericValueSupport genValueSupport = (GenericValueSupport) value;
ManagedObjectImpl managedObject = (ManagedObjectImpl) genValueSupport
@@ -153,15 +162,16 @@
} catch (Exception e) {
throw e;
}
-
+
Boolean supportMultiSource = Boolean.TRUE;
try {
- supportMultiSource = ProfileServiceUtil.booleanValue(managedObject
- .getProperty("supportsMultiSourceBindings").getValue());
+ supportMultiSource = ProfileServiceUtil
+ .booleanValue(managedObject.getProperty(
+ "supportsMultiSourceBindings").getValue());
} catch (Exception e) {
throw e;
}
-
+
String modelName = managedObject.getName();
ManagedProperty connectorBinding = managedObject
.getProperty("sourceMappings");
@@ -170,6 +180,25 @@
String visibility = ((SimpleValueSupport) managedObject
.getProperty("visible").getValue()).getValue().toString();
+ // Get any model errors/warnings
+ MetaValue errors = managedObject.getProperty("errors").getValue();
+ if (errors != null) {
+ CollectionValueSupport errorValueSupport = (CollectionValueSupport) errors;
+ MetaValue[] errorArray = errorValueSupport.getElements();
+ for (MetaValue error : errorArray) {
+ GenericValueSupport errorGenValueSupport = (GenericValueSupport) error;
+ ManagedObject errorMo = (ManagedObject) errorGenValueSupport
+ .getValue();
+ String severity = ((SimpleValue) errorMo.getProperty(
+ "severity").getValue()).getValue().toString();
+ String message = ((SimpleValue) errorMo
+ .getProperty("value").getValue()).getValue()
+ .toString();
+ PropertyMap errorMap = new PropertyMap("errorMap", new PropertySimple("severity", severity), new PropertySimple("message", message));
+ errorList.add(errorMap);
+ }
+ }
+
for (Map<String, String> sourceMap : sourceList) {
if (isSource) {
@@ -178,12 +207,13 @@
PropertyMap model = new PropertyMap("model",
new PropertySimple("name", modelName),
- new PropertySimple("source", isSource),
new PropertySimple("sourceName", sourceName),
new PropertySimple("jndiName", jndiName),
new PropertySimple("visibility", visibility),
- new PropertySimple("supportMultiSource", supportMultiSource));
+ new PropertySimple("supportsMultiSource",
+ supportMultiSource));
+ model.getSimple("jndiName").setOverride(false);
sourceModelsList.add(model);
} else {
PropertyMap model = new PropertyMap("model",
@@ -203,17 +233,17 @@
*/
public static <T> void getSourceMappingValue(MetaValue pValue,
Collection<Map<String, String>> list) {
+ Map<String, String> map = new HashMap<String, String>();
+ list.add(map);
MetaType metaType = pValue.getMetaType();
if (metaType.isCollection()) {
for (MetaValue value : ((CollectionValueSupport) pValue)
.getElements()) {
- Map<String, String> map = new HashMap<String, String>();
- MetaValueFactory metaValueFactory = MetaValueFactory
- .getInstance();
- String sourceName = (String) metaValueFactory
- .unwrap(((CompositeValueSupport) value).get("name"));
- String jndi = (String) metaValueFactory
- .unwrap(((CompositeValueSupport) value).get("jndiName"));
+ GenericValueSupport genValue = ((GenericValueSupport) value);
+ ManagedObject mo = (ManagedObject) genValue.getValue();
+ String sourceName = mo.getName();
+ String jndi = ((SimpleValue) mo.getProperty("jndiName")
+ .getValue()).getValue().toString();
map.put("name", sourceName);
map.put("jndiName", jndi);
}
Modified: trunk/console/src/resources/embedded/META-INF/rhq-plugin.xml
===================================================================
--- trunk/console/src/resources/embedded/META-INF/rhq-plugin.xml 2010-03-10 18:54:40 UTC (rev 1957)
+++ trunk/console/src/resources/embedded/META-INF/rhq-plugin.xml 2010-03-11 16:06:31 UTC (rev 1958)
@@ -265,25 +265,75 @@
<c:simple-property name="description" type="string"
description="The Virtual Database Description" />
<c:simple-property name="status" type="string"
- description="The Virtual Database Status" />
+ description="The Virtual Database Status">
+ <c:property-options>
+ <c:option value="ACTIVE" name="ACTIVE" />
+ <c:option value="INACTIVE" name="INACTIVE" default="true"/>
+ </c:property-options>
+ </c:simple-property>
<c:simple-property name="url" type="string"
description="The Virtual Database URL" />
</c:group>
- <c:group name="models" displayName="Models" hiddenByDefault="false">
- <c:list-property name="models" description="The models for this VDB.">
+ <c:group name="sourceModels" displayName="Source Models"
+ hiddenByDefault="false">
+ <c:list-property name="sourceModels" description="The source models for this VDB">
<c:map-property name="model">
<c:simple-property name="name" displayName="Name"
+ description="Name of the model" required="true" readOnly="true"/>
+ <c:simple-property name="sourceName" displayName="Connector Binding"
+ description="Connector binding for this model" required="false" readOnly="true"/>
+ <c:simple-property name="jndiName" displayName="JNDI Name"
+ description="JNDI name for this connector binding" required="false"/>
+ <c:simple-property name="visibility"
+ displayName="Visible" description="Visibility of the model"
+ required="true">
+ <c:property-options>
+ <c:option value="true" name="true" />
+ <c:option value="false" name="false"
+ default="true" />
+ </c:property-options>
+ </c:simple-property>
+ <c:simple-property name="supportsMultiSource"
+ displayName="Supports Multi-source?" description="Determines if this model supports multi-source bindings"
+ required="true">
+ <c:property-options>
+ <c:option value="true" name="true" />
+ <c:option value="false" name="false"
+ default="true" />
+ </c:property-options>
+ </c:simple-property>
+ </c:map-property>
+ </c:list-property>
+ </c:group>
+ <c:group name="virtualModels" displayName="Logical Models"
+ hiddenByDefault="false">
+ <c:list-property name="virtualModels" description="The logical models for this VDB">
+ <c:map-property name="model">
+ <c:simple-property name="name" displayName="Name"
description="Name of the model" required="true" />
- <c:simple-property name="type" displayName="Type"
- description="Type of model" required="true" />
- <c:simple-property name="path" displayName="Path"
- description="Path to the model" required="false" />
<c:simple-property name="visibility"
displayName="Visible" description="Visbility of the model"
- required="false" />
+ required="true">
+ <c:property-options>
+ <c:option value="true" name="true" />
+ <c:option value="false" name="false"
+ default="true" />
+ </c:property-options>
+ </c:simple-property>
</c:map-property>
</c:list-property>
</c:group>
+ <c:group name="errors" displayName="Errors"
+ hiddenByDefault="false" >
+ <c:list-property name="errorList" description="VDB Errors" summary="true">
+ <c:map-property name="errorMap" summary="true">
+ <c:simple-property name="severity" displayName="Severity"
+ description="Severity" readOnly="true" summary="true"/>
+ <c:simple-property name="message" displayName="Message"
+ description="Error message" readOnly="true" summary="true"/>
+ </c:map-property>
+ </c:list-property>
+ </c:group>
</resource-configuration>
<!--
@@ -295,45 +345,8 @@
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"
- createDeletePolicy="both">
- <resource-configuration>
- <c:group name="general" displayName="General"
- hiddenByDefault="false">
- <c:simple-property name="name" type="string"
- description="The model name" readOnly="true" />
- <c:simple-property name="type" type="string"
- description="The model type. e.g. Source or Virtual" readOnly="true" />
- <c:simple-property name="path" type="string"
- description="The model path" readOnly="true" />
- <c:simple-property name="modelURI" type="string"
- description="The model URI" readOnly="true" />
- <c:simple-property name="source" type="string"
- description="True if this is a physical source model" readOnly="true" />
- <c:simple-property name="visible" type="string"
- description="True if the model is visible" readOnly="true" />
- <c:simple-property name="modelType" type="string"
- description="Type for this model" readOnly="true" />
- <c:simple-property name="supportsMultiSourceBindings"
- type="string" description="True if this models supports multiple source bindings"
- readOnly="true" />
- </c:group>
- <c:group name="connectors" displayName="Connectors"
- hiddenByDefault="false">
- <c:list-property name="connectors"
- description="The connector(s) for this Model">
- <c:map-property name="connector">
- <c:simple-property name="name" displayName="Name"
- description="Connector for this model" required="true" />
- </c:map-property>
- </c:list-property>
- </c:group>
- </resource-configuration>
-
- </service>
-
</service>
</server>
More information about the teiid-commits
mailing list