teiid SVN: r1758 - in trunk/connectors/connector-jdbc/src: test/java/org/teiid/connector/jdbc/mysql and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2010-01-19 22:58:44 -0500 (Tue, 19 Jan 2010)
New Revision: 1758
Modified:
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/mysql/MySQLTranslator.java
trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/mysql/TestMySQLTranslator.java
Log:
TEIID-934 fix to mysql lpad/rpad with two arguments
Modified: trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/mysql/MySQLTranslator.java
===================================================================
--- trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/mysql/MySQLTranslator.java 2010-01-19 22:22:14 UTC (rev 1757)
+++ trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/mysql/MySQLTranslator.java 2010-01-20 03:58:44 UTC (rev 1758)
@@ -35,6 +35,7 @@
import org.teiid.connector.api.ConnectorEnvironment;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.SourceSystemFunctions;
+import org.teiid.connector.api.TypeFacility;
import org.teiid.connector.jdbc.translator.ConvertModifier;
import org.teiid.connector.jdbc.translator.FunctionModifier;
import org.teiid.connector.jdbc.translator.LocateFunctionModifier;
@@ -46,6 +47,19 @@
*/
public class MySQLTranslator extends Translator {
+ /**
+ * Adds support for the 2 argument form of padding
+ */
+ private final class PadFunctionModifier extends FunctionModifier {
+ @Override
+ public List<?> translate(IFunction function) {
+ if (function.getParameters().size() == 2) {
+ function.getParameters().add(getLanguageFactory().createLiteral(" ", TypeFacility.RUNTIME_TYPES.STRING)); //$NON-NLS-1$
+ }
+ return null;
+ }
+ }
+
@Override
public void initialize(ConnectorEnvironment env) throws ConnectorException {
super.initialize(env);
@@ -54,7 +68,8 @@
registerFunctionModifier(SourceSystemFunctions.BITOR, new BitFunctionModifier("|", getLanguageFactory())); //$NON-NLS-1$
registerFunctionModifier(SourceSystemFunctions.BITXOR, new BitFunctionModifier("^", getLanguageFactory())); //$NON-NLS-1$
registerFunctionModifier(SourceSystemFunctions.LOCATE, new LocateFunctionModifier(getLanguageFactory()));
-
+ registerFunctionModifier(SourceSystemFunctions.LPAD, new PadFunctionModifier());
+ registerFunctionModifier(SourceSystemFunctions.RPAD, new PadFunctionModifier());
//add in type conversion
ConvertModifier convertModifier = new ConvertModifier();
convertModifier.addTypeMapping("signed", FunctionModifier.BYTE, FunctionModifier.SHORT, FunctionModifier.INTEGER, FunctionModifier.LONG); //$NON-NLS-1$
Modified: trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/mysql/TestMySQLTranslator.java
===================================================================
--- trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/mysql/TestMySQLTranslator.java 2010-01-19 22:22:14 UTC (rev 1757)
+++ trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/mysql/TestMySQLTranslator.java 2010-01-20 03:58:44 UTC (rev 1758)
@@ -313,5 +313,14 @@
TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
input,
output, TRANSLATOR);
+ }
+
+ @Test public void testPad() throws Exception {
+ String input = "select lpad(smalla.stringkey, 18), rpad(smalla.stringkey, 12) from bqt1.smalla"; //$NON-NLS-1$
+ String output = "SELECT lpad(SmallA.StringKey, 18, ' '), rpad(SmallA.StringKey, 12, ' ') FROM SmallA"; //$NON-NLS-1$
+
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
+ input,
+ output, TRANSLATOR);
}
}
14 years, 11 months
teiid SVN: r1757 - in branches/JCA: client/src/main/java/org/teiid/adminapi/impl and 20 other directories.
by teiid-commits@lists.jboss.org
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=<>,ou=<>,dc=<></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://<ldapServer>:<389></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());
+ }
+}
14 years, 11 months
teiid SVN: r1756 - trunk/test-integration/db.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2010-01-19 16:15:34 -0500 (Tue, 19 Jan 2010)
New Revision: 1756
Added:
trunk/test-integration/db/runclienttest.sh
Log:
Teiid-773 - script to run the client test
Added: trunk/test-integration/db/runclienttest.sh
===================================================================
--- trunk/test-integration/db/runclienttest.sh (rev 0)
+++ trunk/test-integration/db/runclienttest.sh 2010-01-19 21:15:34 UTC (rev 1756)
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# This script will run the client tests based on the
+# below project scenarios.
+
+# The scenario
+
+SC_DIR=./src/main/resources/ctc_tests/scenarios
+QS_DIR=./src/main/resources/ctc_tests/queries
+# VDB_DIR=./src/main/resources/ctc_tests/vdbs
+
+VDB_DIR=./src/main/resources/transactions
+
+mvn integration-test -Dscenario.dir=$SC_DIR -Dqueryset.artifacts.dir=$QS_DIR -Dvdb.artifacts.dir=$VDB_DIR -Prunclienttests
+
+
+
Property changes on: trunk/test-integration/db/runclienttest.sh
___________________________________________________________________
Name: svn:executable
+ *
14 years, 11 months
teiid SVN: r1755 - trunk/test-integration/db.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2010-01-19 15:58:58 -0500 (Tue, 19 Jan 2010)
New Revision: 1755
Modified:
trunk/test-integration/db/pom.xml
Log:
Teiid-773 - a property was added to enable the execution of the client tests using the prior logic based on the old xml formated file
Modified: trunk/test-integration/db/pom.xml
===================================================================
--- trunk/test-integration/db/pom.xml 2010-01-19 20:28:35 UTC (rev 1754)
+++ trunk/test-integration/db/pom.xml 2010-01-19 20:58:58 UTC (rev 1755)
@@ -501,12 +501,15 @@
<configuration>
<tasks>
<property name="maven.runtime.classpath" refid="maven.runtime.classpath" />
- <property name="config.file" value="qe-test.properties"></property>
<property name="scenario.dir" value="${scenario.dir}"></property>
<property name="queryset.artifacts.dir" value="${queryset.artifacts.dir}"></property>
<property name="vdb.artifacts.dir" value="${vdb.artifacts.dir}"></property>
+ <!-- optional properties -->
+ <property name="config.file" value="${config.file}"></property>
+ <property name="query.scenario.classname" value="${query.scenario.classname}"></property>
<property name="third.party.jars.dir" value="${third.party.jars.dir}"></property>
<property name="proj.dir" value="${project.basedir}" />
+
<ant antfile="src/main/resources/ctc_tests/ctc.xml" />
</tasks>
</configuration>
14 years, 11 months
teiid SVN: r1754 - trunk/adminshell/src/main/resources/commands.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2010-01-19 15:28:35 -0500 (Tue, 19 Jan 2010)
New Revision: 1754
Modified:
trunk/adminshell/src/main/resources/commands/mparse.bsh
Log:
TEIID-932 fix for adminshell parse handling of double quote characters.
Modified: trunk/adminshell/src/main/resources/commands/mparse.bsh
===================================================================
--- trunk/adminshell/src/main/resources/commands/mparse.bsh 2010-01-19 20:26:55 UTC (rev 1753)
+++ trunk/adminshell/src/main/resources/commands/mparse.bsh 2010-01-19 20:28:35 UTC (rev 1754)
@@ -9,7 +9,7 @@
boolean record = false;
if (str.endsWith(";") && str.matches("(select|insert|delete|update|exec|create|drop)\\W.+")){
- mmstr="execute(\""+orig_str.substring(0,orig_str.length()-1).replaceAll("\"", "\\\\\"") +"\");";
+ mmstr="execute(\""+orig_str.substring(0,orig_str.length()-1).replaceAll("\\\\", "\\\\\\\\").replaceAll("\"", "\\\\\"") +"\");";
record = true;
}
else if (str.matches("(help|exit|quit|dir|pwd)\\(?\\)?")) {
14 years, 11 months
teiid SVN: r1753 - in trunk/test-integration/db/src/main/java/org/teiid/test: client/ctc and 3 other directories.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2010-01-19 15:26:55 -0500 (Tue, 19 Jan 2010)
New Revision: 1753
Added:
trunk/test-integration/db/src/main/java/org/teiid/test/client/QuerySQL.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryTest.java
Modified:
trunk/test-integration/db/src/main/java/org/teiid/test/client/ClassFactory.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ExpectedResults.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryReader.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryScenario.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ResultsGenerator.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/TestClient.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/TestClientTransaction.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/TransactionFactory.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/CTCQueryScenario.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/QueryResults.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/TagNames.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLExpectedResults.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLGenerateResults.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryReader.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryVisitationStrategy.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/ExpectedResultsImpl.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/QueryScenarioImpl.java
trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/ResultsGeneratorImpl.java
trunk/test-integration/db/src/main/java/org/teiid/test/framework/ConfigPropertyLoader.java
trunk/test-integration/db/src/main/java/org/teiid/test/util/PropUtils.java
Log:
Teiid-773 - add the following features to client testing:
a. generating results will no longer be in xml format by default
b. added support for muliple sql executions in a single testcase
c. added client tests queries/expected results for simple examples for transaction testing
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ClassFactory.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ClassFactory.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ClassFactory.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Properties;
import org.teiid.test.framework.ConfigPropertyLoader;
import org.teiid.test.framework.exception.TransactionRuntimeException;
@@ -46,8 +45,7 @@
* The default scenario class to use when {@link #QUERY_SCENARIO_CLASSNAME} is not defined.
*/
- // public static final String QUERY_SCENARIO_DEFAULT_CLASSNAME = "org.teiid.test.client.impl.QueryScenarioImpl"; //$NON-NLS-1$
- public static final String QUERY_SCENARIO_DEFAULT_CLASSNAME = "org.teiid.test.client.ctc.CTCQueryScenario"; //$NON-NLS-1$
+ public static final String QUERY_SCENARIO_DEFAULT_CLASSNAME = "org.teiid.test.client.impl.QueryScenarioImpl"; //$NON-NLS-1$
/**
@@ -97,7 +95,7 @@
public static QueryScenario createQueryScenario(String scenarioName) {
String clzzname = ConfigPropertyLoader.getInstance().getProperty(QUERY_SCENARIO_CLASSNAME);
- if (clzzname == null) {
+ if (clzzname == null || clzzname.startsWith("${")) {
clzzname = QUERY_SCENARIO_DEFAULT_CLASSNAME;
}
@@ -105,12 +103,12 @@
args.add(scenarioName);
args.add(ConfigPropertyLoader.getInstance().getProperties());
-
QueryScenario scenario;
try {
scenario = (QueryScenario) ReflectionHelper.create(clzzname, args, null);
} catch (Exception e) {
- throw new TransactionRuntimeException(e.getMessage());
+ e.printStackTrace();
+ throw new TransactionRuntimeException(e);
}
return scenario;
}
@@ -125,7 +123,8 @@
try {
reader = (QueryReader) ReflectionHelper.create(clzzname, args, null);
} catch (Exception e) {
- throw new TransactionRuntimeException(e.getMessage());
+ e.printStackTrace();
+ throw new TransactionRuntimeException(e);
}
return reader;
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ExpectedResults.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ExpectedResults.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ExpectedResults.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -88,22 +88,25 @@
/**
- * Called to compare the <code>ResultSet</code> from the executed query to the expected results.
+ * Called to compare the <code>ResultSet</code> from the executed query to the expected results
+ * and return the errors.
* @param queryIdentifier
* @param sql
* @param resultSet
* @param actualException
* @param testStatus
* @param isOrdered
- * @param batchSize
+ * @param updateCnt
+ * @return Object identifying the errors in the comparison
* @throws QueryTestFailedException
*/
- void compareResults(final String queryIdentifier,
+ Object compareResults(final String queryIdentifier,
final String sql,
final ResultSet resultSet,
final Throwable actualException,
final int testStatus,
final boolean isOrdered,
- final int batchSize) throws QueryTestFailedException;
+ final int updateCnt,
+ final boolean resultFromQuery) throws QueryTestFailedException;
}
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryReader.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryReader.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryReader.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -23,7 +23,7 @@
package org.teiid.test.client;
import java.util.Collection;
-import java.util.Map;
+import java.util.List;
import org.teiid.test.framework.exception.QueryTestFailedException;
@@ -70,18 +70,15 @@
Collection<String> getQuerySetIDs();
/**
- * Return a <code>Map</code> containing the query identifier as the key, and
- * the value is the query. In most simple cases, the query will be a <code>String</code>
- * However, complex types (i.e., to execute prepared statements or other arguments), it maybe
- * some other type.
+ * Return a <code>List</code> containing {@link QueryTest}
*
- * @return Map
+ * @return List
* @throws QueryTestFailedException
*
* @since
*/
- Map<String, Object> getQueries(String querySetID)
- throws QueryTestFailedException; // key=queryIdentifier
+ List<QueryTest> getQueries(String querySetID)
+ throws QueryTestFailedException;
// Map<String, String> - key = queryIdentifier
}
Added: trunk/test-integration/db/src/main/java/org/teiid/test/client/QuerySQL.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/QuerySQL.java (rev 0)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/QuerySQL.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -0,0 +1,68 @@
+/*
+ * 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.test.client;
+
+/**
+ * The QuerySQL represents a single sql statement to be executed for a given {@link QueryTest Test}.
+ * The {@link #rowCnt} and {@link #updateCnt}, when set, provide validation checks after the
+ * execution of the query.
+ * @author vanhalbert
+ *
+ */
+public class QuerySQL {
+
+ private String sql = null;
+ private Object[] parms;
+ private int updateCnt=-1;
+ private int rowCnt=-1;
+
+ public int getRowCnt() {
+ return rowCnt;
+ }
+
+ public void setRowCnt(int rowCnt) {
+ this.rowCnt = rowCnt;
+ }
+
+ public int getUpdateCnt() {
+ return updateCnt;
+ }
+
+ public void setUpdateCnt(int updateCnt) {
+ this.updateCnt = updateCnt;
+ }
+
+ public QuerySQL(String sql, Object[] parms) {
+ this.sql = sql;
+ this.parms = parms;
+ }
+
+ public String getSql() {
+ return sql;
+ }
+
+ public Object[] getParms() {
+ return parms;
+ }
+
+
+}
Property changes on: trunk/test-integration/db/src/main/java/org/teiid/test/client/QuerySQL.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryScenario.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryScenario.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryScenario.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -26,7 +26,7 @@
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Map;
+import java.util.List;
import java.util.Properties;
import org.teiid.test.client.TestProperties.RESULT_MODES;
@@ -120,7 +120,8 @@
for (int i = 0; i < vdbfiles.length; i++) {
vdbdef.append(vdbfiles[i].getAbsolutePath() + ";");
}
-
+ TestLogger.log("===== Connect to VDBs: " + vdbdef.toString());
+
deployProperties.setProperty("vdb.definition", vdbdef.toString());
PropertiesUtils.print(deployPropLoc, deployProperties,"Updated for vdb.definition");
@@ -186,7 +187,7 @@
* @return Map<String, Object>
*/
- public Map<String, Object> getQueries(String querySetID) {
+ public List<QueryTest> getQueries(String querySetID) {
try {
return reader.getQueries(querySetID);
} catch (QueryTestFailedException e) {
@@ -254,7 +255,7 @@
}
- public abstract void handleTestResult(TestResult tr, ResultSet resultSet, String sql);
+ public abstract void handleTestResult(TestResult tr, ResultSet resultSet, int updateCnt, boolean resultFromQuery, String sql);
}
Added: trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryTest.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryTest.java (rev 0)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryTest.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -0,0 +1,61 @@
+/*
+ * 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.test.client;
+
+/**
+ * The QueryTest represents a test to be executed. This test can consist of
+ * one or more {@link QuerySQL SQL} queries required to perform the test.
+ *
+ * @author vanhalbert
+ *
+ */
+public class QueryTest {
+
+ private QuerySQL[] queries;
+ private String querySetID;
+ private String queryID;
+ private boolean isException=false;
+
+ public QueryTest(String queryID, String querySetID, QuerySQL[] queries, boolean isException) {
+ this.queryID = queryID;
+ this.queries = queries;
+ this.isException = isException;
+ this.querySetID = querySetID;
+ }
+
+ public QuerySQL[] getQueries() {
+ return queries;
+ }
+
+ public String getQueryID() {
+ return queryID;
+ }
+
+ public boolean isException() {
+ return this.isException;
+ }
+
+ public String geQuerySetID() {
+ return this.querySetID;
+ }
+
+}
Property changes on: trunk/test-integration/db/src/main/java/org/teiid/test/client/QueryTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ResultsGenerator.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ResultsGenerator.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ResultsGenerator.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -22,7 +22,6 @@
package org.teiid.test.client;
-import java.io.File;
import java.sql.ResultSet;
import org.teiid.test.framework.exception.QueryTestFailedException;
@@ -63,13 +62,39 @@
*/
String getGenerateDir();
+ /**
+ * Call to generate the results file from an executed query.
+ * If an exception occurred, it is considered the result from
+ * the query. The file created based on the result should
+ * be able to be used as the expected result when query
+ * tests are run with in the resultmode of "compare".
+ * @param querySetID
+ * @param queryIdentfier
+ * @param query
+ * @param result
+ * @param queryError
+ * @param testStatus
+ * @throws QueryTestFailedException
+ */
void generateQueryResultFile(String querySetID, String queryIdentfier,
String query, ResultSet result, Throwable queryError, int testStatus)
throws QueryTestFailedException;
+ /**
+ * Call to generate an error file as the result of incompatibilities in the
+ * comparison of the expected results to the actual results.
+ * @param querySetID
+ * @param queryIdentifier
+ * @param sql
+ * @param resultSet
+ * @param queryError
+ * @param results
+ * @return
+ * @throws QueryTestFailedException
+ */
String generateErrorFile(final String querySetID,
final String queryIdentifier, final String sql,
final ResultSet resultSet, final Throwable queryError,
- final File expectedResultsFile) throws QueryTestFailedException;
+ final Object results) throws QueryTestFailedException;
}
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/TestClient.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/TestClient.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/TestClient.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -24,7 +24,7 @@
import java.text.SimpleDateFormat;
import java.util.Iterator;
-import java.util.Map;
+import java.util.List;
import java.util.Properties;
import org.junit.Assert;
@@ -67,9 +67,12 @@
static {
if (System.getProperty(ConfigPropertyNames.CONFIG_FILE ) == null) {
- System.setProperty(ConfigPropertyNames.CONFIG_FILE,"qe-test.properties");
+ System.setProperty(ConfigPropertyNames.CONFIG_FILE,"./ctc_tests/ctc-test.properties");
+ } else {
+ System.out.println("Config File Set: " + System.getProperty(ConfigPropertyNames.CONFIG_FILE ));
}
+ // the project.loc is used
if (System.getProperty("project.loc" ) == null) {
System.setProperty("project.loc",".");
}
@@ -156,7 +159,7 @@
private void runTestCase(QueryScenario queryset, TransactionContainer tc) throws Exception {
String querySetID = null;
- Map<String, Object> queryTests = null;
+ List<QueryTest> queryTests = null;
TestClientTransaction userTxn = new TestClientTransaction(queryset);
@@ -174,8 +177,8 @@
queryTests = queryset.getQueries(querySetID);
// the iterator to process the query tests
- Iterator<String> queryTestIt = null;
- queryTestIt = queryTests.keySet().iterator();
+ Iterator<QueryTest> queryTestIt = null;
+ queryTestIt = queryTests.iterator();
ExpectedResults expectedResults = queryset.getExpectedResults(querySetID);
@@ -186,13 +189,10 @@
long endTS = 0;
while (queryTestIt.hasNext()) {
-
- String queryidentifier = queryTestIt.next();
-
- Object sqlObject = queryTests.get(queryidentifier);
-
- userTxn.init(summary, expectedResults, querySetID, queryidentifier, sqlObject);
-
+ QueryTest q = queryTestIt.next();
+
+ userTxn.init(summary, expectedResults, q);
+
// run test
tc.runTransaction(userTxn);
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/TestClientTransaction.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/TestClientTransaction.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/TestClientTransaction.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -42,12 +42,8 @@
private QueryScenario querySet = null;
private ExpectedResults expectedResults = null;
+ private QueryTest query = null;
- // the current querySet info
- private String querySetID = null;
- private String queryIdentifier = null;
- private Object queryObject = null;
-
private long endTS = 0;
private long beginTS = 0;
@@ -56,6 +52,7 @@
private boolean errorExpected = false;
private String sql = null;
+ private boolean resultFromQuery = false;
private TestResultsSummary testResultsSummary;
@@ -64,11 +61,12 @@
this.querySet = querySet;
}
+
+
+
- public void init(TestResultsSummary testResultsSummary, ExpectedResults expectedResults, String querySetID, String queryIdentifier, Object query) {
- this.querySetID = querySetID;
- this.queryIdentifier = queryIdentifier;
- this.queryObject = query;
+ public void init(TestResultsSummary testResultsSummary, ExpectedResults expectedResults, QueryTest query) {
+ this.query = query;
this.testResultsSummary = testResultsSummary;
this.expectedResults = expectedResults;
@@ -77,13 +75,13 @@
testStatus = TestResult.RESULT_STATE.TEST_SUCCESS;
-
errorExpected = false;
+ resultFromQuery = false;
}
public String getTestName() {
- return querySetID + ":" + (this.queryIdentifier!=null?this.queryIdentifier:"NA");
+ return query.geQuerySetID() + ":" + (query.getQueryID()!=null?query.getQueryID():"NA");
}
@@ -95,7 +93,7 @@
try {
this.errorExpected = expectedResults
- .isExceptionExpected(this.queryIdentifier);
+ .isExceptionExpected(query.getQueryID());
} catch (QueryTestFailedException e) {
// TODO Auto-generated catch block
throw new TransactionRuntimeException("ProgramError: "
@@ -104,32 +102,35 @@
}
+
@Override
public void testCase() throws Exception {
- if (this.queryObject instanceof String) {
- this.sql = (String) this.queryObject;
- executeTest(this.querySetID, this.queryIdentifier, sql);
- }
-
- // TODO: support object types for queries (i.e., arguments for prepared statements, etc)
-
- }
-
- protected void executeTest(String querySetID, String queryidentifier,
- String sql) throws Exception {
-
+ TestLogger.logDebug("expected error: " + this.errorExpected);
+ TestLogger.logDebug("ID: " + query.geQuerySetID() + "-" + query.getQueryID());
- TestLogger.logDebug("ID: " + querySetID + "-" + queryidentifier + " execute: " + sql);
+ QuerySQL[] queries = query.getQueries();
+ int l = queries.length;
- TestLogger.logDebug("expected error: " + this.errorExpected);
-
try {
// need to set this so the underlying query execution handles an
// error properly.
beginTS = System.currentTimeMillis();
- execute(sql);
+
+ for (int i= 0; i < l; i++) {
+ QuerySQL qsql = queries[i];
+ this.sql = qsql.getSql();
+ resultFromQuery = execute(sql, qsql.getParms());
+ if (!resultFromQuery) {
+ this.assertUpdateCount(qsql.getUpdateCnt());
+ } else if (qsql.getRowCnt() >= 0) {
+ this.assertRowCount(qsql.getRowCnt());
+
+ }
+
+ }
+
} catch (Throwable t) {
this.setApplicationException(t);
@@ -159,15 +160,16 @@
testStatus = TestResult.RESULT_STATE.TEST_EXCEPTION;
}
-}
+ }
- rs = new TestResultStat(querySetID, this.queryIdentifier, sql,
+ rs = new TestResultStat(query.geQuerySetID(), query.getQueryID(), sql,
testStatus, beginTS, endTS, resultException, null);
- this.querySet.handleTestResult(rs, this.internalResultSet, sql);
+
+ this.querySet.handleTestResult(rs, this.internalResultSet, this.updateCount, resultFromQuery, sql);
- this.testResultsSummary.addTestResult(this.querySetID, rs);
+ this.testResultsSummary.addTestResult(query.geQuerySetID(), rs);
}
@@ -182,7 +184,6 @@
// exceptions depends on this
@Override
public boolean exceptionExpected() {
- // TODO Auto-generated method stub
return this.errorExpected;
}
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/TransactionFactory.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/TransactionFactory.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/TransactionFactory.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -98,7 +98,7 @@
throw new TransactionRuntimeException("Invalid property value of " + type + " for " + TRANSACTION_TYPE );
}
- TestLogger.log("==== TransactionContainer: " + transacton.getClass().getName());
+ TestLogger.log("==== TransactionContainer: " + transacton.getClass().getName() + " option:" + type);
return transacton;
}
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/CTCQueryScenario.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/CTCQueryScenario.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/CTCQueryScenario.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -20,27 +20,17 @@
*/
package org.teiid.test.client.ctc;
-import java.io.File;
import java.io.IOException;
import java.sql.ResultSet;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.Properties;
-import org.teiid.test.client.ClassFactory;
import org.teiid.test.client.ExpectedResults;
-import org.teiid.test.client.QueryReader;
import org.teiid.test.client.QueryScenario;
-import org.teiid.test.client.ResultsGenerator;
import org.teiid.test.client.TestProperties;
import org.teiid.test.client.TestResult;
-import org.teiid.test.client.TestProperties.RESULT_MODES;
import org.teiid.test.framework.exception.QueryTestFailedException;
import org.teiid.test.framework.exception.TransactionRuntimeException;
-import com.metamatrix.common.util.PropertiesUtils;
-import com.metamatrix.core.util.FileUtils;
-
/**
* The CTCQueryScenario represents the tests that were created using the old xml file formats.
*
@@ -81,7 +71,7 @@
}
-
+ @Override
public ExpectedResults getExpectedResults(String querySetID) {
return new XMLExpectedResults( querySetID, this.getProperties());
}
@@ -92,7 +82,7 @@
* @see org.teiid.test.client.QueryScenario#handleTestResult(org.teiid.test.client.TestResult, java.lang.String)
*/
@Override
- public void handleTestResult(TestResult tr, ResultSet resultSet, String sql) {
+ public void handleTestResult(TestResult tr, ResultSet resultSet, int updatecnt, boolean resultFromQuery, String sql) {
Throwable resultException = tr.getException();
if (getResultsMode().equalsIgnoreCase(
@@ -103,7 +93,7 @@
sql,
resultSet,
resultException,
- tr.getStatus(), isOrdered(sql), -1);
+ tr.getStatus(), isOrdered(sql), -1, resultFromQuery);
} catch (QueryTestFailedException qtf) {
resultException = (resultException != null ? resultException
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/QueryResults.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/QueryResults.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/QueryResults.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -39,6 +39,7 @@
import com.metamatrix.query.sql.symbol.GroupSymbol;
import com.metamatrix.query.sql.symbol.SingleElementSymbol;
+
/**
* This class encapsulates results associated with a query.
* <p>
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/TagNames.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/TagNames.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/TagNames.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -109,6 +109,8 @@
public static final String QUERY = "query"; //$NON-NLS-1$
public static final String SELECT = "select"; //$NON-NLS-1$
public static final String ROOT_ELEMENT = "root"; //$NON-NLS-1$
+ public static final String SQL = "sql"; //$NON-NLS-1$
+ public static final String PARM = "parm"; //$NON-NLS-1$
}
/**
@@ -123,6 +125,7 @@
public static final String VALUE = "value"; //$NON-NLS-1$
public static final String DISTINCT = "distinct"; //$NON-NLS-1$
public static final String STAR = "star"; //$NON-NLS-1$
+ public static final String UPDATE_CNT = "updatecnt"; //$NON-NLS-1$
}
/**
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLExpectedResults.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLExpectedResults.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLExpectedResults.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -42,6 +42,7 @@
import org.jdom.JDOMException;
import org.teiid.test.client.ClassFactory;
import org.teiid.test.client.ExpectedResults;
+import org.teiid.test.client.QueryTest;
import org.teiid.test.client.QueryScenario;
import org.teiid.test.client.ResultsGenerator;
import org.teiid.test.client.TestResult;
@@ -137,13 +138,14 @@
* @throws QueryTestFailedException
* If comparison fails.
*/
- public void compareResults( final String queryIdentifier,
+ public Object compareResults( final String queryIdentifier,
final String sql,
final ResultSet resultSet,
final Throwable actualException,
final int testStatus,
final boolean isOrdered,
- final int batchSize) throws QueryTestFailedException {
+ final int batchSize,
+ final boolean resultFromQuery) throws QueryTestFailedException {
final String eMsg = "CompareResults Error: "; //$NON-NLS-1$
@@ -201,6 +203,8 @@
break;
}
+
+ return null;
}
@@ -713,7 +717,7 @@
while (it.hasNext()) {
String querySetID = it.next();
- Map queries = set.getQueries(querySetID);
+ List<QueryTest> queries = set.getQueries(querySetID);
if (queries.size() == 0l) {
System.out.println("Failed, didn't load any queries " );
}
@@ -725,16 +729,17 @@
ResultsGenerator gr = set.getResultsGenerator();
//new XMLGenerateResults(_instance.getProperties(), "testname", set.getOutputDirectory());
- Iterator qIt = queries.keySet().iterator();
+ Iterator<QueryTest> qIt = queries.iterator();
while(qIt.hasNext()) {
- String qId = (String) qIt.next();
- String sql = (String) queries.get(qId);
+ QueryTest q = qIt.next();
+ // String qId = (String) qIt.next();
+ // String sql = (String) queries.get(qId);
// System.out.println("SetID #: " + cnt + " Qid: " + qId + " sql: " + sql);
- File resultsFile = er.getResultsFile(qId);
+ File resultsFile = er.getResultsFile(q.getQueryID());
if (resultsFile == null) {
- System.out.println("Failed to get results file for queryID " + qId);
+ System.out.println("Failed to get results file for queryID " + q.getQueryID());
}
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLGenerateResults.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLGenerateResults.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLGenerateResults.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -196,7 +196,7 @@
public String generateErrorFile(final String querySetID,
final String queryID, final String sql, final ResultSet resultSet,
- final Throwable queryError, final File expectedResultsFile)
+ final Throwable queryError, final Object expectedResultsFile)
throws QueryTestFailedException {
String errorFileName = null;
@@ -212,7 +212,7 @@
resultSet.beforeFirst();
}
generateErrorResults(querySetID, queryID, sql, errorFile,
- resultSet, expectedResultsFile, queryError);
+ resultSet, (File) expectedResultsFile, queryError);
} catch (Throwable e) {
throw new QueryTestFailedException(e.getMessage());
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryReader.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryReader.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryReader.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -32,6 +32,7 @@
import java.util.Map;
import java.util.Properties;
+import org.teiid.test.client.QueryTest;
import org.teiid.test.client.QueryReader;
import org.teiid.test.framework.ConfigPropertyLoader;
import org.teiid.test.framework.ConfigPropertyNames;
@@ -55,7 +56,7 @@
}
@Override
- public Map<String, Object> getQueries(String querySetID)
+ public List<QueryTest> getQueries(String querySetID)
throws QueryTestFailedException {
String queryFile = querySetIDToFileMap.get(querySetID);
@@ -110,10 +111,11 @@
}
- private Map<String, Object> loadQueries(String querySetID, String queryFileName)
+ private List <QueryTest> loadQueries(String querySetID, String queryFileName)
throws IOException {
- Map<String, Object> queries = new HashMap<String, Object>();
+ List<QueryTest> queries = null;
+// Map<String, Object> queries = new HashMap<String, Object>();
File queryFile = new File(queryFileName);
if (!queryFile.exists() || !queryFile.canRead()) {
String msg = "Query file doesn't exist or cannot be read: " + queryFileName + ", ignoring and continuing";
@@ -125,23 +127,23 @@
XMLQueryVisitationStrategy jstrat = new XMLQueryVisitationStrategy();
try {
- Map queryMap = jstrat.parseXMLQueryFile(queryFile);
- Iterator iter = queryMap.keySet().iterator();
- while (iter.hasNext()) {
- String queryID = (String) iter.next();
- String query = (String) queryMap.get(queryID);
+ return jstrat.parseXMLQueryFile(queryFile, querySetID);
+// Iterator iter = queryMap.keySet().iterator();
+// while (iter.hasNext()) {
+// String queryID = (String) iter.next();
+// String query = (String) queryMap.get(queryID);
+//
+// String uniqueID = querySetID + "_" + queryID;
+// queries.put(uniqueID, query);
+// }
- String uniqueID = querySetID + "_" + queryID;
- queries.put(uniqueID, query);
- }
-
} catch (Exception e) {
String msg = "Error reading query file: " + queryFileName + ", " + e.getMessage(); //$NON-NLS-1$ //$NON-NLS-2$
TestLogger.log(msg);
throw new IOException(msg); //$NON-NLS-1$ //$NON-NLS-2$
}
}
- return queries;
+// return queries;
}
private static String getQuerySetName(String queryFileName) {
@@ -174,7 +176,7 @@
while (it.hasNext()) {
String querySetID = it.next();
- Map queries = reader.getQueries(querySetID);
+ List<QueryTest> queries = reader.getQueries(querySetID);
if (queries.size() == 0l) {
System.out.println("Failed, didn't load any queries ");
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryVisitationStrategy.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryVisitationStrategy.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/ctc/XMLQueryVisitationStrategy.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -33,17 +33,20 @@
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
+import org.teiid.test.client.QuerySQL;
+import org.teiid.test.client.QueryTest;
import org.teiid.test.client.ctc.QueryResults.ColumnInfo;
+import org.teiid.test.framework.TestLogger;
+import org.teiid.test.framework.exception.TransactionRuntimeException;
import org.teiid.test.util.StringUtil;
import com.metamatrix.common.types.DataTypeManager;
@@ -51,6 +54,7 @@
import com.metamatrix.query.sql.lang.Select;
import com.metamatrix.query.sql.symbol.ElementSymbol;
+
/**
* <P> This program helps in parsing XML Query and Results files into
* map objects containing individual queries/ResultSets</P>
@@ -76,12 +80,13 @@
* queryNames/IDs as Keys.
* <br>
* @param queryFile the XML file object that is to be parsed
- * @return the Map containig query strings.
+ * @return the List containing quers.
* @exception JDOMException if there is an error consuming the message.
*/
- public Map parseXMLQueryFile(File queryFile) throws IOException, JDOMException {
+ public List parseXMLQueryFile(File queryFile, String querySetID) throws IOException, JDOMException {
- HashMap queryMap = new HashMap();
+ List<QueryTest> queries = new LinkedList();
+// HashMap queryMap = new HashMap();
SAXBuilder builder = SAXBuilderHelper.createSAXBuilder(false);
Document queryDocument = builder.build(queryFile);
List queryElements = queryDocument.getRootElement().getChildren(TagNames.Elements.QUERY);
@@ -90,17 +95,140 @@
Element queryElement = (Element) iter.next();
String queryName = queryElement.getAttributeValue(TagNames.Attributes.NAME);
if ( queryElement.getChild(TagNames.Elements.EXCEPTION) == null ) {
- String query = queryElement.getTextTrim();
- queryMap.put(queryName, query);
+ String uniqueID = querySetID + "_" + queryName;
+
+ List<Element> parmChildren = queryElement.getChildren(TagNames.Elements.SQL);
+
+ if (parmChildren == null || parmChildren.isEmpty()) {
+ TestLogger.logDebug("======= Single QueryTest ");
+ QuerySQL sql = createQuerySQL(queryElement);
+
+ QueryTest q = new QueryTest(uniqueID, querySetID, new QuerySQL[] {sql}, false);
+ queries.add(q);
+ } else {
+ TestLogger.logDebug("======= QueryTest has multiple sql statements");
+ QuerySQL[] querysql = new QuerySQL[parmChildren.size()];
+ int c = 0;
+
+ final Iterator<Element> sqliter = parmChildren.iterator();
+ while ( sqliter.hasNext() ) {
+ final Element sqlElement = (Element) sqliter.next();
+ QuerySQL sql = createQuerySQL(sqlElement);
+ querysql[c] = sql;
+ c++;
+ }
+ QueryTest q = new QueryTest(uniqueID, querySetID, querysql, false);
+ queries.add(q);
+
+
+
+ }
+ // queryMap.put(queryName, query);
} else {
Element exceptionElement = queryElement.getChild(TagNames.Elements.EXCEPTION);
String exceptionType = exceptionElement.getChild(TagNames.Elements.CLASS).getTextTrim();
- queryMap.put(queryName, exceptionType);
+
+ String uniqueID = querySetID + "_" + queryName;
+ QuerySQL sql = new QuerySQL(exceptionType, null);
+
+ QueryTest q = new QueryTest(uniqueID, querySetID, new QuerySQL[] {sql}, true);
+ queries.add(q);
+
+
+ // queryMap.put(queryName, exceptionType);
}
}
- return queryMap;
+ return queries;
}
+
+ private QuerySQL createQuerySQL(Element queryElement) {
+ String query = queryElement.getTextTrim();
+
+ Object[] parms = getParms(queryElement);
+
+ QuerySQL sql = new QuerySQL(query, parms);
+
+ String updateCnt = queryElement.getAttributeValue(TagNames.Attributes.UPDATE_CNT);
+ if (updateCnt != null && updateCnt.trim().length() > 0) {
+ int cnt = Integer.parseInt(updateCnt);
+ sql.setUpdateCnt(cnt);
+ }
+
+ String rowCnt = queryElement.getAttributeValue(TagNames.Attributes.TABLE_ROW_COUNT);
+ if (rowCnt != null && rowCnt.trim().length() > 0) {
+ int cnt = Integer.parseInt(rowCnt);
+ sql.setRowCnt(cnt);
+ }
+
+ return sql;
+ }
+
+ private Object[] getParms(Element parent) {
+ List<Element> parmChildren = parent.getChildren(TagNames.Elements.PARM);
+ if (parmChildren == null) {
+ return null;
+ }
+
+ Object[] parms = new Object[parmChildren.size()];
+ int i = 0;
+ final Iterator<Element> iter = parmChildren.iterator();
+ while ( iter.hasNext() ) {
+ final Element parmElement = (Element) iter.next();
+ try {
+ Object parm = createParmType(parmElement);
+ parms[i] = parm;
+ i++;
+ } catch (JDOMException e) {
+ throw new TransactionRuntimeException(e);
+ }
+ }
+
+
+
+ return parms;
+ }
+
+ private Object createParmType(Element cellElement) throws JDOMException {
+ Object cellObject = null;
+
+ final String typeName = cellElement.getAttributeValue(TagNames.Attributes.TYPE);
+
+ if ( typeName.equalsIgnoreCase(TagNames.Elements.BOOLEAN) ) {
+ cellObject = consumeMsg((Boolean) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.STRING) ) {
+ cellObject = consumeMsg((String) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.CHAR) ) {
+ cellObject = consumeMsg((Character) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.BYTE) ) {
+ cellObject = consumeMsg((Byte) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.DOUBLE) ) {
+ cellObject = consumeMsg((Double) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.DATE) ) {
+ cellObject = consumeMsg((java.sql.Date) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.TIME) ) {
+ cellObject = consumeMsg((Time) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.TIMESTAMP) ) {
+ cellObject = consumeMsg((Timestamp) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.FLOAT) ) {
+ cellObject = consumeMsg((Float) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.BIGDECIMAL) ) {
+ cellObject = consumeMsg((BigDecimal) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.BIGINTEGER) ) {
+ cellObject = consumeMsg((BigInteger) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.INTEGER) ) {
+ cellObject = consumeMsg((Integer) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.LONG) ) {
+ cellObject = consumeMsg((Long) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.SHORT) ) {
+ cellObject = consumeMsg((Short) cellObject, cellElement);
+ } else if ( typeName.equalsIgnoreCase(TagNames.Elements.OBJECT) ) {
+ cellObject = consumeMsg((String) cellObject, cellElement);
+ }
+
+ return cellObject;
+ }
+
/**
* Consume an XML results File and produce a Map containing query results
* as List objects, with resultNames/IDs as Keys.
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/ExpectedResultsImpl.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/ExpectedResultsImpl.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/ExpectedResultsImpl.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -35,29 +35,28 @@
import org.teiid.test.framework.exception.QueryTestFailedException;
import org.teiid.test.framework.exception.TransactionRuntimeException;
+import com.metamatrix.common.util.SqlUtil;
import com.metamatrix.jdbc.util.ResultSetUtil;
public class ExpectedResultsImpl implements ExpectedResults {
-
+
private static final int MAX_COL_WIDTH = 65;
-
protected Properties props;
protected int resultMode = -1;
protected String generateDir = null;
protected String querySetIdentifier = null;
protected String results_dir_loc = null;
-
+
protected Map<String, ResultsHolder> loadedResults = new HashMap<String, ResultsHolder>();
-
-
+
public ExpectedResultsImpl(String querySetIdentifier, Properties properties) {
- this.props = properties;
- this.querySetIdentifier = querySetIdentifier;
-
- this.results_dir_loc = props.getProperty(
- PROP_EXPECTED_RESULTS_DIR_LOC, "");
-
+ this.props = properties;
+ this.querySetIdentifier = querySetIdentifier;
+
+ this.results_dir_loc = props.getProperty(PROP_EXPECTED_RESULTS_DIR_LOC,
+ "");
+
String expected_root_loc = this.props
.getProperty(PROP_EXPECTED_RESULTS_ROOT_DIR);
@@ -66,110 +65,155 @@
this.results_dir_loc = dir.getAbsolutePath();
}
-
- TestLogger.logInfo("Expected results loc: " + this.results_dir_loc);
+ TestLogger.logInfo("Expected results loc: " + this.results_dir_loc);
}
+ @Override
+ public boolean isExceptionExpected(String queryidentifier)
+ throws QueryTestFailedException {
+ return false;
+ }
- @Override
- public boolean isExceptionExpected(String queryidentifier) throws QueryTestFailedException {
- return false;
- }
+ @Override
+ public String getQuerySetID() {
+ return this.querySetIdentifier;
+ }
+ @Override
+ public synchronized File getResultsFile(String queryidentifier)
+ throws QueryTestFailedException {
+ return findExpectedResultsFile(queryidentifier, this.querySetIdentifier);
+ }
- @Override
- public String getQuerySetID() {
- return this.querySetIdentifier;
- }
-
-
-
- @Override
- public synchronized File getResultsFile(String queryidentifier) throws QueryTestFailedException {
- return findExpectedResultsFile(queryidentifier, this.querySetIdentifier);
-
- }
-
-
- /**
+ /**
* Compare the results of a query with those that were expected.
*
* @param expectedResults
* The expected results.
* @param results
- * The actual results - may be null if <code>actualException</code>.
+ * The actual results - may be null if
+ * <code>actualException</code>.
* @param actualException
- * The actual exception recieved durring query execution - may be null if <code>results</code>.
+ * The actual exception recieved durring query execution - may be
+ * null if <code>results</code>.
* @param isOrdered
* Are the actual results ordered?
* @param batchSize
- * Size of the batch(es) used in determining when the first batch of results were read.
- * @return The response time for comparing the first batch (sizes) of resutls.
+ * Size of the batch(es) used in determining when the first batch
+ * of results were read.
+ * @return The response time for comparing the first batch (sizes) of
+ * resutls.
* @throws QueryTestFailedException
* If comparison fails.
*/
- public void compareResults( final String queryIdentifier,
- final String sql,
- final ResultSet resultSet,
- final Throwable actualException,
- final int testStatus,
- final boolean isOrdered,
- final int batchSize) throws QueryTestFailedException {
+ public Object compareResults(final String queryIdentifier, final String sql,
+ final ResultSet resultSet, final Throwable actualException,
+ final int testStatus, final boolean isOrdered, final int updateCnt,
+ final boolean resultFromQuery) throws QueryTestFailedException {
File expectedResultsFile = getResultsFile(queryIdentifier);
-
-// File temp = new File("ERROR_" + queryIdentifier + ".txt");
-// temp.deleteOnExit();
-
+
List<?> results = null;
if (actualException != null) {
-
+
try {
- results = ResultSetUtil.writeAndCompareThrowable(actualException, null, expectedResultsFile, false);
+ results = ResultSetUtil.writeAndCompareThrowable(
+ actualException, null, expectedResultsFile, false);
- } catch (Exception e1) {
- throw new TransactionRuntimeException(e1);
+ } catch (Throwable e) {
+ TransactionRuntimeException t = new TransactionRuntimeException(
+ e.getMessage());
+ t.initCause(e);
+ throw t;
}
- if (results != null && results.size() >0) {
- throw new QueryTestFailedException("Comparison resulted in unequal lines");
+ if (results != null && results.size() > 0) {
+ return results;
+ }
+
+ return null;
+
+ }
+
+ // update sql or procedure(with no results) has no results set
+ if (!resultFromQuery) {
+
+ if (SqlUtil.isUpdateSql(sql)) {
+ if (updateCnt == 0 && expectedResultsFile.length() > 0) {
+ throw new QueryTestFailedException("Update cnt was zero: " + expectedResultsFile.getName());
}
+ if (updateCnt > 0 && expectedResultsFile.length() == 0) {
+ throw new QueryTestFailedException(
+ "Update cnt was greater than zero, but didnt expected any updates");
+ }
+
+ } else {
+ if (expectedResultsFile.length() > 0) {
+ throw new QueryTestFailedException("No results from query, but expected results");
+ }
+ }
+
+
} else {
-
+
try {
- results = ResultSetUtil.writeAndCompareResultSet(resultSet, MAX_COL_WIDTH, false, null, expectedResultsFile, false);
+ if (expectedResultsFile.length() == 0) {
+ // if the expectedResult file is empty
+ // and the result doesnt have a first row-meaning its empty
+ // then this is good
+ if (!resultSet.first()) {
+ throw new QueryTestFailedException(
+ "Expected results is empty, but query produced results");
+ }
+ return results;
+ }
+
+ resultSet.beforeFirst();
- } catch (Exception e) {
- throw new TransactionRuntimeException(e);
- }
+ results = ResultSetUtil.writeAndCompareResultSet(resultSet,
+ MAX_COL_WIDTH, false, null, expectedResultsFile, false);
+
+ } catch (QueryTestFailedException qe) {
+ throw qe;
+ } catch (Throwable e) {
+ TransactionRuntimeException t = new TransactionRuntimeException(
+ e.getMessage());
+ t.initCause(e);
+ throw t;
+ }
+
- if (results != null && results.size() >0) {
- throw new QueryTestFailedException("Comparison resulted in unequal lines");
- }
+ if (results != null && results.size() > 0) {
+ return results;
+ }
+
+ return null;
+
}
+
+ return results;
-
}
- @Override
- public Object getMetaData(String queryidentifier) {
- // TODO Auto-generated method stub
- return null;
- }
+ @Override
+ public Object getMetaData(String queryidentifier) {
+ // TODO Auto-generated method stub
+ return null;
+ }
-
private File findExpectedResultsFile(String queryIdentifier,
- String querySetIdentifier) throws QueryTestFailedException {
- String resultFileName = queryIdentifier + ".txt"; //$NON-NLS-1$
- File file = new File(results_dir_loc + "/" + querySetIdentifier, resultFileName);
- if (!file.exists()) {
- throw new QueryTestFailedException("Query results file " + file.getAbsolutePath() + " cannot be found");
- }
-
- return file;
+ String querySetIdentifier) throws QueryTestFailedException {
+ String resultFileName = queryIdentifier + ".txt"; //$NON-NLS-1$
+ File file = new File(results_dir_loc + "/" + querySetIdentifier,
+ resultFileName);
+ if (!file.exists()) {
+ throw new QueryTestFailedException("Query results file "
+ + file.getAbsolutePath() + " cannot be found");
+ }
- }
-
-
+ return file;
+
+ }
+
}
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/QueryScenarioImpl.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/QueryScenarioImpl.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/QueryScenarioImpl.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -38,30 +38,29 @@
*/
public class QueryScenarioImpl extends QueryScenario {
-
public QueryScenarioImpl(String scenarioName, Properties queryProperties) {
super(scenarioName, queryProperties);
}
-
/* (non-Javadoc)
* @see org.teiid.test.client.QueryScenario#handleTestResult(org.teiid.test.client.TestResult, java.lang.String)
*/
@Override
- public void handleTestResult(TestResult tr, ResultSet resultSet, String sql) {
+ public void handleTestResult(TestResult tr, ResultSet resultSet, int updateCnt, boolean resultFromQuery, String sql) {
Throwable resultException = tr.getException();
if (getResultsMode().equalsIgnoreCase(
TestProperties.RESULT_MODES.COMPARE)) {
+ Object results = null;
try {
- this.getExpectedResults(tr.getQuerySetID()).compareResults(tr.getQueryID(),
+ results = this.getExpectedResults(tr.getQuerySetID()).compareResults(tr.getQueryID(),
sql,
resultSet,
resultException,
- tr.getStatus(), isOrdered(sql), -1);
+ tr.getStatus(), isOrdered(sql), updateCnt, resultFromQuery);
tr.setStatus(TestResult.RESULT_STATE.TEST_SUCCESS);
@@ -70,14 +69,18 @@
: qtf);
tr.setException(resultException);
tr.setStatus(TestResult.RESULT_STATE.TEST_EXCEPTION);
+
+
+ }
+
+ if (results != null || tr.getStatus() == TestResult.RESULT_STATE.TEST_EXCEPTION) {
try {
this.getResultsGenerator().generateErrorFile(tr.getQuerySetID(),
tr.getQueryID(), sql, resultSet, resultException,
- this.getExpectedResults(tr.getQuerySetID()).getResultsFile(tr.getQueryID()) );
+ results );
} catch (QueryTestFailedException qtfe) {
throw new TransactionRuntimeException(qtfe.getMessage());
}
-
}
@@ -98,8 +101,7 @@
if (tr.getException() != null) {
try {
this.getResultsGenerator().generateErrorFile(tr.getQuerySetID(),
- tr.getQueryID(), sql, resultSet, resultException,
- this.getExpectedResults(tr.getQuerySetID()).getResultsFile(tr.getQueryID()) );
+ tr.getQueryID(), sql, resultSet, resultException, null);
} catch (QueryTestFailedException qtfe) {
throw new TransactionRuntimeException(qtfe.getMessage());
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/ResultsGeneratorImpl.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/ResultsGeneratorImpl.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/client/impl/ResultsGeneratorImpl.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -29,6 +29,8 @@
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
import org.junit.Assert;
@@ -128,7 +130,7 @@
if (ex != null) {
ResultSetUtil.printThrowable(ex, filePrintStream);
} else if (result != null ){
-
+ result.beforeFirst();
ResultSetUtil.printResultSet(result, MAX_COL_WIDTH, true, filePrintStream);
}
@@ -150,7 +152,7 @@
public String generateErrorFile(final String querySetID,
final String queryID, final String sql, final ResultSet resultSet,
- final Throwable queryError, final File expectedResultsFile)
+ final Throwable queryError, final Object results)
throws QueryTestFailedException {
String errorFileName = null;
@@ -194,7 +196,7 @@
resultSet.beforeFirst();
generateErrorResults(querySetID, queryID, sql, errorFile,
- resultSet, expectedResultsFile, queryError);
+ resultSet, (results != null ? (List) results : null));
} catch (Throwable e) {
throw new QueryTestFailedException(e.getMessage());
@@ -241,15 +243,24 @@
*/
private void generateErrorResults(String querySetID, String queryID,
String sql, File resultsFile, ResultSet actualResult,
- File expectedResultFile, Throwable ex)
+ List<String> results)
throws QueryTestFailedException {
FileOutputStream actualOut = null;
try {
actualOut = new FileOutputStream(resultsFile);
PrintStream filePrintStream = new PrintStream(actualOut);
+
- ResultSetUtil.printResultSet(actualResult, MAX_COL_WIDTH, true, filePrintStream);
+ if (results != null) {
+ for (Iterator<String> it=results.iterator(); it.hasNext();) {
+ String line = it.next();
+ filePrintStream.print(line);
+ }
+ } else {
+
+ ResultSetUtil.printResultSet(actualResult, MAX_COL_WIDTH, true, filePrintStream);
+ }
} catch (Exception e) {
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/framework/ConfigPropertyLoader.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/framework/ConfigPropertyLoader.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/framework/ConfigPropertyLoader.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -6,10 +6,11 @@
import org.teiid.test.framework.datasource.DataSourceFactory;
import org.teiid.test.framework.datasource.DataStore;
-import org.teiid.test.framework.exception.TransactionRuntimeException;
import org.teiid.test.util.PropUtils;
+import com.metamatrix.common.util.PropertiesUtils;
+
/**
* The ConfigProperteryLoader will load the configuration properties to be used by a test.
* Unless a different configuraton file is specified, subsequent loading of the configuration
@@ -112,7 +113,7 @@
private void initialize() {
- props = PropUtils.loadProperties("/" + LAST_CONFIG_FILE, null);
+ props = PropUtils.loadProperties(LAST_CONFIG_FILE, null);
dsfactory = new DataSourceFactory(this);
}
@@ -143,9 +144,9 @@
}
public Properties getProperties() {
+
- Properties p = new Properties();
- p.putAll(System.getProperties());
+ Properties p = PropertiesUtils.clone(System.getProperties(), false);
if (props != null) {
p.putAll(props);
}
Modified: trunk/test-integration/db/src/main/java/org/teiid/test/util/PropUtils.java
===================================================================
--- trunk/test-integration/db/src/main/java/org/teiid/test/util/PropUtils.java 2010-01-19 20:21:16 UTC (rev 1752)
+++ trunk/test-integration/db/src/main/java/org/teiid/test/util/PropUtils.java 2010-01-19 20:26:55 UTC (rev 1753)
@@ -1,5 +1,6 @@
package org.teiid.test.util;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
@@ -7,6 +8,8 @@
import org.teiid.test.framework.ConfigPropertyLoader;
import org.teiid.test.framework.exception.TransactionRuntimeException;
+import com.metamatrix.common.util.PropertiesUtils;
+
public class PropUtils {
@@ -18,7 +21,15 @@
props.putAll(defaults);
}
try {
- in = ConfigPropertyLoader.class.getResourceAsStream(filename);
+
+ File f = new File(filename);
+ if (f.exists()) {
+ return PropertiesUtils.load(filename);
+
+ }
+
+
+ in = ConfigPropertyLoader.class.getResourceAsStream("/" + filename);
if (in != null) {
Properties lprops = new Properties();
lprops.load(in);
14 years, 11 months
teiid SVN: r1752 - in trunk/adminshell/src/main: resources/commands and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2010-01-19 15:21:16 -0500 (Tue, 19 Jan 2010)
New Revision: 1752
Modified:
trunk/adminshell/src/main/java/com/metamatrix/script/shell/ReaderInterceptor.java
trunk/adminshell/src/main/resources/commands/mparse.bsh
Log:
TEIID-932 fix for adminshell parse handling of double quote characters.
Modified: trunk/adminshell/src/main/java/com/metamatrix/script/shell/ReaderInterceptor.java
===================================================================
--- trunk/adminshell/src/main/java/com/metamatrix/script/shell/ReaderInterceptor.java 2010-01-19 19:43:23 UTC (rev 1751)
+++ trunk/adminshell/src/main/java/com/metamatrix/script/shell/ReaderInterceptor.java 2010-01-19 20:21:16 UTC (rev 1752)
@@ -21,18 +21,13 @@
*/
package com.metamatrix.script.shell;
-/*
- * Copyright � 2000-2005 MetaMatrix, Inc.
- * All rights reserved.
- */
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Writer;
-import bsh.Interpreter;
-
/**
* This class used in conjunction with BeanShell, to hijack the System.in
* and write a wrapper on top it,so that any commands entered in its console
@@ -131,33 +126,5 @@
}
}
}
-
- public static void main(String[] args) {
- final String ls = System.getProperty("line.separator"); //$NON-NLS-1$
- CustomParser p = new CustomParser() {
- public String convert(String str) {
- System.out.println(str);
- if (str.matches("select .+|insert into.+|delete .+|update table .*|exec .+")){ //$NON-NLS-1$
- return "execute(\""+str.substring(0,str.length()-1)+"\");"+ls; //$NON-NLS-1$ //$NON-NLS-2$
- }
- return "foo:"+str+ls; //$NON-NLS-1$
- }
-
- public void setInterpreter(Interpreter i) {
- }
- };
-
- BufferedReader i = new BufferedReader(new ReaderInterceptor(p, null));
-
- try {
- String line = i.readLine();
- while(line != null) {
- System.out.println(line);
- line = i.readLine();
- }
- } catch (IOException err) {
- err.printStackTrace();
- }
- }
}
Modified: trunk/adminshell/src/main/resources/commands/mparse.bsh
===================================================================
--- trunk/adminshell/src/main/resources/commands/mparse.bsh 2010-01-19 19:43:23 UTC (rev 1751)
+++ trunk/adminshell/src/main/resources/commands/mparse.bsh 2010-01-19 20:21:16 UTC (rev 1752)
@@ -1,5 +1,5 @@
/**
- * A simple parser for MetaMatrix specific commands.
+ * A simple parser for specific commands.
*/
String mparse() {
// mmstr is special variable set by the Input Interceptor. Just update
@@ -9,7 +9,7 @@
boolean record = false;
if (str.endsWith(";") && str.matches("(select|insert|delete|update|exec|create|drop)\\W.+")){
- mmstr="execute(\""+orig_str.substring(0,orig_str.length()-1)+"\");";
+ mmstr="execute(\""+orig_str.substring(0,orig_str.length()-1).replaceAll("\"", "\\\\\"") +"\");";
record = true;
}
else if (str.matches("(help|exit|quit|dir|pwd)\\(?\\)?")) {
14 years, 11 months
teiid SVN: r1751 - in trunk/test-integration/db/src/main/resources/ctc_tests: queries and 4 other directories.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2010-01-19 14:43:23 -0500 (Tue, 19 Jan 2010)
New Revision: 1751
Added:
trunk/test-integration/db/src/main/resources/ctc_tests/ctc-test.properties
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/test_queries/TestPhysicalQueries.xml
trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnoff.properties
trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnon.properties
trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/scenario.properties.template
Removed:
trunk/test-integration/db/src/main/resources/ctc_tests/queries/test_queries/
Modified:
trunk/test-integration/db/src/main/resources/ctc_tests/ctc.xml
Log:
Teiid-773 - adding scripts to suport running cllient test in the db project
Added: trunk/test-integration/db/src/main/resources/ctc_tests/ctc-test.properties
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/ctc-test.properties (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/ctc-test.properties 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,112 @@
+# The ctc-test.properties is used by the bulk client testing .
+# This file provides properties to the process in 2 ways:
+# 1. It acts as a template when property substitution is involved. Meaning the property value will be derived
+# at execution time.
+# 2. The other properties will be static.
+
+
+##--- The following properties are expected to come from the scenario file
+# - ${queryset.dir} indicate which queryset of files to use (because each scenario could be different, bqt, sp, etc)
+# - ${test.queries.dir} indicates which directory in the ${queryset.dir} to find the queries to run.
+# - ${expected.results.dir} indicates which directory in the ${queryset.dir} to find the expected results. This may be different when
+# multiple scenarios use the same queries but have different expected results
+
+
+##--- The following properties are expected to be passed in as system properties
+# - ${queryset.artifacts.dir} indicates where all query sets can be found
+# - ${vdb.artifacts.dir} indicates where the vdbs can be found
+
+
+# the location where a specific query set can be found
+queryfiles.loc=${queryset.artifacts.dir}/${queryset.dir}/${test.queries.dir}
+
+# the location where the specific expected result files can be found
+results.loc=${queryset.artifacts.dir}/${queryset.dir}/${expected.results.dir}
+
+#
+# where to find the vdb's, which is used to define the vdb.definition setting in the deploy.properties
+vdb.loc=${vdb.artifacts.dir}
+
+# turn off the configuration of the datastores (data refresh) and connector bindings (setting the datastore connection info)
+#disable_datastore=true
+
+# the location where newly generated expected results will be created (resultmode = generate)
+generatedir=target/bulk-query-tests/${queryset.dir}/generate
+# the comparison reports for each query set
+outputdir=target/bulk-query-tests/${queryset.dir}/output
+
+# write the summary files out to this location to make it easier to assimilate the files
+summarydir=target/bulk-query-tests
+
+
+# transaction types
+# See the TransactionFactory for the list of types
+#### NOTE- this property is being set in the scenario properties file
+#transaction-option=off
+#transaction-option=auto
+#transaction-option=local
+
+# resultmode options:
+# - compare : compare actual results to expected results
+# - generate : create new expected results
+# - none : run the queries, only report when errors occur
+#resultmode=none
+resultmode=compare
+#resultmode=generate
+
+
+# this is the deploy.properties file which will be used to run all the tests
+# it will have these properties updated:
+# 1 - vdb.definition (which will be based on vdb.loc)
+deployprops.loc=${project.loc}/target/classes/ctc_tests/deploy.properties
+
+process-batch = 20
+connector-batch = 20
+
+# this is how to submit queries to Teiid
+# default is true
+execute.in.batch=false
+
+##########################################
+# properties for Teiid connection
+##########################################
+
+connection-type=datasource
+
+#driver=org.teiid.jdbc.TeiidDataSource
+
+### driver and url for connecting in server mode
+#driver=org.teiid.jdbc.TeiidDriver
+#URL=jdbc:metamatrix:${vdb}@mm://localhost:31000;user=admin;password=teiid
+
+### driver and url for running in embedded mode
+driver=com.metamatrix.jdbc.EmbeddedDataSource
+URL=jdbc:metamatrix:${vdb.name}@target/classes/ctc_tests/deploy.properties;version=1;user=admin;password=teiid
+User=admin
+Password=teiid
+
+### dont define Database, it will be set based on the scenario vdb
+DatabaseName=${vdb.name}
+ServerName=target/classes/ctc_tests/deploy.properties
+
+#PortNumber=0
+#application-name=bqt-test
+
+# jboss
+# mm.ds-jndiname=java:mmXA
+# usertxn-jndiname=UserTransaction
+
+# weblogic
+mm.ds-jndiname=mmXA
+usertxn-jndiname=java:comp/UserTransaction
+
+
+# These mappings control what datasource is mapped to which model when the -Dusedatasources=<comma seperated datasource names> option is used
+# or the system environment is set.
+#
+# By providing the numerical order, it indicates which datasource to assign based on the order in the usedatasources property.
+#
+# If -Dusedatasources is not set, then the datasource will be assigned in the order they are calling to obtain a datasource.
+#
+#
+
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/ctc-test.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/test-integration/db/src/main/resources/ctc_tests/ctc.xml
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/ctc.xml 2010-01-19 19:40:36 UTC (rev 1750)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/ctc.xml 2010-01-19 19:43:23 UTC (rev 1751)
@@ -8,50 +8,46 @@
</classpath>
</taskdef>
- <target name="main" depends="init" if="" unless="" description="create all property files">
+ <target name="main" depends="init, is.config.file, set.default.config.file, set.config.file"
+ if="" unless="" description="create all property files">
<antcall target="run.all.test" inheritall="true" />
<antcall target="run.single.test" inheritall="true" />
<available file="${ERROR_FILE}" property="error.flagged"/>
<fail if="error.flagged" message="One or more ctc tests failed" />
-
-
+
</target>
-
<target name="init" depends="set.os, set.win, set.linux" >
<property name="ERROR_FILE" value="${root_output}/ERROR_FOUND.txt" />
- <available file="${scenario.dir}" type="dir" property="dir.exist"/>
- <fail unless="dir.exist" message="Scenario directory ${scenario.dir} does not exist" />
+ <available file="${scenario.dir}" type="dir" property="scenario.dir.exist"/>
+ <fail unless="scenario.dir.exist" message="Scenario directory ${scenario.dir} does not exist or was not specified." />
+ <available file="${queryset.artifacts.dir}" type="dir" property="queryset.dir.exist"/>
+ <fail unless="queryset.dir.exist" message="QuerySet directory ${queryset.artifacts.dir} does not exist or was not specified." />
- <condition property="all">
- <not>
- <isset property="single"/>
- </not>
+ <available file="${vdb.artifacts.dir}" type="dir" property="vdb.dir.exist"/>
+ <fail unless="vdb.dir.exist" message="VDB artifacts directory ${vdb.artifacts.dir} does not exist or was not specified." />
+
+ <condition property="single">
+ <available file="${scenario.dir}/${scenario.file}" />
</condition>
<delete file="${ERROR_FILE}"/>
-
<copy todir="${proj_dir}/lib" failonerror="false">
<fileset dir="${third.party.jars.dir}"/>
</copy>
+
+
</target>
-
-
- <target name="copy.third.party.jars">
-
-
- </target>
-
<target name="set.win"
if="WinOS">
@@ -70,10 +66,36 @@
<property name="root_output" value="${proj.dir}/target/bulk-query-tests" />
<property name="proj_dir" value="${proj.dir}" />
+ </target>
+
+ <target name="is.config.file">
+
+ <available file="${config.file}" type="file" property="config.exist"/>
+
+ <condition property="set.config.default">
+ <not>
+ <isset property="config.exist"/>
+ </not>
+ </condition>
+
+ </target>
+
+ <target name="set.default.config.file"
+ if="set.config.default">
+ <property name="use.config.file" value="${proj_dir}/src/main/resources/ctc_tests/ctc-test.properties" />
+ <echo>DEFAULT CONFIG: ${use.config.file}</echo>
+
+ </target>
+
+ <target name="set.config.file"
+ unless="set.config.default" >
+ <property name="use.config.file" value="${config.file}" />
+ <echo>USE CONFIG: ${use.config.file}</echo>
+
</target>
<target name="run.all.test"
- if="all" >
+ unless="single" >
<echo>Executing ALL Scenarios</echo>
<for param="file">
@@ -113,13 +135,8 @@
<target name="exec.win"
if="WinOS">
<echo>Scenario property file ${scenario.file}</echo>
-<!--
- Dont convert the config file, it fails
- <pathconvert targetos="unix" property="config_file" >
- <map from="\" to="/"/>
- <path location="${config.file}"/>
- </pathconvert>
--->
+ <echo>Config property file ${use.config.file}</echo>
+
<pathconvert targetos="unix" property="scenario_file" >
<map from="\" to="/"/>
<path location="${scenario.file}"/>
@@ -144,12 +161,12 @@
</fileset>
</classpath>
<jvmarg value="-Xmx1024m" />
- <jvmarg value="-Dmetamatrix.sockets=true" />
- <jvmarg value="-Dconfig=${config.file}" />
+ <jvmarg value="-Dconfig=${use.config.file}" />
<jvmarg value="-Dscenariofile=${scenario_file}" />
<jvmarg value="-Dqueryset.artifacts.dir=${queryset_artifacts_dir}" />
<jvmarg value="-Dvdb.artifacts.dir=${vdb_artifacts_dir}" />
-
+ <jvmarg value="-Dquery.scenario.classname=${query.scenario.classname}" />
+
</java>
@@ -159,7 +176,10 @@
<target name="exec.linux"
if="UnixOS">
<echo>Scenario property file ${scenario.file}</echo>
+ <echo>Config property file ${use.config.file}</echo>
+ <echo>Query Artifacts ${queryset.artifacts.dir}</echo>
+
<java classname="org.teiid.test.client.TestClient" fork="true" >
<classpath>
<pathelement path="${maven.runtime.classpath}" />
@@ -168,13 +188,21 @@
</fileset>
</classpath>
<jvmarg value="-Xmx1024m" />
- <jvmarg value="-Dmetamatrix.sockets=true" />
- <jvmarg value="-Dconfig=${config.file}" />
+ <jvmarg value="-Dconfig=${use.config.file}" />
<jvmarg value="-Dscenariofile=${scenario.file}" />
<jvmarg value="-Dqueryset.artifacts.dir=${queryset.artifacts.dir}" />
<jvmarg value="-Dvdb.artifacts.dir=${vdb.artifacts.dir}" />
+ <jvmarg value="-Dquery.scenario.classname=${query.scenario.classname}" />
+
</java>
+
+ <!--
+ <jvmarg value="-Dmetamatrix.sockets=true" />
+ <jvmarg value="-Xdebug" />
+ <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y" />
+
+ -->
</target>
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,106 @@
+integer string
+e1 e2
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+13 13
+14 14
+15 15
+16 16
+17 17
+18 18
+19 19
+20 20
+21 21
+22 22
+23 23
+24 24
+25 25
+26 26
+27 27
+28 28
+29 29
+30 30
+31 31
+32 32
+33 33
+34 34
+35 35
+36 36
+37 37
+38 38
+39 39
+40 40
+41 41
+42 42
+43 43
+44 44
+45 45
+46 46
+47 47
+48 48
+49 49
+50 50
+51 51
+52 52
+53 53
+54 54
+55 55
+56 56
+57 57
+58 58
+59 59
+60 60
+61 61
+62 62
+63 63
+64 64
+65 65
+66 66
+67 67
+68 68
+69 69
+70 70
+71 71
+72 72
+73 73
+74 74
+75 75
+76 76
+77 77
+78 78
+79 79
+80 80
+81 81
+82 82
+83 83
+84 84
+85 85
+86 86
+87 87
+88 88
+89 89
+90 90
+91 91
+92 92
+93 93
+94 94
+95 95
+96 96
+97 97
+98 98
+99 99
+Row Count : 100
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,56 @@
+integer string
+e1 e2
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+13 13
+14 14
+15 15
+16 16
+17 17
+18 18
+19 19
+20 20
+21 21
+22 22
+23 23
+24 24
+25 25
+26 26
+27 27
+28 28
+29 29
+30 30
+31 31
+32 32
+33 33
+34 34
+35 35
+36 36
+37 37
+38 38
+39 39
+40 40
+41 41
+42 42
+43 43
+44 44
+45 45
+46 46
+47 47
+48 48
+49 49
+Row Count : 50
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g2 11 10 0 false false false true 1 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g2 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,106 @@
+integer string
+E1 E2
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+13 13
+14 14
+15 15
+16 16
+17 17
+18 18
+19 19
+20 20
+21 21
+22 22
+23 23
+24 24
+25 25
+26 26
+27 27
+28 28
+29 29
+30 30
+31 31
+32 32
+33 33
+34 34
+35 35
+36 36
+37 37
+38 38
+39 39
+40 40
+41 41
+42 42
+43 43
+44 44
+45 45
+46 46
+47 47
+48 48
+49 49
+50 50
+51 51
+52 52
+53 53
+54 54
+55 55
+56 56
+57 57
+58 58
+59 59
+60 60
+61 61
+62 62
+63 63
+64 64
+65 65
+66 66
+67 67
+68 68
+69 69
+70 70
+71 71
+72 72
+73 73
+74 74
+75 75
+76 76
+77 77
+78 78
+79 79
+80 80
+81 81
+82 82
+83 83
+84 84
+85 85
+86 86
+87 87
+88 88
+89 89
+90 90
+91 91
+92 92
+93 93
+94 94
+95 95
+96 96
+97 97
+98 98
+99 99
+Row Count : 100
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+E1 4 Transaction java.lang.Integer E1 integer pm2 G1 6 5 0 false false false true 0 false true true true
+E2 12 Transaction java.lang.String E2 string pm2 G1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,56 @@
+integer string
+E1 E2
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+13 13
+14 14
+15 15
+16 16
+17 17
+18 18
+19 19
+20 20
+21 21
+22 22
+23 23
+24 24
+25 25
+26 26
+27 27
+28 28
+29 29
+30 30
+31 31
+32 32
+33 33
+34 34
+35 35
+36 36
+37 37
+38 38
+39 39
+40 40
+41 41
+42 42
+43 43
+44 44
+45 45
+46 46
+47 47
+48 48
+49 49
+Row Count : 50
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+E1 4 Transaction java.lang.Integer E1 integer pm2 G2 6 5 0 false false false true 1 false true true true
+E2 12 Transaction java.lang.String E2 string pm2 G2 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,7 @@
+integer string
+e1 e2
+1000 '1000'
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,7 @@
+integer string
+e1 e2
+1000 blah
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,6 @@
+integer string
+e1 e2
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,7 @@
+integer string
+e1 e2
+1100 '1100'
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,106 @@
+integer string
+e1 e2
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+13 13
+14 14
+15 15
+16 16
+17 17
+18 18
+19 19
+20 20
+21 21
+22 22
+23 23
+24 24
+25 25
+26 26
+27 27
+28 28
+29 29
+30 30
+31 31
+32 32
+33 33
+34 34
+35 35
+36 36
+37 37
+38 38
+39 39
+40 40
+41 41
+42 42
+43 43
+44 44
+45 45
+46 46
+47 47
+48 48
+49 49
+50 50
+51 51
+52 52
+53 53
+54 54
+55 55
+56 56
+57 57
+58 58
+59 59
+60 60
+61 61
+62 62
+63 63
+64 64
+65 65
+66 66
+67 67
+68 68
+69 69
+70 70
+71 71
+72 72
+73 73
+74 74
+75 75
+76 76
+77 77
+78 78
+79 79
+80 80
+81 81
+82 82
+83 83
+84 84
+85 85
+86 86
+87 87
+88 88
+89 89
+90 90
+91 91
+92 92
+93 93
+94 94
+95 95
+96 96
+97 97
+98 98
+99 99
+Row Count : 100
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery1.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,56 @@
+integer string
+e1 e2
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+13 13
+14 14
+15 15
+16 16
+17 17
+18 18
+19 19
+20 20
+21 21
+22 22
+23 23
+24 24
+25 25
+26 26
+27 27
+28 28
+29 29
+30 30
+31 31
+32 32
+33 33
+34 34
+35 35
+36 36
+37 37
+38 38
+39 39
+40 40
+41 41
+42 42
+43 43
+44 44
+45 45
+46 46
+47 47
+48 48
+49 49
+Row Count : 50
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g2 11 10 0 false false false true 1 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g2 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery2.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,106 @@
+integer string
+E1 E2
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+13 13
+14 14
+15 15
+16 16
+17 17
+18 18
+19 19
+20 20
+21 21
+22 22
+23 23
+24 24
+25 25
+26 26
+27 27
+28 28
+29 29
+30 30
+31 31
+32 32
+33 33
+34 34
+35 35
+36 36
+37 37
+38 38
+39 39
+40 40
+41 41
+42 42
+43 43
+44 44
+45 45
+46 46
+47 47
+48 48
+49 49
+50 50
+51 51
+52 52
+53 53
+54 54
+55 55
+56 56
+57 57
+58 58
+59 59
+60 60
+61 61
+62 62
+63 63
+64 64
+65 65
+66 66
+67 67
+68 68
+69 69
+70 70
+71 71
+72 72
+73 73
+74 74
+75 75
+76 76
+77 77
+78 78
+79 79
+80 80
+81 81
+82 82
+83 83
+84 84
+85 85
+86 86
+87 87
+88 88
+89 89
+90 90
+91 91
+92 92
+93 93
+94 94
+95 95
+96 96
+97 97
+98 98
+99 99
+Row Count : 100
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+E1 4 Transaction java.lang.Integer E1 integer pm2 G1 6 5 0 false false false true 0 false true true true
+E2 12 Transaction java.lang.String E2 string pm2 G1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery3.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,56 @@
+integer string
+E1 E2
+0 0
+1 1
+2 2
+3 3
+4 4
+5 5
+6 6
+7 7
+8 8
+9 9
+10 10
+11 11
+12 12
+13 13
+14 14
+15 15
+16 16
+17 17
+18 18
+19 19
+20 20
+21 21
+22 22
+23 23
+24 24
+25 25
+26 26
+27 27
+28 28
+29 29
+30 30
+31 31
+32 32
+33 33
+34 34
+35 35
+36 36
+37 37
+38 38
+39 39
+40 40
+41 41
+42 42
+43 43
+44 44
+45 45
+46 46
+47 47
+48 48
+49 49
+Row Count : 50
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+E1 4 Transaction java.lang.Integer E1 integer pm2 G2 6 5 0 false false false true 1 false true true true
+E2 12 Transaction java.lang.String E2 string pm2 G2 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery4.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,7 @@
+integer string
+e1 e2
+1000 '1000'
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery5.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,7 @@
+integer string
+e1 e2
+1000 blah
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery6.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,6 @@
+integer string
+e1 e2
+Row Count : 0
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery7.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,7 @@
+integer string
+e1 e2
+1100 '1100'
+Row Count : 1
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
+e1 4 Transaction java.lang.Integer e1 integer pm1 g1 11 10 0 false false false true 0 false true true true
+e2 12 Transaction java.lang.String e2 string pm1 g1 50 50 0 false true false true 1 false true true true
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/TestPhysicalQueries_TestQuery8.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/test_queries/TestPhysicalQueries.xml
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/test_queries/TestPhysicalQueries.xml (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/test_queries/TestPhysicalQueries.xml 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+
+<!-- * =====================================================================* -->
+<!-- * Testing simple transactions * -->
+<!-- * =====================================================================* -->
+
+<query name="TestQuery1">select * from pm1.g1 where e1 >= 0 order by e1
+</query>
+
+<query name="TestQuery2">select * from pm1.g2 where e1 >= 0 order by e1</query>
+<query name="TestQuery3">select * from pm2.g1 where e1 >= 0 order by e1</query>
+<query name="TestQuery4">select * from pm2.g2 where e1 >= 0 order by e1</query>
+
+
+<query name="TestQuery5">
+ <sql updatecnt="1">insert into pm1.g1 (e1, e2) values(?, ?)
+ <parm type="integer">1000</parm>
+ <parm type="string">'1000'</parm>
+ </sql>
+ <sql>select * from pm1.g1 where e1 = 1000</sql>
+</query>
+
+<query name="TestQuery6">
+ <sql updatecnt="1">insert into pm1.g1 (e1, e2) values(?, ?)
+ <parm type="integer">1000</parm>
+ <parm type="string">'1000'</parm>
+ </sql>
+ <sql updatecnt="1">update pm1.g1 set e2='blah' where e1 = ?
+ <parm type="integer">1000</parm>
+ </sql>
+ <sql>select * from pm1.g1 where e2 = 'blah'</sql>
+</query>
+
+
+<query name="TestQuery7">
+ <sql updatecnt="1">insert into pm1.g1 (e1, e2) values(?, ?)
+ <parm type="integer">1000</parm>
+ <parm type="string">'1000'</parm>
+ </sql>
+ <sql rowCount="1">select * from pm1.g1 where e1 = 1000</sql>
+ <sql updatecnt="1">delete from pm1.g1 where pm1.g1.e1 = 1000</sql>
+ <sql>select * from pm1.g1 where e1 > 999</sql>
+</query>
+
+<query name="TestQuery8">
+ <sql updatecnt="1">insert into pm1.g1 (e1, e2) values(?, ?)
+ <parm type="integer">1100</parm>
+ <parm type="string">'1100'</parm>
+ </sql>
+ <sql updatecnt="1">insert into pm1.g2 (e1, e2) values(?, ?)
+ <parm type="integer">1100</parm>
+ <parm type="string">'1100'</parm>
+ </sql>
+
+ <sql rowCount="1">select a.* from pm1.g1 as a, pm1.g2 as b where a.e1 = 1100 and a.e1=b.e1</sql>
+
+</query>
+
+
+</root>
+
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/test_queries/TestPhysicalQueries.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnoff.properties
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnoff.properties (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnoff.properties 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,50 @@
+# this the default client test scenario file.
+#
+# A scenerio describes what query set to use (queries and expected results) and which vdb to use to execute
+# the queries against.
+
+# The scenario.properties file is required, but any property can also be passed in as a System property or in the
+# config properties file. Also, the scenario.properties override System properties and config properties.
+#
+# NOTE: These properties are used to substitute in the config properties files (see default = ctc-test-properties)
+# so that each scenario is able to drive its test case.
+
+#
+# To define a scenario file:
+#
+#----------------------------
+# Properties:
+#
+# 1. queryset.dir - points to a directory that represents a query set (queries and expected results)
+# 2. test.queries.dir - must be a subdirectory under the queryset.dir that contains the test query.
+# 3 expected.results.dir - must be a subdirectory under the queryset.dir that contains all the related
+# expected result files to use to validate the test_queries against.
+#
+# NOTE: There maybe multiple expected_results directories (by different names of course) sometimes depending on the datasources
+# that are being used by the vdb. Therefore, the expected_results.dir is specified so that a different set of
+# expected results can be specified for the same query set.
+#
+# 4. vdb.name - is the vdb to use for this scenario
+#
+#
+#----------------------------
+
+
+queryset.dir=rdbms
+
+test.queries.dir=test_queries
+expected.results.dir=client_test_txnoff_expected_results
+
+vdb.name=Transaction
+
+
+transaction-option=off
+
+
+
+
+
+
+
+
+
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnoff.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnon.properties
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnon.properties (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnon.properties 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,47 @@
+# this the default client test scenario file.
+#
+# A scenerio describes what query set to use (queries and expected results) and which vdb to use to execute
+# the queries against.
+
+# The scenario.properties file is required, but any property can also be passed in as a System property or in the
+# config properties file. Also, the scenario.properties override System properties and config properties.
+#
+# NOTE: These properties are used to substitute in the config properties files (see default = ctc-test-properties)
+# so that each scenario is able to drive its test case.
+
+#
+# To define a scenario file:
+#
+#----------------------------
+# Properties:
+#
+# 1. queryset.dir - points to a directory that represents a query set (queries and expected results)
+# 2. test.queries.dir - must be a subdirectory under the queryset.dir that contains the test query.
+# 3 expected.results.dir - must be a subdirectory under the queryset.dir that contains all the related
+# expected result files to use to validate the test_queries against.
+#
+# NOTE: There maybe multiple expected_results directories (by different names of course) sometimes depending on the datasources
+# that are being used by the vdb. Therefore, the expected_results.dir is specified so that a different set of
+# expected results can be specified for the same query set.
+#
+# 4. vdb.name - is the vdb to use for this scenario
+#
+#
+#----------------------------
+
+
+queryset.dir=rdbms
+
+test.queries.dir=test_queries
+expected.results.dir=client_test_txnon_expected_results
+
+vdb.name=Transaction
+
+
+transaction-option=on
+
+
+
+
+
+
Property changes on: trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/client_test_txnon.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/scenario.properties.template
===================================================================
--- trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/scenario.properties.template (rev 0)
+++ trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/scenario.properties.template 2010-01-19 19:43:23 UTC (rev 1751)
@@ -0,0 +1,48 @@
+# this is a template file for creating a scenario file to drive a client test.
+#
+# A scenerio describes what query set to use (queries and expected results) and which vdb to use to execute
+# the queries against.
+
+# The scenario.properties file is required, but any property can also be passed in as a System property or in the
+# config properties file. Also, the scenario.properties override System properties and config properties.
+#
+# NOTE: These properties are used to substitute in the config properties files (see default = ctc-test-properties)
+# so that each scenario is able to drive its test case.
+
+#
+# To define a scenario file:
+#
+#----------------------------
+# Properties:
+#
+# 1. queryset.dir - points to a directory that represents a query set (queries and expected results)
+# 2. test.queries.dir - must be a subdirectory under the queryset.dir that contains the test query.
+# 3 expected.results.dir - must be a subdirectory under the queryset.dir that contains all the related
+# expected result files to use to validate the test_queries against.
+#
+# NOTE: There maybe multiple expected_results directories (by different names of course) sometimes depending on the datasources
+# that are being used by the vdb. Therefore, the expected_results.dir is specified so that a different set of
+# expected results can be specified for the same query set.
+#
+# 4. vdb.name - is the vdb to use for this scenario
+#
+#
+#----------------------------
+
+
+queryset.dir=select
+
+test.queries.dir=test_queries
+expected.results.dir=expected_results
+
+vdb.name=<vdbname>
+
+
+
+
+
+
+
+
+
+
14 years, 11 months
teiid SVN: r1750 - in trunk/test-integration/db/src/main/resources/ctc_tests: queries and 3 other directories.
by teiid-commits@lists.jboss.org
Author: vhalbert(a)redhat.com
Date: 2010-01-19 14:40:36 -0500 (Tue, 19 Jan 2010)
New Revision: 1750
Added:
trunk/test-integration/db/src/main/resources/ctc_tests/queries/
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnoff_expected_results/TestPhysicalQueries/
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/client_test_txnon_expected_results/TestPhysicalQueries/
trunk/test-integration/db/src/main/resources/ctc_tests/queries/rdbms/test_queries/
trunk/test-integration/db/src/main/resources/ctc_tests/queries/test_queries/
trunk/test-integration/db/src/main/resources/ctc_tests/scenarios/
Log:
Teiid-773 - adding scripts to suport running cllient test in the db project
14 years, 11 months