diff --git a/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java b/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java index f02a978e66..23fb662b90 100644 --- a/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java +++ b/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java @@ -18,12 +18,15 @@ package org.teiid.resource.adapter.salesforce; import javax.resource.ResourceException; -import javax.security.auth.Subject; import org.teiid.core.TeiidRuntimeException; +import org.teiid.logging.LogConstants; +import org.teiid.logging.LogManager; import org.teiid.resource.spi.BasicConnectionFactory; import org.teiid.resource.spi.BasicManagedConnectionFactory; -import org.teiid.resource.spi.ConnectionContext; +import org.teiid.translator.salesforce.SalesForcePlugin; + +import com.sforce.soap.partner.Connector; public class SalesForceManagedConnectionFactory extends BasicManagedConnectionFactory { @@ -42,6 +45,8 @@ public class SalesForceManagedConnectionFactory extends BasicManagedConnectionFa private String configProperties; private String configFile; // path to the "jbossws-cxf.xml" file + private boolean warned; + public String getUsername() { return username; } @@ -165,5 +170,14 @@ && checkEquals(this.proxyUsername, other.proxyUsername) && checkEquals(this.proxyPassword, other.proxyPassword) && checkEquals(this.configProperties, other.configProperties); } + public void checkVersion(String apiVersion) { + if (!warned) { + warned = true; + String javaApiVersion = Connector.END_POINT.substring(Connector.END_POINT.lastIndexOf('/') + 1, Connector.END_POINT.length()); + if (!javaApiVersion.equals(apiVersion)) { + LogManager.logWarning(LogConstants.CTX_CONNECTOR, SalesForcePlugin.Util.gs(SalesForcePlugin.Event.TEIID13009, apiVersion, javaApiVersion)); + } + } + } } diff --git a/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java b/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java index 159fe60c9c..e25bf35ce5 100644 --- a/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java +++ b/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java @@ -161,6 +161,7 @@ private void login(SalesForceManagedConnectionFactory mcf) throws ResourceExcept int index = endpoint.indexOf("Soap/u/"); //$NON-NLS-1$ int endIndex = endpoint.indexOf('/', index+7); apiVersion = endpoint.substring(index+7,endIndex); + mcf.checkVersion(apiVersion); String bulkEndpoint = endpoint.substring(0, endpoint.indexOf("Soap/"))+ "async/" + apiVersion;//$NON-NLS-1$ //$NON-NLS-2$ config.setRestEndpoint(bulkEndpoint); // This value identifies Teiid as a SF certified solution. diff --git a/connectors/salesforce/feature-pack-salesforce/src/main/resources/modules/system/layers/dv/org/jboss/teiid/resource-adapter/salesforce/main/META-INF/ra.xml b/connectors/salesforce/feature-pack-salesforce/src/main/resources/modules/system/layers/dv/org/jboss/teiid/resource-adapter/salesforce/main/META-INF/ra.xml index 6bae75125e..2e8a83d193 100644 --- a/connectors/salesforce/feature-pack-salesforce/src/main/resources/modules/system/layers/dv/org/jboss/teiid/resource-adapter/salesforce/main/META-INF/ra.xml +++ b/connectors/salesforce/feature-pack-salesforce/src/main/resources/modules/system/layers/dv/org/jboss/teiid/resource-adapter/salesforce/main/META-INF/ra.xml @@ -52,7 +52,7 @@ {$display:"Salesforce URL",$description:"URL for connecting to Salesforce",$advanced:"true"} URL java.lang.String - https://www.salesforce.com/services/Soap/u/34.0 + https://www.salesforce.com/services/Soap/u/22.0 diff --git a/connectors/salesforce/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForcePlugin.java b/connectors/salesforce/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForcePlugin.java index dcd4425e66..a0e1c45970 100644 --- a/connectors/salesforce/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForcePlugin.java +++ b/connectors/salesforce/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForcePlugin.java @@ -45,6 +45,7 @@ public static enum Event implements BundleUtil.Event{ TEIID13005, TEIID13006, TEIID13007, - TEIID13008, + TEIID13008, + TEIID13009, } } diff --git a/connectors/salesforce/translator-salesforce/src/main/resources/org/teiid/translator/salesforce/i18n.properties b/connectors/salesforce/translator-salesforce/src/main/resources/org/teiid/translator/salesforce/i18n.properties index d0c634218a..c524a58893 100644 --- a/connectors/salesforce/translator-salesforce/src/main/resources/org/teiid/translator/salesforce/i18n.properties +++ b/connectors/salesforce/translator-salesforce/src/main/resources/org/teiid/translator/salesforce/i18n.properties @@ -39,4 +39,5 @@ TEIID13004=The query is missing type, id and attribute values. TEIID13005=The attribute count does not match with the value parameters supplied. TEIID13006=columns.size and values.size are not the same TEIID13007=Only literal values are supported in the insert, expressions are not allowed. -TEIID13008=The delete criteria is not a CompareCriteria \ No newline at end of file +TEIID13008=The delete criteria is not a CompareCriteria +TEIID13009=Accessing remote API version {0} with Java API version {1} may not be compatible. \ No newline at end of file