teiid SVN: r3664 - trunk/build/kits/jboss-container.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-11-17 07:09:19 -0500 (Thu, 17 Nov 2011)
New Revision: 3664
Modified:
trunk/build/kits/jboss-container/teiid-releasenotes.html
Log:
updating feature list
Modified: trunk/build/kits/jboss-container/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-container/teiid-releasenotes.html 2011-11-16 23:54:12 UTC (rev 3663)
+++ trunk/build/kits/jboss-container/teiid-releasenotes.html 2011-11-17 12:09:19 UTC (rev 3664)
@@ -30,16 +30,22 @@
<LI><B>File Enhancements</B> - the file translator can now optionally (via the ExceptionIfFileNotFound property) throw an exception if the path refers to a file that doesn't exist. The file resource adapter can be configured to map file names and can prevent parent path .. references. See the Admin Guide or the file-ds.xml template for more.
<LI><B>TEXTTABLE Enhancements</B> - TEXTTABLE can now parse fixed width files that do not use a row delimiter and can optionally produce fixed values that haven't been trimmed.
<LI><B>Temp table transactions</B> - Internal materialized views and temp table usage from a session and within procedures can take advantage of greater transaction support.
- <LI><B>Buffering Improvements</B> - Added the ability to inline memory based or small lobs and added tracking of the memory held by soft references. Also switched to a concurrent LFRU algorithm that significantly reduces writes and read misses with temporary tables. Added a memory buffer to better handle file storage.
- The memory buffer may be optional be configured as off-heap for better large memory performance - see the Admin Guide for more. Overhead is now tracked to help prevent memory errors when dealing with 10s of millions or more of batches/pages. Serialization and disk utilization were also improved.
+ <LI><B>Buffering Improvements</B>
+ <ul>
+ <li>Added the ability to inline memory based or small lobs.
+ <li>Added tracking of the memory held by soft references and general batch overhead. This ensures more efficient cache/memory utilization when dealing with 10s of millions or more of batches/pages.
+ <li>Also switched to a concurrent LFRU algorithm that significantly reduces writes and read misses with temporary tables.
+ <li>Added a memory buffer to better handle file storage as fixed blocks. The memory buffer may optionally be configured as off-heap for better large memory performance - see the Admin Guide for more.
+ <li>Serialization was improved for both internal batches and client/server batches.
+ </ul>
<LI><B>GSSAPI</B> - both the Teiid JDBC client/server and the ODBC pg backend can now support GSSAPI for single sign-on.
<LI><B>Server-side Query Timeouts</B> - default query timeouts can be configured at both the VDB (via the query-timeout VDB property) and entire server (via the teiid-jboss-beans.xml queryTimeout property).
- <LI><B>Native Queries</B> - added the ability to specify native query SQL for JDBC physical tables and stored procedures via extension metadata.
- <LI><B>View removal hint</B> - the NO_UNNEST hint now also applies to from clause views and subqueries. It will instruct the planner to not perform view flattening.
+ <LI><B>Native Queries</B> - added the ability to specify native query SQL for JDBC physical tables and stored procedures via extension metadata. See the Reference for more.
+ <LI><B>View removal hint</B> - the NO_UNNEST hint now also applies to FROM clause views and subqueries. It will instruct the planner to not perform view flattening.
<LI><B>Non-blocking statement execution</B> - Teiid JDBC extensions TeiidStatement and TeiidPreparedStatement can be used to submit queries against embedded connections with a callback to process results in a non-blocking manner.
<LI><B>NON_STRICT limit hint</B> - the NON_STRICT hint can be used with unordered limits to tell the optimizer to not inhibit push operations even if the results will not be consistent with the logical application of the limit.
- <LI><B>Source Hints</B> - user and transformation queries can specify a meta source hint, e.g. SELECT /*+ sh my-oracle:'leading' */ * FROM TBL. The hint information will be passed to the passed to the translator. The Oracle translator will by default treat the source hint as an Oracle hint.
- <LI><B>Hive Translator</B> - Hive translator has been added as technology preview.
+ <LI><B>Source Hints</B> - user and transformation queries can specify a meta source hint, e.g. SELECT /*+ sh my-oracle:'leading' */ * FROM TBL. The hint information will be passed to the translator. The Oracle translator will by default treat the source hint as an Oracle hint. See the Reference and Developers Guide for more.
+ <LI><B>Hive Translator</B> - Hive translator has been added as a technology preview.
</UL>
<h2><a name="Compatibility">Compatibility Issues</a></h2>
14 years, 2 months
teiid SVN: r3663 - in branches/as7: jboss-integration/src/main/java/org/teiid/jboss and 3 other directories.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2011-11-16 18:54:12 -0500 (Wed, 16 Nov 2011)
New Revision: 3663
Modified:
branches/as7/build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Element.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidSubsystemParser.java
branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
branches/as7/jboss-integration/src/main/resources/schema/jboss-teiid.xsd
branches/as7/jboss-integration/src/test/resources/teiid-model-config.txt
branches/as7/jboss-integration/src/test/resources/teiid-model-json.txt
branches/as7/jboss-integration/src/test/resources/teiid-sample-config.xml
Log:
TEIID-1720: Moving up latest nightly; added workmanager configuration.
Modified: branches/as7/build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml
===================================================================
--- branches/as7/build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml 2011-11-16 23:54:12 UTC (rev 3663)
@@ -24,12 +24,15 @@
<extensions>
<extension module="org.jboss.as.clustering.infinispan"/>
+ <extension module="org.jboss.as.cmp"/>
<extension module="org.jboss.as.connector"/>
<extension module="org.jboss.as.deployment-scanner"/>
<extension module="org.jboss.as.ee"/>
<extension module="org.jboss.as.ejb3"/>
<extension module="org.jboss.as.jacorb"/>
+ <extension module="org.jboss.as.jaxr"/>
<extension module="org.jboss.as.jaxrs"/>
+ <extension module="org.jboss.as.jdr"/>
<extension module="org.jboss.as.jmx"/>
<extension module="org.jboss.as.jpa"/>
<extension module="org.jboss.as.logging"/>
@@ -37,6 +40,7 @@
<extension module="org.jboss.as.messaging"/>
<extension module="org.jboss.as.naming"/>
<extension module="org.jboss.as.osgi"/>
+ <extension module="org.jboss.as.pojo"/>
<extension module="org.jboss.as.remoting"/>
<extension module="org.jboss.as.sar"/>
<extension module="org.jboss.as.security"/>
@@ -49,16 +53,20 @@
</extensions>
<management>
- <security-realms>
- <security-realm name="PropertiesMgmtSecurityRealm">
- <authentication>
- <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir" />
- </authentication>
- </security-realm>
- </security-realms>
+ <security-realms>
+ <security-realm name="ManagementRealm">
+ <authentication>
+ <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
+ </authentication>
+ </security-realm>
+ </security-realms>
<management-interfaces>
- <native-interface interface="management" port="9999" />
- <http-interface interface="management" port="9990"/>
+ <native-interface security-realm="ManagementRealm">
+ <socket-binding native="management-native"/>
+ </native-interface>
+ <http-interface security-realm="ManagementRealm">
+ <socket-binding http="management-http"/>
+ </http-interface>
</management-interfaces>
</management>
@@ -72,12 +80,12 @@
</console-handler>
<periodic-rotating-file-handler name="FILE">
- <level name="INFO"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
+ <append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
@@ -105,6 +113,7 @@
</handlers>
</root-logger>
</subsystem>
+ <subsystem xmlns="urn:jboss:domain:cmp:1.0"/>
<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" enabled="true" use-java-context="true"
@@ -213,7 +222,7 @@
</local-cache>
<local-cache name="timestamps">
<eviction strategy="NONE"/>
- </local-cache>
+ </local-cache>
</cache-container>
<cache-container name="teiid" default-cache="resultset">
<local-cache name="resultset">
@@ -222,15 +231,9 @@
</local-cache>
</cache-container>
</subsystem>
- <subsystem xmlns="urn:jboss:domain:jacorb:1.0">
- <orb name="JBoss" print-version="off" giop-minor-version="2">
- <connection max-managed-buf-size="24" outbuf-cache-timeout="-1"/>
- <naming root-context="JBoss/Naming/root" export-corbaloc="on"/>
- </orb>
- <poa monitoring="off" queue-wait="off">
- <request-processors pool-size="2" max-threads="8"/>
- </poa>
- <interop sun="on" chunk-custom-rmi-valuetypes="on" strict-check-on-tc-creation="off"/>
+ <subsystem xmlns="urn:jboss:domain:jacorb:1.1"/>
+ <subsystem xmlns="urn:jboss:domain:jaxr:1.0">
+ <datasource jndi-name="java:jboss/datasources/ExampleDS"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
<subsystem xmlns="urn:jboss:domain:jca:1.0">
@@ -251,6 +254,7 @@
</long-running-threads>
</default-workmanager>
</subsystem>
+ <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
<subsystem xmlns="urn:jboss:domain:jmx:1.1" show-model="true">
<jmx-connector registry-binding="jmx-connector-registry" server-binding="jmx-connector-server" />
</subsystem>
@@ -267,13 +271,12 @@
<!-- Default journal file size is 10Mb, reduced here to 100k for faster first boot -->
<journal-file-size>102400</journal-file-size>
<journal-min-files>2</journal-min-files>
- <journal-type>NIO</journal-type>
<!-- disable messaging persistence -->
<persistence-enabled>false</persistence-enabled>
<connectors>
- <netty-connector name="netty" socket-binding="messaging"/>
- <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
+ <netty-connector name="netty" socket-binding="messaging-client"/>
+ <netty-connector name="netty-throughput" socket-binding="messaging-throughput-client">
<param key="batch-delay" value="50"/>
</netty-connector>
<in-vm-connector name="in-vm" server-id="0"/>
@@ -387,6 +390,7 @@
<capability name="org.jboss.osgi.xerces" startlevel="3"/>
</capabilities>
</subsystem>
+ <subsystem xmlns="urn:jboss:domain:pojo:1.0" />
<subsystem xmlns="urn:jboss:domain:remoting:1.0">
<connector name="remoting-connector" socket-binding="remoting"/>
</subsystem>
@@ -484,7 +488,7 @@
<max-threads count="2" per-cpu="2"/>
</queueless-thread-pool>
</subsystem>
- <subsystem xmlns="urn:jboss:domain:transactions:1.0">
+ <subsystem xmlns="urn:jboss:domain:transactions:1.1">
<recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
<core-environment>
<process-id>
@@ -502,7 +506,7 @@
</subsystem>
<subsystem xmlns="urn:jboss:domain:webservices:1.0">
<modify-wsdl-address>true</modify-wsdl-address>
- <wsdl-host>localhost</wsdl-host>
+ <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
<!--
<wsdl-port>8080</wsdl-port>
<wsdl-secure-port>8443</wsdl-secure-port>
@@ -543,15 +547,22 @@
<socket-binding name="jacorb-ssl" port="3529"/>
<socket-binding name="jmx-connector-registry" interface="management" port="1090"/>
<socket-binding name="jmx-connector-server" interface="management" port="1091"/>
- <socket-binding name="jndi" port="1099"/>
+ <socket-binding name="management-native" interface="management" port="9999"/>
+ <socket-binding name="management-http" interface="management" port="9990"/>
<socket-binding name="messaging" port="5445"/>
<socket-binding name="messaging-throughput" port="5455"/>
<socket-binding name="osgi-http" interface="management" port="8090"/>
<socket-binding name="remoting" port="4447"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
- <socket-binding name="teiid-jdbc" port="31000"/>
- <socket-binding name="teiid-odbc" port="35432"/>
+ <socket-binding name="teiid-jdbc" port="31000"/>
+ <socket-binding name="teiid-odbc" port="35432"/>
+ <outbound-socket-binding name="messaging-client">
+ <local-destination socket-binding-ref="messaging"/>
+ </outbound-socket-binding>
+ <outbound-socket-binding name="messaging-throughput-client">
+ <local-destination socket-binding-ref="messaging-throughput"/>
+ </outbound-socket-binding>
</socket-binding-group>
</server>
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Element.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Element.java 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Element.java 2011-11-16 23:54:12 UTC (rev 3663)
@@ -57,6 +57,7 @@
EXCEPTION_ON_MAX_SOURCE_ROWS_ELEMENT("exception-on-max-source-rows", "exception-on-max-source-rows", ModelType.BOOLEAN, false, "true"),
DETECTING_CHANGE_EVENTS_ELEMENT("detect-change-events", "detect-change-events", ModelType.BOOLEAN, false, "true"),
QUERY_TIMEOUT("query-timeout", "query-timeout", ModelType.LONG, false, "0"),
+ WORKMANAGER("workmanager", "workmanager", ModelType.STRING, false, "default"),
POLICY_DECIDER_ELEMENT("policy-decider"),
POLICY_DECIDER_MODULE_ATTRIBUTE("module", "policy-decider-module", ModelType.STRING, false, null),
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java 2011-11-16 23:54:12 UTC (rev 3663)
@@ -98,6 +98,7 @@
Element.EXCEPTION_ON_MAX_SOURCE_ROWS_ELEMENT,
Element.DETECTING_CHANGE_EVENTS_ELEMENT,
Element.QUERY_TIMEOUT,
+ Element.WORKMANAGER,
Element.AUTHORIZATION_VALIDATOR_MODULE_ATTRIBUTE,
Element.POLICY_DECIDER_MODULE_ATTRIBUTE,
@@ -308,9 +309,13 @@
// Query Engine
final RuntimeEngineDeployer engine = buildQueryEngine(operation);
+ String workManager = "default"; //$NON-NLS-1$
+ if (Element.WORKMANAGER.isDefined(operation)) {
+ workManager = Element.WORKMANAGER.asString(operation);
+ }
ServiceBuilder<DQPCore> engineBuilder = target.addService(TeiidServiceNames.ENGINE, engine);
- engineBuilder.addDependency(ServiceName.JBOSS.append("connector", "workmanager"), WorkManager.class, engine.getWorkManagerInjector()); //$NON-NLS-1$ //$NON-NLS-2$
+ engineBuilder.addDependency(ServiceName.JBOSS.append("connector", "workmanager", workManager), WorkManager.class, engine.getWorkManagerInjector()); //$NON-NLS-1$ //$NON-NLS-2$
engineBuilder.addDependency(ServiceName.JBOSS.append("txn", "XATerminator"), XATerminator.class, engine.getXaTerminatorInjector()); //$NON-NLS-1$ //$NON-NLS-2$
engineBuilder.addDependency(ServiceName.JBOSS.append("txn", "TransactionManager"), TransactionManager.class, engine.getTxnManagerInjector()); //$NON-NLS-1$ //$NON-NLS-2$
engineBuilder.addDependency(TeiidServiceNames.BUFFER_MGR, BufferServiceImpl.class, engine.getBufferServiceInjector());
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidSubsystemParser.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidSubsystemParser.java 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidSubsystemParser.java 2011-11-16 23:54:12 UTC (rev 3663)
@@ -73,6 +73,7 @@
writeElement(writer, Element.EXCEPTION_ON_MAX_SOURCE_ROWS_ELEMENT, node);
writeElement(writer, Element.DETECTING_CHANGE_EVENTS_ELEMENT, node);
writeElement(writer, Element.QUERY_TIMEOUT, node);
+ writeElement(writer, Element.WORKMANAGER, node);
if (like(node, Element.AUTHORIZATION_VALIDATOR_ELEMENT)) {
@@ -282,6 +283,10 @@
case DETECTING_CHANGE_EVENTS_ELEMENT:
bootServices.get(reader.getLocalName()).set(Boolean.parseBoolean(reader.getElementText()));
break;
+
+ case WORKMANAGER:
+ bootServices.get(reader.getLocalName()).set(reader.getElementText());
+ break;
case MAX_THREADS_ELEMENT:
case MAX_ACTIVE_PLANS_ELEMENT:
Modified: branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2011-11-16 23:54:12 UTC (rev 3663)
@@ -89,6 +89,7 @@
detect-change-events.describe=Set to true for the engine to detect local change events. Should be disabled if using external change data capture tools. (default true)
allow-env-function.describe=Allow the execution of ENV function. (default false)
query-timeout.describe=Set the default query timeout for all queries in milliseconds. 0 indicates no timeout. Lesser timeout values may be set per VDB or by clients. (default 0)
+workmanager.describe=WorkManager name to use in processing. (default name is "default")
policy-decider-module.describe=Policy Module; Implementation of org.teiid.PolicyDecider class
authorization-validator-module.describe=Authorization Module; Implementation of org.teiid.dqp.internal.process.AuthorizationValidator class.
Modified: branches/as7/jboss-integration/src/main/resources/schema/jboss-teiid.xsd
===================================================================
--- branches/as7/jboss-integration/src/main/resources/schema/jboss-teiid.xsd 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/jboss-integration/src/main/resources/schema/jboss-teiid.xsd 2011-11-16 23:54:12 UTC (rev 3663)
@@ -184,8 +184,14 @@
<xs:annotation>
<xs:documentation>Set the default query timeout for all queries in milliseconds. 0 indicates no timeout. Lesser timeout values may be set per VDB or by clients. (default 0)</xs:documentation>
</xs:annotation>
- </xs:element>
+ </xs:element>
+ <xs:element name="workmanager" type="xs:string" minOccurs="0" maxOccurs="1" default="default">
+ <xs:annotation>
+ <xs:documentation>WorkManager name to use in processing. (default name is "default")</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
<xs:element name="authorization-validator" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="module" type="xs:string" use="required">
Modified: branches/as7/jboss-integration/src/test/resources/teiid-model-config.txt
===================================================================
--- branches/as7/jboss-integration/src/test/resources/teiid-model-config.txt 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/jboss-integration/src/test/resources/teiid-model-config.txt 2011-11-16 23:54:12 UTC (rev 3663)
@@ -89,6 +89,13 @@
"max-occurs" => 1,
"default" => 0L
},
+ "workmanager" => {
+ "type" => STRING,
+ "description" => "WorkManager name to use in processing. (default name is \"default\")",
+ "required" => false,
+ "max-occurs" => 1,
+ "default" => "default"
+ },
"authorization-validator-module" => {
"type" => STRING,
"description" => "Authorization Module; Implementation of org.teiid.dqp.internal.process.AuthorizationValidator class.",
Modified: branches/as7/jboss-integration/src/test/resources/teiid-model-json.txt
===================================================================
--- branches/as7/jboss-integration/src/test/resources/teiid-model-json.txt 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/jboss-integration/src/test/resources/teiid-model-json.txt 2011-11-16 23:54:12 UTC (rev 3663)
@@ -17,6 +17,7 @@
"exception-on-max-source-rows" : true,
"lob-chunk-size-in-kb" : 100,
"query-timeout" : 23,
+ "workmanager" : "wm",
"max-active-plans" : 20,
"max-row-fetch-size" : 20480,
"max-source-rows-allowed" : -1,
Modified: branches/as7/jboss-integration/src/test/resources/teiid-sample-config.xml
===================================================================
--- branches/as7/jboss-integration/src/test/resources/teiid-sample-config.xml 2011-11-16 23:24:34 UTC (rev 3662)
+++ branches/as7/jboss-integration/src/test/resources/teiid-sample-config.xml 2011-11-16 23:54:12 UTC (rev 3663)
@@ -17,7 +17,7 @@
<exception-on-max-source-rows>true</exception-on-max-source-rows>
<detect-change-events>true</detect-change-events>
<query-timeout>23</query-timeout>
-
+ <workmanager>wm</workmanager>
<!--
<authorization-validator module="javax.api"/>
<policy-decider module="javax.api"/>
14 years, 2 months
teiid SVN: r3662 - in trunk: adminshell and 38 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-11-16 18:24:34 -0500 (Wed, 16 Nov 2011)
New Revision: 3662
Modified:
trunk/adminshell/pom.xml
trunk/api/pom.xml
trunk/build/pom.xml
trunk/cache-jbosscache/pom.xml
trunk/client-jdk15/pom.xml
trunk/client/pom.xml
trunk/common-core/pom.xml
trunk/connectors/connector-file/pom.xml
trunk/connectors/connector-ldap/pom.xml
trunk/connectors/connector-salesforce/pom.xml
trunk/connectors/connector-ws/pom.xml
trunk/connectors/pom.xml
trunk/connectors/salesforce-api/pom.xml
trunk/connectors/sandbox/pom.xml
trunk/connectors/sandbox/translator-yahoo/pom.xml
trunk/connectors/translator-file/pom.xml
trunk/connectors/translator-hive/pom.xml
trunk/connectors/translator-jdbc/pom.xml
trunk/connectors/translator-ldap/pom.xml
trunk/connectors/translator-loopback/pom.xml
trunk/connectors/translator-olap/pom.xml
trunk/connectors/translator-salesforce/pom.xml
trunk/connectors/translator-ws/pom.xml
trunk/console/pom.xml
trunk/documentation/admin-guide/pom.xml
trunk/documentation/caching-guide/pom.xml
trunk/documentation/client-developers-guide/pom.xml
trunk/documentation/developer-guide/pom.xml
trunk/documentation/pom.xml
trunk/documentation/quick-start-example/pom.xml
trunk/documentation/reference/pom.xml
trunk/engine/pom.xml
trunk/hibernate-dialect/pom.xml
trunk/jboss-integration/pom.xml
trunk/metadata/pom.xml
trunk/pom.xml
trunk/runtime/pom.xml
trunk/test-integration/common/pom.xml
trunk/test-integration/db/pom.xml
trunk/test-integration/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: trunk/adminshell/pom.xml
===================================================================
--- trunk/adminshell/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/adminshell/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-adminshell</artifactId>
Modified: trunk/api/pom.xml
===================================================================
--- trunk/api/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/api/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-api</artifactId>
Modified: trunk/build/pom.xml
===================================================================
--- trunk/build/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/build/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid</artifactId>
Modified: trunk/cache-jbosscache/pom.xml
===================================================================
--- trunk/cache-jbosscache/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/cache-jbosscache/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-cache-jbosscache</artifactId>
Modified: trunk/client/pom.xml
===================================================================
--- trunk/client/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/client/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client</artifactId>
Modified: trunk/client-jdk15/pom.xml
===================================================================
--- trunk/client-jdk15/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/client-jdk15/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client-jdk15</artifactId>
Modified: trunk/common-core/pom.xml
===================================================================
--- trunk/common-core/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/common-core/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-common-core</artifactId>
Modified: trunk/connectors/connector-file/pom.xml
===================================================================
--- trunk/connectors/connector-file/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/connector-file/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-file</artifactId>
Modified: trunk/connectors/connector-ldap/pom.xml
===================================================================
--- trunk/connectors/connector-ldap/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/connector-ldap/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ldap</artifactId>
Modified: trunk/connectors/connector-salesforce/pom.xml
===================================================================
--- trunk/connectors/connector-salesforce/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/connector-salesforce/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-salesforce</artifactId>
Modified: trunk/connectors/connector-ws/pom.xml
===================================================================
--- trunk/connectors/connector-ws/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/connector-ws/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ws</artifactId>
Modified: trunk/connectors/pom.xml
===================================================================
--- trunk/connectors/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: trunk/connectors/salesforce-api/pom.xml
===================================================================
--- trunk/connectors/salesforce-api/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/salesforce-api/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>salesforce-api</artifactId>
Modified: trunk/connectors/sandbox/pom.xml
===================================================================
--- trunk/connectors/sandbox/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/sandbox/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid.connectors</groupId>
Modified: trunk/connectors/sandbox/translator-yahoo/pom.xml
===================================================================
--- trunk/connectors/sandbox/translator-yahoo/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/sandbox/translator-yahoo/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>sandbox</artifactId>
<groupId>org.jboss.teiid.connectors</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-yahoo</artifactId>
Modified: trunk/connectors/translator-file/pom.xml
===================================================================
--- trunk/connectors/translator-file/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/translator-file/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-file</artifactId>
Modified: trunk/connectors/translator-hive/pom.xml
===================================================================
--- trunk/connectors/translator-hive/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/translator-hive/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-hive</artifactId>
Modified: trunk/connectors/translator-jdbc/pom.xml
===================================================================
--- trunk/connectors/translator-jdbc/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/translator-jdbc/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-jdbc</artifactId>
Modified: trunk/connectors/translator-ldap/pom.xml
===================================================================
--- trunk/connectors/translator-ldap/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/translator-ldap/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-ldap</artifactId>
Modified: trunk/connectors/translator-loopback/pom.xml
===================================================================
--- trunk/connectors/translator-loopback/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/translator-loopback/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-loopback</artifactId>
Modified: trunk/connectors/translator-olap/pom.xml
===================================================================
--- trunk/connectors/translator-olap/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/translator-olap/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-olap</artifactId>
Modified: trunk/connectors/translator-salesforce/pom.xml
===================================================================
--- trunk/connectors/translator-salesforce/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/translator-salesforce/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-salesforce</artifactId>
Modified: trunk/connectors/translator-ws/pom.xml
===================================================================
--- trunk/connectors/translator-ws/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/connectors/translator-ws/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-ws</artifactId>
Modified: trunk/console/pom.xml
===================================================================
--- trunk/console/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/console/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: trunk/documentation/admin-guide/pom.xml
===================================================================
--- trunk/documentation/admin-guide/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/documentation/admin-guide/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>admin-guide</artifactId>
Modified: trunk/documentation/caching-guide/pom.xml
===================================================================
--- trunk/documentation/caching-guide/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/documentation/caching-guide/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>caching-guide</artifactId>
Modified: trunk/documentation/client-developers-guide/pom.xml
===================================================================
--- trunk/documentation/client-developers-guide/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/documentation/client-developers-guide/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>client-developers-guide</artifactId>
Modified: trunk/documentation/developer-guide/pom.xml
===================================================================
--- trunk/documentation/developer-guide/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/documentation/developer-guide/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>developer-guide</artifactId>
Modified: trunk/documentation/pom.xml
===================================================================
--- trunk/documentation/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/documentation/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: trunk/documentation/quick-start-example/pom.xml
===================================================================
--- trunk/documentation/quick-start-example/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/documentation/quick-start-example/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>quick-start-example</artifactId>
Modified: trunk/documentation/reference/pom.xml
===================================================================
--- trunk/documentation/reference/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/documentation/reference/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>reference</artifactId>
Modified: trunk/engine/pom.xml
===================================================================
--- trunk/engine/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/engine/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-engine</artifactId>
Modified: trunk/hibernate-dialect/pom.xml
===================================================================
--- trunk/hibernate-dialect/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/hibernate-dialect/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-hibernate-dialect</artifactId>
Modified: trunk/jboss-integration/pom.xml
===================================================================
--- trunk/jboss-integration/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/jboss-integration/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: trunk/metadata/pom.xml
===================================================================
--- trunk/metadata/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/metadata/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-metadata</artifactId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -5,16 +5,16 @@
<artifactId>teiid-parent</artifactId>
<packaging>pom</packaging>
<name>Teiid</name>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
<description>Federated SQL and XML query engine.</description>
<properties>
<ant.version>1.7.0</ant.version>
<site.url>http://www.jboss.org/teiid</site.url>
</properties>
<scm>
- <connection>scm:svn:https://anonsvn.jboss.org/repos/teiid/tags/teiid-parent-7.6.0.CR1</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/teiid/tags/teiid-parent-7.6.0.CR1</developerConnection>
- <url>http://anonsvn.jboss.org/repos/teiid/tags/teiid-parent-7.6.0.CR1</url>
+ <connection>scm:svn:https://anonsvn.jboss.org/repos/teiid/trunk</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/teiid/trunk</developerConnection>
+ <url>http://anonsvn.jboss.org/repos/teiid/trunk</url>
</scm>
<licenses>
<license>
Modified: trunk/runtime/pom.xml
===================================================================
--- trunk/runtime/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/runtime/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: trunk/test-integration/common/pom.xml
===================================================================
--- trunk/test-integration/common/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/test-integration/common/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>test-integration-common</artifactId>
Modified: trunk/test-integration/db/pom.xml
===================================================================
--- trunk/test-integration/db/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/test-integration/db/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -9,7 +9,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: trunk/test-integration/pom.xml
===================================================================
--- trunk/test-integration/pom.xml 2011-11-16 23:24:10 UTC (rev 3661)
+++ trunk/test-integration/pom.xml 2011-11-16 23:24:34 UTC (rev 3662)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1</version>
+ <version>7.6.0.CR2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-test-integration</artifactId>
14 years, 2 months
teiid SVN: r3661 - tags.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-11-16 18:24:10 -0500 (Wed, 16 Nov 2011)
New Revision: 3661
Added:
tags/teiid-parent-7.6.0.CR1/
Log:
[maven-release-plugin] copy for tag teiid-parent-7.6.0.CR1
14 years, 2 months
teiid SVN: r3660 - in trunk: adminshell and 38 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-11-16 18:23:57 -0500 (Wed, 16 Nov 2011)
New Revision: 3660
Modified:
trunk/adminshell/pom.xml
trunk/api/pom.xml
trunk/build/pom.xml
trunk/cache-jbosscache/pom.xml
trunk/client-jdk15/pom.xml
trunk/client/pom.xml
trunk/common-core/pom.xml
trunk/connectors/connector-file/pom.xml
trunk/connectors/connector-ldap/pom.xml
trunk/connectors/connector-salesforce/pom.xml
trunk/connectors/connector-ws/pom.xml
trunk/connectors/pom.xml
trunk/connectors/salesforce-api/pom.xml
trunk/connectors/sandbox/pom.xml
trunk/connectors/sandbox/translator-yahoo/pom.xml
trunk/connectors/translator-file/pom.xml
trunk/connectors/translator-hive/pom.xml
trunk/connectors/translator-jdbc/pom.xml
trunk/connectors/translator-ldap/pom.xml
trunk/connectors/translator-loopback/pom.xml
trunk/connectors/translator-olap/pom.xml
trunk/connectors/translator-salesforce/pom.xml
trunk/connectors/translator-ws/pom.xml
trunk/console/pom.xml
trunk/documentation/admin-guide/pom.xml
trunk/documentation/caching-guide/pom.xml
trunk/documentation/client-developers-guide/pom.xml
trunk/documentation/developer-guide/pom.xml
trunk/documentation/pom.xml
trunk/documentation/quick-start-example/pom.xml
trunk/documentation/reference/pom.xml
trunk/engine/pom.xml
trunk/hibernate-dialect/pom.xml
trunk/jboss-integration/pom.xml
trunk/metadata/pom.xml
trunk/pom.xml
trunk/runtime/pom.xml
trunk/test-integration/common/pom.xml
trunk/test-integration/db/pom.xml
trunk/test-integration/pom.xml
Log:
[maven-release-plugin] prepare release teiid-parent-7.6.0.CR1
Modified: trunk/adminshell/pom.xml
===================================================================
--- trunk/adminshell/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/adminshell/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-adminshell</artifactId>
Modified: trunk/api/pom.xml
===================================================================
--- trunk/api/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/api/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-api</artifactId>
Modified: trunk/build/pom.xml
===================================================================
--- trunk/build/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/build/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid</artifactId>
Modified: trunk/cache-jbosscache/pom.xml
===================================================================
--- trunk/cache-jbosscache/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/cache-jbosscache/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-cache-jbosscache</artifactId>
Modified: trunk/client/pom.xml
===================================================================
--- trunk/client/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/client/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client</artifactId>
Modified: trunk/client-jdk15/pom.xml
===================================================================
--- trunk/client-jdk15/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/client-jdk15/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client-jdk15</artifactId>
Modified: trunk/common-core/pom.xml
===================================================================
--- trunk/common-core/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/common-core/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-common-core</artifactId>
Modified: trunk/connectors/connector-file/pom.xml
===================================================================
--- trunk/connectors/connector-file/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/connector-file/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-file</artifactId>
Modified: trunk/connectors/connector-ldap/pom.xml
===================================================================
--- trunk/connectors/connector-ldap/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/connector-ldap/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ldap</artifactId>
Modified: trunk/connectors/connector-salesforce/pom.xml
===================================================================
--- trunk/connectors/connector-salesforce/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/connector-salesforce/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-salesforce</artifactId>
Modified: trunk/connectors/connector-ws/pom.xml
===================================================================
--- trunk/connectors/connector-ws/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/connector-ws/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ws</artifactId>
Modified: trunk/connectors/pom.xml
===================================================================
--- trunk/connectors/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: trunk/connectors/salesforce-api/pom.xml
===================================================================
--- trunk/connectors/salesforce-api/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/salesforce-api/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>salesforce-api</artifactId>
Modified: trunk/connectors/sandbox/pom.xml
===================================================================
--- trunk/connectors/sandbox/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/sandbox/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid.connectors</groupId>
Modified: trunk/connectors/sandbox/translator-yahoo/pom.xml
===================================================================
--- trunk/connectors/sandbox/translator-yahoo/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/sandbox/translator-yahoo/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>sandbox</artifactId>
<groupId>org.jboss.teiid.connectors</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-yahoo</artifactId>
Modified: trunk/connectors/translator-file/pom.xml
===================================================================
--- trunk/connectors/translator-file/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/translator-file/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-file</artifactId>
Modified: trunk/connectors/translator-hive/pom.xml
===================================================================
--- trunk/connectors/translator-hive/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/translator-hive/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-hive</artifactId>
Modified: trunk/connectors/translator-jdbc/pom.xml
===================================================================
--- trunk/connectors/translator-jdbc/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/translator-jdbc/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-jdbc</artifactId>
Modified: trunk/connectors/translator-ldap/pom.xml
===================================================================
--- trunk/connectors/translator-ldap/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/translator-ldap/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-ldap</artifactId>
Modified: trunk/connectors/translator-loopback/pom.xml
===================================================================
--- trunk/connectors/translator-loopback/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/translator-loopback/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-loopback</artifactId>
Modified: trunk/connectors/translator-olap/pom.xml
===================================================================
--- trunk/connectors/translator-olap/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/translator-olap/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-olap</artifactId>
Modified: trunk/connectors/translator-salesforce/pom.xml
===================================================================
--- trunk/connectors/translator-salesforce/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/translator-salesforce/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-salesforce</artifactId>
Modified: trunk/connectors/translator-ws/pom.xml
===================================================================
--- trunk/connectors/translator-ws/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/connectors/translator-ws/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-ws</artifactId>
Modified: trunk/console/pom.xml
===================================================================
--- trunk/console/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/console/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: trunk/documentation/admin-guide/pom.xml
===================================================================
--- trunk/documentation/admin-guide/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/documentation/admin-guide/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>admin-guide</artifactId>
Modified: trunk/documentation/caching-guide/pom.xml
===================================================================
--- trunk/documentation/caching-guide/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/documentation/caching-guide/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>caching-guide</artifactId>
Modified: trunk/documentation/client-developers-guide/pom.xml
===================================================================
--- trunk/documentation/client-developers-guide/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/documentation/client-developers-guide/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>client-developers-guide</artifactId>
Modified: trunk/documentation/developer-guide/pom.xml
===================================================================
--- trunk/documentation/developer-guide/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/documentation/developer-guide/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>developer-guide</artifactId>
Modified: trunk/documentation/pom.xml
===================================================================
--- trunk/documentation/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/documentation/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: trunk/documentation/quick-start-example/pom.xml
===================================================================
--- trunk/documentation/quick-start-example/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/documentation/quick-start-example/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>quick-start-example</artifactId>
Modified: trunk/documentation/reference/pom.xml
===================================================================
--- trunk/documentation/reference/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/documentation/reference/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>reference</artifactId>
Modified: trunk/engine/pom.xml
===================================================================
--- trunk/engine/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/engine/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-engine</artifactId>
Modified: trunk/hibernate-dialect/pom.xml
===================================================================
--- trunk/hibernate-dialect/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/hibernate-dialect/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-hibernate-dialect</artifactId>
Modified: trunk/jboss-integration/pom.xml
===================================================================
--- trunk/jboss-integration/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/jboss-integration/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: trunk/metadata/pom.xml
===================================================================
--- trunk/metadata/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/metadata/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-metadata</artifactId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -5,16 +5,16 @@
<artifactId>teiid-parent</artifactId>
<packaging>pom</packaging>
<name>Teiid</name>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
<description>Federated SQL and XML query engine.</description>
<properties>
<ant.version>1.7.0</ant.version>
<site.url>http://www.jboss.org/teiid</site.url>
</properties>
<scm>
- <connection>scm:svn:https://anonsvn.jboss.org/repos/teiid/trunk</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/teiid/trunk</developerConnection>
- <url>http://anonsvn.jboss.org/repos/teiid/trunk</url>
+ <connection>scm:svn:https://anonsvn.jboss.org/repos/teiid/tags/teiid-parent-7.6.0.CR1</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/teiid/tags/teiid-parent-7.6.0.CR1</developerConnection>
+ <url>http://anonsvn.jboss.org/repos/teiid/tags/teiid-parent-7.6.0.CR1</url>
</scm>
<licenses>
<license>
Modified: trunk/runtime/pom.xml
===================================================================
--- trunk/runtime/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/runtime/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: trunk/test-integration/common/pom.xml
===================================================================
--- trunk/test-integration/common/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/test-integration/common/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>test-integration-common</artifactId>
Modified: trunk/test-integration/db/pom.xml
===================================================================
--- trunk/test-integration/db/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/test-integration/db/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -9,7 +9,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: trunk/test-integration/pom.xml
===================================================================
--- trunk/test-integration/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
+++ trunk/test-integration/pom.xml 2011-11-16 23:23:57 UTC (rev 3660)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.0.CR1-SNAPSHOT</version>
+ <version>7.6.0.CR1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-test-integration</artifactId>
14 years, 2 months
teiid SVN: r3659 - in branches/as7: engine and 12 other directories.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2011-11-16 17:49:58 -0500 (Wed, 16 Nov 2011)
New Revision: 3659
Added:
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/JBossSessionService.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Log4jListener.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAttachments.java
branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestJBossSessionServiceImpl.java
Removed:
branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java
branches/as7/runtime/src/main/java/org/teiid/logging/Log4jListener.java
branches/as7/runtime/src/test/java/org/teiid/services/TestMembershipServiceImpl.java
Modified:
branches/as7/engine/pom.xml
branches/as7/jboss-integration/pom.xml
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidExtension.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Transport.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBDependencyDeployer.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBParserDeployer.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBService.java
branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBStructureDeployer.java
branches/as7/metadata/pom.xml
branches/as7/pom.xml
branches/as7/runtime/pom.xml
branches/as7/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java
branches/as7/runtime/src/main/java/org/teiid/deployers/SystemVDBDeployer.java
branches/as7/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java
branches/as7/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java
branches/as7/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java
branches/as7/runtime/src/main/java/org/teiid/services/TeiidLoginContext.java
branches/as7/runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java
branches/as7/runtime/src/test/java/org/teiid/services/TestSessionServiceImpl.java
branches/as7/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java
branches/as7/test-integration/pom.xml
Log:
TEIID-1720: Worked in reducing the dependency structure, such that only jboss-integration has deep jboss dependencies.
Modified: branches/as7/engine/pom.xml
===================================================================
--- branches/as7/engine/pom.xml 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/engine/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
@@ -71,25 +71,14 @@
<artifactId>jta</artifactId>
<scope>provided</scope>
</dependency>
+
<dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-vfs</artifactId>
<scope>provided</scope>
</dependency>
- <!--
- <dependency>
- <groupId>org.jboss.deployers</groupId>
- <artifactId>jboss-deployers-vfs-spi</artifactId>
- <scope>provided</scope>
- </dependency>
<dependency>
- <groupId>org.jboss.deployers</groupId>
- <artifactId>jboss-deployers-vfs</artifactId>
- <scope>provided</scope>
- </dependency>
- -->
- <dependency>
<groupId>net.sourceforge.saxon</groupId>
<artifactId>saxonhe</artifactId>
</dependency>
Modified: branches/as7/jboss-integration/pom.xml
===================================================================
--- branches/as7/jboss-integration/pom.xml 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
@@ -44,22 +44,6 @@
<artifactId>connector-api</artifactId>
<scope>provided</scope>
</dependency>
-
- <dependency>
- <groupId>org.jboss.as</groupId>
- <artifactId>jboss-as-controller</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.as</groupId>
- <artifactId>jboss-as-clustering-jgroups</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>staxmapper</artifactId>
- <scope>provided</scope>
- </dependency>
<dependency>
<groupId>org.jboss</groupId>
@@ -72,14 +56,8 @@
<artifactId>jboss-msc</artifactId>
<scope>provided</scope>
</dependency>
-
+
<dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-xjc</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<scope>provided</scope>
@@ -91,18 +69,19 @@
<scope>provided</scope>
</dependency>
+ <!-- This dependency is to read the ra.xml file details -->
<dependency>
<groupId>org.jboss.as</groupId>
- <artifactId>jboss-as-server</artifactId>
+ <artifactId>jboss-as-connector</artifactId>
<scope>provided</scope>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.jboss.as</groupId>
- <artifactId>jboss-as-connector</artifactId>
+ <artifactId>jboss-as-security</artifactId>
<scope>provided</scope>
- </dependency>
-
+ </dependency>
+
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-subsystem-test</artifactId>
@@ -115,112 +94,25 @@
<scope>provided</scope>
</dependency>
- <!--
<dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-reflect</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.man</groupId>
- <artifactId>jboss-managed</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.integration</groupId>
- <artifactId>jboss-profileservice-spi</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-connector</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.microcontainer</groupId>
- <artifactId>jboss-aop-mc-int</artifactId>
- <version>2.0.6.GA</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx</artifactId>
- <version>2.0.3.SP1</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
<groupId>org.jboss.teiid</groupId>
<artifactId>teiid-common-core</artifactId>
<type>test-jar</type>
<scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.naming</groupId>
- <artifactId>jnp-client</artifactId>
- <version>5.0.3.GA</version>
- <scope>test</scope>
</dependency>
-
- <dependency>
- <groupId>org.jboss.remoting</groupId>
- <artifactId>jboss-remoting</artifactId>
- <version>2.5.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.aspects</groupId>
- <artifactId>jboss-security-aspects</artifactId>
- <version>1.0.0.GA</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.aspects</groupId>
- <artifactId>jboss-remoting-aspects</artifactId>
- <version>1.0.1.GA</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>oswego-concurrent</groupId>
- <artifactId>concurrent</artifactId>
- <version>1.3.4-jboss-update1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-server</artifactId>
- <version>5.1.0.GA</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-profileservice</artifactId>
- <version>5.1.0.GA</version>
- <scope>test</scope>
- </dependency>
- -->
<dependency>
- <groupId>org.jboss.teiid</groupId>
- <artifactId>teiid-common-core</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.jboss.teiid.connectors</groupId>
<artifactId>translator-jdbc</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
Added: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/JBossSessionService.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/JBossSessionService.java (rev 0)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/JBossSessionService.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -0,0 +1,109 @@
+/*
+ * 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.jboss;
+
+import java.security.Principal;
+import java.security.acl.Group;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.security.auth.Subject;
+import javax.security.auth.login.LoginException;
+
+import org.jboss.as.security.plugins.SecurityDomainContext;
+import org.jboss.security.AuthenticationManager;
+import org.jboss.security.SimplePrincipal;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
+import org.teiid.runtime.RuntimePlugin;
+import org.teiid.security.Credentials;
+import org.teiid.services.SessionServiceImpl;
+import org.teiid.services.TeiidLoginContext;
+
+public class JBossSessionService extends SessionServiceImpl {
+
+ private Map<String, SecurityDomainContext> securityDomainMap;
+
+ public JBossSessionService(Map<String, SecurityDomainContext> securityDomainMap) {
+ this.securityDomainMap = securityDomainMap;
+ }
+
+ @Override
+ protected TeiidLoginContext authenticate(String userName, Credentials credentials, String applicationName, List<String> domains, boolean onlyallowPassthrough)
+ throws LoginException {
+ return authenticateUser(userName, credentials, applicationName, domains, securityDomainMap, onlyallowPassthrough);
+ }
+
+ private TeiidLoginContext authenticateUser(String username, final Credentials credential, String applicationName, List<String> domains, Map<String, SecurityDomainContext> securityDomainMap, boolean onlyallowPassthrough)
+ throws LoginException {
+
+ LogManager.logDetail(LogConstants.CTX_SECURITY, new Object[] {"authenticateUser", username, applicationName}); //$NON-NLS-1$
+
+ final String baseUsername = getBaseUsername(username);
+
+ if (onlyallowPassthrough) {
+ for (String domain:getDomainsForUser(domains, username)) {
+ Subject existing = this.securityHelper.getSubjectInContext(domain);
+ if (existing != null) {
+ return new TeiidLoginContext(getUserName(existing)+AT+domain, existing, domain, this.securityHelper.getSecurityContext(domain));
+ }
+ }
+ throw new LoginException(RuntimePlugin.Util.getString("no_passthrough_identity_found")); //$NON-NLS-1$
+ }
+
+
+ // If username specifies a domain (user@domain) only that domain is authenticated against.
+ // If username specifies no domain, then all domains are tried in order.
+ for (String domain:getDomainsForUser(domains, username)) {
+ // this is the configured login for teiid
+ SecurityDomainContext securityDomainContext = securityDomainMap.get(domain);
+ if (securityDomainContext != null) {
+ AuthenticationManager authManager = securityDomainContext.getAuthenticationManager();
+ if (authManager != null) {
+ Principal userPrincipal = new SimplePrincipal(username);
+ Subject subject = new Subject();
+ boolean isValid = authManager.isValid(userPrincipal, credential==null?null:new String(credential.getCredentialsAsCharArray()), subject);
+ if (isValid) {
+ String userName = baseUsername+AT+domain;
+ Object securityContext = this.securityHelper.createSecurityContext(domain, userPrincipal, credential==null?null:new String(credential.getCredentialsAsCharArray()), subject);
+ LogManager.logDetail(LogConstants.CTX_SECURITY, new Object[] {"Logon successful for \"", username, "\""}); //$NON-NLS-1$ //$NON-NLS-2$
+ return new TeiidLoginContext(userName, subject, domain, securityContext);
+ }
+ }
+ }
+ }
+ throw new LoginException(RuntimePlugin.Util.getString("SessionServiceImpl.The_username_0_and/or_password_are_incorrect", username )); //$NON-NLS-1$
+ }
+
+ private String getUserName(Subject subject) {
+ Set<Principal> principals = subject.getPrincipals();
+ for (Principal p:principals) {
+ if (p instanceof Group) {
+ continue;
+ }
+ return p.getName();
+ }
+ return null;
+ }
+
+}
Property changes on: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/JBossSessionService.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Copied: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Log4jListener.java (from rev 3600, branches/as7/runtime/src/main/java/org/teiid/logging/Log4jListener.java)
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Log4jListener.java (rev 0)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Log4jListener.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -0,0 +1,120 @@
+/*
+ * 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.jboss;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.teiid.logging.MessageLevel;
+
+
+/**
+ * Log4J Listener
+ */
+public class Log4jListener implements org.teiid.logging.Logger {
+
+ @Override
+ public boolean isEnabled(String context, int level) {
+ if ( context == null ) {
+ return false;
+ }
+ Level logLevel = convert2Log4JLevel(level);
+ if ( logLevel == Level.OFF) {
+ return false;
+ }
+ Logger log = getLogger(context);
+ return log.isEnabledFor(logLevel);
+ }
+
+ @Override
+ public void log(int level, String context, Object msg) {
+ Logger log4j = getLogger(context);
+ log4j.log(convert2Log4JLevel(level), msg);
+ }
+
+ public void log(int level, String context, Throwable t, Object msg) {
+ Logger log4j = getLogger(context);
+ log4j.log(convert2Log4JLevel(level), msg, t);
+ }
+
+ /**
+ * Convert {@link MessageLevel} to {@link Level}
+ * @param level
+ * @return
+ */
+ public static Level convert2Log4JLevel(int level) {
+ switch (level) {
+ case MessageLevel.CRITICAL:
+ return Level.FATAL;
+ case MessageLevel.ERROR:
+ return Level.ERROR;
+ case MessageLevel.WARNING:
+ return Level.WARN;
+ case MessageLevel.INFO:
+ return Level.INFO;
+ case MessageLevel.DETAIL:
+ return Level.DEBUG;
+ case MessageLevel.TRACE:
+ return Level.TRACE;
+ case MessageLevel.NONE:
+ return Level.OFF;
+ }
+ return Level.DEBUG;
+ }
+
+ /**
+ * Convert {@link Level} to {@link MessageLevel}
+ * @param level
+ * @return
+ */
+ public static int convert2MessageLevel(Level level) {
+ switch (level.toInt()) {
+ case Level.FATAL_INT:
+ return MessageLevel.CRITICAL;
+ case Level.ERROR_INT:
+ return MessageLevel.ERROR;
+ case Level.WARN_INT:
+ return MessageLevel.WARNING;
+ case Level.INFO_INT:
+ return MessageLevel.INFO;
+ case Level.DEBUG_INT:
+ return MessageLevel.DETAIL;
+ case Level.OFF_INT:
+ return MessageLevel.NONE;
+ }
+ return MessageLevel.DETAIL;
+ }
+
+ /**
+ * Get the logger for the given context.
+ * @param context
+ * @return
+ */
+ public static Logger getLogger(String context) {
+ return Logger.getLogger(context);
+ }
+
+ @Override
+ public void shutdown() {
+ }
+
+}
\ No newline at end of file
Property changes on: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Log4jListener.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -163,7 +163,17 @@
@Override
protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model,
final ServiceVerificationHandler verificationHandler, final List<ServiceController<?>> newControllers) throws OperationFailedException {
-
+ ClassLoader classloader = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(Module.getCallerModule().getClassLoader());
+ initilaizeTeiidEngine(context, operation, newControllers);
+ } finally {
+ Thread.currentThread().setContextClassLoader(classloader);
+ }
+ }
+
+ private void initilaizeTeiidEngine(final OperationContext context, final ModelNode operation, final List<ServiceController<?>> newControllers)
+ throws OperationFailedException {
ServiceTarget target = context.getServiceTarget();
final JBossLifeCycleListener shutdownListener = new JBossLifeCycleListener();
@@ -198,7 +208,7 @@
newControllers.add(target.addService(TeiidServiceNames.VDB_REPO, vdbRepositoryService).install());
// VDB Status manager
- final VDBStatusChecker statusChecker = new VDBStatusChecker(vdbRepository);
+ final VDBStatusCheckerExecutorService statusChecker = new VDBStatusCheckerExecutorService(vdbRepository);
ValueService<VDBStatusChecker> statusService = new ValueService<VDBStatusChecker>(new org.jboss.msc.value.Value<VDBStatusChecker>() {
@Override
public VDBStatusChecker getValue() throws IllegalStateException, IllegalArgumentException {
@@ -206,7 +216,7 @@
}
});
ServiceBuilder<VDBStatusChecker> statusBuilder = target.addService(TeiidServiceNames.VDB_STATUS_CHECKER, statusService);
- statusBuilder.addDependency(TeiidServiceNames.executorServiceName(asyncThreadPoolName), Executor.class, statusChecker.getExecutorInjector());
+ statusBuilder.addDependency(TeiidServiceNames.executorServiceName(asyncThreadPoolName), Executor.class, statusChecker.executorInjector);
newControllers.add(statusBuilder.install());
// System VDB Service
@@ -335,7 +345,7 @@
processorTarget.addDeploymentProcessor(Phase.INSTALL, Phase.INSTALL_JDBC_DRIVER|0x0001, new TranslatorDeployer());
}
- }, OperationContext.Stage.RUNTIME);
+ }, OperationContext.Stage.RUNTIME);
}
private <T> T buildService(Class<T> type, String moduleName) throws OperationFailedException {
@@ -508,4 +518,17 @@
}
return engine;
}
+
+ static class VDBStatusCheckerExecutorService extends VDBStatusChecker{
+ final InjectedValue<Executor> executorInjector = new InjectedValue<Executor>();
+
+ public VDBStatusCheckerExecutorService(VDBRepository vdbRepository) {
+ super(vdbRepository);
+ }
+
+ @Override
+ public Executor getExecutor() {
+ return this.executorInjector.getValue();
+ }
+ }
}
Copied: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAttachments.java (from rev 3600, branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java)
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAttachments.java (rev 0)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAttachments.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This 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 software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.teiid.jboss;
+
+import org.jboss.as.server.deployment.AttachmentKey;
+import org.jboss.as.server.deployment.DeploymentUnit;
+import org.teiid.adminapi.impl.VDBMetaData;
+import org.teiid.deployers.UDFMetaData;
+import org.teiid.metadata.index.IndexMetadataFactory;
+
+public final class TeiidAttachments {
+
+ enum DeploymentType{VDB, DYNAMIC_VDB, TRANSLATOR};
+
+ public static final AttachmentKey<VDBMetaData> VDB_METADATA = AttachmentKey.create(VDBMetaData.class);
+ public static final AttachmentKey<UDFMetaData> UDF_METADATA = AttachmentKey.create(UDFMetaData.class);
+ public static final AttachmentKey<IndexMetadataFactory> INDEX_METADATA = AttachmentKey.create(IndexMetadataFactory.class);
+
+ public static final AttachmentKey<DeploymentType> DEPLOYMENT_TYPE = AttachmentKey.create(DeploymentType.class);
+
+ public static boolean isVDBDeployment(final DeploymentUnit deploymentUnit) {
+ return DeploymentType.VDB == deploymentUnit.getAttachment(DEPLOYMENT_TYPE) || DeploymentType.DYNAMIC_VDB == deploymentUnit.getAttachment(DEPLOYMENT_TYPE);
+ }
+
+ public static boolean isDynamicVDB(final DeploymentUnit deploymentUnit) {
+ return DeploymentType.DYNAMIC_VDB == deploymentUnit.getAttachment(DEPLOYMENT_TYPE);
+ }
+
+ public static void setAsVDBDeployment(final DeploymentUnit deploymentUnit) {
+ deploymentUnit.putAttachment(DEPLOYMENT_TYPE, DeploymentType.VDB);
+ }
+
+ public static void setAsDynamicVDBDeployment(final DeploymentUnit deploymentUnit) {
+ deploymentUnit.putAttachment(DEPLOYMENT_TYPE, DeploymentType.DYNAMIC_VDB);
+ }
+
+ public static void setAsTranslatorDeployment(final DeploymentUnit deploymentUnit) {
+ deploymentUnit.putAttachment(DEPLOYMENT_TYPE, DeploymentType.TRANSLATOR);
+ }
+
+ public static boolean isTranslator(final DeploymentUnit deploymentUnit) {
+ return DeploymentType.TRANSLATOR == deploymentUnit.getAttachment(DEPLOYMENT_TYPE);
+ }
+}
Property changes on: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAttachments.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidExtension.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidExtension.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidExtension.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -41,7 +41,6 @@
import org.jboss.as.controller.registry.AttributeAccess.Storage;
import org.jboss.as.controller.registry.ManagementResourceRegistration;
import org.jboss.dmr.ModelNode;
-import org.teiid.logging.Log4jListener;
import org.teiid.logging.LogManager;
public class TeiidExtension implements Extension {
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -34,7 +34,6 @@
import org.jboss.msc.service.ServiceController;
import org.jboss.msc.service.ServiceTarget;
import org.teiid.adminapi.impl.VDBTranslatorMetaData;
-import org.teiid.deployers.TeiidAttachments;
import org.teiid.deployers.TranslatorUtil;
import org.teiid.deployers.VDBStatusChecker;
import org.teiid.dqp.internal.datamgr.TranslatorRepository;
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -31,7 +31,6 @@
import org.jboss.as.server.deployment.DeploymentUtils;
import org.jboss.as.server.deployment.module.ResourceRoot;
import org.jboss.vfs.VirtualFile;
-import org.teiid.deployers.TeiidAttachments;
/**
* Detects a Translator jar and sets flags for deployment.
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Transport.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Transport.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/Transport.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -106,9 +106,9 @@
public void start(StartContext context) throws StartException {
this.csr.setSecurityHelper(new JBossSecurityHelper());
- this.sessionService = new SessionServiceImpl();
+ this.sessionService = new JBossSessionService(this.securityDomains);
if (this.authenticationDomains != null && !this.authenticationDomains.isEmpty()) {
- this.sessionService.setSecurityDomains(this.authenticationDomains, this.securityDomains);
+ this.sessionService.setSecurityDomains(this.authenticationDomains);
}
this.sessionService.setSessionExpirationTimeLimit(this.sessionExpirationTimeLimit);
this.sessionService.setSessionMaxLimit(this.sessionMaxLimit);
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBDependencyDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBDependencyDeployer.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBDependencyDeployer.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -45,7 +45,6 @@
import org.jboss.vfs.VirtualFileFilter;
import org.jboss.vfs.VisitorAttributes;
import org.jboss.vfs.util.SuffixMatchFilter;
-import org.teiid.deployers.TeiidAttachments;
class VDBDependencyDeployer implements DeploymentUnitProcessor {
public static final String LIB = "/lib"; //$NON-NLS-1$
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -43,7 +43,6 @@
import org.teiid.adminapi.impl.ModelMetaData;
import org.teiid.adminapi.impl.VDBMetaData;
import org.teiid.adminapi.impl.VDBTranslatorMetaData;
-import org.teiid.deployers.TeiidAttachments;
import org.teiid.deployers.UDFMetaData;
import org.teiid.deployers.VDBRepository;
import org.teiid.deployers.VDBStatusChecker;
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBParserDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBParserDeployer.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBParserDeployer.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -34,7 +34,6 @@
import org.teiid.adminapi.impl.ModelMetaData;
import org.teiid.adminapi.impl.VDBMetaData;
import org.teiid.adminapi.impl.VDBMetadataParser;
-import org.teiid.deployers.TeiidAttachments;
import org.teiid.deployers.UDFMetaData;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBService.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBService.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBService.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -24,22 +24,42 @@
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.IdentityHashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Set;
import java.util.concurrent.Executor;
import javax.xml.stream.XMLStreamException;
+import org.jboss.modules.Module;
+import org.jboss.modules.ModuleIdentifier;
+import org.jboss.modules.ModuleLoadException;
import org.jboss.msc.service.Service;
import org.jboss.msc.service.StartContext;
import org.jboss.msc.service.StartException;
import org.jboss.msc.service.StopContext;
import org.jboss.msc.value.InjectedValue;
-import org.teiid.adminapi.*;
+import org.teiid.adminapi.AdminProcessingException;
+import org.teiid.adminapi.Model;
+import org.teiid.adminapi.Translator;
+import org.teiid.adminapi.VDB;
import org.teiid.adminapi.VDB.ConnectionType;
-import org.teiid.adminapi.impl.*;
+import org.teiid.adminapi.impl.DataPolicyMetadata;
+import org.teiid.adminapi.impl.ModelMetaData;
+import org.teiid.adminapi.impl.SourceMappingMetadata;
+import org.teiid.adminapi.impl.VDBMetaData;
+import org.teiid.adminapi.impl.VDBMetadataParser;
+import org.teiid.adminapi.impl.VDBTranslatorMetaData;
import org.teiid.common.buffer.BufferManager;
import org.teiid.core.TeiidException;
-import org.teiid.deployers.*;
+import org.teiid.deployers.MetadataStoreGroup;
+import org.teiid.deployers.TranslatorUtil;
+import org.teiid.deployers.UDFMetaData;
+import org.teiid.deployers.VDBRepository;
+import org.teiid.deployers.VirtualDatabaseException;
import org.teiid.dqp.internal.datamgr.ConnectorManager;
import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
import org.teiid.dqp.internal.datamgr.TranslatorRepository;
@@ -86,7 +106,8 @@
VDBTranslatorMetaData data = (VDBTranslatorMetaData)t;
String type = data.getType();
- Translator parent = getTranslatorRepository().getTranslatorMetaData(type);
+ VDBTranslatorMetaData parent = getTranslatorRepository().getTranslatorMetaData(type);
+ data.setModuleName(parent.getModuleName());
Set<String> keys = parent.getProperties().stringPropertyNames();
for (String key:keys) {
@@ -261,20 +282,32 @@
throw new TranslatorNotFoundException(RuntimePlugin.Util.getString("translator_not_found", deployment.getName(), deployment.getVersion(), name)); //$NON-NLS-1$
}
try {
- ExecutionFactory<Object, Object> ef = map.get(translator);
- if ( ef == null) {
- ef = TranslatorUtil.buildExecutionFactory(translator);
- if (ef instanceof DelegatingExecutionFactory) {
- DelegatingExecutionFactory delegator = (DelegatingExecutionFactory)ef;
- String delegateName = delegator.getDelegateName();
- if (delegateName != null) {
- ExecutionFactory<Object, Object> delegate = getExecutionFactory(delegateName, vdbRepo, repo, deployment, map, building);
- ((DelegatingExecutionFactory) ef).setDelegate(delegate);
+ ExecutionFactory<Object, Object> ef = map.get(translator);
+ if ( ef == null) {
+
+ ClassLoader classloader = Thread.currentThread().getContextClassLoader();
+ if (translator.getModuleName() != null) {
+ try {
+ final ModuleIdentifier moduleId = ModuleIdentifier.create(translator.getModuleName());
+ final Module module = Module.getCallerModuleLoader().loadModule(moduleId);
+ classloader = module.getClassLoader();
+ } catch (ModuleLoadException e) {
+ throw new TeiidException(e, RuntimePlugin.Util.getString("failed_load_module", translator.getModuleName(), translator.getName())); //$NON-NLS-1$
+ }
+ }
+
+ ef = TranslatorUtil.buildExecutionFactory(translator, classloader);
+ if (ef instanceof DelegatingExecutionFactory) {
+ DelegatingExecutionFactory delegator = (DelegatingExecutionFactory)ef;
+ String delegateName = delegator.getDelegateName();
+ if (delegateName != null) {
+ ExecutionFactory<Object, Object> delegate = getExecutionFactory(delegateName, vdbRepo, repo, deployment, map, building);
+ ((DelegatingExecutionFactory) ef).setDelegate(delegate);
+ }
}
+ map.put(translator, ef);
}
- map.put(translator, ef);
- }
- return ef;
+ return ef;
} catch(TeiidException e) {
throw new TranslatorNotFoundException(e);
}
Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBStructureDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBStructureDeployer.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/VDBStructureDeployer.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -23,7 +23,6 @@
import org.jboss.as.server.deployment.*;
import org.jboss.vfs.VirtualFile;
-import org.teiid.deployers.TeiidAttachments;
import org.teiid.metadata.VdbConstants;
Copied: branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestJBossSessionServiceImpl.java (from rev 3600, branches/as7/runtime/src/test/java/org/teiid/services/TestMembershipServiceImpl.java)
===================================================================
--- branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestJBossSessionServiceImpl.java (rev 0)
+++ branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestJBossSessionServiceImpl.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -0,0 +1,185 @@
+/*
+ * 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.jboss;
+
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.security.auth.Subject;
+
+import junit.framework.TestCase;
+
+import org.jboss.as.security.plugins.SecurityDomainContext;
+import org.jboss.security.AuthenticationManager;
+import org.jboss.security.SimplePrincipal;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.teiid.adminapi.impl.SessionMetadata;
+import org.teiid.client.security.InvalidSessionException;
+import org.teiid.security.Credentials;
+import org.teiid.security.SecurityHelper;
+import org.teiid.services.TeiidLoginContext;
+
+@SuppressWarnings("nls")
+public class TestJBossSessionServiceImpl extends TestCase {
+
+ private SecurityHelper buildSecurityHelper() throws Exception {
+ Principal p = Mockito.mock(Principal.class);
+ Mockito.stub(p.getName()).toReturn("alreadylogged"); //$NON-NLS-1$
+ HashSet<Principal> principals = new HashSet<Principal>();
+ principals.add(p);
+
+ Subject subject = new Subject(false, principals, new HashSet(), new HashSet());
+ SecurityHelper sh = Mockito.mock(SecurityHelper.class);
+ Mockito.stub(sh.getSubjectInContext("passthrough")).toReturn(subject); //$NON-NLS-1$
+
+ return sh;
+ }
+
+
+ public void testAuthenticate() throws Exception {
+ Credentials credentials = new Credentials("pass1".toCharArray());
+
+ SecurityHelper ms = buildSecurityHelper();
+
+ List<String> domains = new ArrayList<String>();
+ domains.add("testFile"); //$NON-NLS-1$
+ Map<String, SecurityDomainContext> securityDomainMap = new HashMap<String, SecurityDomainContext>();
+ SecurityDomainContext securityContext = Mockito.mock(SecurityDomainContext.class);
+ AuthenticationManager authManager = new AuthenticationManager() {
+ public String getSecurityDomain() {
+ return null;
+ }
+ public boolean isValid(Principal principal, Object credential, Subject activeSubject) {
+ return true;
+ }
+ public boolean isValid(Principal principal, Object credential) {
+ return true;
+ }
+
+ @Override
+ public Principal getTargetPrincipal(Principal anotherDomainPrincipal, Map<String, Object> contextMap) {
+ return null;
+ }
+ @Override
+ public Subject getActiveSubject() {
+ return null;
+ }
+ };
+
+ Mockito.stub(securityContext.getAuthenticationManager()).toReturn(authManager);
+ securityDomainMap.put("testFile", securityContext); //$NON-NLS-1$
+
+ JBossSessionService jss = new JBossSessionService(securityDomainMap);
+ jss.setSecurityHelper(ms);
+ jss.setSecurityDomains(domains);
+
+ TeiidLoginContext c = jss.authenticate("user1", credentials, null, domains, false); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("user1@testFile", c.getUserName()); //$NON-NLS-1$
+ }
+
+
+ public void testPassThrough() throws Exception {
+ SecurityHelper ms = buildSecurityHelper();
+
+ List<String> domains = new ArrayList<String>();
+ domains.add("passthrough"); //$NON-NLS-1$
+ Map<String, SecurityDomainContext> securityDomainMap = new HashMap<String, SecurityDomainContext>();
+
+ JBossSessionService jss = new JBossSessionService(securityDomainMap);
+ jss.setSecurityHelper(ms);
+ jss.setSecurityDomains(domains);
+
+ TeiidLoginContext c = jss.authenticate("user1", new Credentials("pass1".toCharArray()), null, domains, true); //$NON-NLS-1$ //$NON-NLS-2$
+
+ assertEquals("alreadylogged@passthrough", c.getUserName()); //$NON-NLS-1$
+ }
+
+ public void validateSession(boolean securityEnabled) throws Exception {
+ final TeiidLoginContext impl = Mockito.mock(TeiidLoginContext.class);
+ Mockito.stub(impl.getUserName()).toReturn("steve@somedomain");
+ final ArrayList<String> domains = new ArrayList<String>();
+ domains.add("somedomain");
+
+ Map<String, SecurityDomainContext> securityDomainMap = new HashMap<String, SecurityDomainContext>();
+ SecurityDomainContext securityContext = Mockito.mock(SecurityDomainContext.class);
+
+ AuthenticationManager authManager = Mockito.mock(AuthenticationManager.class);
+ Mockito.stub(authManager.isValid(new SimplePrincipal("steve"), "pass1", new Subject())).toReturn(true);
+
+ Mockito.stub(securityContext.getAuthenticationManager()).toReturn(authManager);
+ securityDomainMap.put("somedomain", securityContext); //$NON-NLS-1$
+
+ JBossSessionService jss = new JBossSessionService(securityDomainMap);
+ jss.setSecurityHelper(buildSecurityHelper());
+ jss.setSecurityDomains(Arrays.asList("somedomain"));
+
+ try {
+ jss.validateSession(String.valueOf(1));
+ fail("exception expected"); //$NON-NLS-1$
+ } catch (InvalidSessionException e) {
+
+ }
+
+ SessionMetadata info = jss.createSession("steve", new Credentials("pass1".toCharArray()), "foo", new Properties(), true); //$NON-NLS-1$ //$NON-NLS-2$
+ if (securityEnabled) {
+ Mockito.verify(authManager).isValid(new SimplePrincipal("steve"), "pass1", new Subject());
+ }
+
+ String id1 = info.getSessionId();
+ jss.validateSession(id1);
+
+ assertEquals(1, jss.getActiveSessionsCount());
+ assertEquals(0, jss.getSessionsLoggedInToVDB("a", 1).size()); //$NON-NLS-1$
+
+ jss.closeSession(id1);
+
+ try {
+ jss.validateSession(id1);
+ fail("exception expected"); //$NON-NLS-1$
+ } catch (InvalidSessionException e) {
+
+ }
+
+ try {
+ jss.closeSession(id1);
+ fail("exception expected"); //$NON-NLS-1$
+ } catch (InvalidSessionException e) {
+
+ }
+ }
+
+ @Test public void testvalidateSession() throws Exception{
+ validateSession(true);
+ }
+
+ @Test public void testvalidateSession2() throws Exception {
+ validateSession(false);
+ }
+}
Property changes on: branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestJBossSessionServiceImpl.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/as7/metadata/pom.xml
===================================================================
--- branches/as7/metadata/pom.xml 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/metadata/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
@@ -63,18 +63,6 @@
<artifactId>jboss-vfs</artifactId>
<scope>provided</scope>
</dependency>
- <!--
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-vfs</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.man</groupId>
- <artifactId>jboss-managed</artifactId>
- </dependency>
- -->
<dependency>
<groupId>org.jboss.logging</groupId>
Modified: branches/as7/pom.xml
===================================================================
--- branches/as7/pom.xml 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
@@ -412,6 +412,11 @@
<version>1.0.0.GA</version>
</dependency>
<dependency>
+ <groupId>org.jboss.modules</groupId>
+ <artifactId>jboss-modules</artifactId>
+ <version>1.0.3.GA</version>
+ </dependency>
+ <dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-vfs</artifactId>
<version>3.0.1.GA</version>
@@ -465,8 +470,13 @@
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-generator</artifactId>
<version>1.0.0.CR1</version>
- </dependency>
+ </dependency>
<dependency>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ <version>2.2.0.CR1</version>
+ </dependency>
+ <dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-clustering-jgroups</artifactId>
<version>${jbossas-version}</version>
Modified: branches/as7/runtime/pom.xml
===================================================================
--- branches/as7/runtime/pom.xml 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
@@ -50,64 +50,24 @@
<artifactId>teiid-metadata</artifactId>
</dependency>
<dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <scope>provided</scope>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
<scope>provided</scope>
</dependency>
-
<dependency>
- <groupId>javax.resource</groupId>
- <artifactId>connector-api</artifactId>
+ <groupId>org.jboss.modules</groupId>
+ <artifactId>jboss-modules</artifactId>
<scope>provided</scope>
- </dependency>
-
+ </dependency>
<dependency>
- <groupId>org.jboss.as</groupId>
- <artifactId>jboss-as-security</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.logging</groupId>
- <artifactId>jboss-logging-generator</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <!--
- <dependency>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-core</artifactId>
+ <groupId>javax.resource</groupId>
+ <artifactId>connector-api</artifactId>
<scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-vfs</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.deployers</groupId>
- <artifactId>jboss-deployers-vfs-spi</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.deployers</groupId>
- <artifactId>jboss-deployers-vfs</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.integration</groupId>
- <artifactId>jboss-profileservice-spi</artifactId>
- <scope>provided</scope>
- </dependency>
- -->
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Modified: branches/as7/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -29,18 +29,15 @@
import java.util.Random;
import java.util.UUID;
-import org.jboss.modules.Module;
-import org.jboss.modules.ModuleIdentifier;
-import org.jboss.modules.ModuleLoadException;
import org.teiid.core.types.DataTypeManager;
import org.teiid.metadata.AbstractMetadataRecord;
import org.teiid.metadata.Column;
import org.teiid.metadata.Datatype;
import org.teiid.metadata.FunctionMethod;
+import org.teiid.metadata.FunctionMethod.PushDown;
import org.teiid.metadata.FunctionParameter;
import org.teiid.metadata.MetadataFactory;
import org.teiid.metadata.Table;
-import org.teiid.metadata.FunctionMethod.PushDown;
import org.teiid.metadata.Table.Type;
import org.teiid.translator.TranslatorException;
@@ -521,11 +518,6 @@
FunctionMethod func = addFunction("has_function_privilege"); //$NON-NLS-1$
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- try {
- classLoader = Module.getModuleFromCallerModuleLoader(ModuleIdentifier.create("org.jboss.teiid")).getClassLoader(); //$NON-NLS-1$
- } catch (ModuleLoadException e) {
- // only in test situations
- }
ArrayList<FunctionParameter> inParams = new ArrayList<FunctionParameter>();
inParams.add(new FunctionParameter("oid", DataTypeManager.DefaultDataTypes.INTEGER, ""));//$NON-NLS-1$ //$NON-NLS-2$
Modified: branches/as7/runtime/src/main/java/org/teiid/deployers/SystemVDBDeployer.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/deployers/SystemVDBDeployer.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/main/java/org/teiid/deployers/SystemVDBDeployer.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -25,9 +25,9 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.URISyntaxException;
+import java.util.concurrent.Executors;
-import org.jboss.as.server.deployment.module.TempFileProviderService;
-import org.jboss.modules.Module;
+import org.jboss.vfs.TempFileProvider;
import org.jboss.vfs.VFS;
import org.jboss.vfs.VirtualFile;
import org.teiid.core.CoreConstants;
@@ -40,16 +40,26 @@
public class SystemVDBDeployer {
private VDBRepository vdbRepository;
private Closeable file;
+
+ private static final TempFileProvider PROVIDER;
+ static {
+ try {
+ PROVIDER = TempFileProvider.create("teiid-deployment", Executors.newScheduledThreadPool(2)); //$NON-NLS-1$
+ }
+ catch (final IOException ioe) {
+ throw new RuntimeException("Failed to create temp file provider");//$NON-NLS-1$
+ }
+ }
public void start() {
try {
VirtualFile mountPoint = VFS.getChild("content/" + CoreConstants.SYSTEM_VDB); //$NON-NLS-1$
if (!mountPoint.exists()) {
- InputStream contents = Module.getCallerModule().getClassLoader().findResourceAsStream(CoreConstants.SYSTEM_VDB, false);
+ InputStream contents = Thread.currentThread().getContextClassLoader().getResourceAsStream(CoreConstants.SYSTEM_VDB);
if (contents == null) {
throw new TeiidRuntimeException(RuntimeMetadataPlugin.Util.getString("system_vdb_not_found")); //$NON-NLS-1$
}
- this.file = VFS.mountZip(contents, CoreConstants.SYSTEM_VDB, mountPoint, TempFileProviderService.provider());
+ this.file = VFS.mountZip(contents, CoreConstants.SYSTEM_VDB, mountPoint, PROVIDER);
}
// uri conversion is only to remove the spaces in URL, note this only with above kind situation
Deleted: branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, Red Hat, Inc., and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This 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 software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.teiid.deployers;
-
-import org.jboss.as.server.deployment.AttachmentKey;
-import org.jboss.as.server.deployment.DeploymentUnit;
-import org.teiid.adminapi.impl.VDBMetaData;
-import org.teiid.metadata.index.IndexMetadataFactory;
-
-public final class TeiidAttachments {
-
- enum DeploymentType{VDB, DYNAMIC_VDB, TRANSLATOR};
-
- public static final AttachmentKey<VDBMetaData> VDB_METADATA = AttachmentKey.create(VDBMetaData.class);
- public static final AttachmentKey<UDFMetaData> UDF_METADATA = AttachmentKey.create(UDFMetaData.class);
- public static final AttachmentKey<IndexMetadataFactory> INDEX_METADATA = AttachmentKey.create(IndexMetadataFactory.class);
-
- public static final AttachmentKey<DeploymentType> DEPLOYMENT_TYPE = AttachmentKey.create(DeploymentType.class);
-
- public static boolean isVDBDeployment(final DeploymentUnit deploymentUnit) {
- return DeploymentType.VDB == deploymentUnit.getAttachment(DEPLOYMENT_TYPE) || DeploymentType.DYNAMIC_VDB == deploymentUnit.getAttachment(DEPLOYMENT_TYPE);
- }
-
- public static boolean isDynamicVDB(final DeploymentUnit deploymentUnit) {
- return DeploymentType.DYNAMIC_VDB == deploymentUnit.getAttachment(DEPLOYMENT_TYPE);
- }
-
- public static void setAsVDBDeployment(final DeploymentUnit deploymentUnit) {
- deploymentUnit.putAttachment(DEPLOYMENT_TYPE, DeploymentType.VDB);
- }
-
- public static void setAsDynamicVDBDeployment(final DeploymentUnit deploymentUnit) {
- deploymentUnit.putAttachment(DEPLOYMENT_TYPE, DeploymentType.DYNAMIC_VDB);
- }
-
- public static void setAsTranslatorDeployment(final DeploymentUnit deploymentUnit) {
- deploymentUnit.putAttachment(DEPLOYMENT_TYPE, DeploymentType.TRANSLATOR);
- }
-
- public static boolean isTranslator(final DeploymentUnit deploymentUnit) {
- return DeploymentType.TRANSLATOR == deploymentUnit.getAttachment(DEPLOYMENT_TYPE);
- }
-}
Modified: branches/as7/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -29,9 +29,6 @@
import java.util.Properties;
import java.util.TreeMap;
-import org.jboss.modules.Module;
-import org.jboss.modules.ModuleIdentifier;
-import org.jboss.modules.ModuleLoadException;
import org.teiid.adminapi.Translator;
import org.teiid.adminapi.impl.VDBTranslatorMetaData;
import org.teiid.core.TeiidException;
@@ -90,23 +87,11 @@
}
}
- public static ExecutionFactory buildExecutionFactory(VDBTranslatorMetaData data) throws TeiidException {
+ public static ExecutionFactory buildExecutionFactory(VDBTranslatorMetaData data, ClassLoader classLoader) throws TeiidException {
ExecutionFactory executionFactory;
-
- ClassLoader classloader = Thread.currentThread().getContextClassLoader();
- if (data.getModuleName() != null) {
- try {
- final ModuleIdentifier moduleId = ModuleIdentifier.create(data.getModuleName());
- final Module module = Module.getCallerModuleLoader().loadModule(moduleId);
- classloader = module.getClassLoader();
- } catch (ModuleLoadException e) {
- throw new TeiidException(e, RuntimePlugin.Util.getString("failed_load_module", data.getModuleName(), data.getName())); //$NON-NLS-1$
- }
- }
-
try {
String executionClass = data.getPropertyValue(VDBTranslatorMetaData.EXECUTION_FACTORY_CLASS);
- Object o = ReflectionHelper.create(executionClass, null, classloader);
+ Object o = ReflectionHelper.create(executionClass, null, classLoader);
if(!(o instanceof ExecutionFactory)) {
throw new TeiidException(RuntimePlugin.Util.getString("invalid_class", executionClass));//$NON-NLS-1$
}
Modified: branches/as7/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -23,8 +23,10 @@
import java.util.LinkedList;
import java.util.concurrent.Executor;
+import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
-import org.jboss.msc.value.InjectedValue;
import org.teiid.adminapi.Model;
import org.teiid.adminapi.VDB;
import org.teiid.adminapi.impl.ModelMetaData;
@@ -39,7 +41,6 @@
public class VDBStatusChecker {
private static final String JAVA_CONTEXT = "java:/"; //$NON-NLS-1$
private VDBRepository vdbRepository;
- private final InjectedValue<Executor> executorInjector = new InjectedValue<Executor>();
public VDBStatusChecker(VDBRepository vdbRepository) {
this.vdbRepository = vdbRepository;
@@ -171,11 +172,8 @@
return null;
}
- public InjectedValue<Executor> getExecutorInjector(){
- return this.executorInjector;
- }
- private Executor getExecutor() {
- return this.executorInjector.getValue();
+ public Executor getExecutor() {
+ return new ThreadPoolExecutor(1, 1, 1, TimeUnit.SECONDS, new SynchronousQueue<Runnable>());
}
}
Deleted: branches/as7/runtime/src/main/java/org/teiid/logging/Log4jListener.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/logging/Log4jListener.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/main/java/org/teiid/logging/Log4jListener.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -1,119 +0,0 @@
-/*
- * 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.logging;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-
-
-/**
- * Log4J Listener
- */
-public class Log4jListener implements org.teiid.logging.Logger {
-
- @Override
- public boolean isEnabled(String context, int level) {
- if ( context == null ) {
- return false;
- }
- Level logLevel = convert2Log4JLevel(level);
- if ( logLevel == Level.OFF) {
- return false;
- }
- Logger log = getLogger(context);
- return log.isEnabledFor(logLevel);
- }
-
- @Override
- public void log(int level, String context, Object msg) {
- Logger log4j = getLogger(context);
- log4j.log(convert2Log4JLevel(level), msg);
- }
-
- public void log(int level, String context, Throwable t, Object msg) {
- Logger log4j = getLogger(context);
- log4j.log(convert2Log4JLevel(level), msg, t);
- }
-
- /**
- * Convert {@link MessageLevel} to {@link Level}
- * @param level
- * @return
- */
- public static Level convert2Log4JLevel(int level) {
- switch (level) {
- case MessageLevel.CRITICAL:
- return Level.FATAL;
- case MessageLevel.ERROR:
- return Level.ERROR;
- case MessageLevel.WARNING:
- return Level.WARN;
- case MessageLevel.INFO:
- return Level.INFO;
- case MessageLevel.DETAIL:
- return Level.DEBUG;
- case MessageLevel.TRACE:
- return Level.TRACE;
- case MessageLevel.NONE:
- return Level.OFF;
- }
- return Level.DEBUG;
- }
-
- /**
- * Convert {@link Level} to {@link MessageLevel}
- * @param level
- * @return
- */
- public static int convert2MessageLevel(Level level) {
- switch (level.toInt()) {
- case Level.FATAL_INT:
- return MessageLevel.CRITICAL;
- case Level.ERROR_INT:
- return MessageLevel.ERROR;
- case Level.WARN_INT:
- return MessageLevel.WARNING;
- case Level.INFO_INT:
- return MessageLevel.INFO;
- case Level.DEBUG_INT:
- return MessageLevel.DETAIL;
- case Level.OFF_INT:
- return MessageLevel.NONE;
- }
- return MessageLevel.DETAIL;
- }
-
- /**
- * Get the logger for the given context.
- * @param context
- * @return
- */
- public static Logger getLogger(String context) {
- return Logger.getLogger(context);
- }
-
- @Override
- public void shutdown() {
- }
-
-}
\ No newline at end of file
Modified: branches/as7/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -28,6 +28,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -44,7 +45,6 @@
import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
-import org.jboss.as.security.plugins.SecurityDomainContext;
import org.teiid.adminapi.VDB;
import org.teiid.adminapi.VDB.ConnectionType;
import org.teiid.adminapi.impl.SessionMetadata;
@@ -69,7 +69,8 @@
/**
* This class serves as the primary implementation of the Session Service.
*/
-public class SessionServiceImpl implements SessionService {
+public abstract class SessionServiceImpl implements SessionService {
+ public static final String AT = "@"; //$NON-NLS-1$
/*
* Configuration state
*/
@@ -82,18 +83,16 @@
* Injected state
*/
private VDBRepository vdbRepository;
- private SecurityHelper securityHelper;
+ protected SecurityHelper securityHelper;
private DQPCore dqp;
private Map<String, SessionMetadata> sessionCache = new ConcurrentHashMap<String, SessionMetadata>();
- private Timer sessionMonitor = new Timer("SessionMonitor", true); //$NON-NLS-1$
- private Map<String, SecurityDomainContext> securityDomainMap;
+ private Timer sessionMonitor = new Timer("SessionMonitor", true); //$NON-NLS-1$
private List<String> securityDomainNames;
- public void setSecurityDomains(List<String> domainNames, Map<String, SecurityDomainContext> domains) {
+ public void setSecurityDomains(List<String> domainNames) {
this.securityDomainNames = domainNames;
- this.securityDomainMap = domains;
}
// -----------------------------------------------------------------------------------
@@ -163,7 +162,7 @@
// Authenticate user...
// if not authenticated, this method throws exception
boolean onlyAllowPassthrough = Boolean.valueOf(properties.getProperty(TeiidURL.CONNECTION.PASSTHROUGH_AUTHENTICATION, "false")); //$NON-NLS-1$
- TeiidLoginContext membership = authenticate(userName, credentials, applicationName, domains, this.securityDomainMap, this.securityHelper, onlyAllowPassthrough);
+ TeiidLoginContext membership = authenticate(userName, credentials, applicationName, domains, onlyAllowPassthrough);
userName = membership.getUserName();
securityDomain = membership.getSecurityDomain();
securityContext = membership.getSecurityContext();
@@ -198,6 +197,9 @@
this.sessionCache.put(newSession.getSessionId(), newSession);
return newSession;
}
+
+ abstract protected TeiidLoginContext authenticate(String userName, Credentials credentials, String applicationName, List<String> domains, boolean onlyallowPassthrough)
+ throws LoginException;
VDBMetaData getActiveVDB(String vdbName, String vdbVersion) throws SessionServiceException {
VDBMetaData vdb = null;
@@ -239,12 +241,6 @@
return vdb;
}
- protected TeiidLoginContext authenticate(String userName, Credentials credentials, String applicationName, List<String> domains, Map<String, SecurityDomainContext> securityDomainMap, SecurityHelper helper, boolean onlyallowPassthrough)
- throws LoginException {
- TeiidLoginContext membership = new TeiidLoginContext(helper);
- membership.authenticateUser(userName, credentials, applicationName, domains, securityDomainMap, onlyallowPassthrough);
- return membership;
- }
@Override
public LoginContext createLoginContext(final String securityDomain, final String user, final String password) throws LoginException{
@@ -267,8 +263,7 @@
}
};
- TeiidLoginContext context = new TeiidLoginContext(this.securityHelper);
- return context.createLoginContext(securityDomain, handler);
+ return new LoginContext(securityDomain, handler);
}
@Override
@@ -410,4 +405,86 @@
public String getKrb5SecurityDomain(){
return this.krb5SecurityDomain;
}
+
+ protected Collection<String> getDomainsForUser(List<String> domains, String username) {
+ // If username is null, return all domains
+ if (username == null) {
+ return domains;
+ }
+
+ String domain = getDomainName(username);
+
+ if (domain == null) {
+ return domains;
+ }
+
+ // ------------------------------------------
+ // Handle usernames having @ sign
+ // ------------------------------------------
+ String domainHolder = null;
+ for (String d:domains) {
+ if(d.equalsIgnoreCase(domain)) {
+ domainHolder = d;
+ break;
+ }
+ }
+
+ if (domainHolder == null) {
+ return Collections.emptyList();
+ }
+
+ LinkedList<String> result = new LinkedList<String>();
+ result.add(domainHolder);
+ return result;
+ }
+
+ protected static String getBaseUsername(String username) {
+ if (username == null) {
+ return username;
+ }
+
+ int index = getQualifierIndex(username);
+
+ String result = username;
+
+ if (index != -1) {
+ result = username.substring(0, index);
+ }
+
+ //strip the escape character from the remaining ats
+ return result.replaceAll("\\\\"+AT, AT); //$NON-NLS-1$
+ }
+
+ static String escapeName(String name) {
+ if (name == null) {
+ return name;
+ }
+
+ return name.replaceAll(AT, "\\\\"+AT); //$NON-NLS-1$
+ }
+
+ static String getDomainName(String username) {
+ if (username == null) {
+ return username;
+ }
+
+ int index = getQualifierIndex(username);
+
+ if (index != -1) {
+ return username.substring(index + 1);
+ }
+
+ return null;
+ }
+
+ static int getQualifierIndex(String username) {
+ int index = username.length();
+ while ((index = username.lastIndexOf(AT, --index)) != -1) {
+ if (index > 0 && username.charAt(index - 1) != '\\') {
+ return index;
+ }
+ }
+
+ return -1;
+ }
}
Modified: branches/as7/runtime/src/main/java/org/teiid/services/TeiidLoginContext.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/services/TeiidLoginContext.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/main/java/org/teiid/services/TeiidLoginContext.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -22,105 +22,28 @@
package org.teiid.services;
-import java.security.Principal;
-import java.security.acl.Group;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import javax.security.auth.Subject;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.login.LoginContext;
-import javax.security.auth.login.LoginException;
-import org.jboss.as.security.plugins.SecurityDomainContext;
-import org.jboss.security.AuthenticationManager;
-import org.jboss.security.SimplePrincipal;
-import org.teiid.logging.LogConstants;
-import org.teiid.logging.LogManager;
-import org.teiid.runtime.RuntimePlugin;
-import org.teiid.security.Credentials;
-import org.teiid.security.SecurityHelper;
-
/**
* This class serves as the primary implementation of the
* Membership Service. Based on the security domains specified this class delegates the responsibility of
* authenticating user to those security domains in the order they are defined.
*/
public class TeiidLoginContext {
- public static final String AT = "@"; //$NON-NLS-1$
+
private Subject subject;
private String userName;
private String securitydomain;
private Object securityContext;
- private SecurityHelper securityHelper;
- public TeiidLoginContext(SecurityHelper helper) {
- this.securityHelper = helper;
+ public TeiidLoginContext(String userName, Subject subject, String securityDomain, Object sc) {
+ this.userName = userName;
+ this.subject = subject;
+ this.securitydomain = securityDomain;
+ this.securityContext = sc;
}
-
- public void authenticateUser(String username, final Credentials credential,
- String applicationName, List<String> domains, Map<String, SecurityDomainContext> securityDomainMap, boolean onlyallowPassthrough)
- throws LoginException {
-
- LogManager.logDetail(LogConstants.CTX_SECURITY, new Object[] {"authenticateUser", username, applicationName}); //$NON-NLS-1$
-
- final String baseUsername = getBaseUsername(username);
-
- if (onlyallowPassthrough) {
- for (String domain:getDomainsForUser(domains, username)) {
- Subject existing = this.securityHelper.getSubjectInContext(domain);
- if (existing != null) {
- this.userName = getUserName(existing)+AT+domain;
- this.securitydomain = domain;
- this.subject = existing;
- this.securityContext = this.securityHelper.getSecurityContext(domain);
- return;
- }
- }
- throw new LoginException(RuntimePlugin.Util.getString("no_passthrough_identity_found")); //$NON-NLS-1$
- }
-
-
- // If username specifies a domain (user@domain) only that domain is authenticated against.
- // If username specifies no domain, then all domains are tried in order.
- for (String domain:getDomainsForUser(domains, username)) {
- // this is the configured login for teiid
- SecurityDomainContext securityDomainContext = securityDomainMap.get(domain);
- if (securityDomainContext != null) {
- AuthenticationManager authManager = securityDomainContext.getAuthenticationManager();
- if (authManager != null) {
- Principal userPrincipal = new SimplePrincipal(username);
- Subject subject = new Subject();
- boolean isValid = authManager.isValid(userPrincipal, credential==null?null:new String(credential.getCredentialsAsCharArray()), subject);
- if (isValid) {
- this.userName = baseUsername+AT+domain;
- this.securitydomain = domain;
- this.securityContext = this.securityHelper.createSecurityContext(this.securitydomain, userPrincipal, credential==null?null:new String(credential.getCredentialsAsCharArray()), subject);
- LogManager.logDetail(LogConstants.CTX_SECURITY, new Object[] {"Logon successful for \"", username, "\""}); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
- }
- }
- }
- throw new LoginException(RuntimePlugin.Util.getString("SessionServiceImpl.The_username_0_and/or_password_are_incorrect", username )); //$NON-NLS-1$
- }
-
- private String getUserName(Subject subject) {
- Set<Principal> principals = subject.getPrincipals();
- for (Principal p:principals) {
- if (p instanceof Group) {
- continue;
- }
- return p.getName();
- }
- return null;
- }
-
+
public String getUserName() {
return this.userName;
}
@@ -136,90 +59,4 @@
public Object getSecurityContext() {
return this.securityContext;
}
-
- public LoginContext createLoginContext(String domain, CallbackHandler handler) throws LoginException {
- return new LoginContext(domain, handler);
- }
-
- static String getBaseUsername(String username) {
- if (username == null) {
- return username;
- }
-
- int index = getQualifierIndex(username);
-
- String result = username;
-
- if (index != -1) {
- result = username.substring(0, index);
- }
-
- //strip the escape character from the remaining ats
- return result.replaceAll("\\\\"+AT, AT); //$NON-NLS-1$
- }
-
- static String escapeName(String name) {
- if (name == null) {
- return name;
- }
-
- return name.replaceAll(AT, "\\\\"+AT); //$NON-NLS-1$
- }
-
- static String getDomainName(String username) {
- if (username == null) {
- return username;
- }
-
- int index = getQualifierIndex(username);
-
- if (index != -1) {
- return username.substring(index + 1);
- }
-
- return null;
- }
-
- static int getQualifierIndex(String username) {
- int index = username.length();
- while ((index = username.lastIndexOf(AT, --index)) != -1) {
- if (index > 0 && username.charAt(index - 1) != '\\') {
- return index;
- }
- }
-
- return -1;
- }
-
- private Collection<String> getDomainsForUser(List<String> domains, String username) {
- // If username is null, return all domains
- if (username == null) {
- return domains;
- }
-
- String domain = getDomainName(username);
-
- if (domain == null) {
- return domains;
- }
-
- // ------------------------------------------
- // Handle usernames having @ sign
- // ------------------------------------------
- String domainHolder = null;
- for (String d:domains) {
- if(d.equalsIgnoreCase(domain)) {
- domainHolder = d;
- break;
- }
- }
-
- if (domainHolder == null) {
- return Collections.emptyList();
- }
-
- LinkedList<String> result = new LinkedList<String>();
- result.add(domainHolder);
- return result;
- }
}
Modified: branches/as7/runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java
===================================================================
--- branches/as7/runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -38,9 +38,8 @@
tm.addProperty("MyProperty", "correctly-assigned");
tm.setExecutionFactoryClass(MyTranslator.class);
+ MyTranslator my = (MyTranslator)TranslatorUtil.buildExecutionFactory(tm, this.getClass().getClassLoader());
- MyTranslator my = (MyTranslator)TranslatorUtil.buildExecutionFactory(tm);
-
assertEquals("correctly-assigned", my.getMyProperty());
}
@@ -49,9 +48,8 @@
tm.addProperty("myproperty", "correctly-assigned");
tm.setExecutionFactoryClass(MyTranslator.class);
+ MyTranslator my = (MyTranslator)TranslatorUtil.buildExecutionFactory(tm, this.getClass().getClassLoader());
- MyTranslator my = (MyTranslator)TranslatorUtil.buildExecutionFactory(tm);
-
assertEquals("correctly-assigned", my.getMyProperty());
}
Deleted: branches/as7/runtime/src/test/java/org/teiid/services/TestMembershipServiceImpl.java
===================================================================
--- branches/as7/runtime/src/test/java/org/teiid/services/TestMembershipServiceImpl.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/test/java/org/teiid/services/TestMembershipServiceImpl.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -1,114 +0,0 @@
-/*
- * 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.services;
-
-import java.security.Principal;
-import java.util.*;
-
-import javax.security.auth.Subject;
-
-import junit.framework.TestCase;
-
-import org.jboss.as.security.plugins.SecurityDomainContext;
-import org.jboss.security.AuthenticationManager;
-import org.jboss.security.SimplePrincipal;
-import org.mockito.Mockito;
-import org.teiid.security.Credentials;
-import org.teiid.security.SecurityHelper;
-
-@SuppressWarnings("nls")
-public class TestMembershipServiceImpl extends TestCase {
-
-
- public void testBaseUsername() throws Exception {
-
- assertEquals("foo(a)bar.com", TeiidLoginContext.getBaseUsername("foo\\@bar.com(a)foo")); //$NON-NLS-1$ //$NON-NLS-2$
-
- assertEquals("foo", TeiidLoginContext.getDomainName("me\\@bar.com(a)foo")); //$NON-NLS-1$ //$NON-NLS-2$
-
- assertEquals(null, TeiidLoginContext.getDomainName("@")); //$NON-NLS-1$
-
- assertEquals("@", TeiidLoginContext.getBaseUsername("@")); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- private TeiidLoginContext createMembershipService() throws Exception {
- Principal p = Mockito.mock(Principal.class);
- Mockito.stub(p.getName()).toReturn("alreadylogged"); //$NON-NLS-1$
- HashSet<Principal> principals = new HashSet<Principal>();
- principals.add(p);
-
- Subject subject = new Subject(false, principals, new HashSet(), new HashSet());
- SecurityHelper sh = Mockito.mock(SecurityHelper.class);
- Mockito.stub(sh.getSubjectInContext("passthrough")).toReturn(subject); //$NON-NLS-1$
-
- TeiidLoginContext membershipService = new TeiidLoginContext(sh);
- return membershipService;
- }
-
-
- public void testAuthenticate() throws Exception {
- Credentials credentials = new Credentials("pass1".toCharArray());
- TeiidLoginContext ms = createMembershipService();
- List<String> domains = new ArrayList<String>();
- domains.add("testFile"); //$NON-NLS-1$
- Map<String, SecurityDomainContext> securityDomainMap = new HashMap<String, SecurityDomainContext>();
- SecurityDomainContext securityContext = Mockito.mock(SecurityDomainContext.class);
- AuthenticationManager authManager = new AuthenticationManager() {
- public String getSecurityDomain() {
- return null;
- }
- public boolean isValid(Principal principal, Object credential, Subject activeSubject) {
- return true;
- }
- public boolean isValid(Principal principal, Object credential) {
- return true;
- }
-
- @Override
- public Principal getTargetPrincipal(Principal anotherDomainPrincipal, Map<String, Object> contextMap) {
- return null;
- }
- @Override
- public Subject getActiveSubject() {
- return null;
- }
- };
-
- Mockito.stub(securityContext.getAuthenticationManager()).toReturn(authManager);
- securityDomainMap.put("testFile", securityContext); //$NON-NLS-1$
-
- ms.authenticateUser("user1", credentials, null, domains,securityDomainMap, false); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("user1@testFile", ms.getUserName()); //$NON-NLS-1$
- }
-
-
- public void testPassThrough() throws Exception {
- TeiidLoginContext ms = createMembershipService();
- List<String> domains = new ArrayList<String>();
- domains.add("passthrough"); //$NON-NLS-1$
- Map<String, SecurityDomainContext> securityDomainMap = new HashMap<String, SecurityDomainContext>();
- ms.authenticateUser("user1", new Credentials("pass1".toCharArray()), null, domains, securityDomainMap, true); //$NON-NLS-1$ //$NON-NLS-2$
-
- assertEquals("alreadylogged@passthrough", ms.getUserName()); //$NON-NLS-1$
- }
-}
Modified: branches/as7/runtime/src/test/java/org/teiid/services/TestSessionServiceImpl.java
===================================================================
--- branches/as7/runtime/src/test/java/org/teiid/services/TestSessionServiceImpl.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/runtime/src/test/java/org/teiid/services/TestSessionServiceImpl.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -1,98 +1,38 @@
package org.teiid.services;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
+import static org.junit.Assert.assertEquals;
-import java.util.*;
+import java.util.List;
-import javax.security.auth.Subject;
import javax.security.auth.login.LoginException;
-import org.jboss.as.security.plugins.SecurityDomainContext;
-import org.jboss.security.AuthenticationManager;
-import org.jboss.security.SimplePrincipal;
+import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.teiid.adminapi.VDB.Status;
-import org.teiid.adminapi.impl.SessionMetadata;
import org.teiid.adminapi.impl.VDBMetaData;
-import org.teiid.client.security.InvalidSessionException;
import org.teiid.deployers.VDBRepository;
import org.teiid.dqp.service.SessionServiceException;
import org.teiid.security.Credentials;
-import org.teiid.security.SecurityHelper;
@SuppressWarnings("nls")
public class TestSessionServiceImpl {
-
- public void validateSession(boolean securityEnabled) throws Exception {
- final TeiidLoginContext impl = Mockito.mock(TeiidLoginContext.class);
- Mockito.stub(impl.getUserName()).toReturn("steve@somedomain");
- final ArrayList<String> domains = new ArrayList<String>();
- domains.add("somedomain");
+ SessionServiceImpl ssi;
+ @Before
+ public void setup() {
+ ssi = new SessionServiceImpl() {
- SessionServiceImpl ssi = new SessionServiceImpl() {
@Override
- protected TeiidLoginContext authenticate(String userName, Credentials credentials, String applicationName, List<String> domains, Map<String, SecurityDomainContext> securityDomainMap, SecurityHelper helper, boolean passthough)
- throws LoginException {
- impl.authenticateUser(userName, credentials, applicationName, domains, securityDomainMap, passthough);
- return impl;
+ protected TeiidLoginContext authenticate(String userName,
+ Credentials credentials, String applicationName,
+ List<String> domains, boolean onlyallowPassthrough)
+ throws LoginException {
+ return null;
}
};
-
- Map<String, SecurityDomainContext> securityDomainMap = new HashMap<String, SecurityDomainContext>();
- SecurityDomainContext securityContext = Mockito.mock(SecurityDomainContext.class);
- AuthenticationManager authManager = Mockito.mock(AuthenticationManager.class);
- Credentials credentials = new Credentials("pass1".toCharArray());
- Mockito.stub(authManager.isValid(new SimplePrincipal("user1"), credentials, new Subject())).toReturn(true);
- Mockito.stub(securityContext.getAuthenticationManager()).toReturn(authManager);
- securityDomainMap.put("somedomain", securityContext); //$NON-NLS-1$
-
- ssi.setSecurityDomains(Arrays.asList("somedomain"), securityDomainMap);
-
- try {
- ssi.validateSession(String.valueOf(1));
- fail("exception expected"); //$NON-NLS-1$
- } catch (InvalidSessionException e) {
-
- }
-
- SessionMetadata info = ssi.createSession("steve", null, "foo", new Properties(), true); //$NON-NLS-1$ //$NON-NLS-2$
- if (securityEnabled) {
- Mockito.verify(impl).authenticateUser("steve", null, "foo", domains, securityDomainMap, false);
- }
-
- String id1 = info.getSessionId();
- ssi.validateSession(id1);
-
- assertEquals(1, ssi.getActiveSessionsCount());
- assertEquals(0, ssi.getSessionsLoggedInToVDB("a", 1).size()); //$NON-NLS-1$
-
- ssi.closeSession(id1);
-
- try {
- ssi.validateSession(id1);
- fail("exception expected"); //$NON-NLS-1$
- } catch (InvalidSessionException e) {
-
- }
-
- try {
- ssi.closeSession(id1);
- fail("exception expected"); //$NON-NLS-1$
- } catch (InvalidSessionException e) {
-
- }
}
- @Test public void testvalidateSession() throws Exception{
- validateSession(true);
- }
-
- @Test public void testvalidateSession2() throws Exception {
- validateSession(false);
- }
-
@Test
public void testActiveVDBWithNoVersion() throws Exception {
VDBRepository repo = Mockito.mock(VDBRepository.class);
@@ -104,7 +44,6 @@
Mockito.stub(repo.getVDB("name")).toReturn(vdb);
- SessionServiceImpl ssi = new SessionServiceImpl();
ssi.setVDBRepository(repo);
ssi.getActiveVDB("name", null);
@@ -123,7 +62,6 @@
Mockito.stub(repo.getVDB("name", 1)).toReturn(vdb);
- SessionServiceImpl ssi = new SessionServiceImpl();
ssi.setVDBRepository(repo);
ssi.getActiveVDB("name", "1");
@@ -143,7 +81,6 @@
Mockito.stub(repo.getVDB("name", 1)).toReturn(vdb);
- SessionServiceImpl ssi = new SessionServiceImpl();
ssi.setVDBRepository(repo);
ssi.getActiveVDB("name.1", null);
@@ -162,7 +99,6 @@
Mockito.stub(repo.getVDB("name", 1)).toReturn(vdb);
- SessionServiceImpl ssi = new SessionServiceImpl();
ssi.setVDBRepository(repo);
try {
@@ -183,7 +119,6 @@
Mockito.stub(repo.getVDB("name", 1)).toReturn(vdb);
- SessionServiceImpl ssi = new SessionServiceImpl();
ssi.setVDBRepository(repo);
try {
@@ -198,4 +133,15 @@
} catch (SessionServiceException e) {
}
}
+
+ public void testBaseUsername() throws Exception {
+
+ assertEquals("foo(a)bar.com", SessionServiceImpl.getBaseUsername("foo\\@bar.com(a)foo")); //$NON-NLS-1$ //$NON-NLS-2$
+
+ assertEquals("foo", SessionServiceImpl.getDomainName("me\\@bar.com(a)foo")); //$NON-NLS-1$ //$NON-NLS-2$
+
+ assertEquals(null, SessionServiceImpl.getDomainName("@")); //$NON-NLS-1$
+
+ assertEquals("@", SessionServiceImpl.getBaseUsername("@")); //$NON-NLS-1$ //$NON-NLS-2$
+ }
}
Modified: branches/as7/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java
===================================================================
--- branches/as7/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java 2011-11-16 22:49:58 UTC (rev 3659)
@@ -22,18 +22,16 @@
package org.teiid.jdbc;
import java.io.File;
-import java.security.Principal;
import java.util.Arrays;
import java.util.Collection;
-import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.security.auth.Subject;
+import javax.security.auth.login.LoginException;
-import org.jboss.as.security.plugins.SecurityDomainContext;
-import org.jboss.security.AuthenticationManager;
import org.mockito.Mockito;
import org.teiid.adminapi.AdminException;
import org.teiid.adminapi.VDB;
@@ -76,9 +74,11 @@
import org.teiid.query.optimizer.capabilities.SourceCapabilities;
import org.teiid.query.tempdata.GlobalTableStore;
import org.teiid.query.tempdata.GlobalTableStoreImpl;
+import org.teiid.security.Credentials;
import org.teiid.security.SecurityHelper;
import org.teiid.services.BufferServiceImpl;
import org.teiid.services.SessionServiceImpl;
+import org.teiid.services.TeiidLoginContext;
import org.teiid.transport.ClientServiceRegistry;
import org.teiid.transport.ClientServiceRegistryImpl;
import org.teiid.transport.LocalServerConnection;
@@ -87,7 +87,16 @@
@SuppressWarnings({"nls", "serial"})
public class FakeServer extends ClientServiceRegistryImpl implements ConnectionProfile {
- SessionServiceImpl sessionService = new SessionServiceImpl();
+ SessionServiceImpl sessionService = new SessionServiceImpl() {
+ @Override
+ protected TeiidLoginContext authenticate(String userName,
+ Credentials credentials, String applicationName,
+ List<String> domains, boolean onlyallowPassthrough)
+ throws LoginException {
+ return new TeiidLoginContext(userName+"@"+domains.get(0), new Subject(), domains.get(0), new Object());
+ }
+
+ };
LogonImpl logon;
DQPCore dqp = new DQPCore();
VDBRepository repo = new VDBRepository();
@@ -108,40 +117,9 @@
}
public FakeServer(DQPConfiguration config, boolean realBufferMangaer) {
-
- Map<String, SecurityDomainContext> securityDomainMap = new HashMap<String, SecurityDomainContext>();
- SecurityDomainContext securityContext = Mockito.mock(SecurityDomainContext.class);
- AuthenticationManager authManager = new AuthenticationManager() {
- @Override
- public String getSecurityDomain() {
- return null;
- }
- @Override
- public boolean isValid(Principal principal, Object credential) {
- return true;
- }
- @Override
- public boolean isValid(Principal principal, Object credential,Subject activeSubject) {
- return true;
- }
- @Override
- public Subject getActiveSubject() {
- return null;
- }
- @Override
- public Principal getTargetPrincipal(
- Principal anotherDomainPrincipal,
- Map<String, Object> contextMap) {
- return null;
- }
-
- };
- Mockito.stub(securityContext.getAuthenticationManager()).toReturn(authManager);
- securityDomainMap.put("somedomain", securityContext); //$NON-NLS-1$
sessionService.setSecurityHelper(Mockito.mock(SecurityHelper.class));
+ sessionService.setSecurityDomains(Arrays.asList("somedomain"));
- sessionService.setSecurityDomains(Arrays.asList("somedomain"), securityDomainMap);
-
this.logon = new LogonImpl(sessionService, null);
this.repo.addListener(new VDBLifeCycleListener() {
Modified: branches/as7/test-integration/pom.xml
===================================================================
--- branches/as7/test-integration/pom.xml 2011-11-16 21:35:50 UTC (rev 3658)
+++ branches/as7/test-integration/pom.xml 2011-11-16 22:49:58 UTC (rev 3659)
@@ -98,12 +98,18 @@
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.as</groupId>
+ <artifactId>jboss-as-clustering-jgroups</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
- <groupId>org.jboss.as</groupId>
- <artifactId>jboss-as-security</artifactId>
- <scope>provided</scope>
- </dependency>
+ <groupId>org.jboss.netty</groupId>
+ <artifactId>netty</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<modules>
14 years, 2 months
teiid SVN: r3658 - in branches/7.1.x/connectors/translator-netezza/src/main: resources and 1 other directories.
by teiid-commits@lists.jboss.org
Author: van.halbert
Date: 2011-11-16 16:35:50 -0500 (Wed, 16 Nov 2011)
New Revision: 3658
Added:
branches/7.1.x/connectors/translator-netezza/src/main/resources/
branches/7.1.x/connectors/translator-netezza/src/main/resources/META-INF/
branches/7.1.x/connectors/translator-netezza/src/main/resources/META-INF/jboss-beans.xml
Log:
SOA-3573 backporting netezza froom 7.4.x
Added: branches/7.1.x/connectors/translator-netezza/src/main/resources/META-INF/jboss-beans.xml
===================================================================
--- branches/7.1.x/connectors/translator-netezza/src/main/resources/META-INF/jboss-beans.xml (rev 0)
+++ branches/7.1.x/connectors/translator-netezza/src/main/resources/META-INF/jboss-beans.xml 2011-11-16 21:35:50 UTC (rev 3658)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- Netezza -->
+ <bean name="translator-neteza-template" class="org.teiid.templates.TranslatorDeploymentTemplate">
+ <property name="info"><inject bean="translator-netezza" /> </property>
+ <property name="managedObjectFactory"> <inject bean="ManagedObjectFactory" /> </property>
+ </bean>
+
+ <bean name="translator-netezza" class="org.teiid.templates.TranslatorTemplateInfo">
+ <constructor factoryMethod="createTemplateInfo">
+ <factory bean="TranslatorDeploymentTemplateInfoFactory" />
+ <parameter class="java.lang.Class">org.teiid.templates.TranslatorTemplateInfo</parameter>
+ <parameter class="java.lang.Class">org.teiid.translator.jdbc.netezza.NetezzaExecutionFactory</parameter>
+ <parameter class="java.lang.String">translator-netezza</parameter>
+ <parameter class="java.lang.String">Netezza</parameter>
+ </constructor>
+ </bean>
+</deployment>
\ No newline at end of file
14 years, 2 months
teiid SVN: r3657 - in trunk/engine/src: main/java/org/teiid/query/function and 2 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-11-16 15:15:40 -0500 (Wed, 16 Nov 2011)
New Revision: 3657
Modified:
trunk/engine/src/main/java/org/teiid/query/eval/Evaluator.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java
trunk/engine/src/main/java/org/teiid/query/processor/relational/SubqueryAwareEvaluator.java
trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
Log:
TEIID-1518 adding a correlated subquery cache
Modified: trunk/engine/src/main/java/org/teiid/query/eval/Evaluator.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/eval/Evaluator.java 2011-11-16 19:45:47 UTC (rev 3656)
+++ trunk/engine/src/main/java/org/teiid/query/eval/Evaluator.java 2011-11-16 20:15:40 UTC (rev 3657)
@@ -68,6 +68,7 @@
import org.teiid.core.types.basic.StringToSQLXMLTransform;
import org.teiid.core.util.EquivalenceUtil;
import org.teiid.language.Like.MatchMode;
+import org.teiid.metadata.FunctionMethod.Determinism;
import org.teiid.metadata.FunctionMethod.PushDown;
import org.teiid.query.QueryPlugin;
import org.teiid.query.function.FunctionDescriptor;
@@ -1058,6 +1059,11 @@
// Execute function
Object result = fd.invokeFunction(values);
+
+ if (context != null && fd.getDeterministic().ordinal() <= Determinism.USER_DETERMINISTIC.ordinal()) {
+ context.setDeterminismLevel(fd.getDeterministic());
+ }
+
return result;
}
@@ -1082,7 +1088,15 @@
return result;
}
- protected ValueIterator evaluateSubquery(SubqueryContainer container, List<?> tuple)
+ /**
+ * @param container
+ * @param tuple
+ * @return
+ * @throws TeiidProcessingException
+ * @throws BlockedException
+ * @throws TeiidComponentException
+ */
+ protected ValueIterator evaluateSubquery(SubqueryContainer<?> container, List<?> tuple)
throws TeiidProcessingException, BlockedException, TeiidComponentException {
throw new UnsupportedOperationException("Subquery evaluation not possible with a base Evaluator"); //$NON-NLS-1$
}
Modified: trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java 2011-11-16 19:45:47 UTC (rev 3656)
+++ trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java 2011-11-16 20:15:40 UTC (rev 3657)
@@ -36,7 +36,6 @@
import org.teiid.metadata.FunctionMethod.Determinism;
import org.teiid.metadata.FunctionMethod.PushDown;
import org.teiid.query.QueryPlugin;
-import org.teiid.query.util.CommandContext;
/**
@@ -186,11 +185,6 @@
throw new FunctionExecutionException("ERR.015.001.0002", QueryPlugin.Util.getString("ERR.015.001.0002", getName())); //$NON-NLS-1$ //$NON-NLS-2$
}
- if (getDeterministic().compareTo(Determinism.USER_DETERMINISTIC) <= 0 && values.length > 0 && values[0] instanceof CommandContext) {
- CommandContext cc = (CommandContext)values[0];
- cc.setDeterminismLevel(getDeterministic());
- }
-
// Invoke the method and return the result
try {
if (method.isVarArgs()) {
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/SubqueryAwareEvaluator.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/SubqueryAwareEvaluator.java 2011-11-16 19:45:47 UTC (rev 3656)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/SubqueryAwareEvaluator.java 2011-11-16 20:15:40 UTC (rev 3657)
@@ -22,15 +22,20 @@
package org.teiid.query.processor.relational;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.teiid.common.buffer.BlockedException;
import org.teiid.common.buffer.BufferManager;
+import org.teiid.common.buffer.TupleBuffer;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.util.LRUCache;
+import org.teiid.metadata.FunctionMethod.Determinism;
import org.teiid.query.eval.Evaluator;
import org.teiid.query.processor.BatchCollector;
import org.teiid.query.processor.ProcessorDataManager;
@@ -40,11 +45,9 @@
import org.teiid.query.sql.symbol.ContextReference;
import org.teiid.query.sql.symbol.ElementSymbol;
import org.teiid.query.sql.symbol.Expression;
-import org.teiid.query.sql.symbol.ScalarSubquery;
import org.teiid.query.sql.util.SymbolMap;
import org.teiid.query.sql.util.ValueIterator;
import org.teiid.query.sql.util.VariableContext;
-import org.teiid.query.sql.visitor.FunctionCollectorVisitor;
import org.teiid.query.util.CommandContext;
@@ -57,20 +60,19 @@
public class SubqueryState {
QueryProcessor processor;
BatchCollector collector;
- boolean done;
ProcessorPlan plan;
- boolean nonDeterministic;
List<Object> refValues;
boolean comparable = true;
- void close() {
+ void close(boolean removeBuffer) {
if (processor == null) {
return;
}
processor.closeProcessing();
- collector.getTupleBuffer().remove();
+ if (removeBuffer) {
+ collector.getTupleBuffer().remove();
+ }
processor = null;
- this.done = false;
}
}
@@ -79,11 +81,19 @@
//processing state
private Map<String, SubqueryState> subqueries = new HashMap<String, SubqueryState>();
+ private LRUCache<List<?>, TupleBuffer> cache = new LRUCache<List<?>, TupleBuffer>(1024);
+ private int maxTuples = BufferManager.DEFAULT_PROCESSOR_BATCH_SIZE << 4;
+ private int currentTuples = 0;
public SubqueryAwareEvaluator(Map elements, ProcessorDataManager dataMgr,
CommandContext context, BufferManager manager) {
super(elements, dataMgr, context);
this.manager = manager;
+ //default to 16 batches
+ if (this.manager != null) {
+ this.maxTuples = this.manager.getProcessorBatchSize() << 4;
+ }
+ //TODO the number of cache entries and the max tuples should be based upon the reference count and types involved as well.
}
public void reset() {
@@ -94,23 +104,24 @@
public void close() {
for (SubqueryState state : subqueries.values()) {
- state.close();
+ state.close(true);
}
+ for (TupleBuffer buffer : cache.values()) {
+ buffer.remove();
+ }
+ cache.clear();
}
@Override
- protected ValueIterator evaluateSubquery(SubqueryContainer container,
- List tuple) throws TeiidProcessingException, BlockedException,
+ protected ValueIterator evaluateSubquery(SubqueryContainer<?> container,
+ List<?> tuple) throws TeiidProcessingException, BlockedException,
TeiidComponentException {
ContextReference ref = (ContextReference)container;
- String key = (ref).getContextSymbol();
+ String key = ref.getContextSymbol();
SubqueryState state = this.subqueries.get(key);
if (state == null) {
state = new SubqueryState();
state.plan = container.getCommand().getProcessorPlan().clone();
- if (container instanceof ScalarSubquery) {
- state.nonDeterministic = FunctionCollectorVisitor.isNonDeterministic(container.getCommand());
- }
if (container.getCommand().getCorrelatedReferences() != null) {
for (ElementSymbol es : container.getCommand().getCorrelatedReferences().getKeys()) {
if (DataTypeManager.isNonComparable(DataTypeManager.getDataTypeName(es.getType()))) {
@@ -123,7 +134,16 @@
}
SymbolMap correlatedRefs = container.getCommand().getCorrelatedReferences();
VariableContext currentContext = null;
- boolean shouldClose = state.done && state.nonDeterministic;
+ boolean shouldClose = false;
+ boolean deterministic = true;
+ if (state.processor != null) {
+ Determinism determinism = state.processor.getContext().getDeterminismLevel();
+ deterministic = Determinism.COMMAND_DETERMINISTIC.compareTo(determinism) <= 0;
+ if (!deterministic) {
+ shouldClose = true;
+ }
+ }
+ boolean removeBuffer = true;
if (correlatedRefs != null) {
currentContext = new VariableContext();
for (Map.Entry<ElementSymbol, Expression> entry : container.getCommand().getCorrelatedReferences().asMap().entrySet()) {
@@ -131,30 +151,58 @@
}
List<Object> refValues = currentContext.getLocalValues();
if (!refValues.equals(state.refValues)) {
+ if (state.comparable && deterministic) {
+ if (state.processor != null) {
+ //cache the old value
+ TupleBuffer tb = state.collector.collectTuples();
+ //recheck determinism as the plan may not have been fully processed by the initial check
+ Determinism determinism = state.processor.getContext().getDeterminismLevel();
+ deterministic = Determinism.COMMAND_DETERMINISTIC.compareTo(determinism) <= 0;
+ if (deterministic) {
+ //allowed to track up to 4x the maximum results size
+ maxTuples = Math.max(tb.getRowCount() << 2, maxTuples);
+ ArrayList<Object> cacheKey = new ArrayList<Object>(state.refValues);
+ cacheKey.add(key);
+ tb.saveBatch(); //ensure that we aren't leaving large last batches in memory
+ this.cache.put(cacheKey, tb);
+ removeBuffer = false;
+ this.currentTuples += tb.getRowCount();
+ while (this.currentTuples > maxTuples && !cache.isEmpty()) {
+ //TODO: this should handle empty results better
+ Iterator<TupleBuffer> i = this.cache.values().iterator();
+ TupleBuffer buffer = i.next();
+ buffer.remove();
+ this.currentTuples -= buffer.getRowCount();
+ i.remove();
+ }
+ }
+ }
+ //find if we have cached values
+ List<Object> cacheKey = new ArrayList<Object>(refValues);
+ cacheKey.add(key);
+ TupleBuffer cachedResult = cache.get(cacheKey);
+ if (cachedResult != null) {
+ state.close(false);
+ return new TupleSourceValueIterator(cachedResult.createIndexedTupleSource(), 0);
+ }
+ }
state.refValues = refValues;
shouldClose = true;
}
}
if (shouldClose) {
- //if (state.done && state.comparable) {
- //cache
- //} else {
- state.close();
- //}
+ state.close(removeBuffer);
}
- if (!state.done) {
- if (state.processor == null) {
- CommandContext subContext = context.clone();
- state.plan.reset();
- state.processor = new QueryProcessor(state.plan, subContext, manager, this.dataMgr);
- if (currentContext != null) {
- state.processor.getContext().pushVariableContext(currentContext);
- }
- state.collector = state.processor.createBatchCollector();
- }
- state.done = true;
+ if (state.processor == null) {
+ CommandContext subContext = context.clone();
+ state.plan.reset();
+ state.processor = new QueryProcessor(state.plan, subContext, manager, this.dataMgr);
+ if (currentContext != null) {
+ state.processor.getContext().pushVariableContext(currentContext);
+ }
+ state.collector = state.processor.createBatchCollector();
}
- return new DependentValueSource(state.collector.collectTuples()).getValueIterator(ref.getValueExpression());
+ return new TupleSourceValueIterator(state.collector.collectTuples().createIndexedTupleSource(), 0);
}
}
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2011-11-16 19:45:47 UTC (rev 3656)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2011-11-16 20:15:40 UTC (rev 3657)
@@ -2273,7 +2273,28 @@
// Run query
helpProcess(plan, dataManager, expected);
+ }
+
+ @Test public void testCorrelatedSubqueryCaching() throws Exception {
+ String sql = "Select e1 from pm1.g1 where e2 in (select e2 FROM pm2.g1 WHERE pm1.g1.e3 = pm2.g1.e3)"; //$NON-NLS-1$
+ // Create expected results
+ List[] expected = new List[] {
+ Arrays.asList("a"), Arrays.asList((String)null), Arrays.asList("a"), Arrays.asList("c"), Arrays.asList("b"), Arrays.asList("a") //$NON-NLS-1$
+ };
+
+ // Construct data manager with data
+ FakeDataManager dataManager = new FakeDataManager();
+ sampleData1(dataManager);
+
+ // Plan query
+ ProcessorPlan plan = helpGetPlan(sql, RealMetadataFactory.example1Cached());
+
+ // Run query
+ doProcess(plan, dataManager, expected, createCommandContext());
+
+ //three queries - 1 for the outer and 1 each for true/false
+ assertEquals(3, dataManager.getQueries().size());
}
/**
14 years, 2 months
teiid SVN: r3656 - trunk/connectors/translator-hive/src/main/java/org/teiid/translator/hive.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2011-11-16 14:45:47 -0500 (Wed, 16 Nov 2011)
New Revision: 3656
Modified:
trunk/connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java
Log:
TEIID-1810: fixing a bug while reading metadata for the dynamic VDBs
Modified: trunk/connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java
===================================================================
--- trunk/connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java 2011-11-16 16:53:41 UTC (rev 3655)
+++ trunk/connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java 2011-11-16 19:45:47 UTC (rev 3656)
@@ -52,7 +52,7 @@
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SHOW TABLES"); //$NON-NLS-1$
- if (rs.next()){
+ while (rs.next()){
tables.add(rs.getString(1));
}
rs.close();
@@ -96,7 +96,7 @@
table.setSupportsUpdate(true);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("DESCRIBE "+tableName); //$NON-NLS-1$
- if (rs.next()){
+ while (rs.next()){
String name = rs.getString(1);
String type = rs.getString(2);
String runtimeType = getRuntimeType(type);
14 years, 2 months
teiid SVN: r3655 - in trunk: documentation/developer-guide/src/main/docbook/en-US/content and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-11-16 11:53:41 -0500 (Wed, 16 Nov 2011)
New Revision: 3655
Modified:
trunk/api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java
trunk/documentation/developer-guide/src/main/docbook/en-US/content/translator-api.xml
Log:
TEIID-1833 adding better documentation for the delegating translator
Modified: trunk/api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java 2011-11-15 18:52:28 UTC (rev 3654)
+++ trunk/api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java 2011-11-16 16:53:41 UTC (rev 3655)
@@ -33,15 +33,17 @@
import org.teiid.metadata.RuntimeMetadata;
/**
- * Delegate translator. User can define a {@link ExecutionFactory} of their own and have this translator
- * delegate all the calls to that class. Please note that your 'vdb.xml' file will contain
- * an xml fragment like the following to configure a delegating translator.
+ * Base delegating translator. Will proxy all calls to another {@link ExecutionFactory}.
+ * You will create a custom translator as a subclass of this class containing overrides for
+ * any method you wish to intercept.
+ * Given that subclass is given a {@link Translator} name of 'custom-delegator', your 'vdb.xml' file will
+ * contain an XML fragment like the following to assign the delegate:
* <pre>
* {@code
- <translator type="delegate" name="my-translator" description="custom translator">
- <property value="delegateName" name="name of the delegate instance"/>
- </translator>
- }
+ <translator type="custom-delegator" name="my-translator" description="custom translator">
+ <property value="delegateName" name="name of the delegate instance"/>
+ <!-- any custom properties will also appear here -->
+ </translator>}
* </pre>
*
*/
Modified: trunk/documentation/developer-guide/src/main/docbook/en-US/content/translator-api.xml
===================================================================
--- trunk/documentation/developer-guide/src/main/docbook/en-US/content/translator-api.xml 2011-11-15 18:52:28 UTC (rev 3654)
+++ trunk/documentation/developer-guide/src/main/docbook/en-US/content/translator-api.xml 2011-11-16 16:53:41 UTC (rev 3655)
@@ -1532,6 +1532,49 @@
</section>
</section>
+
+ <section id="delegating_translator">
+ <title>Delegating Translator</title>
+ <para>In some instances you may wish to extend several differnt kinds of translators with the same functionality.
+ Rather than create separate subclasses for each extension, you can use the delegating translator framework which provides you with a proxying mechanism to override translator behavior.
+ It implement a delegating translator, your common translator logic should be added to a subclass of BaseDelegatingExecutionFactory where you can override any of the delegation methods to perform whatever logic you want.
+ <example>
+ <title>Example BaseDelegatingExecutionFactory Subclass</title>
+ <programlisting language="JAVA"><![CDATA[@Translator(name="custom-delegator")
+public class MyTranslator extends BaseDelegatingExecutionFactory<Object, Object> {
+
+ @Override
+ public Execution createExecution(Command command,
+ ExecutionContext executionContext, RuntimeMetadata metadata,
+ Object connection) throws TranslatorException {
+ if (command instanceof Select) {
+ //modify the command or return a different execution
+ ...
+
+ }
+ //the super call will be to the delegate instance
+ return super.createExecution(command, executionContext, metadata, connection);
+ }
+ ...
+}]]></programlisting>
+ </example>
+ </para>
+ <para>You will bundle and deploy your custom delegating translator is just like any other custom translator development.
+ To you use your delegating translator in a vdb, you define a translator override that wires in the delegate.
+ <example>
+ <title>Example Translator Override</title>
+ <programlisting language="JAVA"><![CDATA[<translator type="custom-delegator" name="my-translator">
+
+ <property value="delegateName" name="name of the delegate instance"/>
+
+ <!-- any custom properties you may have on your custom translator -->
+
+</translator>]]></programlisting>
+ <para>From the previous example the translator type is custom-delegator. Now my-translator can be used as a translator-name on a source and will proxy all calls to whatever delegate instance you assign.</para>
+ </example>
+ <note><para>Note that the delegate instance can be any translator instance, whether configured by it's own translator entry or just the name of a standard translator type.</para></note>
+ </para>
+ </section>
<section id="translator_package">
<title>Packaging</title>
14 years, 2 months