You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2021/03/04 13:28:23 UTC
[camel-quarkus] branch master updated: Unable to use Salesforce
DTOs in native mode
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/master by this push:
new b2e9f07 Unable to use Salesforce DTOs in native mode
b2e9f07 is described below
commit b2e9f077e4fb98baf271375d7ac11c9437639e97
Author: James Netherton <ja...@gmail.com>
AuthorDate: Thu Mar 4 10:21:52 2021 +0000
Unable to use Salesforce DTOs in native mode
Fixes #2312
---
extensions/salesforce/deployment/pom.xml | 8 +
.../salesforce/deployment/SalesforceProcessor.java | 53 +-
extensions/salesforce/runtime/pom.xml | 8 +
integration-tests/salesforce/README.adoc | 18 +
integration-tests/salesforce/pom.xml | 35 +
.../component/salesforce/SalesforceResource.java | 123 +++
.../component/salesforce/SalesforceRoutes.java} | 24 +-
.../component/salesforce/generated/Account.java | 983 +++++++++++++++++++++
.../generated/Account_AccountSourceEnum.java | 65 ++
.../salesforce/generated/Account_ActiveEnum.java | 56 ++
.../Account_BillingGeocodeAccuracyEnum.java | 83 ++
.../generated/Account_CleanStatusEnum.java | 74 ++
.../generated/Account_CustomerPriorityEnum.java | 59 ++
.../salesforce/generated/Account_IndustryEnum.java | 146 +++
.../generated/Account_MyMultiselectEnum.java | 59 ++
.../generated/Account_OwnershipEnum.java | 62 ++
.../salesforce/generated/Account_RatingEnum.java | 59 ++
.../salesforce/generated/Account_SLAEnum.java | 62 ++
.../Account_ShippingGeocodeAccuracyEnum.java | 83 ++
.../salesforce/generated/Account_TypeEnum.java | 71 ++
.../generated/Account_UpsellOpportunityEnum.java | 59 ++
.../salesforce/generated/QueryRecordsAccount.java | 42 +
.../component/salesforce/SalesforceTest.java | 94 +-
poms/build-parent-it/pom.xml | 5 +
24 files changed, 2282 insertions(+), 49 deletions(-)
diff --git a/extensions/salesforce/deployment/pom.xml b/extensions/salesforce/deployment/pom.xml
index 2457d02..54df5a4 100644
--- a/extensions/salesforce/deployment/pom.xml
+++ b/extensions/salesforce/deployment/pom.xml
@@ -30,6 +30,14 @@
<dependencies>
<dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-jackson-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-jaxb-deployment</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-core-deployment</artifactId>
</dependency>
diff --git a/extensions/salesforce/deployment/src/main/java/org/apache/camel/quarkus/component/salesforce/deployment/SalesforceProcessor.java b/extensions/salesforce/deployment/src/main/java/org/apache/camel/quarkus/component/salesforce/deployment/SalesforceProcessor.java
index b266abc..5017515 100644
--- a/extensions/salesforce/deployment/src/main/java/org/apache/camel/quarkus/component/salesforce/deployment/SalesforceProcessor.java
+++ b/extensions/salesforce/deployment/src/main/java/org/apache/camel/quarkus/component/salesforce/deployment/SalesforceProcessor.java
@@ -16,37 +16,17 @@
*/
package org.apache.camel.quarkus.component.salesforce.deployment;
-import java.util.Arrays;
-import java.util.List;
-
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
import io.quarkus.deployment.builditem.FeatureBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import org.apache.camel.component.salesforce.internal.dto.LoginError;
-import org.apache.camel.component.salesforce.internal.dto.LoginToken;
-import org.apache.camel.component.salesforce.internal.dto.NotifyForFieldsEnum;
-import org.apache.camel.component.salesforce.internal.dto.NotifyForOperationsEnum;
-import org.apache.camel.component.salesforce.internal.dto.PushTopic;
-import org.apache.camel.component.salesforce.internal.dto.QueryRecordsPushTopic;
-import org.apache.camel.component.salesforce.internal.dto.RestChoices;
-import org.apache.camel.component.salesforce.internal.dto.RestErrors;
-import org.eclipse.jetty.client.HttpClient;
-import org.eclipse.jetty.client.ProtocolHandlers;
+import org.apache.camel.component.salesforce.api.dto.AbstractDTOBase;
+import org.jboss.jandex.DotName;
+import org.jboss.jandex.IndexView;
class SalesforceProcessor {
- private static final List<Class<?>> SALESFORCE_REFLECTIVE_CLASSES = Arrays.asList(
- HttpClient.class,
- LoginToken.class,
- LoginError.class,
- NotifyForFieldsEnum.class,
- NotifyForOperationsEnum.class,
- PushTopic.class,
- QueryRecordsPushTopic.class,
- RestChoices.class,
- RestErrors.class,
- ProtocolHandlers.class);
private static final String FEATURE = "camel-salesforce";
@@ -61,10 +41,25 @@ class SalesforceProcessor {
}
@BuildStep
- void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
- for (Class<?> type : SALESFORCE_REFLECTIVE_CLASSES) {
- reflectiveClass.produce(
- new ReflectiveClassBuildItem(true, true, type));
- }
+ void registerForReflection(CombinedIndexBuildItem combinedIndex, BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
+ IndexView index = combinedIndex.getIndex();
+
+ // Register everything extending AbstractDTOBase for reflection
+ DotName dtoBaseName = DotName.createSimple(AbstractDTOBase.class.getName());
+ String[] dtoClasses = index.getAllKnownSubclasses(dtoBaseName)
+ .stream()
+ .map(classInfo -> classInfo.name().toString())
+ .toArray(String[]::new);
+
+ reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, dtoClasses));
+
+ // Register internal DTO classes for reflection
+ String[] internalDtoClasses = index.getKnownClasses()
+ .stream()
+ .map(classInfo -> classInfo.name().toString())
+ .filter(className -> className.startsWith("org.apache.camel.component.salesforce.internal.dto"))
+ .toArray(String[]::new);
+
+ reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, internalDtoClasses));
}
}
diff --git a/extensions/salesforce/runtime/pom.xml b/extensions/salesforce/runtime/pom.xml
index 0998dec..89b6981 100644
--- a/extensions/salesforce/runtime/pom.xml
+++ b/extensions/salesforce/runtime/pom.xml
@@ -47,6 +47,14 @@
<dependencies>
<dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-jackson</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-jaxb</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-core</artifactId>
</dependency>
diff --git a/integration-tests/salesforce/README.adoc b/integration-tests/salesforce/README.adoc
new file mode 100644
index 0000000..69fb1d7
--- /dev/null
+++ b/integration-tests/salesforce/README.adoc
@@ -0,0 +1,18 @@
+== Camel Quarkus Salesforce Integration Tests
+
+To run the `camel-quarkus-salesforce` integration tests against the real API, you must first create a Salesforce developer account https://developer.salesforce.com/.
+
+Next create a new 'Connected App' from the app manager page. You may need to adjust the OAuth policy settings for
+`Permitted Users` and also `IP Relaxation` rules, depending on your needs. Also enable Change Data Capture for the 'Account' entity by visiting the Integrations -> Change Data Capture page.
+
+You can find the app OAuth settings by choosing the 'view' option from the app manager page. Then set the following environment variables.
+
+[source,shell]
+----
+export SALESFORCE_CLIENTID=your-salesforce-client-id
+export SALESFORCE_CLIENTSECRET=your-salesforce-client-secret
+export SALESFORCE_USERNAME=your-salesforce-username
+export SALESFORCE_PASSWORD=your-salesforce-password
+----
+
+To regenerate the Salesforce DTO classes, run `mvn clean generate-sources -Pgenerate-salesforce-dtos`.
\ No newline at end of file
diff --git a/integration-tests/salesforce/pom.xml b/integration-tests/salesforce/pom.xml
index 98b963d..0a627b7 100644
--- a/integration-tests/salesforce/pom.xml
+++ b/integration-tests/salesforce/pom.xml
@@ -39,6 +39,10 @@
<artifactId>camel-quarkus-salesforce</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-seda-deployment</artifactId>
+ </dependency>
+ <dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jsonb</artifactId>
</dependency>
@@ -55,6 +59,7 @@
<scope>test</scope>
</dependency>
+
<!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
@@ -113,6 +118,36 @@
</plugins>
</build>
</profile>
+ <profile>
+ <id>generate-salesforce-dtos</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.camel.maven</groupId>
+ <artifactId>camel-salesforce-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <clientId>${env.SALESFORCE_CLIENTID}</clientId>
+ <clientSecret>${env.SALESFORCE_CLIENTSECRET}</clientSecret>
+ <userName>${env.SALESFORCE_USERNAME}</userName>
+ <password>${env.SALESFORCE_PASSWORD}</password>
+ <loginUrl>https://login.salesforce.com</loginUrl>
+ <packageName>org.apache.camel.quarkus.component.salesforce.generated</packageName>
+ <outputDirectory>src/main/java</outputDirectory>
+ <includes>
+ <include>Account</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
</project>
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/SalesforceResource.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/SalesforceResource.java
index 381074e..f20f1aa 100644
--- a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/SalesforceResource.java
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/SalesforceResource.java
@@ -16,15 +16,35 @@
*/
package org.apache.camel.quarkus.component.salesforce;
+import java.util.Locale;
+import java.util.Map;
+
import javax.inject.Inject;
+import javax.json.Json;
+import javax.json.JsonObject;
+import javax.json.JsonObjectBuilder;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
+import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ConsumerTemplate;
import org.apache.camel.FluentProducerTemplate;
import org.apache.camel.component.salesforce.SalesforceEndpointConfig;
+import org.apache.camel.component.salesforce.api.dto.CreateSObjectResult;
+import org.apache.camel.component.salesforce.api.dto.bulk.ContentType;
+import org.apache.camel.component.salesforce.api.dto.bulk.JobInfo;
+import org.apache.camel.component.salesforce.api.dto.bulk.OperationEnum;
+import org.apache.camel.quarkus.component.salesforce.generated.Account;
+import org.apache.camel.quarkus.component.salesforce.generated.QueryRecordsAccount;
+import org.apache.camel.spi.RouteController;
@Path("/salesforce")
public class SalesforceResource {
@@ -32,6 +52,12 @@ public class SalesforceResource {
@Inject
FluentProducerTemplate template;
+ @Inject
+ ConsumerTemplate consumerTemplate;
+
+ @Inject
+ CamelContext context;
+
@Path("/document/{id}")
@GET
@Produces(MediaType.APPLICATION_JSON)
@@ -42,4 +68,101 @@ public class SalesforceResource {
.to("salesforce:getSObjectWithId?rawPayload=true")
.request();
}
+
+ @Path("/account")
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ public Account getAccount() {
+ QueryRecordsAccount request = template
+ .toF("salesforce:query?sObjectQuery=SELECT Id,AccountNumber from Account LIMIT 1&sObjectClass=%s",
+ QueryRecordsAccount.class.getName())
+ .request(QueryRecordsAccount.class);
+ return request.getRecords().get(0);
+ }
+
+ @Path("/account")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.APPLICATION_JSON)
+ public String createAccount(String accountName) {
+ final Account account = new Account();
+ account.setName(accountName);
+
+ CreateSObjectResult result = template.to("salesforce:createSObject?sObjectName=Account")
+ .withBody(account)
+ .request(CreateSObjectResult.class);
+
+ return result.getId();
+ }
+
+ @Path("/account/{id}")
+ @DELETE
+ public Response deleteAccount(@PathParam("id") String accountId) {
+ final Account account = new Account();
+ account.setId(accountId);
+
+ template.to("salesforce:deleteSObject")
+ .withBody(account)
+ .send();
+
+ return Response.noContent().build();
+ }
+
+ @Path("/bulk")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public JsonObject createJob() {
+ JobInfo jobInfo = createJobInfo();
+ jobInfo.setOperation(OperationEnum.INSERT);
+
+ JobInfo result = template.to("salesforce:createJob").withBody(jobInfo).request(JobInfo.class);
+ return jobInfoToJsonObject(result);
+ }
+
+ @Path("/bulk")
+ @DELETE
+ @Produces(MediaType.APPLICATION_JSON)
+ public JsonObject abortJob(@QueryParam("jobId") String jobId) {
+ JobInfo jobInfo = createJobInfo();
+ jobInfo.setId(jobId);
+
+ JobInfo result = template.to("salesforce:abortJob").withBody(jobInfo).request(JobInfo.class);
+ return jobInfoToJsonObject(result);
+ }
+
+ @Path("/cdc/{action}")
+ @POST
+ public Response modifyCdcConsumerState(@PathParam("action") String action) throws Exception {
+ RouteController controller = context.getRouteController();
+ if (action.equals("start")) {
+ controller.startRoute("cdc");
+ } else if (action.equals("stop")) {
+ controller.stopRoute("cdc");
+ } else {
+ throw new IllegalArgumentException("Unknown action: " + action);
+ }
+ return Response.ok().build();
+ }
+
+ @Path("/cdc")
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ public Map<String, Object> getCdcEvents() {
+ Map map = consumerTemplate.receiveBody("seda:events", 10000, Map.class);
+ return map;
+ }
+
+ private JobInfo createJobInfo() {
+ JobInfo jobInfo = new JobInfo();
+ jobInfo.setObject(Account.class.getSimpleName());
+ jobInfo.setContentType(ContentType.CSV);
+ return jobInfo;
+ }
+
+ private JsonObject jobInfoToJsonObject(JobInfo jobInfo) {
+ JsonObjectBuilder objectBuilder = Json.createObjectBuilder();
+ objectBuilder.add("id", jobInfo.getId());
+ objectBuilder.add("state", jobInfo.getState().value().toUpperCase(Locale.US));
+ return objectBuilder.build();
+ }
}
diff --git a/integration-tests/salesforce/src/test/java/org/apache/camel/quarkus/component/salesforce/SalesforceTest.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/SalesforceRoutes.java
similarity index 52%
copy from integration-tests/salesforce/src/test/java/org/apache/camel/quarkus/component/salesforce/SalesforceTest.java
copy to integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/SalesforceRoutes.java
index 5f5b086..016fbab 100644
--- a/integration-tests/salesforce/src/test/java/org/apache/camel/quarkus/component/salesforce/SalesforceTest.java
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/SalesforceRoutes.java
@@ -16,25 +16,13 @@
*/
package org.apache.camel.quarkus.component.salesforce;
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
+import org.apache.camel.builder.RouteBuilder;
-import static org.hamcrest.core.Is.is;
+public class SalesforceRoutes extends RouteBuilder {
-@EnabledIfEnvironmentVariable(named = "SALESFORCE_USERNAME", matches = ".+")
-@EnabledIfEnvironmentVariable(named = "SALESFORCE_PASSWORD", matches = ".+")
-@EnabledIfEnvironmentVariable(named = "SALESFORCE_CLIENTID", matches = ".+")
-@EnabledIfEnvironmentVariable(named = "SALESFORCE_CLIENTSECRET", matches = ".+")
-@QuarkusTest
-class SalesforceTest {
-
- @Test
- public void testSalesforceComponent() {
- RestAssured.get("/salesforce/document/test")
- .then()
- .statusCode(200)
- .body("attributes.type", is("Document"));
+ @Override
+ public void configure() throws Exception {
+ from("salesforce:/data/AccountChangeEvent?replayId=-1").routeId("cdc").autoStartup(false)
+ .to("seda:events");
}
}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account.java
new file mode 100644
index 0000000..8c4c7a7
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account.java
@@ -0,0 +1,983 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamConverter;
+import org.apache.camel.component.salesforce.api.MultiSelectPicklistConverter;
+import org.apache.camel.component.salesforce.api.MultiSelectPicklistDeserializer;
+import org.apache.camel.component.salesforce.api.MultiSelectPicklistSerializer;
+import org.apache.camel.component.salesforce.api.PicklistEnumConverter;
+import org.apache.camel.component.salesforce.api.dto.AbstractDescribedSObjectBase;
+import org.apache.camel.component.salesforce.api.dto.SObjectDescription;
+import org.apache.camel.component.salesforce.api.dto.SObjectDescriptionUrls;
+import org.apache.camel.component.salesforce.api.dto.SObjectField;
+
+/**
+ * Salesforce DTO for SObject Account
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+@XStreamAlias("Account")
+public class Account extends AbstractDescribedSObjectBase {
+
+ public Account() {
+ getAttributes().setType("Account");
+ }
+
+ private static final SObjectDescription DESCRIPTION = createSObjectDescription();
+
+ private String MasterRecordId;
+
+ @JsonProperty("MasterRecordId")
+ public String getMasterRecordId() {
+ return this.MasterRecordId;
+ }
+
+ @JsonProperty("MasterRecordId")
+ public void setMasterRecordId(String MasterRecordId) {
+ this.MasterRecordId = MasterRecordId;
+ }
+
+ @XStreamAlias("MasterRecord")
+ private Account MasterRecord;
+
+ @JsonProperty("MasterRecord")
+ public Account getMasterRecord() {
+ return this.MasterRecord;
+ }
+
+ @JsonProperty("MasterRecord")
+ public void setMasterRecord(Account MasterRecord) {
+ this.MasterRecord = MasterRecord;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_TypeEnum Type;
+
+ @JsonProperty("Type")
+ public Account_TypeEnum getType() {
+ return this.Type;
+ }
+
+ @JsonProperty("Type")
+ public void setType(Account_TypeEnum Type) {
+ this.Type = Type;
+ }
+
+ private String ParentId;
+
+ @JsonProperty("ParentId")
+ public String getParentId() {
+ return this.ParentId;
+ }
+
+ @JsonProperty("ParentId")
+ public void setParentId(String ParentId) {
+ this.ParentId = ParentId;
+ }
+
+ @XStreamAlias("Parent")
+ private Account Parent;
+
+ @JsonProperty("Parent")
+ public Account getParent() {
+ return this.Parent;
+ }
+
+ @JsonProperty("Parent")
+ public void setParent(Account Parent) {
+ this.Parent = Parent;
+ }
+
+ private String BillingStreet;
+
+ @JsonProperty("BillingStreet")
+ public String getBillingStreet() {
+ return this.BillingStreet;
+ }
+
+ @JsonProperty("BillingStreet")
+ public void setBillingStreet(String BillingStreet) {
+ this.BillingStreet = BillingStreet;
+ }
+
+ private String BillingCity;
+
+ @JsonProperty("BillingCity")
+ public String getBillingCity() {
+ return this.BillingCity;
+ }
+
+ @JsonProperty("BillingCity")
+ public void setBillingCity(String BillingCity) {
+ this.BillingCity = BillingCity;
+ }
+
+ private String BillingState;
+
+ @JsonProperty("BillingState")
+ public String getBillingState() {
+ return this.BillingState;
+ }
+
+ @JsonProperty("BillingState")
+ public void setBillingState(String BillingState) {
+ this.BillingState = BillingState;
+ }
+
+ private String BillingPostalCode;
+
+ @JsonProperty("BillingPostalCode")
+ public String getBillingPostalCode() {
+ return this.BillingPostalCode;
+ }
+
+ @JsonProperty("BillingPostalCode")
+ public void setBillingPostalCode(String BillingPostalCode) {
+ this.BillingPostalCode = BillingPostalCode;
+ }
+
+ private String BillingCountry;
+
+ @JsonProperty("BillingCountry")
+ public String getBillingCountry() {
+ return this.BillingCountry;
+ }
+
+ @JsonProperty("BillingCountry")
+ public void setBillingCountry(String BillingCountry) {
+ this.BillingCountry = BillingCountry;
+ }
+
+ private Double BillingLatitude;
+
+ @JsonProperty("BillingLatitude")
+ public Double getBillingLatitude() {
+ return this.BillingLatitude;
+ }
+
+ @JsonProperty("BillingLatitude")
+ public void setBillingLatitude(Double BillingLatitude) {
+ this.BillingLatitude = BillingLatitude;
+ }
+
+ private Double BillingLongitude;
+
+ @JsonProperty("BillingLongitude")
+ public Double getBillingLongitude() {
+ return this.BillingLongitude;
+ }
+
+ @JsonProperty("BillingLongitude")
+ public void setBillingLongitude(Double BillingLongitude) {
+ this.BillingLongitude = BillingLongitude;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_BillingGeocodeAccuracyEnum BillingGeocodeAccuracy;
+
+ @JsonProperty("BillingGeocodeAccuracy")
+ public Account_BillingGeocodeAccuracyEnum getBillingGeocodeAccuracy() {
+ return this.BillingGeocodeAccuracy;
+ }
+
+ @JsonProperty("BillingGeocodeAccuracy")
+ public void setBillingGeocodeAccuracy(Account_BillingGeocodeAccuracyEnum BillingGeocodeAccuracy) {
+ this.BillingGeocodeAccuracy = BillingGeocodeAccuracy;
+ }
+
+ private org.apache.camel.component.salesforce.api.dto.Address BillingAddress;
+
+ @JsonProperty("BillingAddress")
+ public org.apache.camel.component.salesforce.api.dto.Address getBillingAddress() {
+ return this.BillingAddress;
+ }
+
+ @JsonProperty("BillingAddress")
+ public void setBillingAddress(org.apache.camel.component.salesforce.api.dto.Address BillingAddress) {
+ this.BillingAddress = BillingAddress;
+ }
+
+ private String ShippingStreet;
+
+ @JsonProperty("ShippingStreet")
+ public String getShippingStreet() {
+ return this.ShippingStreet;
+ }
+
+ @JsonProperty("ShippingStreet")
+ public void setShippingStreet(String ShippingStreet) {
+ this.ShippingStreet = ShippingStreet;
+ }
+
+ private String ShippingCity;
+
+ @JsonProperty("ShippingCity")
+ public String getShippingCity() {
+ return this.ShippingCity;
+ }
+
+ @JsonProperty("ShippingCity")
+ public void setShippingCity(String ShippingCity) {
+ this.ShippingCity = ShippingCity;
+ }
+
+ private String ShippingState;
+
+ @JsonProperty("ShippingState")
+ public String getShippingState() {
+ return this.ShippingState;
+ }
+
+ @JsonProperty("ShippingState")
+ public void setShippingState(String ShippingState) {
+ this.ShippingState = ShippingState;
+ }
+
+ private String ShippingPostalCode;
+
+ @JsonProperty("ShippingPostalCode")
+ public String getShippingPostalCode() {
+ return this.ShippingPostalCode;
+ }
+
+ @JsonProperty("ShippingPostalCode")
+ public void setShippingPostalCode(String ShippingPostalCode) {
+ this.ShippingPostalCode = ShippingPostalCode;
+ }
+
+ private String ShippingCountry;
+
+ @JsonProperty("ShippingCountry")
+ public String getShippingCountry() {
+ return this.ShippingCountry;
+ }
+
+ @JsonProperty("ShippingCountry")
+ public void setShippingCountry(String ShippingCountry) {
+ this.ShippingCountry = ShippingCountry;
+ }
+
+ private Double ShippingLatitude;
+
+ @JsonProperty("ShippingLatitude")
+ public Double getShippingLatitude() {
+ return this.ShippingLatitude;
+ }
+
+ @JsonProperty("ShippingLatitude")
+ public void setShippingLatitude(Double ShippingLatitude) {
+ this.ShippingLatitude = ShippingLatitude;
+ }
+
+ private Double ShippingLongitude;
+
+ @JsonProperty("ShippingLongitude")
+ public Double getShippingLongitude() {
+ return this.ShippingLongitude;
+ }
+
+ @JsonProperty("ShippingLongitude")
+ public void setShippingLongitude(Double ShippingLongitude) {
+ this.ShippingLongitude = ShippingLongitude;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_ShippingGeocodeAccuracyEnum ShippingGeocodeAccuracy;
+
+ @JsonProperty("ShippingGeocodeAccuracy")
+ public Account_ShippingGeocodeAccuracyEnum getShippingGeocodeAccuracy() {
+ return this.ShippingGeocodeAccuracy;
+ }
+
+ @JsonProperty("ShippingGeocodeAccuracy")
+ public void setShippingGeocodeAccuracy(Account_ShippingGeocodeAccuracyEnum ShippingGeocodeAccuracy) {
+ this.ShippingGeocodeAccuracy = ShippingGeocodeAccuracy;
+ }
+
+ private org.apache.camel.component.salesforce.api.dto.Address ShippingAddress;
+
+ @JsonProperty("ShippingAddress")
+ public org.apache.camel.component.salesforce.api.dto.Address getShippingAddress() {
+ return this.ShippingAddress;
+ }
+
+ @JsonProperty("ShippingAddress")
+ public void setShippingAddress(org.apache.camel.component.salesforce.api.dto.Address ShippingAddress) {
+ this.ShippingAddress = ShippingAddress;
+ }
+
+ private String Phone;
+
+ @JsonProperty("Phone")
+ public String getPhone() {
+ return this.Phone;
+ }
+
+ @JsonProperty("Phone")
+ public void setPhone(String Phone) {
+ this.Phone = Phone;
+ }
+
+ private String Fax;
+
+ @JsonProperty("Fax")
+ public String getFax() {
+ return this.Fax;
+ }
+
+ @JsonProperty("Fax")
+ public void setFax(String Fax) {
+ this.Fax = Fax;
+ }
+
+ private String AccountNumber;
+
+ @JsonProperty("AccountNumber")
+ public String getAccountNumber() {
+ return this.AccountNumber;
+ }
+
+ @JsonProperty("AccountNumber")
+ public void setAccountNumber(String AccountNumber) {
+ this.AccountNumber = AccountNumber;
+ }
+
+ private String Website;
+
+ @JsonProperty("Website")
+ public String getWebsite() {
+ return this.Website;
+ }
+
+ @JsonProperty("Website")
+ public void setWebsite(String Website) {
+ this.Website = Website;
+ }
+
+ private String PhotoUrl;
+
+ @JsonProperty("PhotoUrl")
+ public String getPhotoUrl() {
+ return this.PhotoUrl;
+ }
+
+ @JsonProperty("PhotoUrl")
+ public void setPhotoUrl(String PhotoUrl) {
+ this.PhotoUrl = PhotoUrl;
+ }
+
+ private String Sic;
+
+ @JsonProperty("Sic")
+ public String getSic() {
+ return this.Sic;
+ }
+
+ @JsonProperty("Sic")
+ public void setSic(String Sic) {
+ this.Sic = Sic;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_IndustryEnum Industry;
+
+ @JsonProperty("Industry")
+ public Account_IndustryEnum getIndustry() {
+ return this.Industry;
+ }
+
+ @JsonProperty("Industry")
+ public void setIndustry(Account_IndustryEnum Industry) {
+ this.Industry = Industry;
+ }
+
+ private Double AnnualRevenue;
+
+ @JsonProperty("AnnualRevenue")
+ public Double getAnnualRevenue() {
+ return this.AnnualRevenue;
+ }
+
+ @JsonProperty("AnnualRevenue")
+ public void setAnnualRevenue(Double AnnualRevenue) {
+ this.AnnualRevenue = AnnualRevenue;
+ }
+
+ private Integer NumberOfEmployees;
+
+ @JsonProperty("NumberOfEmployees")
+ public Integer getNumberOfEmployees() {
+ return this.NumberOfEmployees;
+ }
+
+ @JsonProperty("NumberOfEmployees")
+ public void setNumberOfEmployees(Integer NumberOfEmployees) {
+ this.NumberOfEmployees = NumberOfEmployees;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_OwnershipEnum Ownership;
+
+ @JsonProperty("Ownership")
+ public Account_OwnershipEnum getOwnership() {
+ return this.Ownership;
+ }
+
+ @JsonProperty("Ownership")
+ public void setOwnership(Account_OwnershipEnum Ownership) {
+ this.Ownership = Ownership;
+ }
+
+ private String TickerSymbol;
+
+ @JsonProperty("TickerSymbol")
+ public String getTickerSymbol() {
+ return this.TickerSymbol;
+ }
+
+ @JsonProperty("TickerSymbol")
+ public void setTickerSymbol(String TickerSymbol) {
+ this.TickerSymbol = TickerSymbol;
+ }
+
+ private String Description;
+
+ @JsonProperty("Description")
+ public String getDescription() {
+ return this.Description;
+ }
+
+ @JsonProperty("Description")
+ public void setDescription(String Description) {
+ this.Description = Description;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_RatingEnum Rating;
+
+ @JsonProperty("Rating")
+ public Account_RatingEnum getRating() {
+ return this.Rating;
+ }
+
+ @JsonProperty("Rating")
+ public void setRating(Account_RatingEnum Rating) {
+ this.Rating = Rating;
+ }
+
+ private String Site;
+
+ @JsonProperty("Site")
+ public String getSite() {
+ return this.Site;
+ }
+
+ @JsonProperty("Site")
+ public void setSite(String Site) {
+ this.Site = Site;
+ }
+
+ private String Jigsaw;
+
+ @JsonProperty("Jigsaw")
+ public String getJigsaw() {
+ return this.Jigsaw;
+ }
+
+ @JsonProperty("Jigsaw")
+ public void setJigsaw(String Jigsaw) {
+ this.Jigsaw = Jigsaw;
+ }
+
+ private String JigsawCompanyId;
+
+ @JsonProperty("JigsawCompanyId")
+ public String getJigsawCompanyId() {
+ return this.JigsawCompanyId;
+ }
+
+ @JsonProperty("JigsawCompanyId")
+ public void setJigsawCompanyId(String JigsawCompanyId) {
+ this.JigsawCompanyId = JigsawCompanyId;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_CleanStatusEnum CleanStatus;
+
+ @JsonProperty("CleanStatus")
+ public Account_CleanStatusEnum getCleanStatus() {
+ return this.CleanStatus;
+ }
+
+ @JsonProperty("CleanStatus")
+ public void setCleanStatus(Account_CleanStatusEnum CleanStatus) {
+ this.CleanStatus = CleanStatus;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_AccountSourceEnum AccountSource;
+
+ @JsonProperty("AccountSource")
+ public Account_AccountSourceEnum getAccountSource() {
+ return this.AccountSource;
+ }
+
+ @JsonProperty("AccountSource")
+ public void setAccountSource(Account_AccountSourceEnum AccountSource) {
+ this.AccountSource = AccountSource;
+ }
+
+ private String DunsNumber;
+
+ @JsonProperty("DunsNumber")
+ public String getDunsNumber() {
+ return this.DunsNumber;
+ }
+
+ @JsonProperty("DunsNumber")
+ public void setDunsNumber(String DunsNumber) {
+ this.DunsNumber = DunsNumber;
+ }
+
+ private String Tradestyle;
+
+ @JsonProperty("Tradestyle")
+ public String getTradestyle() {
+ return this.Tradestyle;
+ }
+
+ @JsonProperty("Tradestyle")
+ public void setTradestyle(String Tradestyle) {
+ this.Tradestyle = Tradestyle;
+ }
+
+ private String NaicsCode;
+
+ @JsonProperty("NaicsCode")
+ public String getNaicsCode() {
+ return this.NaicsCode;
+ }
+
+ @JsonProperty("NaicsCode")
+ public void setNaicsCode(String NaicsCode) {
+ this.NaicsCode = NaicsCode;
+ }
+
+ private String NaicsDesc;
+
+ @JsonProperty("NaicsDesc")
+ public String getNaicsDesc() {
+ return this.NaicsDesc;
+ }
+
+ @JsonProperty("NaicsDesc")
+ public void setNaicsDesc(String NaicsDesc) {
+ this.NaicsDesc = NaicsDesc;
+ }
+
+ private String YearStarted;
+
+ @JsonProperty("YearStarted")
+ public String getYearStarted() {
+ return this.YearStarted;
+ }
+
+ @JsonProperty("YearStarted")
+ public void setYearStarted(String YearStarted) {
+ this.YearStarted = YearStarted;
+ }
+
+ private String SicDesc;
+
+ @JsonProperty("SicDesc")
+ public String getSicDesc() {
+ return this.SicDesc;
+ }
+
+ @JsonProperty("SicDesc")
+ public void setSicDesc(String SicDesc) {
+ this.SicDesc = SicDesc;
+ }
+
+ private String DandbCompanyId;
+
+ @JsonProperty("DandbCompanyId")
+ public String getDandbCompanyId() {
+ return this.DandbCompanyId;
+ }
+
+ @JsonProperty("DandbCompanyId")
+ public void setDandbCompanyId(String DandbCompanyId) {
+ this.DandbCompanyId = DandbCompanyId;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_CustomerPriorityEnum CustomerPriority__c;
+
+ @JsonProperty("CustomerPriority__c")
+ public Account_CustomerPriorityEnum getCustomerPriority__c() {
+ return this.CustomerPriority__c;
+ }
+
+ @JsonProperty("CustomerPriority__c")
+ public void setCustomerPriority__c(Account_CustomerPriorityEnum CustomerPriority__c) {
+ this.CustomerPriority__c = CustomerPriority__c;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_SLAEnum SLA__c;
+
+ @JsonProperty("SLA__c")
+ public Account_SLAEnum getSLA__c() {
+ return this.SLA__c;
+ }
+
+ @JsonProperty("SLA__c")
+ public void setSLA__c(Account_SLAEnum SLA__c) {
+ this.SLA__c = SLA__c;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_ActiveEnum Active__c;
+
+ @JsonProperty("Active__c")
+ public Account_ActiveEnum getActive__c() {
+ return this.Active__c;
+ }
+
+ @JsonProperty("Active__c")
+ public void setActive__c(Account_ActiveEnum Active__c) {
+ this.Active__c = Active__c;
+ }
+
+ private Double NumberofLocations__c;
+
+ @JsonProperty("NumberofLocations__c")
+ public Double getNumberofLocations__c() {
+ return this.NumberofLocations__c;
+ }
+
+ @JsonProperty("NumberofLocations__c")
+ public void setNumberofLocations__c(Double NumberofLocations__c) {
+ this.NumberofLocations__c = NumberofLocations__c;
+ }
+
+ @XStreamConverter(PicklistEnumConverter.class)
+ private Account_UpsellOpportunityEnum UpsellOpportunity__c;
+
+ @JsonProperty("UpsellOpportunity__c")
+ public Account_UpsellOpportunityEnum getUpsellOpportunity__c() {
+ return this.UpsellOpportunity__c;
+ }
+
+ @JsonProperty("UpsellOpportunity__c")
+ public void setUpsellOpportunity__c(Account_UpsellOpportunityEnum UpsellOpportunity__c) {
+ this.UpsellOpportunity__c = UpsellOpportunity__c;
+ }
+
+ private String SLASerialNumber__c;
+
+ @JsonProperty("SLASerialNumber__c")
+ public String getSLASerialNumber__c() {
+ return this.SLASerialNumber__c;
+ }
+
+ @JsonProperty("SLASerialNumber__c")
+ public void setSLASerialNumber__c(String SLASerialNumber__c) {
+ this.SLASerialNumber__c = SLASerialNumber__c;
+ }
+
+ private java.time.LocalDate SLAExpirationDate__c;
+
+ @JsonProperty("SLAExpirationDate__c")
+ public java.time.LocalDate getSLAExpirationDate__c() {
+ return this.SLAExpirationDate__c;
+ }
+
+ @JsonProperty("SLAExpirationDate__c")
+ public void setSLAExpirationDate__c(java.time.LocalDate SLAExpirationDate__c) {
+ this.SLAExpirationDate__c = SLAExpirationDate__c;
+ }
+
+ @XStreamConverter(MultiSelectPicklistConverter.class)
+ private Account_MyMultiselectEnum[] MyMultiselect__c;
+
+ @JsonProperty("MyMultiselect__c")
+ @JsonSerialize(using = MultiSelectPicklistSerializer.class)
+ public Account_MyMultiselectEnum[] getMyMultiselect__c() {
+ return this.MyMultiselect__c;
+ }
+
+ @JsonProperty("MyMultiselect__c")
+ @JsonDeserialize(using = MultiSelectPicklistDeserializer.class)
+ public void setMyMultiselect__c(Account_MyMultiselectEnum[] MyMultiselect__c) {
+ this.MyMultiselect__c = MyMultiselect__c;
+ }
+
+ private QueryRecordsAccount ChildAccounts;
+
+ @JsonProperty("ChildAccounts")
+ public QueryRecordsAccount getChildAccounts() {
+ return ChildAccounts;
+ }
+
+ @JsonProperty("ChildAccounts")
+ public void setChildAccounts(QueryRecordsAccount ChildAccounts) {
+ this.ChildAccounts = ChildAccounts;
+ }
+
+ @Override
+ public final SObjectDescription description() {
+ return DESCRIPTION;
+ }
+
+ private static SObjectDescription createSObjectDescription() {
+ final SObjectDescription description = new SObjectDescription();
+
+ final List<SObjectField> fields1 = new ArrayList<>();
+ description.setFields(fields1);
+
+ final SObjectField sObjectField1 = createField("Id", "Account ID", "id", "tns:ID", 18, false, false, false, false,
+ false, false, true);
+ fields1.add(sObjectField1);
+ final SObjectField sObjectField2 = createField("IsDeleted", "Deleted", "boolean", "xsd:boolean", 0, false, false, false,
+ false, false, false, false);
+ fields1.add(sObjectField2);
+ final SObjectField sObjectField3 = createField("MasterRecordId", "Master Record ID", "reference", "tns:ID", 18, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField3);
+ final SObjectField sObjectField4 = createField("Name", "Account Name", "string", "xsd:string", 255, false, false, true,
+ false, false, false, false);
+ fields1.add(sObjectField4);
+ final SObjectField sObjectField5 = createField("Type", "Account Type", "picklist", "xsd:string", 255, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField5);
+ final SObjectField sObjectField6 = createField("ParentId", "Parent Account ID", "reference", "tns:ID", 18, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField6);
+ final SObjectField sObjectField7 = createField("BillingStreet", "Billing Street", "textarea", "xsd:string", 255, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField7);
+ final SObjectField sObjectField8 = createField("BillingCity", "Billing City", "string", "xsd:string", 40, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField8);
+ final SObjectField sObjectField9 = createField("BillingState", "Billing State/Province", "string", "xsd:string", 80,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField9);
+ final SObjectField sObjectField10 = createField("BillingPostalCode", "Billing Zip/Postal Code", "string", "xsd:string",
+ 20, false, true, false, false, false, false, false);
+ fields1.add(sObjectField10);
+ final SObjectField sObjectField11 = createField("BillingCountry", "Billing Country", "string", "xsd:string", 80, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField11);
+ final SObjectField sObjectField12 = createField("BillingLatitude", "Billing Latitude", "double", "xsd:double", 0, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField12);
+ final SObjectField sObjectField13 = createField("BillingLongitude", "Billing Longitude", "double", "xsd:double", 0,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField13);
+ final SObjectField sObjectField14 = createField("BillingGeocodeAccuracy", "Billing Geocode Accuracy", "picklist",
+ "xsd:string", 40, false, true, false, false, false, false, false);
+ fields1.add(sObjectField14);
+ final SObjectField sObjectField15 = createField("BillingAddress", "Billing Address", "address", "urn:address", 0, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField15);
+ final SObjectField sObjectField16 = createField("ShippingStreet", "Shipping Street", "textarea", "xsd:string", 255,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField16);
+ final SObjectField sObjectField17 = createField("ShippingCity", "Shipping City", "string", "xsd:string", 40, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField17);
+ final SObjectField sObjectField18 = createField("ShippingState", "Shipping State/Province", "string", "xsd:string", 80,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField18);
+ final SObjectField sObjectField19 = createField("ShippingPostalCode", "Shipping Zip/Postal Code", "string",
+ "xsd:string", 20, false, true, false, false, false, false, false);
+ fields1.add(sObjectField19);
+ final SObjectField sObjectField20 = createField("ShippingCountry", "Shipping Country", "string", "xsd:string", 80,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField20);
+ final SObjectField sObjectField21 = createField("ShippingLatitude", "Shipping Latitude", "double", "xsd:double", 0,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField21);
+ final SObjectField sObjectField22 = createField("ShippingLongitude", "Shipping Longitude", "double", "xsd:double", 0,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField22);
+ final SObjectField sObjectField23 = createField("ShippingGeocodeAccuracy", "Shipping Geocode Accuracy", "picklist",
+ "xsd:string", 40, false, true, false, false, false, false, false);
+ fields1.add(sObjectField23);
+ final SObjectField sObjectField24 = createField("ShippingAddress", "Shipping Address", "address", "urn:address", 0,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField24);
+ final SObjectField sObjectField25 = createField("Phone", "Account Phone", "phone", "xsd:string", 40, false, true, false,
+ false, false, false, false);
+ fields1.add(sObjectField25);
+ final SObjectField sObjectField26 = createField("Fax", "Account Fax", "phone", "xsd:string", 40, false, true, false,
+ false, false, false, false);
+ fields1.add(sObjectField26);
+ final SObjectField sObjectField27 = createField("AccountNumber", "Account Number", "string", "xsd:string", 40, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField27);
+ final SObjectField sObjectField28 = createField("Website", "Website", "url", "xsd:string", 255, false, true, false,
+ false, false, false, false);
+ fields1.add(sObjectField28);
+ final SObjectField sObjectField29 = createField("PhotoUrl", "Photo URL", "url", "xsd:string", 255, false, true, false,
+ false, false, false, false);
+ fields1.add(sObjectField29);
+ final SObjectField sObjectField30 = createField("Sic", "SIC Code", "string", "xsd:string", 20, false, true, false,
+ false, false, false, false);
+ fields1.add(sObjectField30);
+ final SObjectField sObjectField31 = createField("Industry", "Industry", "picklist", "xsd:string", 255, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField31);
+ final SObjectField sObjectField32 = createField("AnnualRevenue", "Annual Revenue", "currency", "xsd:double", 0, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField32);
+ final SObjectField sObjectField33 = createField("NumberOfEmployees", "Employees", "int", "xsd:int", 0, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField33);
+ final SObjectField sObjectField34 = createField("Ownership", "Ownership", "picklist", "xsd:string", 255, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField34);
+ final SObjectField sObjectField35 = createField("TickerSymbol", "Ticker Symbol", "string", "xsd:string", 20, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField35);
+ final SObjectField sObjectField36 = createField("Description", "Account Description", "textarea", "xsd:string", 32000,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField36);
+ final SObjectField sObjectField37 = createField("Rating", "Account Rating", "picklist", "xsd:string", 255, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField37);
+ final SObjectField sObjectField38 = createField("Site", "Account Site", "string", "xsd:string", 80, false, true, false,
+ false, false, false, false);
+ fields1.add(sObjectField38);
+ final SObjectField sObjectField39 = createField("OwnerId", "Owner ID", "reference", "tns:ID", 18, false, false, false,
+ false, false, false, false);
+ fields1.add(sObjectField39);
+ final SObjectField sObjectField40 = createField("CreatedDate", "Created Date", "datetime", "xsd:dateTime", 0, false,
+ false, false, false, false, false, false);
+ fields1.add(sObjectField40);
+ final SObjectField sObjectField41 = createField("CreatedById", "Created By ID", "reference", "tns:ID", 18, false, false,
+ false, false, false, false, false);
+ fields1.add(sObjectField41);
+ final SObjectField sObjectField42 = createField("LastModifiedDate", "Last Modified Date", "datetime", "xsd:dateTime", 0,
+ false, false, false, false, false, false, false);
+ fields1.add(sObjectField42);
+ final SObjectField sObjectField43 = createField("LastModifiedById", "Last Modified By ID", "reference", "tns:ID", 18,
+ false, false, false, false, false, false, false);
+ fields1.add(sObjectField43);
+ final SObjectField sObjectField44 = createField("SystemModstamp", "System Modstamp", "datetime", "xsd:dateTime", 0,
+ false, false, false, false, false, false, false);
+ fields1.add(sObjectField44);
+ final SObjectField sObjectField45 = createField("LastActivityDate", "Last Activity", "date", "xsd:date", 0, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField45);
+ final SObjectField sObjectField46 = createField("LastViewedDate", "Last Viewed Date", "datetime", "xsd:dateTime", 0,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField46);
+ final SObjectField sObjectField47 = createField("LastReferencedDate", "Last Referenced Date", "datetime",
+ "xsd:dateTime", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField47);
+ final SObjectField sObjectField48 = createField("Jigsaw", "Data.com Key", "string", "xsd:string", 20, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField48);
+ final SObjectField sObjectField49 = createField("JigsawCompanyId", "Jigsaw Company ID", "string", "xsd:string", 20,
+ false, true, false, false, false, false, false);
+ fields1.add(sObjectField49);
+ final SObjectField sObjectField50 = createField("CleanStatus", "Clean Status", "picklist", "xsd:string", 40, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField50);
+ final SObjectField sObjectField51 = createField("AccountSource", "Account Source", "picklist", "xsd:string", 255, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField51);
+ final SObjectField sObjectField52 = createField("DunsNumber", "D-U-N-S Number", "string", "xsd:string", 9, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField52);
+ final SObjectField sObjectField53 = createField("Tradestyle", "Tradestyle", "string", "xsd:string", 255, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField53);
+ final SObjectField sObjectField54 = createField("NaicsCode", "NAICS Code", "string", "xsd:string", 8, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField54);
+ final SObjectField sObjectField55 = createField("NaicsDesc", "NAICS Description", "string", "xsd:string", 120, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField55);
+ final SObjectField sObjectField56 = createField("YearStarted", "Year Started", "string", "xsd:string", 4, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField56);
+ final SObjectField sObjectField57 = createField("SicDesc", "SIC Description", "string", "xsd:string", 80, false, true,
+ false, false, false, false, false);
+ fields1.add(sObjectField57);
+ final SObjectField sObjectField58 = createField("DandbCompanyId", "D&B Company ID", "reference", "tns:ID", 18, false,
+ true, false, false, false, false, false);
+ fields1.add(sObjectField58);
+ final SObjectField sObjectField59 = createField("CustomerPriority__c", "Customer Priority", "picklist", "xsd:string",
+ 255, false, true, false, false, true, false, false);
+ fields1.add(sObjectField59);
+ final SObjectField sObjectField60 = createField("SLA__c", "SLA", "picklist", "xsd:string", 255, false, true, false,
+ false, true, false, false);
+ fields1.add(sObjectField60);
+ final SObjectField sObjectField61 = createField("Active__c", "Active", "picklist", "xsd:string", 255, false, true,
+ false, false, true, false, false);
+ fields1.add(sObjectField61);
+ final SObjectField sObjectField62 = createField("NumberofLocations__c", "Number of Locations", "double", "xsd:double",
+ 0, false, true, false, false, true, false, false);
+ fields1.add(sObjectField62);
+ final SObjectField sObjectField63 = createField("UpsellOpportunity__c", "Upsell Opportunity", "picklist", "xsd:string",
+ 255, false, true, false, false, true, false, false);
+ fields1.add(sObjectField63);
+ final SObjectField sObjectField64 = createField("SLASerialNumber__c", "SLA Serial Number", "string", "xsd:string", 10,
+ false, true, false, false, true, false, false);
+ fields1.add(sObjectField64);
+ final SObjectField sObjectField65 = createField("SLAExpirationDate__c", "SLA Expiration Date", "date", "xsd:date", 0,
+ false, true, false, false, true, false, false);
+ fields1.add(sObjectField65);
+ final SObjectField sObjectField66 = createField("MyMultiselect__c", "MyMultiselect", "multipicklist", "xsd:string",
+ 4099, false, true, false, false, true, false, false);
+ fields1.add(sObjectField66);
+
+ description.setLabel("Account");
+ description.setLabelPlural("Accounts");
+ description.setName("Account");
+
+ final SObjectDescriptionUrls sObjectDescriptionUrls1 = new SObjectDescriptionUrls();
+ sObjectDescriptionUrls1.setApprovalLayouts("/services/data/v50.0/sobjects/Account/describe/approvalLayouts");
+ sObjectDescriptionUrls1.setCompactLayouts("/services/data/v50.0/sobjects/Account/describe/compactLayouts");
+ sObjectDescriptionUrls1.setDefaultValues("/services/data/v50.0/sobjects/Account/defaultValues?recordTypeId&fields");
+ sObjectDescriptionUrls1.setDescribe("/services/data/v50.0/sobjects/Account/describe");
+ sObjectDescriptionUrls1.setLayouts("/services/data/v50.0/sobjects/Account/describe/layouts");
+ sObjectDescriptionUrls1.setListviews("/services/data/v50.0/sobjects/Account/listviews");
+ sObjectDescriptionUrls1.setQuickActions("/services/data/v50.0/sobjects/Account/quickActions");
+ sObjectDescriptionUrls1.setRowTemplate("/services/data/v50.0/sobjects/Account/{ID}");
+ sObjectDescriptionUrls1.setSobject("/services/data/v50.0/sobjects/Account");
+ sObjectDescriptionUrls1.setUiDetailTemplate("https://eu37.salesforce.com/{ID}");
+ sObjectDescriptionUrls1.setUiEditTemplate("https://eu37.salesforce.com/{ID}/e");
+ sObjectDescriptionUrls1.setUiNewRecord("https://eu37.salesforce.com/001/e");
+ description.setUrls(sObjectDescriptionUrls1);
+
+ return description;
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_AccountSourceEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_AccountSourceEnum.java
new file mode 100644
index 0000000..e68db54
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_AccountSourceEnum.java
@@ -0,0 +1,65 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist AccountSource
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_AccountSourceEnum {
+
+ // Other
+ OTHER("Other"),
+
+ // Partner Referral
+ PARTNER_REFERRAL("Partner Referral"),
+
+ // Phone Inquiry
+ PHONE_INQUIRY("Phone Inquiry"),
+
+ // Purchased List
+ PURCHASED_LIST("Purchased List"),
+
+ // Web
+ WEB("Web");
+
+ final String value;
+
+ private Account_AccountSourceEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_AccountSourceEnum fromValue(String value) {
+ for (Account_AccountSourceEnum e : Account_AccountSourceEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_ActiveEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_ActiveEnum.java
new file mode 100644
index 0000000..b4b1a91
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_ActiveEnum.java
@@ -0,0 +1,56 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist Active__c
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_ActiveEnum {
+
+ // No
+ NO("No"),
+
+ // Yes
+ YES("Yes");
+
+ final String value;
+
+ private Account_ActiveEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_ActiveEnum fromValue(String value) {
+ for (Account_ActiveEnum e : Account_ActiveEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_BillingGeocodeAccuracyEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_BillingGeocodeAccuracyEnum.java
new file mode 100644
index 0000000..377bd07
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_BillingGeocodeAccuracyEnum.java
@@ -0,0 +1,83 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist BillingGeocodeAccuracy
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_BillingGeocodeAccuracyEnum {
+
+ // Address
+ ADDRESS("Address"),
+
+ // Block
+ BLOCK("Block"),
+
+ // City
+ CITY("City"),
+
+ // County
+ COUNTY("County"),
+
+ // ExtendedZip
+ EXTENDEDZIP("ExtendedZip"),
+
+ // NearAddress
+ NEARADDRESS("NearAddress"),
+
+ // Neighborhood
+ NEIGHBORHOOD("Neighborhood"),
+
+ // State
+ STATE("State"),
+
+ // Street
+ STREET("Street"),
+
+ // Unknown
+ UNKNOWN("Unknown"),
+
+ // Zip
+ ZIP("Zip");
+
+ final String value;
+
+ private Account_BillingGeocodeAccuracyEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_BillingGeocodeAccuracyEnum fromValue(String value) {
+ for (Account_BillingGeocodeAccuracyEnum e : Account_BillingGeocodeAccuracyEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_CleanStatusEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_CleanStatusEnum.java
new file mode 100644
index 0000000..d4a6c11
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_CleanStatusEnum.java
@@ -0,0 +1,74 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist CleanStatus
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_CleanStatusEnum {
+
+ // Acknowledged
+ ACKNOWLEDGED("Acknowledged"),
+
+ // Different
+ DIFFERENT("Different"),
+
+ // Inactive
+ INACTIVE("Inactive"),
+
+ // Matched
+ MATCHED("Matched"),
+
+ // NotFound
+ NOTFOUND("NotFound"),
+
+ // Pending
+ PENDING("Pending"),
+
+ // SelectMatch
+ SELECTMATCH("SelectMatch"),
+
+ // Skipped
+ SKIPPED("Skipped");
+
+ final String value;
+
+ private Account_CleanStatusEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_CleanStatusEnum fromValue(String value) {
+ for (Account_CleanStatusEnum e : Account_CleanStatusEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_CustomerPriorityEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_CustomerPriorityEnum.java
new file mode 100644
index 0000000..8eb1cae
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_CustomerPriorityEnum.java
@@ -0,0 +1,59 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist CustomerPriority__c
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_CustomerPriorityEnum {
+
+ // High
+ HIGH("High"),
+
+ // Low
+ LOW("Low"),
+
+ // Medium
+ MEDIUM("Medium");
+
+ final String value;
+
+ private Account_CustomerPriorityEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_CustomerPriorityEnum fromValue(String value) {
+ for (Account_CustomerPriorityEnum e : Account_CustomerPriorityEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_IndustryEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_IndustryEnum.java
new file mode 100644
index 0000000..f967fbd
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_IndustryEnum.java
@@ -0,0 +1,146 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist Industry
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_IndustryEnum {
+
+ // Agriculture
+ AGRICULTURE("Agriculture"),
+
+ // Apparel
+ APPAREL("Apparel"),
+
+ // Banking
+ BANKING("Banking"),
+
+ // Biotechnology
+ BIOTECHNOLOGY("Biotechnology"),
+
+ // Chemicals
+ CHEMICALS("Chemicals"),
+
+ // Communications
+ COMMUNICATIONS("Communications"),
+
+ // Construction
+ CONSTRUCTION("Construction"),
+
+ // Consulting
+ CONSULTING("Consulting"),
+
+ // Education
+ EDUCATION("Education"),
+
+ // Electronics
+ ELECTRONICS("Electronics"),
+
+ // Energy
+ ENERGY("Energy"),
+
+ // Engineering
+ ENGINEERING("Engineering"),
+
+ // Entertainment
+ ENTERTAINMENT("Entertainment"),
+
+ // Environmental
+ ENVIRONMENTAL("Environmental"),
+
+ // Finance
+ FINANCE("Finance"),
+
+ // Food & Beverage
+ FOOD___BEVERAGE("Food & Beverage"),
+
+ // Government
+ GOVERNMENT("Government"),
+
+ // Healthcare
+ HEALTHCARE("Healthcare"),
+
+ // Hospitality
+ HOSPITALITY("Hospitality"),
+
+ // Insurance
+ INSURANCE("Insurance"),
+
+ // Machinery
+ MACHINERY("Machinery"),
+
+ // Manufacturing
+ MANUFACTURING("Manufacturing"),
+
+ // Media
+ MEDIA("Media"),
+
+ // Not For Profit
+ NOT_FOR_PROFIT("Not For Profit"),
+
+ // Other
+ OTHER("Other"),
+
+ // Recreation
+ RECREATION("Recreation"),
+
+ // Retail
+ RETAIL("Retail"),
+
+ // Shipping
+ SHIPPING("Shipping"),
+
+ // Technology
+ TECHNOLOGY("Technology"),
+
+ // Telecommunications
+ TELECOMMUNICATIONS("Telecommunications"),
+
+ // Transportation
+ TRANSPORTATION("Transportation"),
+
+ // Utilities
+ UTILITIES("Utilities");
+
+ final String value;
+
+ private Account_IndustryEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_IndustryEnum fromValue(String value) {
+ for (Account_IndustryEnum e : Account_IndustryEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_MyMultiselectEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_MyMultiselectEnum.java
new file mode 100644
index 0000000..7eecfc9
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_MyMultiselectEnum.java
@@ -0,0 +1,59 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist MyMultiselect__c
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_MyMultiselectEnum {
+
+ // bar
+ BAR("bar"),
+
+ // cheese
+ CHEESE("cheese"),
+
+ // foo
+ FOO("foo");
+
+ final String value;
+
+ private Account_MyMultiselectEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_MyMultiselectEnum fromValue(String value) {
+ for (Account_MyMultiselectEnum e : Account_MyMultiselectEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_OwnershipEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_OwnershipEnum.java
new file mode 100644
index 0000000..1a8ae3a
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_OwnershipEnum.java
@@ -0,0 +1,62 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist Ownership
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_OwnershipEnum {
+
+ // Other
+ OTHER("Other"),
+
+ // Private
+ PRIVATE("Private"),
+
+ // Public
+ PUBLIC("Public"),
+
+ // Subsidiary
+ SUBSIDIARY("Subsidiary");
+
+ final String value;
+
+ private Account_OwnershipEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_OwnershipEnum fromValue(String value) {
+ for (Account_OwnershipEnum e : Account_OwnershipEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_RatingEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_RatingEnum.java
new file mode 100644
index 0000000..aad7420
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_RatingEnum.java
@@ -0,0 +1,59 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist Rating
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_RatingEnum {
+
+ // Cold
+ COLD("Cold"),
+
+ // Hot
+ HOT("Hot"),
+
+ // Warm
+ WARM("Warm");
+
+ final String value;
+
+ private Account_RatingEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_RatingEnum fromValue(String value) {
+ for (Account_RatingEnum e : Account_RatingEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_SLAEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_SLAEnum.java
new file mode 100644
index 0000000..fdcdebe
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_SLAEnum.java
@@ -0,0 +1,62 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist SLA__c
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_SLAEnum {
+
+ // Bronze
+ BRONZE("Bronze"),
+
+ // Gold
+ GOLD("Gold"),
+
+ // Platinum
+ PLATINUM("Platinum"),
+
+ // Silver
+ SILVER("Silver");
+
+ final String value;
+
+ private Account_SLAEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_SLAEnum fromValue(String value) {
+ for (Account_SLAEnum e : Account_SLAEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_ShippingGeocodeAccuracyEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_ShippingGeocodeAccuracyEnum.java
new file mode 100644
index 0000000..c8ac7f6
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_ShippingGeocodeAccuracyEnum.java
@@ -0,0 +1,83 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist ShippingGeocodeAccuracy
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_ShippingGeocodeAccuracyEnum {
+
+ // Address
+ ADDRESS("Address"),
+
+ // Block
+ BLOCK("Block"),
+
+ // City
+ CITY("City"),
+
+ // County
+ COUNTY("County"),
+
+ // ExtendedZip
+ EXTENDEDZIP("ExtendedZip"),
+
+ // NearAddress
+ NEARADDRESS("NearAddress"),
+
+ // Neighborhood
+ NEIGHBORHOOD("Neighborhood"),
+
+ // State
+ STATE("State"),
+
+ // Street
+ STREET("Street"),
+
+ // Unknown
+ UNKNOWN("Unknown"),
+
+ // Zip
+ ZIP("Zip");
+
+ final String value;
+
+ private Account_ShippingGeocodeAccuracyEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_ShippingGeocodeAccuracyEnum fromValue(String value) {
+ for (Account_ShippingGeocodeAccuracyEnum e : Account_ShippingGeocodeAccuracyEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_TypeEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_TypeEnum.java
new file mode 100644
index 0000000..34cc5d2
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_TypeEnum.java
@@ -0,0 +1,71 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist Type
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_TypeEnum {
+
+ // Channel Partner / Reseller
+ CHANNEL_PARTNER___RESELLER("Channel Partner / Reseller"),
+
+ // Customer - Channel
+ CUSTOMER___CHANNEL("Customer - Channel"),
+
+ // Customer - Direct
+ CUSTOMER___DIRECT("Customer - Direct"),
+
+ // Installation Partner
+ INSTALLATION_PARTNER("Installation Partner"),
+
+ // Other
+ OTHER("Other"),
+
+ // Prospect
+ PROSPECT("Prospect"),
+
+ // Technology Partner
+ TECHNOLOGY_PARTNER("Technology Partner");
+
+ final String value;
+
+ private Account_TypeEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_TypeEnum fromValue(String value) {
+ for (Account_TypeEnum e : Account_TypeEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_UpsellOpportunityEnum.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_UpsellOpportunityEnum.java
new file mode 100644
index 0000000..b49fc1f
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/Account_UpsellOpportunityEnum.java
@@ -0,0 +1,59 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Salesforce Enumeration DTO for picklist UpsellOpportunity__c
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public enum Account_UpsellOpportunityEnum {
+
+ // Maybe
+ MAYBE("Maybe"),
+
+ // No
+ NO("No"),
+
+ // Yes
+ YES("Yes");
+
+ final String value;
+
+ private Account_UpsellOpportunityEnum(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String value() {
+ return this.value;
+ }
+
+ @JsonCreator
+ public static Account_UpsellOpportunityEnum fromValue(String value) {
+ for (Account_UpsellOpportunityEnum e : Account_UpsellOpportunityEnum.values()) {
+ if (e.value.equals(value)) {
+ return e;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
+}
diff --git a/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/QueryRecordsAccount.java b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/QueryRecordsAccount.java
new file mode 100644
index 0000000..78cab0f
--- /dev/null
+++ b/integration-tests/salesforce/src/main/java/org/apache/camel/quarkus/component/salesforce/generated/QueryRecordsAccount.java
@@ -0,0 +1,42 @@
+/*
+ * 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.quarkus.component.salesforce.generated;
+
+import java.util.List;
+
+import javax.annotation.Generated;
+
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import org.apache.camel.component.salesforce.api.dto.AbstractQueryRecordsBase;
+
+/**
+ * Salesforce QueryRecords DTO for type Account
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public class QueryRecordsAccount extends AbstractQueryRecordsBase {
+
+ @XStreamImplicit
+ private List<Account> records;
+
+ public List<Account> getRecords() {
+ return records;
+ }
+
+ public void setRecords(List<Account> records) {
+ this.records = records;
+ }
+}
diff --git a/integration-tests/salesforce/src/test/java/org/apache/camel/quarkus/component/salesforce/SalesforceTest.java b/integration-tests/salesforce/src/test/java/org/apache/camel/quarkus/component/salesforce/SalesforceTest.java
index 5f5b086..1de2906 100644
--- a/integration-tests/salesforce/src/test/java/org/apache/camel/quarkus/component/salesforce/SalesforceTest.java
+++ b/integration-tests/salesforce/src/test/java/org/apache/camel/quarkus/component/salesforce/SalesforceTest.java
@@ -16,12 +16,20 @@
*/
package org.apache.camel.quarkus.component.salesforce;
+import java.util.UUID;
+
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
-import static org.hamcrest.core.Is.is;
+import static org.hamcrest.Matchers.emptyString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.core.IsNot.not;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
@EnabledIfEnvironmentVariable(named = "SALESFORCE_USERNAME", matches = ".+")
@EnabledIfEnvironmentVariable(named = "SALESFORCE_PASSWORD", matches = ".+")
@@ -31,10 +39,92 @@ import static org.hamcrest.core.Is.is;
class SalesforceTest {
@Test
- public void testSalesforceComponent() {
+ public void testGetDocumentRaw() {
RestAssured.get("/salesforce/document/test")
.then()
.statusCode(200)
.body("attributes.type", is("Document"));
}
+
+ @Test
+ public void testGetAccountDTO() {
+ RestAssured.get("/salesforce/account")
+ .then()
+ .statusCode(200)
+ .body(
+ "id", not(emptyString()),
+ "accountNumber", not(emptyString()));
+ }
+
+ @Test
+ public void testBulkJobApi() {
+ // Create bulk job
+ JsonPath jobInfo = RestAssured.given()
+ .post("/salesforce/bulk")
+ .then()
+ .statusCode(200)
+ .extract()
+ .body()
+ .jsonPath();
+
+ String id = jobInfo.getString("id");
+ String state = jobInfo.getString("state");
+ assertNotNull(id);
+ assertTrue(id.length() > 0);
+ assertEquals("OPEN", state);
+
+ // Abort bulk job
+ jobInfo = RestAssured.given()
+ .queryParam("jobId", id)
+ .delete("/salesforce/bulk")
+ .then()
+ .statusCode(200)
+ .extract()
+ .body()
+ .jsonPath();
+
+ state = jobInfo.getString("state");
+ assertEquals("ABORTED", state);
+ }
+
+ @Test
+ public void testChangeDataCaptureEvents() {
+ String accountId = null;
+ try {
+ // Start the Salesforce CDC consumer
+ RestAssured.post("/salesforce/cdc/start")
+ .then()
+ .statusCode(200);
+
+ // Create an account
+ String accountName = "Camel Quarkus Account Test: " + UUID.randomUUID().toString();
+ accountId = RestAssured.given()
+ .body(accountName)
+ .post("/salesforce/account")
+ .then()
+ .statusCode(200)
+ .extract()
+ .body()
+ .asString();
+
+ // Verify we captured the account creation event
+ RestAssured.given()
+ .get("/salesforce/cdc")
+ .then()
+ .statusCode(200)
+ .body("Name", is(accountName));
+ } finally {
+ // Shut down the CDC consumer
+ RestAssured.post("/salesforce/cdc/stop")
+ .then()
+ .statusCode(200);
+
+ // Clean up
+ if (accountId != null) {
+ RestAssured.delete("/salesforce/account/" + accountId)
+ .then()
+ .statusCode(204);
+ }
+ }
+ }
}
diff --git a/poms/build-parent-it/pom.xml b/poms/build-parent-it/pom.xml
index 10bd26a..ec3d40b 100644
--- a/poms/build-parent-it/pom.xml
+++ b/poms/build-parent-it/pom.xml
@@ -67,6 +67,11 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.camel.maven</groupId>
+ <artifactId>camel-salesforce-maven-plugin</artifactId>
+ <version>${camel.version}</version>
+ </plugin>
</plugins>
</pluginManagement>
<plugins>