[teiid-commits] teiid SVN: r1757 - in branches/JCA: client/src/main/java/org/teiid/adminapi/impl and 20 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Tue Jan 19 17:22:15 EST 2010


Author: rareddy
Date: 2010-01-19 17:22:14 -0500 (Tue, 19 Jan 2010)
New Revision: 1757

Added:
   branches/JCA/jboss-integration/src/main/java/org/teiid/templates/connector/ExtendedPropertyMetadata.java
   branches/JCA/jboss-integration/src/test/java/org/teiid/templates/
   branches/JCA/jboss-integration/src/test/java/org/teiid/templates/connector/
   branches/JCA/jboss-integration/src/test/java/org/teiid/templates/connector/TestExtendedPropertyMetadata.java
Modified:
   branches/JCA/client/src/main/java/org/teiid/adminapi/PropertyDefinition.java
   branches/JCA/client/src/main/java/org/teiid/adminapi/impl/PropertyDefinitionMetadata.java
   branches/JCA/connectors/connector-jdbc/src/main/rar/META-INF/ra.xml
   branches/JCA/connectors/connector-ldap/src/main/rar/META-INF/ra.xml
   branches/JCA/connectors/connector-loopback/src/main/rar/META-INF/ra.xml
   branches/JCA/connectors/connector-salesforce/src/main/rar/META-INF/ra.xml
   branches/JCA/connectors/connector-text/src/main/rar/META-INF/ra.xml
   branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-file/ra.xml
   branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-http/ra.xml
   branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-soap/ra.xml
   branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xmlsource-file/ra.xml
   branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xmlsource-soap/ra.xml
   branches/JCA/connectors/sandbox/connector-exec/src/main/rar/META-INF/ra.xml
   branches/JCA/connectors/sandbox/connector-object/src/main/rar/META-INF/ra.xml
   branches/JCA/connectors/sandbox/connector-template/src/main/rar/META-INF/ra.xml
   branches/JCA/connectors/sandbox/connector-yahoo/src/main/rar/META-INF/ra.xml
   branches/JCA/jboss-integration/src/main/java/org/teiid/adminapi/jboss/Admin.java
   branches/JCA/jboss-integration/src/main/java/org/teiid/templates/connector/ConnectorTypeTemplateInfo.java
   branches/JCA/jboss-integration/src/test/java/org/teiid/adminapi/jboss/TestConnectorBindings.java
Log:
TEIID-833,TEIID-861,TEIID-910: Converting the property metadata from config.xml into ra.xml to admin api

Modified: branches/JCA/client/src/main/java/org/teiid/adminapi/PropertyDefinition.java
===================================================================
--- branches/JCA/client/src/main/java/org/teiid/adminapi/PropertyDefinition.java	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/client/src/main/java/org/teiid/adminapi/PropertyDefinition.java	2010-01-19 22:22:14 UTC (rev 1757)
@@ -105,7 +105,7 @@
      * @return true if this property is to be marked with the expert flag,
      * or false otherwise.
      */
-    boolean isExpert();
+    boolean isAdvanced();
     /**
      * The "required" flag is used to identify features that require at least
      * one value (possibly a default value) by the consumer of the property.  Whether

Modified: branches/JCA/client/src/main/java/org/teiid/adminapi/impl/PropertyDefinitionMetadata.java
===================================================================
--- branches/JCA/client/src/main/java/org/teiid/adminapi/impl/PropertyDefinitionMetadata.java	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/client/src/main/java/org/teiid/adminapi/impl/PropertyDefinitionMetadata.java	2010-01-19 22:22:14 UTC (rev 1757)
@@ -39,7 +39,7 @@
     private String displayName = null;
     private String propertyTypeClassName = String.class.getName();
     private RestartType requiresRestart = RestartType.NONE;
-    private boolean expert = false;
+    private boolean advanced = false;
     private boolean masked = false;
     private boolean modifiable = true;
     private boolean required = false;
@@ -57,7 +57,7 @@
         result.append(AdminPlugin.Util.getString("MMPropertyDefinition.Constrained_to_allow_values")).append(isConstrainedToAllowedValues()); //$NON-NLS-1$
         result.append(AdminPlugin.Util.getString("MMPropertyDefinition.Allowed_values")).append(getAllowedValues()); //$NON-NLS-1$
         result.append(AdminPlugin.Util.getString("MMPropertyDefinition.Required")).append(isRequired()); //$NON-NLS-1$
-        result.append(AdminPlugin.Util.getString("MMPropertyDefinition.Expert")).append(isExpert()); //$NON-NLS-1$
+        result.append(AdminPlugin.Util.getString("MMPropertyDefinition.Expert")).append(isAdvanced()); //$NON-NLS-1$
         result.append(AdminPlugin.Util.getString("MMPropertyDefinition.Masked")).append(isMasked()); //$NON-NLS-1$
         result.append(AdminPlugin.Util.getString("MMPropertyDefinition.Modifiable")).append(isModifiable()); //$NON-NLS-1$
         result.append(AdminPlugin.Util.getString("MMPropertyDefinition.RequiresRestart")).append(getRequiresRestart()); //$NON-NLS-1$
@@ -111,8 +111,8 @@
      * @see org.teiid.adminapi.PropertyDefinition#isExpert()
      * @since 4.3
      */
