From 0678ae015a4db04b3d1171b8c8e73a9d4c99bd08 Mon Sep 17 00:00:00 2001 From: Ramesh Reddy Date: Thu, 1 Oct 2015 14:05:59 -0500 Subject: [PATCH] TEIID-3727: Adding salesforce translator and resource-adapter based Partner API version 34 --- .../bin/scripts/teiid-domain-mode-install.cli | 4 +- .../scripts/teiid-standalone-mode-install.cli | 2 + .../teiid/datasources/salesforce/readme.txt | 4 +- .../datasources/salesforce/salesforce-34.xml | 31 +++++ .../docs/teiid/teiid-releasenotes.html | 1 + .../configuration/standalone-teiid.xml | 4 + .../kits/embedded-dist.xml | 29 +++++ .../kits/jboss-as7-dist.xml | 27 +++++ .../resource-adapter/salesforce/34/module.xml | 52 ++++++++ connectors/connector-salesforce-34/pom.xml | 71 +++++++++++ connectors/pom.xml | 2 + .../kits/embedded-dist.xml | 39 ++++++ .../kits/jboss-as7-dist.xml | 52 ++++++++ .../modules/com/force/api/34/module.xml | 17 +++ .../teiid/translator/salesforce/34/module.xml | 19 +++ connectors/translator-salesforce-34/pom.xml | 111 ++++++++++++++++++ .../SalesForce34ExecutionFactory.java | 30 +++++ .../org.teiid.translator.ExecutionFactory | 1 + connectors/translator-salesforce/pom.xml | 26 ++++ pom.xml | 30 ++--- .../arquillian/IntegrationTestDeployment.java | 2 +- 21 files changed, 529 insertions(+), 25 deletions(-) create mode 100644 build/kits/jboss-as7/overlay/docs/teiid/datasources/salesforce/salesforce-34.xml create mode 100644 connectors/connector-salesforce-34/kits/embedded-dist.xml create mode 100644 connectors/connector-salesforce-34/kits/jboss-as7-dist.xml create mode 100644 connectors/connector-salesforce-34/kits/jboss-as7/modules/org/jboss/teiid/resource-adapter/salesforce/34/module.xml create mode 100644 connectors/connector-salesforce-34/pom.xml create mode 100644 connectors/translator-salesforce-34/kits/embedded-dist.xml create mode 100644 connectors/translator-salesforce-34/kits/jboss-as7-dist.xml create mode 100644 connectors/translator-salesforce-34/kits/jboss-as7/modules/com/force/api/34/module.xml create mode 100644 connectors/translator-salesforce-34/kits/jboss-as7/modules/org/jboss/teiid/translator/salesforce/34/module.xml create mode 100644 connectors/translator-salesforce-34/pom.xml create mode 100644 connectors/translator-salesforce-34/src/main/java/org/teiid/translator/salesforce34/SalesForce34ExecutionFactory.java create mode 100644 connectors/translator-salesforce-34/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory diff --git a/build/kits/jboss-as7/overlay/bin/scripts/teiid-domain-mode-install.cli b/build/kits/jboss-as7/overlay/bin/scripts/teiid-domain-mode-install.cli index 2ec5fe2ecc..1e30d6b6f3 100644 --- a/build/kits/jboss-as7/overlay/bin/scripts/teiid-domain-mode-install.cli +++ b/build/kits/jboss-as7/overlay/bin/scripts/teiid-domain-mode-install.cli @@ -72,6 +72,7 @@ connect /profile=ha/subsystem=teiid/translator=olap:add(module=org.jboss.teiid.translator.olap) /profile=ha/subsystem=teiid/translator=ws:add(module=org.jboss.teiid.translator.ws) /profile=ha/subsystem=teiid/translator=salesforce:add(module=org.jboss.teiid.translator.salesforce) +/profile=ha/subsystem=teiid/translator=salesforce-34:add(module=org.jboss.teiid.translator.salesforce, slot="34") /profile=ha/subsystem=teiid/translator=hive:add(module=org.jboss.teiid.translator.hive) /profile=ha/subsystem=teiid/translator=map-cache:add(module=org.jboss.teiid.translator.object) /profile=ha/subsystem=teiid/translator=google-spreadsheet:add(module=org.jboss.teiid.translator.google) @@ -88,7 +89,7 @@ connect /profile=ha/subsystem=teiid/translator=hbase:add(module=org.jboss.teiid.translator.hbase) /profile=ha/subsystem=teiid/translator=vertica:add(module=org.jboss.teiid.translator.jdbc) /profile=ha/subsystem=teiid/translator=actian-vector:add(module=org.jboss.teiid.translator.jdbc) -/profile=ha//subsystem=teiid/translator=osisoft-pi:add(module=org.jboss.teiid.translator.jdbc) +/profile=ha/subsystem=teiid/translator=osisoft-pi:add(module=org.jboss.teiid.translator.jdbc) /profile=ha/subsystem=datasources/jdbc-driver=teiid:add(driver-name=teiid, driver-module-name=org.jboss.teiid.client, driver-class-name=org.teiid.jdbc.TeiidDriver, driver-xa-datasource-class-name=org.teiid.jdbc.TeiidDataSource) /profile=ha/subsystem=datasources/jdbc-driver=teiid-local:add(driver-name=teiid-local, driver-module-name=org.jboss.teiid, driver-class-name=org.teiid.jdbc.TeiidDriver, driver-xa-datasource-class-name=org.teiid.jdbc.TeiidDataSource) @@ -97,6 +98,7 @@ connect /profile=ha/subsystem=resource-adapters/resource-adapter=google:add(module=org.jboss.teiid.resource-adapter.google) /profile=ha/subsystem=resource-adapters/resource-adapter=ldap:add(module=org.jboss.teiid.resource-adapter.ldap) /profile=ha/subsystem=resource-adapters/resource-adapter=salesforce:add(module=org.jboss.teiid.resource-adapter.salesforce) +/profile=ha/subsystem=resource-adapters/resource-adapter=salesforce-34:add(module=org.jboss.teiid.resource-adapter.salesforce, slot="34") /profile=ha/subsystem=resource-adapters/resource-adapter=webservice:add(module=org.jboss.teiid.resource-adapter.webservice) /profile=ha/subsystem=resource-adapters/resource-adapter=mongodb:add(module=org.jboss.teiid.resource-adapter.mongodb) /profile=ha/subsystem=resource-adapters/resource-adapter=cassandra:add(module=org.jboss.teiid.resource-adapter.cassandra) diff --git a/build/kits/jboss-as7/overlay/bin/scripts/teiid-standalone-mode-install.cli b/build/kits/jboss-as7/overlay/bin/scripts/teiid-standalone-mode-install.cli index 4b786f5185..0972d8d4b2 100644 --- a/build/kits/jboss-as7/overlay/bin/scripts/teiid-standalone-mode-install.cli +++ b/build/kits/jboss-as7/overlay/bin/scripts/teiid-standalone-mode-install.cli @@ -68,6 +68,7 @@ connect /subsystem=teiid/translator=olap:add(module=org.jboss.teiid.translator.olap) /subsystem=teiid/translator=ws:add(module=org.jboss.teiid.translator.ws) /subsystem=teiid/translator=salesforce:add(module=org.jboss.teiid.translator.salesforce) +/subsystem=teiid/translator=salesforce-34:add(module=org.jboss.teiid.translator.salesforce, slot="34") /subsystem=teiid/translator=hive:add(module=org.jboss.teiid.translator.hive) /subsystem=teiid/translator=map-cache:add(module=org.jboss.teiid.translator.object) /subsystem=teiid/translator=google-spreadsheet:add(module=org.jboss.teiid.translator.google) @@ -93,6 +94,7 @@ connect /subsystem=resource-adapters/resource-adapter=google:add(module=org.jboss.teiid.resource-adapter.google) /subsystem=resource-adapters/resource-adapter=ldap:add(module=org.jboss.teiid.resource-adapter.ldap) /subsystem=resource-adapters/resource-adapter=salesforce:add(module=org.jboss.teiid.resource-adapter.salesforce) +/subsystem=resource-adapters/resource-adapter=salesforce-34:add(module=org.jboss.teiid.resource-adapter.salesforce, slot="34") /subsystem=resource-adapters/resource-adapter=webservice:add(module=org.jboss.teiid.resource-adapter.webservice) /subsystem=resource-adapters/resource-adapter=mongodb:add(module=org.jboss.teiid.resource-adapter.mongodb) /subsystem=resource-adapters/resource-adapter=cassandra:add(module=org.jboss.teiid.resource-adapter.cassandra) diff --git a/build/kits/jboss-as7/overlay/docs/teiid/datasources/salesforce/readme.txt b/build/kits/jboss-as7/overlay/docs/teiid/datasources/salesforce/readme.txt index 8dda97fd1d..9fb94bae91 100644 --- a/build/kits/jboss-as7/overlay/docs/teiid/datasources/salesforce/readme.txt +++ b/build/kits/jboss-as7/overlay/docs/teiid/datasources/salesforce/readme.txt @@ -2,7 +2,9 @@ Option 1: In Teiid, for Salesforce datasource a JCA connector is provided and deployed at the install time. To create salesforce datasource connection edit the "standalone-teiid.xml" file or "doamin-teiid.xml" file and add -the contents of the salesforce.xml under "resource-adapters" subsystem section. +the contents of the salesforce.xml or salesforce-34.xml under "resource-adapters" subsystem section. + +NOTE: salesforce-34.xml uses the newer salesforce API version 34, where as salesforce.xml uses version 22 Option 2: diff --git a/build/kits/jboss-as7/overlay/docs/teiid/datasources/salesforce/salesforce-34.xml b/build/kits/jboss-as7/overlay/docs/teiid/datasources/salesforce/salesforce-34.xml new file mode 100644 index 0000000000..5ba01408f0 --- /dev/null +++ b/build/kits/jboss-as7/overlay/docs/teiid/datasources/salesforce/salesforce-34.xml @@ -0,0 +1,31 @@ + + + + + + NoTransaction + + + + + https://www.salesforce.com/services/Soap/u/34.0 + + user + pass + + + + + + + + + diff --git a/build/kits/jboss-as7/overlay/docs/teiid/teiid-releasenotes.html b/build/kits/jboss-as7/overlay/docs/teiid/teiid-releasenotes.html index 5e94ed86fd..d99fdfda06 100644 --- a/build/kits/jboss-as7/overlay/docs/teiid/teiid-releasenotes.html +++ b/build/kits/jboss-as7/overlay/docs/teiid/teiid-releasenotes.html @@ -37,6 +37,7 @@

