CAMEL-10144: Salesforce component now ignores ALL unknown properties added by Salesforce that break backward compatibility
Conflicts: components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/AbstractDTOBase.java components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ff1898b6 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ff1898b6 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ff1898b6 Branch: refs/heads/master Commit: ff1898b610fed3d961224d4741f9306f89525fef Parents: fc2686c Author: Dhiraj Bokde <dhira...@yahoo.com> Authored: Wed Jul 13 19:54:24 2016 -0700 Committer: Dhiraj Bokde <dhira...@yahoo.com> Committed: Wed Jul 13 20:16:59 2016 -0700 ---------------------------------------------------------------------- .../camel/component/salesforce/api/dto/AbstractDTOBase.java | 3 +++ .../component/salesforce/internal/client/DefaultRestClient.java | 1 + .../salesforce/internal/processor/XmlRestProcessor.java | 1 + .../main/java/org/apache/camel/maven/CamelSalesforceMojo.java | 5 ++--- 4 files changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/ff1898b6/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/AbstractDTOBase.java ---------------------------------------------------------------------- diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/AbstractDTOBase.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/AbstractDTOBase.java index cd173b8..f05735c 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/AbstractDTOBase.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/AbstractDTOBase.java @@ -19,11 +19,14 @@ package org.apache.camel.component.salesforce.api.dto; import java.io.IOException; import java.io.StringWriter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.ObjectMapper; // disable null values in json output @JsonInclude(JsonInclude.Include.NON_NULL) +// avoid running into Salesforce backward compatibility breaks +@JsonIgnoreProperties(ignoreUnknown = true) public abstract class AbstractDTOBase { private static final ObjectMapper MAPPER = new ObjectMapper(); http://git-wip-us.apache.org/repos/asf/camel/blob/ff1898b6/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java ---------------------------------------------------------------------- diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java index 4aaa225..9d5849e 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java @@ -69,6 +69,7 @@ public class DefaultRestClient extends AbstractClientBase implements RestClient xStream.processAnnotations(RestErrors.class); xStream.processAnnotations(RestChoices.class); + xStream.ignoreUnknownElements(); XStreamUtils.addDefaultPermissions(xStream); } http://git-wip-us.apache.org/repos/asf/camel/blob/ff1898b6/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/XmlRestProcessor.java ---------------------------------------------------------------------- diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/XmlRestProcessor.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/XmlRestProcessor.java index a67bef5..3f8756f 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/XmlRestProcessor.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/XmlRestProcessor.java @@ -70,6 +70,7 @@ public class XmlRestProcessor extends AbstractRestProcessor { } }); + result.ignoreUnknownElements(); XStreamUtils.addDefaultPermissions(result); result.registerConverter(new JodaTimeConverter()); return result; http://git-wip-us.apache.org/repos/asf/camel/blob/ff1898b6/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java ---------------------------------------------------------------------- diff --git a/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java b/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java index 3462264..7a93db6 100644 --- a/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java +++ b/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java @@ -727,11 +727,10 @@ public class CamelSalesforceMojo extends AbstractMojo { private static final String BASE64BINARY = "base64Binary"; private static final String MULTIPICKLIST = "multipicklist"; private static final String PICKLIST = "picklist"; - - private Boolean useStringsForPicklists; + private boolean useStringsForPicklists; public GeneratorUtility(Boolean useStringsForPicklists) { - this.useStringsForPicklists = useStringsForPicklists; + this.useStringsForPicklists = Boolean.TRUE.equals(useStringsForPicklists); } public boolean isBlobField(SObjectField field) {