-    public boolean isExpert() {
-        return expert;
+    public boolean isAdvanced() {
+        return advanced;
     }
 
     /** 
@@ -169,8 +169,8 @@
     /** 
      * @param expert The value of expert to set.
      */
-    public void setExpert(boolean expert) {
-        this.expert = expert;
+    public void setAdvanced(boolean expert) {
+        this.advanced = expert;
     }
 
     /** 

Modified: branches/JCA/connectors/connector-jdbc/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/connector-jdbc/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-jdbc/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,47 +41,42 @@
             <managedconnectionfactory-class>org.teiid.connector.jdbc.JDBCManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>org.teiid.connector.jdbc.JDBCConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>org.teiid.connector.basic.BasicConnectorCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
@@ -90,51 +85,48 @@
             <!--  JDBC Specific properties -->
 
             <config-property>
-               <description>Use prepared statements and bind variables</description>
+               <description>{$display:"Use prepared statements and bind variables",$advanced:"true"}</description>
                <config-property-name>UseBindVariables</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>
 
             <config-property>
-               <description>fetch size used from the connector to its underlying source.</description>
+               <description>{$display:"fetch size used from the connector to its underlying source.",$advanced:"true"}</description>
                <config-property-name>FetchSize</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>2000</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Database time zone</description>
-               <description>Time zone of the database, if different than Integration Server</description>
+               <description>{$display:"Database time zone",$description:"Time zone of the database, if different than Integration Server",$advanced:"true"}</description>
                <config-property-name>DatabaseTimeZone</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-               <description>Extension SQL Translation Class Name</description>
+               <description>{$display:"Extension SQL Translation Class",$required:"true",$advanced:"true",$allowed:["org.teiid.connector.jdbc.translator.Translator","org.teiid.connector.jdbc.oracle.OracleSQLTranslator","org.teiid.connector.jdbc.db2.DB2SQLTranslator", "org.teiid.connector.jdbc.sqlserver.SqlServerSQLTranslator", "org.teiid.connector.jdbc.mysql.MySQLTranslator","org.teiid.connector.jdbc.mysql.MySQL5Translator", "org.teiid.connector.jdbc.postgresql.PostgreSQLTranslator", "org.teiid.connector.jdbc.derby.DerbySQLTranslator", "org.teiid.connector.jdbc.access.AccessSQLTranslator","org.teiid.connector.jdbc.h2.H2Translator","org.teiid.connector.jdbc.h2.H2Translator"]}</description>
                <config-property-name>ExtensionTranslationClassName</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>org.teiid.connector.jdbc.translator.Translator</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Source Connection JNDI Name</description>
+               <description>{$display:"Source Connection JNDI Name",$required:"true"}</description>
                <description>JNDI Name of the physical resource.</description>
                <config-property-name>SourceJNDIName</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
 
             <config-property>
-               <description>Trim string flag</description>
-               <description>Right Trim fixed character types returned as Strings</description>
+               <description>{$display:"Trim string flag",$description:"Right Trim fixed character types returned as Strings - note that the native type must be char or nchar and the source must support the rtrim function.",$advanced:"true"}</description>
                <config-property-name>TrimStrings</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>
                               
             <config-property>
-               <description>Use informational comments in Source Queries</description>
-               <description>This will embed /*comment*/ style comment with session/request id in source SQL query for informational purposes</description>
+               <description>{$display:"Use informational comments in Source Queries",$description:"This will embed /*comment*/ style comment with session/request id in source SQL query for informational purposes",$advanced:"true"}</description>
                <config-property-name>UseCommentsInSourceQuery</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>

Modified: branches/JCA/connectors/connector-ldap/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/connector-ldap/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-ldap/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,47 +41,42 @@
             <managedconnectionfactory-class>com.metamatrix.connector.ldap.LDAPManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.ldap.LDAPConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.ldap.LDAPConnectorCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
@@ -90,55 +85,47 @@
             <!--  LDAP Specific properties -->
 
             <config-property>
-               <description>Default Search Base DN</description>
-               <description>Default Base DN for LDAP Searches</description>
+               <description>{$display:"Default Search Base DN",$description:"Default Base DN for LDAP Searches",$advanced:"true"}</description>
                <config-property-name>SearchDefaultBaseDN</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-               <description>Ldap Admin User DN</description>
-               <description>User DN for the LDAP admin account</description>
+               <description>{$display:"Ldap Admin User DN",$description:"User DN for the LDAP admin account.",$required:"true"}</description>
                <config-property-name>LdapAdminUserDN</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>cn=&lt;&gt;,ou=&lt;&gt;,dc=&lt;&gt;</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Ldap Admin Password</description>
-               <description>Password of the LDAP admin user account</description>
+               <description>{$display:"Ldap Admin Password",$description:"Password of the LDAP admin user account.",$required:"true",$masked:"true"}</description>
                <config-property-name>LdapAdminUserPassword</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>    
             
             <config-property>
-               <description>Restrict Searches To Named Object Class</description>
-               <description>Restrict Searches to objectClass named in the Name field for a table</description>
+               <description>{$display:"Restrict Searches To Named Object Class",$description:"Restrict Searches to objectClass named in the Name field for a table",$advanced:"true"}</description>
                <config-property-name>RestrictToObjectClass</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>   
             
             <config-property>
-               <description>Ldap Transaction Timeout (ms)</description>
-               <description>Timeout value for LDAP searches. Defaults to TCP timeout value.</description>
+               <description>{$display:"Ldap Transaction Timeout (ms)",$description:"Timeout value for LDAP searches. Defaults to TCP timeout value."}</description>
                <config-property-name>LdapTxnTimeoutInMillis</config-property-name>
                <config-property-type>java.lang.Long</config-property-type>
                <config-property-value>-1</config-property-value>
             </config-property>       
             
             <config-property>
-               <description>Ldap URL</description>
-               <description>Ldap URL of the server, including port number.</description>
+               <description>{$display:"Ldap URL",$description:"Ldap URL of the server, including port number.",$required:"true"}</description>
                <config-property-name>LdapUrl</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>ldap://&lt;ldapServer&gt;:&lt;389&gt;</config-property-value>
             </config-property>      
             
             <config-property>
-               <description>Default Search Scope</description>
-               <description>Default Scope for LDAP Searches</description>
-               <description>${ALLOWED}:OBJECT_SCOPE,ONELEVEL_SCOPE,SUBTREE_SCOPE</description>
+               <description>{$display:"Default Search Scope",$description:"Default Scope for LDAP Searches",$allowed:["OBJECT_SCOPE","ONELEVEL_SCOPE","SUBTREE_SCOPE"],$required:"true"}</description>
                <config-property-name>SearchDefaultScope</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>SUBTREE_SCOPE</config-property-value>

Modified: branches/JCA/connectors/connector-loopback/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/connector-loopback/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-loopback/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,47 +41,42 @@
             <managedconnectionfactory-class>com.metamatrix.connector.loopback.LoopbackManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.loopback.LoopbackConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.loopback.LoopbackCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
@@ -90,28 +85,28 @@
             <!--  Loopback Specific properties -->
 
             <config-property>
-               <description>Rows Per Query</description>
+               <description>{$display:"Rows Per Query",$required:"true",$advanced:"true"}</description>
                <config-property-name>RowCount</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>1</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Max Random Wait Time</description>
+               <description>{$display:"Max Random Wait Time",$required:"true",$advanced:"true"}</description>
                <config-property-name>WaitTime</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>0</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Always Throw Error</description>
+               <description>{$display:"Always Throw Error"}</description>
                <config-property-name>ThrowError</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>    
             
             <config-property>
-               <description>Poll interval if using a Asynchronous Connector </description>
+               <description>{$display:"Poll interval if using a Asynchronous Connector"}</description>
                <config-property-name>PollIntervalInMilli</config-property-name>
                <config-property-type>java.lang.Long</config-property-type>
             </config-property>                      

Modified: branches/JCA/connectors/connector-salesforce/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/connector-salesforce/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-salesforce/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,92 +41,83 @@
             <managedconnectionfactory-class>com.metamatrix.connector.salesforce.SalesForceManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.salesforce.Connector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.salesforce.SalesforceCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
             </config-property>
 
             <!--  Salesforce Specific properties -->
-
             <config-property>
-               <description>User Name</description>
-               <description>Name value for Salesforce authentication</description>
+               <description>{$display:"User Name",$description:"Name value for Salesforce authentication",$required:"true"}</description>
                <config-property-name>username</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
          
              <config-property>
-               <description>Password</description>
-               <description>Password value for Salesforce authentication</description>
+               <description>{$display:"Password",$description:"Password value for Salesforce authentication",$required:"true",$masked:"true"}</description>
                <config-property-name>password</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-               <description>Connector State Class</description>
+               <description>{$display:"Connector State Class",$description:"",$required:"true",$advanced:"true"}</description>
                <config-property-name>ConnectorStateClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.salesforce.ConnectorState</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Salesforce URL</description>
-               <description>URL for connecting to Salesforce</description>
+               <description>{$display:"Salesforce URL",$description:"URL for connecting to Salesforce",$advanced:"true"}</description>
                <config-property-name>URL</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.salesforce.ConnectorState</config-property-value>
             </config-property>     
             
             <config-property>
-               <description>Source Connection Test Interval</description>
+               <description>{$display:"Source Connection Test Interval",$advanced:"true"}</description>
                <config-property-name>SourceConnectionTestInterval</config-property-name>
                <config-property-type>java.lang.Long</config-property-type>
                <config-property-value>5000</config-property-value>
             </config-property>   
             
             <config-property>
-               <description>Source Connection Timeout</description>
+               <description>{$display:"Source Connection Timeout",$advanced:"true"}</description>
                <config-property-name>SourceConnectionTimeout</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>120000</config-property-value>

Modified: branches/JCA/connectors/connector-text/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/connector-text/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-text/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,47 +41,42 @@
             <managedconnectionfactory-class>com.metamatrix.connector.text.TextManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.text.TextConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.text.TextCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+            <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+            <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
-            <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+            <config-property>   
+            <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>          
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+            <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
@@ -90,34 +85,33 @@
             <!--  Text Connector Specific properties -->
 
             <config-property>
-               <description>Text File Descriptor</description>
+               <description>{$display:"Text File Descriptor",$required:"true"}</description>
                <config-property-name>DescriptorFile</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-               <description>Partial Startup Allowed</description>
+               <description>{$display:"Partial Startup Allowed",$required:"true",$advanced:"true"}</description>
                <config-property-name>PartialStartupAllowed</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>      
             
             <config-property>
-               <description>Enforce Column Count</description>
-               <description>This forces the number of columns in text file to match what was modeled</description>
+               <description>{$display:"Enforce Column Count",$description:"This forces the number of columns in text file to match what was modeled"}</description>
                <config-property-name>EnforceColumnCount</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>      
              
             <config-property>
-               <description>Date Result Formats Delimiter</description>
+               <description>{$display:"Date Result Formats Delimiter",$advanced:"true"}</description>
                <config-property-name>DateResultFormatsDelimiter</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
 
             <config-property>
-                <description>Date Result Formats</description>
+                <description>{$display:"Date Result Formats",$advanced:"true"}</description>
                 <config-property-name>DateResultFormats</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property> 

Modified: branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-file/ra.xml
===================================================================
--- branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-file/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-file/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,46 +41,42 @@
             <managedconnectionfactory-class> com.metamatrix.connector.xml.file.FileManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xml.base.XMLConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xml.base.XMLCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <description>Maximum Result Rows allowed</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
@@ -88,60 +84,55 @@
             </config-property>
 
             <!--  XML-Relational File Connector Specific properties -->
-
             <config-property>
-                <description>File Path</description>
+                <description>{$display:"File Path",$description:"",$required:"true"}</description>
                 <config-property-name>FilePath</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Enable Document Caching</description>
+                <description>{$display:"Enable Document Caching",$description:"",$required:"true"}</description>
                 <config-property-name>CacheEnabled</config-property-name>
                 <config-property-type>java.lang.Boolean</config-property-type>
                 <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-                <description>XML Filter Provider</description>
-                <description>The class the provides extended XML Filters</description>
+                <description>{$display:"XML Filter Provider",$description:"The class the provides extended XML Filters",$advanced:"true"}</description>
                 <config-property-name>SaxFilterProviderClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.NoExtendedFilters</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Connector State Class</description>
+                <description>{$display:"Connector State Class",$description:"",$required:"true",$advanced:"true"}</description>
                 <config-property-name>ConnectorStateClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.file.FileConnectorState</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Log XML Request and Response Documents</description>
-                <description>Write the request and response documents to the log at Info level</description>
+                <description>{$display:"Log XML Request and Response Documents",$description:"Write the request and response documents to the log at Info level",$advanced:"true"}</description>
                 <config-property-name>LogRequestResponseDocs</config-property-name>
                 <config-property-type>java.lang.Boolean</config-property-type>
                 <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Input Stream Filter Class</description>
-                <description>The class to use to preprocess raw XML input stream</description>
+                <description>{$display:"Input Stream Filter Class",$description:"The class to use to preprocess raw XML input stream",$advanced:"true"}</description>
                 <config-property-name>InputStreamFilterClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl</config-property-value>
             </config-property>
             
             <config-property>
-                <description>File Name</description>
+                <description>{$display:"File Name",$description:""}</description>
                 <config-property-name>FileName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Query Preprocessor Class</description>
-                <description>The class to use to preprocess the IQuery</description>
+                <description>{$display:"Query Preprocessor Class",$description:"The class to use to preprocess the IQuery",$advanced:"true"}</description>
                 <config-property-name>QueryPreprocessorClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.NoQueryPreprocessing</config-property-value>

Modified: branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-http/ra.xml
===================================================================
--- branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-http/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-http/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,47 +41,42 @@
             <managedconnectionfactory-class>com.metamatrix.connector.xml.http.HTTPManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xml.base.XMLConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xml.base.XMLCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
@@ -90,126 +85,114 @@
             <!--  XML-Relational HTTP Connector Specific properties -->
 
             <config-property>
-                <description>XML Filter Provider</description>
-                <description>The class the provides extended XML Filters</description>
+                <description>{$display:"XML Filter Provider",$description:"The class the provides extended XML Filters",$advanced:"true"}</description>
                 <config-property-name>SaxFilterProviderClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.NoExtendedFilters</config-property-value>
             </config-property>
             
             <config-property>
-                <description>XML Parameter Name</description>
+                <description>{$display:"XML Parameter Name"}</description>
                 <config-property-name>XMLParmName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Request Timeout (in Milliseconds)</description>
+                <description>{$display:"Request Timeout (in Milliseconds)",$required:"true"}</description>
                 <config-property-name>RequestTimeout</config-property-name>
                 <config-property-type>java.lang.Integer</config-property-type>
                 <config-property-value>10000</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Authentication Required</description>
+                <description>{$display:"Authentication Required",$editable:"true"}</description>
                 <config-property-name>Authenticate</config-property-name>
                 <config-property-type>java.lang.Boolean</config-property-type>
                 <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Connector State Class</description>
+                <description>{$display:"Connector State Class",$required:"true",$advanced:"true"}</description>
                 <config-property-name>ConnectorStateClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.http.HTTPConnectorState</config-property-value>
             </config-property>
             
             <config-property>
-                <description>HTTP Basic Authentication Password</description>
+                <description>{$display:"HTTP Basic Authentication Password",$description:"Password value for HTTP basic authentication",$advanced:"true",$masked:"true"}</description>
                 <description>Password value for HTTP basic authentication</description>
                 <config-property-name>HttpBasicAuthPassword</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Access Method</description>
-                <description>ALLOWED:get,post</description>
+                <description>{$display:"Access Method",$description:"",$allowed:["get","post"],$required:"true"}</description>
                 <config-property-name>AccessMethod</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>get</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Proxy Server URI</description>
-                <description>The URI of the proxy server</description>
+                <description>{$display:"Proxy Server URI",$description:"The URI of the proxy server"}</description>
                 <config-property-name>ProxyUri</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>HTTP Basic Authentication Name</description>
-                <description>Name value for HTTP basic authentication</description>
+                <description>{$display:"HTTP Basic Authentication Name",$description:"Name value for HTTP basic authentication",$advanced:"true"}</description>
                 <config-property-name>HttpBasicAuthUserName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Server URI</description>
-                <description>The URI of the HTTP source</description>
+                <description>{$display:"Server URI",$description:"The URI of the HTTP source",$required:"true"}</description>
                 <config-property-name>Uri</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Use HTTP Basic authentication</description>
-                <description>Use basic HTTP Authentication</description>
+                <description>{$display:"Use HTTP Basic authentication",$description:"Use basic HTTP Authentication",$advanced:"true"}</description>
                 <config-property-name>UseHttpBasic</config-property-name>
                 <config-property-type>java.lang.Boolean</config-property-type>
                 <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Log XML Request and Response Documents</description>
-                <description>Write the request and response documents to the log at Info level</description>
+                <description>{$display:"Log XML Request and Response Documents",$description:"Write the request and response documents to the log at Info level",$advanced:"true"}</description>
                 <config-property-name>LogRequestResponseDocs</config-property-name>
                 <config-property-type>java.lang.Boolean</config-property-type>
                 <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Trust Deserializer Class</description>
-                <description>The class to use to process trusted payloads and execution payloads</description>
+                <description>{$display:"Trust Deserializer Class",$description:"The class to use to process trusted payloads and execution payloads",$advanced:"true"}</description>
                 <config-property-name>TrustDeserializerClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.http.DefaultTrustDeserializer</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Parameter Method</description>
-                <description>ALLOWED:None,Name/Value,XMLRequest,XMLInQueryString</description>
+                <description>{$display:"Parameter Method",$description:"",$allowed:["None","Name/Value","XMLRequest","XMLInQueryString",],$required:"true"}</description>
                 <config-property-name>ParameterMethod</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>None</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Input Stream Filter Class</description>
-                <description>The class to use to preprocess raw XML input stream</description>
+                <description>{$display:"Input Stream Filter Class",$description:"The class to use to preprocess raw XML input stream",$advanced:"true"}</description>
                 <config-property-name>InputStreamFilterClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Hostname Verifier</description>
-                <description>Class implementing javax.net.ssl.HostnameVerifier.  Used to implement a hostname mismatch workaround.</description>
+                <description>{$display:"Hostname Verifier",$description:"Class implementing javax.net.ssl.HostnameVerifier.  Used to implement a hostname mismatch workaround.",$advanced:"true"}</description>
                 <config-property-name>HostnameVerifier</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Query Preprocessor Class</description>
-                <description>The class to use to preprocess the IQuery</description>
+                <description>{$display:"Query Preprocessor Class",$description:"The class to use to preprocess the IQuery",$advanced:"true"}</description>
                 <config-property-name>QueryPreprocessorClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.NoQueryPreprocessing</config-property-value>

Modified: branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-soap/ra.xml
===================================================================
--- branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-soap/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xml-soap/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,98 +41,87 @@
             <managedconnectionfactory-class>com.metamatrix.connector.xml.soap.SOAPManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xml.base.XMLConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xml.base.XMLCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
             </config-property>
 
             <!--  XML-Relational SOAP Connector Specific properties -->
-
             <config-property>
-                <description>Authentication User Password</description>
-                <description>Password value for authentication</description>
+                <description>{$display:"Authentication User Password",$description:"Password value for authentication",$advanced:"true",$masked:"true"}</description>
                 <config-property-name>AuthPassword</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>XML Filter Provider</description>
-                <description>The class the provides extended XML Filters</description>
+                <description>{$display:"XML Filter Provider",$description:"The class the provides extended XML Filters",$advanced:"true"}</description>
                 <config-property-name>SaxFilterProviderClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.NoExtendedFilters</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Authentication User Name</description>
-                <description>Name value for authentication</description>
+                <description>{$display:"Authentication User Name",$description:"Name value for authentication",$advanced:"true"}</description>
                 <config-property-name>AuthUserName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>WS-Security Type(UsernameToken, SAML..)</description>
-                <description>Type of WS-Security to be used; Combinations of multiple security types can be used with a space in-between. Allowed types are: (UsernameToken, UsernameToken-Digest, SAMLTokenUnsigned, SAMLTokenSigned, Signature, Timestamp, Encrypt)</description>
+                <description>{$display:"WS-Security Type(UsernameToken, SAML..)",$description:"Type of WS-Security to be used; Combinations of multiple security types can be used with a space in-between. Allowed types are: (UsernameToken, UsernameToken-Digest, SAMLTokenUnsigned, SAMLTokenSigned, Signature, Timestamp, Encrypt)"}</description>
                 <config-property-name>WSSecurityType</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>XML Parameter Name</description>
+                <description>{$display:"XML Parameter Name",$editable:"false"}</description>
                 <config-property-name>XMLParmName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Encrypt UserName (only if Encrypt profile used)</description>
-                <description>The username to be used in the encryption; if blank uses auth username</description>
+                <description>{$display:"Encrypt UserName (only if Encrypt profile used)",$description:"The username to be used in the encryption; if blank uses auth username",$advanced:"true"}</description>
                 <config-property-name>EncryptUserName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Exception on SOAP Fault</description>
+                <description>{$display:"Exception on SOAP Fault",$description:"Throw connector exception when SOAP fault is returned from source.",$advanced:"true"}</description>
                 <description>Throw connector exception when SOAP fault is returned from source.</description>
                 <config-property-name>ExceptionOnSOAPFault</config-property-name>
                 <config-property-type>java.lang.Boolean</config-property-type>
@@ -140,144 +129,119 @@
             </config-property>
             
             <config-property>
-                <description>Request Timeout (in Milliseconds)</description>
+                <description>{$display:"Request Timeout (in Milliseconds)",$required:"true"}</description>
                 <config-property-name>RequestTimeout</config-property-name>
                 <config-property-type>java.lang.Integer</config-property-type>
                 <config-property-value>10000</config-property-value>
             </config-property>
             
             <config-property>
-                <description>User Crypto Property File (If SAML or Signature profile used)</description>
-                <description>The file defines properties of cryptography;defines the certificates;(crypto.properties)</description>
+                <description>{$display:"User Crypto Property File (If SAML or Signature profile used)",$description:"The file defines properties of cryptography;defines the certificates;(crypto.properties)",$advanced:"true"}</description>
                 <config-property-name>CryptoPropertyFile</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Connector State Class</description>
+                <description>{$display:"Connector State Class",$description:"",$required:"true",$advanced:"true"}</description>
                 <config-property-name>ConnectorStateClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.soap.SOAPConnectorState</config-property-value>
             </config-property>
             
             <config-property>
-                <description>SOAP-Action</description>
-                <description>Value for SOAP-Action header</description>
+                <description>{$display:"SOAP-Action",$description:"Value for SOAP-Action header",$advanced:"true"}</description>
                 <config-property-name>SOAPAction</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Access Method (Get, Post)</description>
-                <description>ALLOWED:get,post</description>
+                <description>{$display:"Access Method (Get, Post)",$description:"",$allowed:["get","post"],$editable:"false"}</description>
                 <config-property-name>AccessMethod</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>post</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Proxy Server URI</description>
-                <description>The URI of the proxy server</description>
+                <description>{$display:"Proxy Server URI",$description:"The URI of the proxy server"}</description>
                 <config-property-name>ProxyUri</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Encrypt crypto property file (only if Encrypt profile used)</description>
-                <description>The file defines properties of cryptography for encryption of the message;(crypto.properties)</description>
+                <description>{$display:"Encrypt crypto property file (only if Encrypt profile used)",$description:"The file defines properties of cryptography for encryption of the message;(crypto.properties)",$advanced:"true"}</description>
                 <config-property-name>EncryptPropertyFile</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
-            
+                       
             <config-property>
-                <description>Connector Capabilities Class</description>
-                <description>The class to use to provide the Connector Capabilities</description>
-                <config-property-name>ConnectorCapabilities</config-property-name>
-                <config-property-type>java.lang.String</config-property-type>
-                <config-property-value>com.metamatrix.connector.xml.base.XMLCapabilities</config-property-value>
-            </config-property>
-            
-            <config-property>
-                <description>SAML Property File (only required when SAML profile used)</description>
-                <description>SAML Security property file (saml.properties)</description>
+                <description>{$display:"SAML Property File (only required when SAML profile used)",$description:"SAML Security property file (saml.properties)",$advanced:"true"}</description>
                 <config-property-name>SAMLPropertyFile</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Encoding Style (RPC - Encoded, RPC - Literal, Document - Literal, Document - Encoded)</description>
-                <description>Encoding Style</description>
-                <description>ALLOWED:RPC - Encoded,RPC - Literal,Document - Literal,Document - Encoded</description>
+                <description>{$display:"Encoding Style (RPC - Encoded, RPC - Literal, Document - Literal, Document - Encoded)",$description:"Encoding Style",$allowed:["RPC - Encoded","RPC - Literal","Document - Literal","Document - Encoded"],$required:"true"}</description>
                 <config-property-name>EncodingStyle</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>Document - Literal</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Server URI</description>
-                <description>The URI of the HTTP source</description>
+                <description>{$display:"Server URI",$description:"The URI of the HTTP source",$required:"true"}</description>
                 <config-property-name>Uri</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>WebService Security Used(None, HTTPBasic, WS-Security)</description>
-                <description>Type of Authentication to used with the web service; If WS-Secuirty is being used, then WS-Secuirty type must be defined</description>
+                <description>{$display:"WebService Security Used(None, HTTPBasic, WS-Security)",$description:"Type of Authentication to used with the web service; If WS-Secuirty is being used, then WS-Secuirty type must be defined",$required:"true"}</description>
                 <config-property-name>SecurityType</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>None</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Log XML Request and Response Documents</description>
-                <description>Write the request and response documents to the log at Info level</description>
+                <description>{$display:"Log XML Request and Response Documents",$description:"Write the request and response documents to the log at Info level",$advanced:"true"}</description>
                 <config-property-name>LogRequestResponseDocs</config-property-name>
                 <config-property-type>java.lang.Boolean</config-property-type>
                 <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Trust Deserializer Class</description>
-                <description>The class to use to process trusted payloads and execution payloads</description>
+                <description>{$display:"Trust Deserializer Class",$description:"The class to use to process trusted payloads and execution payloads",$advanced:"true"}</description>
                 <config-property-name>TrustDeserializerClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.soap.DefaultSoapTrustDeserializer</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Parameter Method (None, Name/Value, XMLRequest, XMLInQueryString)</description>
-                <description>ALLOWED:None,Name/Value,XMLRequest,XMLInQueryString,</description>
+                <description>{$display:"Parameter Method (None, Name/Value, XMLRequest, XMLInQueryString)",$description:"",$allowed:["None","Name/Value","XMLRequest","XMLInQueryString"],$editable:"false"}</description>
                 <config-property-name>ParameterMethod</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>XMLRequest</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Input Stream Filter Class</description>
-                <description>The class to use to preprocess raw XML input stream</description>
+                <description>{$display:"Input Stream Filter Class",$description:"The class to use to preprocess raw XML input stream",$advanced:"true"}</description>
                 <config-property-name>InputStreamFilterClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.PluggableInputStreamFilterImpl</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Hostname Verifier</description>
-                <description>a class implmenting javax.net.ssl.HostnameVerifier.  Used to implement a hostname mismatch workaround.</description>
+                <description>{$display:"Hostname Verifier",$description:"a class implmenting javax.net.ssl.HostnameVerifier.  Used to implement a hostname mismatch workaround.",$advanced:"true"}</description>
                 <config-property-name>HostnameVerifier</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Trust Type:(DirectReference or IssuerSerial)</description>
-                <description>Only required for Signature and Signed SAML; The issuer-serial method presumes that all trusted users of the service are known to the service and have pre-registered their certificate chains before using the service. The direct-reference method presumes that the service operator trusts all users with certificates issued by a trusted CA.</description>
+                <description>{$display:"Trust Type:(DirectReference or IssuerSerial)",$description:"Only required for Signature and Signed SAML; The issuer-serial method presumes that all trusted users of the service are known to the service and have pre-registered their certificate chains before using the service. The direct-reference method presumes that the service operator trusts all users with certificates issued by a trusted CA.",$advanced:"true"}</description>
                 <config-property-name>TrustType</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>DirectReference</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Query Preprocessor Class</description>
-                <description>The class to use to preprocess the IQuery</description>
+                <description>{$display:"Query Preprocessor Class",$description:"The class to use to preprocess the IQuery",$advanced:"true"}</description>
                 <config-property-name>QueryPreprocessorClass</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xml.base.NoQueryPreprocessing</config-property-value>

Modified: branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xmlsource-file/ra.xml
===================================================================
--- branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xmlsource-file/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xmlsource-file/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,72 +41,64 @@
             <managedconnectionfactory-class>com.metamatrix.connector.xmlsource.soap.SoapManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xmlsource.XMLSourceConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xmlsource.XMLSourceCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
             </config-property>
 
             <!--  XML File Connector Specific properties -->
-
             <config-property>
-                <description>File Encoding Used</description>
-                <description>A character-encoding scheme is a mapping between a coded character set and a set of octet (eight-bit byte) sequences. Some samples are UTF-8,ISO-8859-1,UTF-16)</description>
+                <description>{$display:"File Encoding Used",$description:"A character-encoding scheme is a mapping between a coded character set and a set of octet (eight-bit byte) sequences. Some samples are UTF-8,ISO-8859-1,UTF-16)"}</description>
                 <config-property-name>CharacterEncodingScheme</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>ISO-8859-1</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Type Of XML Connection</description>
-                <description>Connection type used to get the XML data</description>
+                <description>{$display:"Type Of XML Connection",$description:"Connection type used to get the XML data",$required:"true",$advanced:"true"}</description>
                 <config-property-name>ConnectionType</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xmlsource.file.FileConnection</config-property-value>
             </config-property>
             
             <config-property>
-                <description>XML File(s) Directory Location</description>
+                <description>{$display:"XML File(s) Directory Location",$description:"",$required:"true"}</description>
                 <config-property-name>DirectoryLocation</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>

Modified: branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xmlsource-soap/ra.xml
===================================================================
--- branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xmlsource-soap/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/connector-xml/src/main/rar/META-INF/xmlsource-soap/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,149 +41,131 @@
             <managedconnectionfactory-class>com.metamatrix.connector.xmlsource.file.FileManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xmlsource.XMLSourceConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.xmlsource.XMLSourceCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
             </config-property>
 
             <!--  XML Source SOAP Connector Specific properties -->
-
             <config-property>
-                <description>Authentication User Password</description>
-                <description>Password value for authentication</description>
+                <description>{$display:"Authentication User Password",$description:"Password value for authentication",$advanced:"true",$masked:"true"}</description>
                 <config-property-name>AuthPassword</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>SAML Property File (only required when SAML profile used)</description>
-                <description>SAML Security property file (saml.properties)</description>
+                <description>{$display:"SAML Property File (only required when SAML profile used)",$description:"SAML Security property file (saml.properties)",$advanced:"true"}</description>
                 <config-property-name>SAMLPropertyFile</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>WSDL File (URL)</description>
-                <description>URL to Web Service Definition File</description>
+                <description>{$display:"WSDL File (URL)",$description:"URL to Web Service Definition File",$required:"true"}</description>
                 <config-property-name>wsdl</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Authentication User Name</description>
-                <description>Name value for authentication</description>
+                <description>{$display:"Authentication User Name",$description:"Name value for authentication",$advanced:"true"}</description>
                 <config-property-name>AuthUserName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>WS-Security Type(UsernameToken, SAML..)</description>
-                <description>Type of WS-Security to be used; Combinations of multiple security types can be used with a space in-between. Allowed types are: (UsernameToken, UsernameToken-Digest, SAMLTokenUnsigned, SAMLTokenSigned, Signature, Timestamp, Encrypt)</description>
+                <description>{$display:"WS-Security Type(UsernameToken, SAML..)",$description:"Type of WS-Security to be used; Combinations of multiple security types can be used with a space in-between. Allowed types are: (UsernameToken, UsernameToken-Digest, SAMLTokenUnsigned, SAMLTokenSigned, Signature, Timestamp, Encrypt)"}</description>
                 <config-property-name>WSSecurityType</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Encrypt UserName (only if Encrypt profile used)</description>
-                <description>The username to be used in the encryption; if blank uses auth username</description>
+                <description>{$display:"Encrypt UserName (only if Encrypt profile used)",$description:"The username to be used in the encryption; if blank uses auth username",$advanced:"true"}</description>
                 <config-property-name>EncryptUserName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Alternate End Point</description>
-                <description>An alternate service endpoint other than one specified in WSDL, to execute the service</description>
+                <description>{$display:"Alternate End Point",$description:"An alternate service endpoint other than one specified in WSDL, to execute the service"}</description>
                 <config-property-name>EndPoint</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>WebService Security Used(None, HTTPBasic, WS-Security)</description>
-                <description>Type of Authentication to used with the web service; If WS-Secuirty is being used, then WS-Secuirty type must be defined</description>
+                <description>{$display:"WebService Security Used(None, HTTPBasic, WS-Security)",$description:"Type of Authentication to used with the web service; If WS-Secuirty is being used, then WS-Secuirty type must be defined",$required:"true"}</description>
                 <config-property-name>SecurityType</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>None</config-property-value>
             </config-property>
             
             <config-property>
-                <description>User Crypto Property File (If SAML or Signature profile used)</description>
-                <description>The file defines properties of cryptography;defines the certificates;(crypto.properties)</description>
+                <description>{$display:"User Crypto Property File (If SAML or Signature profile used)",$description:"The file defines properties of cryptography;defines the certificates;(crypto.properties)",$advanced:"true"}</description>
                 <config-property-name>CryptoPropertyFile</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Type Of XML Connection</description>
-                <description>Connection type used to get the XML data</description>
+                <description>{$display:"Type Of XML Connection",$description:"Connection type used to get the XML data",$required:"true",$advanced:"true"}</description>
                 <config-property-name>ConnectionType</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>com.metamatrix.connector.xmlsource.soap.SoapConnection</config-property-value>
             </config-property>
             
             <config-property>
-                <description>Encrypt crypto property file (only if Encrypt profile used)</description>
-                <description>The file defines properties of cryptography for encryption of the message;(crypto.properties)</description>
+                <description>{$display:"Encrypt crypto property file (only if Encrypt profile used)",$description:"The file defines properties of cryptography for encryption of the message;(crypto.properties)",$advanced:"true"}</description>
                 <config-property-name>EncryptPropertyFile</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-                <description>Trust Type:(DirectReference or IssuerSerial)</description>
-                <description>Only required for Signature and Signed SAML; The issuer-serial method presumes that all trusted users of the service are known to the service and have pre-registered their certificate chains before using the service. The direct-reference method presumes that the service operator trusts all users with certificates issued by a trusted CA.</description>
+                <description>{$display:"Trust Type:(DirectReference or IssuerSerial)",$description:"Only required for Signature and Signed SAML; The issuer-serial method presumes that all trusted users of the service are known to the service and have pre-registered their certificate chains before using the service. The direct-reference method presumes that the service operator trusts all users with certificates issued by a trusted CA.",$advanced:"true"}</description>
                 <config-property-name>TrustType</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
                 <config-property-value>DirectReference</config-property-value>
             </config-property>
                     
             <config-property>
-                <description>Port Name</description>
+                <description>{$display:"Port Name"}</description>
                 <config-property-name>PortName</config-property-name>
                 <config-property-type>java.lang.String</config-property-type>
             </config-property>
 
             <config-property>
-                <description>Query Timeout</description>
+                <description>{$display:"Query Timeout"}</description>
                 <config-property-name>QueryTimeout</config-property-name>
                 <config-property-type>java.lang.Integer</config-property-type>
                 <config-property-value>-1</config-property-value>

Modified: branches/JCA/connectors/sandbox/connector-exec/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/sandbox/connector-exec/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/sandbox/connector-exec/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,69 +41,63 @@
             <managedconnectionfactory-class>com.metamatrix.connector.exec.ExecManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.exec.ExecConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.exec.ExecCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
             </config-property>
 
             <!--  Exec Specific properties -->
-
             <config-property>
-               <description>Exclusion File</description>
+               <description>{$display:"Exclusion File"}</description>
                <config-property-name>exclusionFile</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-               <description>Windows Exec</description>
+               <description>{$display:"Windows Exec"}</description>
                <config-property-name>WinExec</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>cmd.exe</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Unix Exec</description>
+               <description>{$display:"Unix Exec"}</description>
                <config-property-name>UnixExec</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>/bin/sh</config-property-value>

Modified: branches/JCA/connectors/sandbox/connector-object/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/sandbox/connector-object/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/sandbox/connector-object/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,47 +41,42 @@
             <managedconnectionfactory-class>com.metamatrix.connector.object.ObjectManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.object.ObjectConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.object.ObjectConnectorCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
@@ -90,26 +85,26 @@
             <!--  Object Specific properties -->
 
             <config-property>
-               <description>Object Source Factory Class</description>
+               <description>{$display:"Object Source Factory Class"}</description>
                <config-property-name>ObjectSourceFactoryClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-               <description>Results Translation Class</description>
+               <description>{$display:"Results Translation Class"}</description>
                <config-property-name>ExtensionResultsTranslationClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.object.extension.source.BasicSourceTranslator</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Database Timezone</description>
+               <description>{$display:"Database Timezone"}</description>
                <config-property-name>DatabaseTimeZone</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-               <description>Trim Result Strings</description>
+               <description>{$display:"Trim Result Strings"}</description>
                <config-property-name>TrimStrings</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>

Modified: branches/JCA/connectors/sandbox/connector-template/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/sandbox/connector-template/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/sandbox/connector-template/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -24,22 +24,21 @@
 
             <!-- Common properties for all connectors -->
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>${package-name}.${connector-name}Connector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>${package-name}.${connector-name}Capabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <description>Is Immutable, True if the source never changes.</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
@@ -47,24 +46,21 @@
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>

Modified: branches/JCA/connectors/sandbox/connector-yahoo/src/main/rar/META-INF/ra.xml
===================================================================
--- branches/JCA/connectors/sandbox/connector-yahoo/src/main/rar/META-INF/ra.xml	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/connectors/sandbox/connector-yahoo/src/main/rar/META-INF/ra.xml	2010-01-19 22:22:14 UTC (rev 1757)
@@ -41,47 +41,42 @@
             <managedconnectionfactory-class>com.metamatrix.connector.yahoo.YahooManagedConnectionFactory</managedconnectionfactory-class>
 
             <config-property>
-               <description>Connector Class</description>
+               <description>{$display:"Connector Class",$advanced:"true"}</description>
                <config-property-name>ConnectorClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.yahoo.YahooConnector</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Connector Capabilities</description>
-               <description>The class to use to provide the Connector Capabilities</description>
+               <description>{$display:"Connector Capabilities",$description:"The class to use to provide the Connector Capabilities",$advanced:"true"}</description>
                <config-property-name>CapabilitiesClass</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>com.metamatrix.connector.yahoo.YahooCapabilities</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is Immutable</description>
-               <description>Is Immutable, True if the source never changes.</description>
+               <description>{$display:"Is Immutable",$description:"Is Immutable, True if the source never changes.",$advanced:"true"}</description>
                <config-property-name>Immutable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
             
             <config-property>
-               <description>Is XA Capable</description>
-               <description>True, if this connector supports XA Transactions</description>
+               <description>{$display:"Is XA Capable",$description:"True, if this connector supports XA Transactions",$advanced:"true"}</description>
                <config-property-name>XaCapable</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>false</config-property-value>
             </config-property>            
 
             <config-property>             
-               <description>Exception on Exceeding Max Rows</description>
-               <description>Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned</description>
+               <description>{$display:"Exception on Exceeding Max Rows",$description:"Indicates if an Exception should be thrown if the specified value for Maximum Result Rows is exceeded; else no exception and no more than the maximum will be returned",$advanced:"true"}</description>
                <config-property-name>ExceptionOnMaxRows</config-property-name>
                <config-property-type>java.lang.Boolean</config-property-type>
                <config-property-value>true</config-property-value>
             </config-property>
 
             <config-property>
-               <description>Maximum Result Rows</description>
-               <description>Maximum Result Rows allowed</description>
+               <description>{$display:"Maximum Result Rows",$description:"Maximum Result Rows allowed",$advanced:"true"}</description>
                <config-property-name>MaxResultRows</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>10000</config-property-value>
@@ -90,13 +85,13 @@
             <!--  Yahoo Specific properties -->
 
             <config-property>
-               <description>HttpProxyHost</description>
+               <description>{$display:"HttpProxyHost",$advanced:"true"}</description>
                <config-property-name>HttpProxyHost</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>
             
             <config-property>
-               <description>HttpProxyPort</description>
+               <description>{$display:"HttpProxyPort",$advanced:"true"}</description>
                <config-property-name>HttpProxyPort</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
             </config-property>

Modified: branches/JCA/jboss-integration/src/main/java/org/teiid/adminapi/jboss/Admin.java
===================================================================
--- branches/JCA/jboss-integration/src/main/java/org/teiid/adminapi/jboss/Admin.java	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/jboss-integration/src/main/java/org/teiid/adminapi/jboss/Admin.java	2010-01-19 22:22:14 UTC (rev 1757)
@@ -664,16 +664,37 @@
 					PropertyDefinitionMetadata p = new PropertyDefinitionMetadata();
 					p.setName(mp.getName());
 					p.setDescription(mp.getDescription());
-					p.setDisplayName(mp.getName());
+					p.setDisplayName(mp.getMappedName());
 					if (mp.getDefaultValue() != null) {
 						p.setDefaultValue(((SimpleValueSupport)mp.getDefaultValue()).getValue());
 					}
 					p.setPropertyTypeClassName(mp.getMetaType().getTypeName());
-					p.setModifiable(false);
-					p.setMasked(false);
-					p.setExpert(true);
+					p.setModifiable(!mp.isReadOnly());
+					
+					if (mp.getField("masked", Boolean.class) != null) {
+						p.setMasked(mp.getField("masked", Boolean.class));
+					}
+					else {
+						p.setMasked(false);
+					}
+					
+					if (mp.getField("advanced", Boolean.class) != null) {
+						p.setAdvanced(mp.getField("advanced", Boolean.class));
+					}
+					else {
+						p.setAdvanced(true);
+					}
+					if (mp.getLegalValues() != null) {
+						HashSet<String> values = new HashSet<String>();
+						for (MetaValue value:mp.getLegalValues()) {
+							values.add(ManagedUtil.stringValue(value));
+						}
+						p.setAllowedValues(values);
+					}
+					
+					p.setRequired(mp.isMandatory());
 					props.add(p);
-			}
+			};
 			return props;
 		} catch (NoSuchDeploymentException e) {
 			throw new AdminComponentException(e.getMessage(), e);

Modified: branches/JCA/jboss-integration/src/main/java/org/teiid/templates/connector/ConnectorTypeTemplateInfo.java
===================================================================
--- branches/JCA/jboss-integration/src/main/java/org/teiid/templates/connector/ConnectorTypeTemplateInfo.java	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/jboss-integration/src/main/java/org/teiid/templates/connector/ConnectorTypeTemplateInfo.java	2010-01-19 22:22:14 UTC (rev 1757)
@@ -22,6 +22,7 @@
 package org.teiid.templates.connector;
 
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.Map;
 
 import javax.management.AttributeNotFoundException;
@@ -39,6 +40,7 @@
 import org.jboss.managed.plugins.DefaultFieldsImpl;
 import org.jboss.managed.plugins.ManagedPropertyImpl;
 import org.jboss.metatype.api.types.SimpleMetaType;
+import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.resource.metadata.ConfigPropertyMetaData;
 import org.jboss.resource.metadata.ConnectionDefinitionMetaData;
 import org.jboss.resource.metadata.ConnectorMetaData;
@@ -102,14 +104,35 @@
 		DefaultFieldsImpl fields = new DefaultFieldsImpl(metadata.getName());
 		DescriptionMetaData descMetadata = metadata.getDescription();
 		String description = descMetadata.getDescription();
-		fields.setDescription(description);
+		if (description != null) {
+			ExtendedPropertyMetadata extended = new ExtendedPropertyMetadata(description);
+			if (extended.getDescription() != null) {
+				fields.setDescription(description);
+			}
+			
+			if (extended.getDisplayName() != null) {
+				fields.setField(Fields.MAPPED_NAME, extended.getDisplayName());
+			}
+			
+			if (extended.getAllowed() != null) {
+				HashSet<MetaValue> values = new HashSet<MetaValue>();
+				for (String value:extended.getAllowed()) {
+					values.add(ManagedUtil.wrap(SimpleMetaType.STRING, value));
+				}
+				fields.setField(Fields.LEGAL_VALUES, values);
+			}
+			fields.setField(Fields.MANDATORY, ManagedUtil.wrap(SimpleMetaType.BOOLEAN_PRIMITIVE, String.valueOf(extended.isRequired())));
+			fields.setField(Fields.READ_ONLY,  ManagedUtil.wrap(SimpleMetaType.BOOLEAN_PRIMITIVE, String.valueOf(!extended.isEditable())));
+			fields.setField("advanced",  ManagedUtil.wrap(SimpleMetaType.BOOLEAN_PRIMITIVE, String.valueOf(extended.isAdvanced())));
+			fields.setField("masked",  ManagedUtil.wrap(SimpleMetaType.BOOLEAN_PRIMITIVE, String.valueOf(extended.isMasked())));
+		}
+		
 		fields.setMetaType(metaType);		
 		if (metadata.getValue() != null && metadata.getValue().trim().length() > 0) {
 			fields.setField(Fields.DEFAULT_VALUE, ManagedUtil.wrap(metaType, metadata.getValue()));
 		}
-		fields.setField(Fields.READ_ONLY, false);
+		
 		ManagedPropertyImpl dsTypeMP = new ManagedPropertyImpl(fields);
 		addProperty(dsTypeMP);
 	}