Highlights

  • TEIID-3712 Date/Time Keyword Literal support was added in the parser.
  • TEIID-3722 Option to not widen comparisons to string was added via the system property org.teiid.widenComparisonToString
  • TEIID-3327 OSIsoft PI translator added for use with the PI JDBC driver.
  • +
  • TEIID-3727 Salesforce Translator added a translator and resource-adapter based on Salesforce Partner API 34

    Compatibility Issues

    diff --git a/build/kits/jboss-as7/overlay/standalone/configuration/standalone-teiid.xml b/build/kits/jboss-as7/overlay/standalone/configuration/standalone-teiid.xml index d33e57fdcc..3314d0bc39 100644 --- a/build/kits/jboss-as7/overlay/standalone/configuration/standalone-teiid.xml +++ b/build/kits/jboss-as7/overlay/standalone/configuration/standalone-teiid.xml @@ -297,6 +297,9 @@ + + + @@ -398,6 +401,7 @@ + diff --git a/connectors/connector-salesforce-34/kits/embedded-dist.xml b/connectors/connector-salesforce-34/kits/embedded-dist.xml new file mode 100644 index 0000000000..08051a6ad0 --- /dev/null +++ b/connectors/connector-salesforce-34/kits/embedded-dist.xml @@ -0,0 +1,29 @@ + + + + embedded-dist + + + zip + + + false + + + + kits/embedded + / + true + + **/* + + + + + + ${project.build.directory}/${project.artifactId}-${project.version}.jar + optional/salesforce-34 + + + + diff --git a/connectors/connector-salesforce-34/kits/jboss-as7-dist.xml b/connectors/connector-salesforce-34/kits/jboss-as7-dist.xml new file mode 100644 index 0000000000..d26ff727ca --- /dev/null +++ b/connectors/connector-salesforce-34/kits/jboss-as7-dist.xml @@ -0,0 +1,27 @@ + + + + jboss-as7-dist + + + zip + + + false + modules + + + + kits/jboss-as7/modules + ${jbossas-module-root} + true + + **/* + + + + ${project.build.directory}/rar-unpack + ${jbossas-module-root}/org/jboss/teiid/resource-adapter/salesforce/34 + + + diff --git a/connectors/connector-salesforce-34/kits/jboss-as7/modules/org/jboss/teiid/resource-adapter/salesforce/34/module.xml b/connectors/connector-salesforce-34/kits/jboss-as7/modules/org/jboss/teiid/resource-adapter/salesforce/34/module.xml new file mode 100644 index 0000000000..12f1995729 --- /dev/null +++ b/connectors/connector-salesforce-34/kits/jboss-as7/modules/org/jboss/teiid/resource-adapter/salesforce/34/module.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/connectors/connector-salesforce-34/pom.xml b/connectors/connector-salesforce-34/pom.xml new file mode 100644 index 0000000000..fc037ab6c0 --- /dev/null +++ b/connectors/connector-salesforce-34/pom.xml @@ -0,0 +1,71 @@ + + + + connectors + org.jboss.teiid + 8.12.0.Beta4-SNAPSHOT + + 4.0.0 + connector-salesforce-34 + org.jboss.teiid.connectors + Salesforce Resource Adapter API 34 + Integrates the query engine with Salesforce.com. + + + + org.jboss.teiid.connectors + connector-salesforce + rar + provided + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack-dependencies + package + + unpack-dependencies + + + org.jboss.teiid.connectors + connector-salesforce + rar + provided + ${project.build.directory}/rar-unpack + false + true + true + + + + + + + maven-assembly-plugin + + + kits/jboss-as7-dist.xml + kits/embedded-dist.xml + + + + + create-assemblies + package + + single + + + + + + + + diff --git a/connectors/pom.xml b/connectors/pom.xml index 1f04762d60..57df5b8305 100644 --- a/connectors/pom.xml +++ b/connectors/pom.xml @@ -100,6 +100,7 @@ translator-loopback translator-file translator-salesforce + translator-salesforce-34 translator-mongodb translator-cassandra translator-simpledb @@ -119,6 +120,7 @@ connector-file connector-google connector-salesforce + connector-salesforce-34 connector-ldap connector-ws connector-mongodb diff --git a/connectors/translator-salesforce-34/kits/embedded-dist.xml b/connectors/translator-salesforce-34/kits/embedded-dist.xml new file mode 100644 index 0000000000..f3179a141f --- /dev/null +++ b/connectors/translator-salesforce-34/kits/embedded-dist.xml @@ -0,0 +1,39 @@ + + + + embedded-dist + + + zip + + + false + + + + kits/embedded + / + true + + **/* + + + + + + + optional/salesforce-34 + true + + com.force.api:force-wsc + com.force.api:force-partner-api + + + + optional/salesforce-34 + false + false + + + + diff --git a/connectors/translator-salesforce-34/kits/jboss-as7-dist.xml b/connectors/translator-salesforce-34/kits/jboss-as7-dist.xml new file mode 100644 index 0000000000..d0649e0e34 --- /dev/null +++ b/connectors/translator-salesforce-34/kits/jboss-as7-dist.xml @@ -0,0 +1,52 @@ + + + + jboss-as7-dist + + + zip + + + false + modules + + + + ${project.build.directory}/kits/jboss-as7/modules + ${jbossas-module-root} + true + + **/* + + + + + kits/jboss-as7/modules + ${jbossas-module-root} + true + + **/* + + + + + + + ${jbossas-module-root}/com/force/api/34 + false + + com.force.api:force-wsc + com.force.api:force-partner-api + + + + ${jbossas-module-root}/org/jboss/teiid/translator/salesforce/34 + false + + org.jboss.teiid.connectors:translator-salesforce + org.jboss.teiid.connectors:translator-salesforce-34 + + + + + diff --git a/connectors/translator-salesforce-34/kits/jboss-as7/modules/com/force/api/34/module.xml b/connectors/translator-salesforce-34/kits/jboss-as7/modules/com/force/api/34/module.xml new file mode 100644 index 0000000000..d1afaee697 --- /dev/null +++ b/connectors/translator-salesforce-34/kits/jboss-as7/modules/com/force/api/34/module.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/connectors/translator-salesforce-34/kits/jboss-as7/modules/org/jboss/teiid/translator/salesforce/34/module.xml b/connectors/translator-salesforce-34/kits/jboss-as7/modules/org/jboss/teiid/translator/salesforce/34/module.xml new file mode 100644 index 0000000000..65262359f0 --- /dev/null +++ b/connectors/translator-salesforce-34/kits/jboss-as7/modules/org/jboss/teiid/translator/salesforce/34/module.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/connectors/translator-salesforce-34/pom.xml b/connectors/translator-salesforce-34/pom.xml new file mode 100644 index 0000000000..3d186888c7 --- /dev/null +++ b/connectors/translator-salesforce-34/pom.xml @@ -0,0 +1,111 @@ + + + + connectors + org.jboss.teiid + 8.12.0.Beta4-SNAPSHOT + + 4.0.0 + translator-salesforce-34 + org.jboss.teiid.connectors + Salesforce Translator 34 + Integrates the query engine with Salesforce.com. + bundle + + + + + com.force.api + force-wsc + ${version.com.force.api.34} + + + com.google.code.gson + gson + + + rhino + js + + + + + com.force.api + force-partner-api + ${version.com.force.api.34} + + + + + + org.jboss.teiid + teiid-api + provided + + + org.jboss.teiid + teiid-common-core + provided + + + com.force.api + force-partner-api + + + com.force.api + force-wsc + + + org.jboss.teiid.connectors + translator-salesforce + + + javax.resource + connector-api + provided + + + + + target/classes + + + src/main/resources + true + + **/*.xml + **/*.properties + + + + src/main/resources + false + + **/*.xml + **/*.properties + + + + + + maven-assembly-plugin + + + kits/jboss-as7-dist.xml + kits/embedded-dist.xml + + + + + create-assemblies + package + + single + + + + + + + diff --git a/connectors/translator-salesforce-34/src/main/java/org/teiid/translator/salesforce34/SalesForce34ExecutionFactory.java b/connectors/translator-salesforce-34/src/main/java/org/teiid/translator/salesforce34/SalesForce34ExecutionFactory.java new file mode 100644 index 0000000000..936f591de1 --- /dev/null +++ b/connectors/translator-salesforce-34/src/main/java/org/teiid/translator/salesforce34/SalesForce34ExecutionFactory.java @@ -0,0 +1,30 @@ +/* + * 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.translator.salesforce34; + +import org.teiid.translator.Translator; +import org.teiid.translator.salesforce.SalesForceExecutionFactory; + +@Translator(name="salesforce-34", description="A translator for Salesforce With API version 34") +public class SalesForce34ExecutionFactory extends SalesForceExecutionFactory { +} diff --git a/connectors/translator-salesforce-34/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory b/connectors/translator-salesforce-34/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory new file mode 100644 index 0000000000..0abb25ac24 --- /dev/null +++ b/connectors/translator-salesforce-34/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory @@ -0,0 +1 @@ +org.teiid.translator.salesforce34.SalesForce34ExecutionFactory diff --git a/connectors/translator-salesforce/pom.xml b/connectors/translator-salesforce/pom.xml index 0d3b0b1998..d5e0bacc4a 100644 --- a/connectors/translator-salesforce/pom.xml +++ b/connectors/translator-salesforce/pom.xml @@ -11,6 +11,32 @@ Salesforce Translator Integrates the query engine with Salesforce.com. bundle + + + + + com.force.api + force-wsc + ${version.com.force.api} + + + com.google.code.gson + gson + + + rhino + js + + + + + com.force.api + force-partner-api + ${version.com.force.api} + + + + org.jboss.teiid diff --git a/pom.xml b/pom.xml index 5d2c8f6b96..9ebb41d724 100644 --- a/pom.xml +++ b/pom.xml @@ -53,8 +53,8 @@ jboss-eap-6.4 0.8.8 modules/system/layers/dv - 22.0.0 + 34.0.0 1.6 3.0 1.0 @@ -440,7 +440,13 @@ org.jboss.teiid.connectors translator-salesforce ${project.version} - + + + org.jboss.teiid.connectors + connector-salesforce + rar + ${project.version} + org.jboss.teiid.connectors translator-jdbc @@ -950,26 +956,6 @@ resteasy-multipart-provider ${version.org.jboss.resteasy} - - com.force.api - force-wsc - ${version.com.force.api} - - - com.google.code.gson - gson - - - rhino - js - - - - - com.force.api - force-partner-api - ${version.com.force.api} - org.hibernate hibernate-core diff --git a/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java b/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java index 75039e0e2c..091b0d9438 100644 --- a/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java +++ b/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java @@ -187,7 +187,7 @@ public void testGetDatasourceProperties() throws Exception { @Test public void testTraslators() throws Exception { Collection translators = admin.getTranslators(); - assertEquals(translators.toString(), 51, translators.size()); + assertEquals(translators.toString(), 52, translators.size()); JavaArchive jar = getLoopyArchive();