[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