-	
 }

Added: branches/JCA/jboss-integration/src/main/java/org/teiid/templates/connector/ExtendedPropertyMetadata.java
===================================================================
--- branches/JCA/jboss-integration/src/main/java/org/teiid/templates/connector/ExtendedPropertyMetadata.java	                        (rev 0)
+++ branches/JCA/jboss-integration/src/main/java/org/teiid/templates/connector/ExtendedPropertyMetadata.java	2010-01-19 22:22:14 UTC (rev 1757)
@@ -0,0 +1,145 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+package org.teiid.templates.connector;
+
+import java.util.ArrayList;
+
+import com.metamatrix.core.MetaMatrixRuntimeException;
+
+public class ExtendedPropertyMetadata {
+	private String displayName;
+	private String description;
+	private boolean advanced;
+	private boolean masked;
+	private boolean editable = true;
+	private boolean required;
+	private ArrayList<String> allowed;
+	
+
+	public ExtendedPropertyMetadata(String encodedData) {
+		encodedData = encodedData.trim();
+		
+		// if not begins with { then treat as if just a simple description field.
+		if (!encodedData.startsWith("{")) {
+			this.displayName = encodedData;
+			return;
+		}
+		
+		if (!encodedData.endsWith("}")) {
+			throw new MetaMatrixRuntimeException("The description field = "+encodedData+" does not end with \"}\"");
+		}
+		encodedData = encodedData.substring(1, encodedData.length()-1);
+		
+		int index = 0;
+		int start = -1;
+		boolean inQuotes = false;
+		int inQuotesStart = -1;
+		boolean inArray = false;
+		
+		String propertyName = null;
+		ArrayList<String> values = new ArrayList<String>();
+		for (char c:encodedData.toCharArray()) {
+			if (c == '$' && start == -1) {
+				start = index;
+			}
+			else if (c == '"') {
+				inQuotes = !inQuotes;
+				if (inQuotes && inQuotesStart == -1) {
+					inQuotesStart = index;
+				}
+				else if (!inQuotes && inQuotesStart != -1) {
+					if (inQuotesStart+1 != index) {
+						values.add(encodedData.substring(inQuotesStart+1, index));
+					}
+					inQuotesStart = -1;
+				}
+			}
+			else if (c == '[') {
+				inArray = true;
+			}
+			else if (c == ']') {
+				inArray = false;
+			}
+			else if (c == ':' && !inQuotes && !inArray && start != -1) {
+				propertyName = encodedData.substring(start, index);
+			}
+			else if (c == ',' && !inQuotes && !inArray && start != -1) {
+				addProperty(propertyName, values);
+				propertyName = null;
+				values = new ArrayList<String>();
+				start = -1;
+			}
+			index++;
+		}
+		// add last property
+		addProperty(propertyName, values);
+	}
+	
+	private void addProperty(String name, ArrayList<String> values) {
+		if (name.equals("$display")) {
+			this.displayName = values.get(0);
+		}
+		else if (name.equals("$description")) {
+			this.description = values.get(0);
+		}
+		else if (name.equals("$advanced")) {
+			this.advanced = Boolean.parseBoolean(values.get(0));
+		}
+		else if (name.equals("$masked")) {
+			this.masked = Boolean.parseBoolean(values.get(0));
+		}
+		else if (name.equals("$editable")) {
+			this.editable = Boolean.parseBoolean(values.get(0));
+		}
+		else if (name.equals("$allowed")) {
+			this.allowed = new ArrayList<String>(values);
+		}
+		else if (name.equals("$required")) {
+			this.required = Boolean.parseBoolean(values.get(0));
+		}
+	}
+
+	public String getDescription() {
+		return description;
+	}
+	public void setDescription(String description) {
+		this.description = description;
+	}
+	public String getDisplayName() {
+		return displayName;
+	}
+	public boolean isAdvanced() {
+		return advanced;
+	}
+	public boolean isMasked() {
+		return masked;
+	}
+	public boolean isEditable() {
+		return editable;
+	}
+	public boolean isRequired() {
+		return required;
+	}
+	public ArrayList<String> getAllowed() {
+		return allowed;
+	}
+}

