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 1e641ce3c7..aa6ecfa5f9 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 @@ -22,12 +22,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 { @@ -46,6 +49,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; } @@ -169,5 +174,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 a3fc80a271..b94f883e7a 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 @@ -165,6 +165,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 842609c77c..5d2923ae55 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 @@ -56,7 +56,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 ffd1467675..450c25c828 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 @@ -49,6 +49,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 4119012cc6..90ddfd1f8e 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 @@ -43,4 +43,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