This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new 8a31702 CAMEL-15882: camel-salesforce: Return all upsert result info. (#4663) 8a31702 is described below commit 8a317028c4cb34791fa0e122e70a30aa9d86fdaa Author: Jeremy Ross <jer...@jeremyross.org> AuthorDate: Mon Nov 23 14:39:25 2020 -0600 CAMEL-15882: camel-salesforce: Return all upsert result info. (#4663) --- .../salesforce/api/dto/UpsertSObjectResult.java | 64 ++++++++++++++++++++++ .../internal/processor/JsonRestProcessor.java | 3 +- .../internal/processor/XmlRestProcessor.java | 3 +- .../salesforce/RestApiIntegrationTest.java | 12 ++++ 4 files changed, 80 insertions(+), 2 deletions(-) diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/UpsertSObjectResult.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/UpsertSObjectResult.java new file mode 100644 index 0000000..d2d0745 --- /dev/null +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/UpsertSObjectResult.java @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.component.salesforce.api.dto; + +import java.util.List; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; + +@XStreamAlias("Result") +public class UpsertSObjectResult extends AbstractDTOBase { + + private String id; + @XStreamImplicit + private List<RestError> errors; + private Boolean success; + private Boolean created; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public List<RestError> getErrors() { + return errors; + } + + public void setErrors(List<RestError> errors) { + this.errors = errors; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Boolean getCreated() { + return created; + } + + public void setCreated(Boolean created) { + this.created = created; + } +} diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/JsonRestProcessor.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/JsonRestProcessor.java index c3cdec8..d9ce6fa 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/JsonRestProcessor.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/JsonRestProcessor.java @@ -39,6 +39,7 @@ import org.apache.camel.component.salesforce.api.dto.RestResources; import org.apache.camel.component.salesforce.api.dto.SObjectBasicInfo; import org.apache.camel.component.salesforce.api.dto.SObjectDescription; import org.apache.camel.component.salesforce.api.dto.SearchResult2; +import org.apache.camel.component.salesforce.api.dto.UpsertSObjectResult; import org.apache.camel.component.salesforce.api.dto.approval.ApprovalResult; import org.apache.camel.component.salesforce.api.dto.approval.Approvals; import org.apache.camel.component.salesforce.api.utils.JsonUtils; @@ -96,7 +97,7 @@ public class JsonRestProcessor extends AbstractRestProcessor { case UPSERT_SOBJECT: // handle known response type - exchange.setProperty(RESPONSE_CLASS, CreateSObjectResult.class); + exchange.setProperty(RESPONSE_CLASS, UpsertSObjectResult.class); break; case SEARCH: 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 8d9abf4..931be4a 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 @@ -35,6 +35,7 @@ import org.apache.camel.component.salesforce.SalesforceEndpoint; import org.apache.camel.component.salesforce.api.SalesforceException; import org.apache.camel.component.salesforce.api.dto.AbstractDTOBase; import org.apache.camel.component.salesforce.api.dto.CreateSObjectResult; +import org.apache.camel.component.salesforce.api.dto.UpsertSObjectResult; import org.apache.camel.component.salesforce.api.dto.GlobalObjects; import org.apache.camel.component.salesforce.api.dto.RestResources; import org.apache.camel.component.salesforce.api.dto.SObjectBasicInfo; @@ -122,7 +123,7 @@ public class XmlRestProcessor extends AbstractRestProcessor { case UPSERT_SOBJECT: // handle known response type - exchange.setProperty(RESPONSE_CLASS, CreateSObjectResult.class); + exchange.setProperty(RESPONSE_CLASS, UpsertSObjectResult.class); break; case QUERY: diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java index a1eb9c0..68dd5b9 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java @@ -39,6 +39,7 @@ import org.apache.camel.component.salesforce.api.dto.GlobalObjects; import org.apache.camel.component.salesforce.api.dto.RestResources; import org.apache.camel.component.salesforce.api.dto.SObjectBasicInfo; import org.apache.camel.component.salesforce.api.dto.SObjectDescription; +import org.apache.camel.component.salesforce.api.dto.UpsertSObjectResult; import org.apache.camel.component.salesforce.api.dto.Version; import org.apache.camel.component.salesforce.api.dto.Versions; import org.apache.camel.component.salesforce.dto.generated.Account; @@ -381,6 +382,17 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase { } @Test + public void testUpsert() throws Exception { + Line_Item__c lineItem = new Line_Item__c(); + final String lineItemId = String.valueOf(TEST_LINE_ITEM_ID.incrementAndGet()); + lineItem.setName(lineItemId); + UpsertSObjectResult result = template().requestBody("direct:upsertSObject", lineItem, UpsertSObjectResult.class); + assertNotNull(result); + assertTrue(result.getSuccess()); + assertTrue(result.getCreated()); + } + + @Test public void testGetBasicInfo() throws Exception { final SObjectBasicInfo objectBasicInfo = template().requestBody("direct:getBasicInfo", null, SObjectBasicInfo.class); assertNotNull(objectBasicInfo);