Modified: branches/JCA/jboss-integration/src/test/java/org/teiid/adminapi/jboss/TestConnectorBindings.java
===================================================================
--- branches/JCA/jboss-integration/src/test/java/org/teiid/adminapi/jboss/TestConnectorBindings.java	2010-01-19 21:15:34 UTC (rev 1756)
+++ branches/JCA/jboss-integration/src/test/java/org/teiid/adminapi/jboss/TestConnectorBindings.java	2010-01-19 22:22:14 UTC (rev 1757)
@@ -8,6 +8,7 @@
 
 import java.io.File;
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.Properties;
 import java.util.Set;
 
@@ -230,12 +231,39 @@
 	@Test
 	public void testConnectorTypeProperties() throws Exception {
 		Collection<PropertyDefinition> defs = admin.getConnectorTypePropertyDefinitions("connector-jdbc-7.0.0-SNAPSHOT");
-		System.out.println(defs);
+		for (PropertyDefinition pd:defs) {
+			System.out.println(pd.getName());
+			if (pd.getName().equals("ExtensionTranslationClassName")) {
+				assertEquals("Extension SQL Translation Class", pd.getDisplayName());
+				assertEquals(true, pd.isAdvanced());
+				assertEquals(true, pd.isRequired());
+				assertEquals(false, pd.isMasked());
+				assertEquals(true, pd.isModifiable());
+				
+				HashSet<String> values = new HashSet<String>();
+				values.add("org.teiid.connector.jdbc.h2.H2Translator");
+				values.add("org.teiid.connector.jdbc.sqlserver.SqlServerSQLTranslator");
+				values.add("org.teiid.connector.jdbc.mysql.MySQL5Translator");
+				values.add("org.teiid.connector.jdbc.derby.DerbySQLTranslator");
+				values.add("org.teiid.connector.jdbc.postgresql.PostgreSQLTranslator");
+				values.add("org.teiid.connector.jdbc.db2.DB2SQLTranslator");
+				values.add("org.teiid.connector.jdbc.access.AccessSQLTranslator");
+				values.add("org.teiid.connector.jdbc.mysql.MySQLTranslator");
+				values.add("org.teiid.connector.jdbc.translator.Translator");
+				values.add("org.teiid.connector.jdbc.oracle.OracleSQLTranslator");
+				assertEquals(values, pd.getAllowedValues());
+			}
+		}
 	}
 	
 	@Test
 	public void testConnectorTypes() throws Exception {
 		Set<String> defs = admin.getConnectorTypes();
+		assertTrue(defs.contains("connector-salesforce-7.0.0-SNAPSHOT"));
+		assertTrue(defs.contains("connector-jdbc-7.0.0-SNAPSHOT"));
+		assertTrue(defs.contains("connector-text-7.0.0-SNAPSHOT"));
+		assertTrue(defs.contains("connector-loopback-7.0.0-SNAPSHOT"));
+		assertTrue(defs.contains("connector-ldap-7.0.0-SNAPSHOT"));
 		System.out.println(defs);
 	}
 	
