CAMEL-10144: Salesforce component now ignores ALL unknown properties added by 
Salesforce that break backward compatibility


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5c3b6652
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5c3b6652
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5c3b6652

Branch: refs/heads/camel-2.17.x
Commit: 5c3b6652c13ccff7c752540b7fcd77afdd1f5838
Parents: 2830967
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 19:54:24 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    | 4 ++--
 4 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/5c3b6652/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 9c0954a..43b9fe1 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 org.codehaus.jackson.annotate.JsonIgnoreProperties;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
 
 // disable null values in json output
 @JsonSerialize(include = JsonSerialize.Inclusion.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/5c3b6652/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 562719c..5c547b7 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/5c3b6652/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/5c3b6652/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 5d3d40e..bae7b22 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
@@ -691,10 +691,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) {

Reply via email to