@@ -253,10 +281,10 @@
 		Set<String> names = admin.getConnectorTypes();
 		assertTrue(names.contains("connector-loopy"));
 		
-	}
-	
-	@Test
-	public void testTemplateRemove() throws Exception{
 		admin.deleteConnectorType("connector-loopy");
+		
+		names = admin.getConnectorTypes();
+		assertTrue(!names.contains("connector-loopy"));
 	}
+
 }

Added: branches/JCA/jboss-integration/src/test/java/org/teiid/templates/connector/TestExtendedPropertyMetadata.java
===================================================================
--- branches/JCA/jboss-integration/src/test/java/org/teiid/templates/connector/TestExtendedPropertyMetadata.java	                        (rev 0)
+++ branches/JCA/jboss-integration/src/test/java/org/teiid/templates/connector/TestExtendedPropertyMetadata.java	2010-01-19 22:22:14 UTC (rev 1757)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+package org.teiid.templates.connector;
+
+import java.util.ArrayList;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+public class TestExtendedPropertyMetadata {
+
+	@Test
+	public void testDefault() {
+		ExtendedPropertyMetadata metadata = new ExtendedPropertyMetadata("some-name");
+		
+		Assert.assertEquals("some-name", metadata.getDisplayName());
+		Assert.assertEquals(null, metadata.getDescription());
+		Assert.assertEquals(false, metadata.isAdvanced());
+		Assert.assertEquals(false, metadata.isRequired());
+		Assert.assertEquals(false, metadata.isMasked());
+		Assert.assertEquals(true , metadata.isEditable());
+	}
+	
+	@Test
+	public void testFormatted() {
+		ArrayList<String> allowed =  new ArrayList<String>();
+		allowed.add("get");
+		allowed.add("post");
+		
+		ExtendedPropertyMetadata metadata = new ExtendedPropertyMetadata("{$display:\"Is Immutable\",$description:\"True if the source never changes.\",$allowed:[\"get\",\"post\"], $required:\"true\",$advanced:\"true\"}");
+		
+		Assert.assertEquals("Is Immutable", metadata.getDisplayName());
+		Assert.assertEquals("True if the source never changes.", metadata.getDescription());
+		Assert.assertEquals(true, metadata.isAdvanced());
+		Assert.assertEquals(true, metadata.isRequired());
+		Assert.assertEquals(false, metadata.isMasked());
+		Assert.assertEquals(true , metadata.isEditable());		
+		Assert.assertEquals(allowed , metadata.getAllowed());
+	}
+	
+	@Test
+	public void testFormattedExtraCommasAndColons() {
+		ArrayList<String> allowed =  new ArrayList<String>();
+		allowed.add("get");
+		allowed.add("post");
+		
+		ExtendedPropertyMetadata metadata = new ExtendedPropertyMetadata("{$display:\"Is Immu:table\",$description:\"True if the, source never changes.\",$allowed:[\"get\",\"post\"], $required:\"true\",$advanced:\"true\"}");
+		
+		Assert.assertEquals("Is Immu:table", metadata.getDisplayName());
+		Assert.assertEquals("True if the, source never changes.", metadata.getDescription());
+		Assert.assertEquals(true, metadata.isAdvanced());
+		Assert.assertEquals(true, metadata.isRequired());
+		Assert.assertEquals(false, metadata.isMasked());
+		Assert.assertEquals(true , metadata.isEditable());		
+		Assert.assertEquals(allowed , metadata.getAllowed());
+	}	
+}



More information about the teiid-commits mailing list