You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by je...@apache.org on 2023/04/04 14:58:14 UTC
[camel] branch main updated: CAMEL-19249: camel-salesforce: Fix blob creation
This is an automated email from the ASF dual-hosted git repository.
jeremyross pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 5f6960266cd CAMEL-19249: camel-salesforce: Fix blob creation
5f6960266cd is described below
commit 5f6960266cd88beda0b0e3e970575c0388ea5b35
Author: Jeremy Ross <je...@gmail.com>
AuthorDate: Tue Apr 4 09:15:57 2023 -0500
CAMEL-19249: camel-salesforce: Fix blob creation
This restores the ability to create records that
have blob data, such as Documents and
Files/ContentVersion
---
.../salesforce/RestApiIntegrationTest.java | 17 +
.../salesforce/dto/generated/ContentVersion.java | 689 +++++++++++++++++++++
.../src/test/resources/camel-test-doc.pdf | Bin 0 -> 9660 bytes
3 files changed, 706 insertions(+)
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 cc5ec0f4bf4..9847667bae8 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
@@ -29,6 +29,7 @@ import java.util.UUID;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.camel.CamelExecutionException;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
@@ -47,6 +48,7 @@ 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;
import org.apache.camel.component.salesforce.dto.generated.Contact;
+import org.apache.camel.component.salesforce.dto.generated.ContentVersion;
import org.apache.camel.component.salesforce.dto.generated.Document;
import org.apache.camel.component.salesforce.dto.generated.Line_Item__c;
import org.apache.camel.component.salesforce.dto.generated.Merchandise__c;
@@ -464,6 +466,21 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase {
}
}
+ @Test
+ public void testUploadBlob() throws Exception {
+ final InputStream inputStream = this.getClass().getResourceAsStream("/camel-test-doc.pdf");
+ final byte[] bytes = inputStream.readAllBytes();
+ ObjectMapper mapper = new ObjectMapper();
+ String enc = mapper.convertValue(bytes, String.class);
+ ContentVersion cv = new ContentVersion();
+ cv.setVersionDataUrl(enc);
+ cv.setPathOnClient("camel-test-doc.pdf");
+ cv.setTitle("Camel Test Doc");
+ final CreateSObjectResult result =
+ template.requestBody("salesforce:createSObject", cv, CreateSObjectResult.class);
+ assertNotNull(result.getId());
+ }
+
@Test
public void testGetDescription() throws Exception {
final SObjectDescription sObjectDescription
diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/dto/generated/ContentVersion.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/dto/generated/ContentVersion.java
new file mode 100644
index 00000000000..c3e622010e5
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/dto/generated/ContentVersion.java
@@ -0,0 +1,689 @@
+/*
+ * 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.
+ */
+/*
+ * Salesforce DTO generated by camel-salesforce-maven-plugin.
+ */
+package org.apache.camel.component.salesforce.dto.generated;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Generated;
+
+import org.apache.camel.component.salesforce.api.dto.AbstractDescribedSObjectBase;
+import org.apache.camel.component.salesforce.api.dto.Attributes;
+import org.apache.camel.component.salesforce.api.dto.ChildRelationShip;
+import org.apache.camel.component.salesforce.api.dto.InfoUrls;
+import org.apache.camel.component.salesforce.api.dto.NamedLayoutInfo;
+import org.apache.camel.component.salesforce.api.dto.RecordTypeInfo;
+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;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.databind.annotation.JsonTypeResolver;
+import org.apache.camel.component.salesforce.api.utils.AsNestedPropertyResolver;
+
+/**
+ * Salesforce DTO for SObject ContentVersion
+ */
+@Generated("org.apache.camel.maven.CamelSalesforceMojo")
+public class ContentVersion extends AbstractDescribedSObjectBase {
+
+ public ContentVersion() {
+ getAttributes().setType("ContentVersion");
+ }
+
+ private static final SObjectDescription DESCRIPTION = createSObjectDescription();
+
+ private String ContentDocumentId;
+
+ @JsonProperty("ContentDocumentId")
+ public String getContentDocumentId() {
+ return this.ContentDocumentId;
+ }
+
+ @JsonProperty("ContentDocumentId")
+ public void setContentDocumentId(String ContentDocumentId) {
+ this.ContentDocumentId = ContentDocumentId;
+ }
+
+// private ContentDocument ContentDocument;
+//
+// @JsonProperty("ContentDocument")
+// public ContentDocument getContentDocument() {
+// return this.ContentDocument;
+// }
+//
+// @JsonProperty("ContentDocument")
+// public void setContentDocument(ContentDocument ContentDocument) {
+// this.ContentDocument = ContentDocument;
+// }
+ private Boolean IsLatest;
+
+ @JsonProperty("IsLatest")
+ public Boolean getIsLatest() {
+ return this.IsLatest;
+ }
+
+ @JsonProperty("IsLatest")
+ public void setIsLatest(Boolean IsLatest) {
+ this.IsLatest = IsLatest;
+ }
+
+ private String ContentUrl;
+
+ @JsonProperty("ContentUrl")
+ public String getContentUrl() {
+ return this.ContentUrl;
+ }
+
+ @JsonProperty("ContentUrl")
+ public void setContentUrl(String ContentUrl) {
+ this.ContentUrl = ContentUrl;
+ }
+
+ private String ContentBodyId;
+
+ @JsonProperty("ContentBodyId")
+ public String getContentBodyId() {
+ return this.ContentBodyId;
+ }
+
+ @JsonProperty("ContentBodyId")
+ public void setContentBodyId(String ContentBodyId) {
+ this.ContentBodyId = ContentBodyId;
+ }
+
+ private AbstractDescribedSObjectBase ContentBody;
+
+ @JsonProperty("ContentBody")
+ public AbstractDescribedSObjectBase getContentBody() {
+ return this.ContentBody;
+ }
+
+ @JsonProperty("ContentBody")
+ public void setContentBody(AbstractDescribedSObjectBase ContentBody) {
+ this.ContentBody = ContentBody;
+ }
+ private String VersionNumber;
+
+ @JsonProperty("VersionNumber")
+ public String getVersionNumber() {
+ return this.VersionNumber;
+ }
+
+ @JsonProperty("VersionNumber")
+ public void setVersionNumber(String VersionNumber) {
+ this.VersionNumber = VersionNumber;
+ }
+
+ private String Title;
+
+ @JsonProperty("Title")
+ public String getTitle() {
+ return this.Title;
+ }
+
+ @JsonProperty("Title")
+ public void setTitle(String Title) {
+ this.Title = Title;
+ }
+
+ private String Description;
+
+ @JsonProperty("Description")
+ public String getDescription() {
+ return this.Description;
+ }
+
+ @JsonProperty("Description")
+ public void setDescription(String Description) {
+ this.Description = Description;
+ }
+
+ private String ReasonForChange;
+
+ @JsonProperty("ReasonForChange")
+ public String getReasonForChange() {
+ return this.ReasonForChange;
+ }
+
+ @JsonProperty("ReasonForChange")
+ public void setReasonForChange(String ReasonForChange) {
+ this.ReasonForChange = ReasonForChange;
+ }
+
+ private java.lang.String SharingOption;
+
+ @JsonProperty("SharingOption")
+ public java.lang.String getSharingOption() {
+ return this.SharingOption;
+ }
+
+ @JsonProperty("SharingOption")
+ public void setSharingOption(java.lang.String SharingOption) {
+ this.SharingOption = SharingOption;
+ }
+
+ private java.lang.String SharingPrivacy;
+
+ @JsonProperty("SharingPrivacy")
+ public java.lang.String getSharingPrivacy() {
+ return this.SharingPrivacy;
+ }
+
+ @JsonProperty("SharingPrivacy")
+ public void setSharingPrivacy(java.lang.String SharingPrivacy) {
+ this.SharingPrivacy = SharingPrivacy;
+ }
+
+ private String PathOnClient;
+
+ @JsonProperty("PathOnClient")
+ public String getPathOnClient() {
+ return this.PathOnClient;
+ }
+
+ @JsonProperty("PathOnClient")
+ public void setPathOnClient(String PathOnClient) {
+ this.PathOnClient = PathOnClient;
+ }
+
+ private Integer RatingCount;
+
+ @JsonProperty("RatingCount")
+ public Integer getRatingCount() {
+ return this.RatingCount;
+ }
+
+ @JsonProperty("RatingCount")
+ public void setRatingCount(Integer RatingCount) {
+ this.RatingCount = RatingCount;
+ }
+
+ private java.time.ZonedDateTime ContentModifiedDate;
+
+ @JsonProperty("ContentModifiedDate")
+ public java.time.ZonedDateTime getContentModifiedDate() {
+ return this.ContentModifiedDate;
+ }
+
+ @JsonProperty("ContentModifiedDate")
+ public void setContentModifiedDate(java.time.ZonedDateTime ContentModifiedDate) {
+ this.ContentModifiedDate = ContentModifiedDate;
+ }
+
+ private String ContentModifiedById;
+
+ @JsonProperty("ContentModifiedById")
+ public String getContentModifiedById() {
+ return this.ContentModifiedById;
+ }
+
+ @JsonProperty("ContentModifiedById")
+ public void setContentModifiedById(String ContentModifiedById) {
+ this.ContentModifiedById = ContentModifiedById;
+ }
+
+ private User ContentModifiedBy;
+
+ @JsonProperty("ContentModifiedBy")
+ public User getContentModifiedBy() {
+ return this.ContentModifiedBy;
+ }
+
+ @JsonProperty("ContentModifiedBy")
+ public void setContentModifiedBy(User ContentModifiedBy) {
+ this.ContentModifiedBy = ContentModifiedBy;
+ }
+ private Integer PositiveRatingCount;
+
+ @JsonProperty("PositiveRatingCount")
+ public Integer getPositiveRatingCount() {
+ return this.PositiveRatingCount;
+ }
+
+ @JsonProperty("PositiveRatingCount")
+ public void setPositiveRatingCount(Integer PositiveRatingCount) {
+ this.PositiveRatingCount = PositiveRatingCount;
+ }
+
+ private Integer NegativeRatingCount;
+
+ @JsonProperty("NegativeRatingCount")
+ public Integer getNegativeRatingCount() {
+ return this.NegativeRatingCount;
+ }
+
+ @JsonProperty("NegativeRatingCount")
+ public void setNegativeRatingCount(Integer NegativeRatingCount) {
+ this.NegativeRatingCount = NegativeRatingCount;
+ }
+
+ private Integer FeaturedContentBoost;
+
+ @JsonProperty("FeaturedContentBoost")
+ public Integer getFeaturedContentBoost() {
+ return this.FeaturedContentBoost;
+ }
+
+ @JsonProperty("FeaturedContentBoost")
+ public void setFeaturedContentBoost(Integer FeaturedContentBoost) {
+ this.FeaturedContentBoost = FeaturedContentBoost;
+ }
+
+ private java.time.LocalDate FeaturedContentDate;
+
+ @JsonProperty("FeaturedContentDate")
+ public java.time.LocalDate getFeaturedContentDate() {
+ return this.FeaturedContentDate;
+ }
+
+ @JsonProperty("FeaturedContentDate")
+ public void setFeaturedContentDate(java.time.LocalDate FeaturedContentDate) {
+ this.FeaturedContentDate = FeaturedContentDate;
+ }
+
+ private User Owner;
+
+ @JsonProperty("Owner")
+ public User getOwner() {
+ return this.Owner;
+ }
+
+ @JsonProperty("Owner")
+ public void setOwner(User Owner) {
+ this.Owner = Owner;
+ }
+ private User CreatedBy;
+
+ @JsonProperty("CreatedBy")
+ public User getCreatedBy() {
+ return this.CreatedBy;
+ }
+
+ @JsonProperty("CreatedBy")
+ public void setCreatedBy(User CreatedBy) {
+ this.CreatedBy = CreatedBy;
+ }
+ private User LastModifiedBy;
+
+ @JsonProperty("LastModifiedBy")
+ public User getLastModifiedBy() {
+ return this.LastModifiedBy;
+ }
+
+ @JsonProperty("LastModifiedBy")
+ public void setLastModifiedBy(User LastModifiedBy) {
+ this.LastModifiedBy = LastModifiedBy;
+ }
+ private String TagCsv;
+
+ @JsonProperty("TagCsv")
+ public String getTagCsv() {
+ return this.TagCsv;
+ }
+
+ @JsonProperty("TagCsv")
+ public void setTagCsv(String TagCsv) {
+ this.TagCsv = TagCsv;
+ }
+
+ private String FileType;
+
+ @JsonProperty("FileType")
+ public String getFileType() {
+ return this.FileType;
+ }
+
+ @JsonProperty("FileType")
+ public void setFileType(String FileType) {
+ this.FileType = FileType;
+ }
+
+ private java.lang.String PublishStatus;
+
+ @JsonProperty("PublishStatus")
+ public java.lang.String getPublishStatus() {
+ return this.PublishStatus;
+ }
+
+ @JsonProperty("PublishStatus")
+ public void setPublishStatus(java.lang.String PublishStatus) {
+ this.PublishStatus = PublishStatus;
+ }
+
+ private String VersionDataUrl;
+
+ @JsonProperty("VersionData")
+ public String getVersionDataUrl() {
+ return this.VersionDataUrl;
+ }
+
+ @JsonProperty("VersionData")
+ public void setVersionDataUrl(String VersionDataUrl) {
+ this.VersionDataUrl = VersionDataUrl;
+ }
+
+ private Integer ContentSize;
+
+ @JsonProperty("ContentSize")
+ public Integer getContentSize() {
+ return this.ContentSize;
+ }
+
+ @JsonProperty("ContentSize")
+ public void setContentSize(Integer ContentSize) {
+ this.ContentSize = ContentSize;
+ }
+
+ private String FileExtension;
+
+ @JsonProperty("FileExtension")
+ public String getFileExtension() {
+ return this.FileExtension;
+ }
+
+ @JsonProperty("FileExtension")
+ public void setFileExtension(String FileExtension) {
+ this.FileExtension = FileExtension;
+ }
+
+ private String FirstPublishLocationId;
+
+ @JsonProperty("FirstPublishLocationId")
+ public String getFirstPublishLocationId() {
+ return this.FirstPublishLocationId;
+ }
+
+ @JsonProperty("FirstPublishLocationId")
+ public void setFirstPublishLocationId(String FirstPublishLocationId) {
+ this.FirstPublishLocationId = FirstPublishLocationId;
+ }
+
+ @JsonTypeResolver(AsNestedPropertyResolver.class)
+ @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "attributes.type",
+ defaultImpl = AbstractDescribedSObjectBase.class)
+ @JsonSubTypes({
+ @JsonSubTypes.Type(value = Account.class, name = "Account"),
+ @JsonSubTypes.Type(value = Contact.class, name = "Contact"),
+ @JsonSubTypes.Type(value = User.class, name = "User")
+ })
+ private AbstractDescribedSObjectBase FirstPublishLocation;
+
+ @JsonProperty("FirstPublishLocation")
+ public AbstractDescribedSObjectBase getFirstPublishLocation() {
+ return this.FirstPublishLocation;
+ }
+
+ @JsonProperty("FirstPublishLocation")
+ public void setFirstPublishLocation(AbstractDescribedSObjectBase FirstPublishLocation) {
+ this.FirstPublishLocation = FirstPublishLocation;
+ }
+ private java.lang.String Origin;
+
+ @JsonProperty("Origin")
+ public java.lang.String getOrigin() {
+ return this.Origin;
+ }
+
+ @JsonProperty("Origin")
+ public void setOrigin(java.lang.String Origin) {
+ this.Origin = Origin;
+ }
+
+ private java.lang.String ContentLocation;
+
+ @JsonProperty("ContentLocation")
+ public java.lang.String getContentLocation() {
+ return this.ContentLocation;
+ }
+
+ @JsonProperty("ContentLocation")
+ public void setContentLocation(java.lang.String ContentLocation) {
+ this.ContentLocation = ContentLocation;
+ }
+
+ private String TextPreview;
+
+ @JsonProperty("TextPreview")
+ public String getTextPreview() {
+ return this.TextPreview;
+ }
+
+ @JsonProperty("TextPreview")
+ public void setTextPreview(String TextPreview) {
+ this.TextPreview = TextPreview;
+ }
+
+ private String ExternalDocumentInfo1;
+
+ @JsonProperty("ExternalDocumentInfo1")
+ public String getExternalDocumentInfo1() {
+ return this.ExternalDocumentInfo1;
+ }
+
+ @JsonProperty("ExternalDocumentInfo1")
+ public void setExternalDocumentInfo1(String ExternalDocumentInfo1) {
+ this.ExternalDocumentInfo1 = ExternalDocumentInfo1;
+ }
+
+ private String ExternalDocumentInfo2;
+
+ @JsonProperty("ExternalDocumentInfo2")
+ public String getExternalDocumentInfo2() {
+ return this.ExternalDocumentInfo2;
+ }
+
+ @JsonProperty("ExternalDocumentInfo2")
+ public void setExternalDocumentInfo2(String ExternalDocumentInfo2) {
+ this.ExternalDocumentInfo2 = ExternalDocumentInfo2;
+ }
+
+ private String ExternalDataSourceId;
+
+ @JsonProperty("ExternalDataSourceId")
+ public String getExternalDataSourceId() {
+ return this.ExternalDataSourceId;
+ }
+
+ @JsonProperty("ExternalDataSourceId")
+ public void setExternalDataSourceId(String ExternalDataSourceId) {
+ this.ExternalDataSourceId = ExternalDataSourceId;
+ }
+
+ private AbstractDescribedSObjectBase ExternalDataSource;
+
+ @JsonProperty("ExternalDataSource")
+ public AbstractDescribedSObjectBase getExternalDataSource() {
+ return this.ExternalDataSource;
+ }
+
+ @JsonProperty("ExternalDataSource")
+ public void setExternalDataSource(AbstractDescribedSObjectBase ExternalDataSource) {
+ this.ExternalDataSource = ExternalDataSource;
+ }
+ private String Checksum;
+
+ @JsonProperty("Checksum")
+ public String getChecksum() {
+ return this.Checksum;
+ }
+
+ @JsonProperty("Checksum")
+ public void setChecksum(String Checksum) {
+ this.Checksum = Checksum;
+ }
+
+ private Boolean IsMajorVersion;
+
+ @JsonProperty("IsMajorVersion")
+ public Boolean getIsMajorVersion() {
+ return this.IsMajorVersion;
+ }
+
+ @JsonProperty("IsMajorVersion")
+ public void setIsMajorVersion(Boolean IsMajorVersion) {
+ this.IsMajorVersion = IsMajorVersion;
+ }
+
+ private Boolean IsAssetEnabled;
+
+ @JsonProperty("IsAssetEnabled")
+ public Boolean getIsAssetEnabled() {
+ return this.IsAssetEnabled;
+ }
+
+ @JsonProperty("IsAssetEnabled")
+ public void setIsAssetEnabled(Boolean IsAssetEnabled) {
+ this.IsAssetEnabled = IsAssetEnabled;
+ }
+
+ private Boolean Sent_To_Jenzabar__c;
+
+ @JsonProperty("Sent_To_Jenzabar__c")
+ public Boolean getSent_To_Jenzabar__c() {
+ return this.Sent_To_Jenzabar__c;
+ }
+
+ @JsonProperty("Sent_To_Jenzabar__c")
+ public void setSent_To_Jenzabar__c(Boolean Sent_To_Jenzabar__c) {
+ this.Sent_To_Jenzabar__c = Sent_To_Jenzabar__c;
+ }
+
+
+ @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", "ContentVersion ID", "id", "tns:ID", 18, false, false, false, false, false, false, true);
+ fields1.add(sObjectField1);
+ final SObjectField sObjectField2 = createField("ContentDocumentId", "ContentDocument ID", "reference", "tns:ID", 18, false, false, false, false, false, false, false);
+ fields1.add(sObjectField2);
+ final SObjectField sObjectField3 = createField("IsLatest", "Is Latest", "boolean", "xsd:boolean", 0, false, false, false, false, false, false, false);
+ fields1.add(sObjectField3);
+ final SObjectField sObjectField4 = createField("ContentUrl", "Content URL", "url", "xsd:string", 1333, false, true, false, false, false, false, false);
+ fields1.add(sObjectField4);
+ final SObjectField sObjectField5 = createField("ContentBodyId", "Content Body ID", "reference", "tns:ID", 18, false, true, false, false, false, false, false);
+ fields1.add(sObjectField5);
+ final SObjectField sObjectField6 = createField("VersionNumber", "Version Number", "string", "xsd:string", 20, false, true, false, false, false, false, false);
+ fields1.add(sObjectField6);
+ final SObjectField sObjectField7 = createField("Title", "Title", "string", "xsd:string", 255, false, false, true, false, false, false, true);
+ fields1.add(sObjectField7);
+ final SObjectField sObjectField8 = createField("Description", "Description", "textarea", "xsd:string", 1000, false, true, false, false, false, false, false);
+ fields1.add(sObjectField8);
+ final SObjectField sObjectField9 = createField("ReasonForChange", "Reason For Change", "string", "xsd:string", 1000, false, true, false, false, false, false, false);
+ fields1.add(sObjectField9);
+ final SObjectField sObjectField10 = createField("SharingOption", "Prevent others from sharing and unsharing", "picklist", "xsd:string", 40, false, false, false, false, false, false, false);
+ fields1.add(sObjectField10);
+ final SObjectField sObjectField11 = createField("SharingPrivacy", "File Privacy on Records", "picklist", "xsd:string", 40, false, false, false, false, false, false, false);
+ fields1.add(sObjectField11);
+ final SObjectField sObjectField12 = createField("PathOnClient", "Path On Client", "string", "xsd:string", 500, false, true, false, false, false, false, false);
+ fields1.add(sObjectField12);
+ final SObjectField sObjectField13 = createField("RatingCount", "Rating Count", "int", "xsd:int", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField13);
+ final SObjectField sObjectField14 = createField("IsDeleted", "Is Deleted", "boolean", "xsd:boolean", 0, false, false, false, false, false, false, false);
+ fields1.add(sObjectField14);
+ final SObjectField sObjectField15 = createField("ContentModifiedDate", "Content Modified Date", "datetime", "xsd:dateTime", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField15);
+ final SObjectField sObjectField16 = createField("ContentModifiedById", "User ID", "reference", "tns:ID", 18, false, true, false, false, false, false, false);
+ fields1.add(sObjectField16);
+ final SObjectField sObjectField17 = createField("PositiveRatingCount", "Positive Rating Count", "int", "xsd:int", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField17);
+ final SObjectField sObjectField18 = createField("NegativeRatingCount", "Negative Rating Count", "int", "xsd:int", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField18);
+ final SObjectField sObjectField19 = createField("FeaturedContentBoost", "Featured Content Boost", "int", "xsd:int", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField19);
+ final SObjectField sObjectField20 = createField("FeaturedContentDate", "Featured Content Date", "date", "xsd:date", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField20);
+ final SObjectField sObjectField21 = createField("OwnerId", "Owner ID", "reference", "tns:ID", 18, false, false, false, false, false, false, false);
+ fields1.add(sObjectField21);
+ final SObjectField sObjectField22 = createField("CreatedById", "Created By ID", "reference", "tns:ID", 18, false, false, false, false, false, false, false);
+ fields1.add(sObjectField22);
+ final SObjectField sObjectField23 = createField("CreatedDate", "Created Date", "datetime", "xsd:dateTime", 0, false, false, false, false, false, false, false);
+ fields1.add(sObjectField23);
+ final SObjectField sObjectField24 = createField("LastModifiedById", "Last Modified By ID", "reference", "tns:ID", 18, false, false, false, false, false, false, false);
+ fields1.add(sObjectField24);
+ final SObjectField sObjectField25 = createField("LastModifiedDate", "Last Modified Date", "datetime", "xsd:dateTime", 0, false, false, false, false, false, false, false);
+ fields1.add(sObjectField25);
+ final SObjectField sObjectField26 = createField("SystemModstamp", "System Modstamp", "datetime", "xsd:dateTime", 0, false, false, false, false, false, false, false);
+ fields1.add(sObjectField26);
+ final SObjectField sObjectField27 = createField("TagCsv", "Tags", "textarea", "xsd:string", 2000, false, true, false, false, false, false, false);
+ fields1.add(sObjectField27);
+ final SObjectField sObjectField28 = createField("FileType", "File Type", "string", "xsd:string", 20, false, false, false, false, false, false, false);
+ fields1.add(sObjectField28);
+ final SObjectField sObjectField29 = createField("PublishStatus", "Publish Status", "picklist", "xsd:string", 40, false, false, false, false, false, false, false);
+ fields1.add(sObjectField29);
+ final SObjectField sObjectField30 = createField("VersionData", "Version Data", "base64", "xsd:base64Binary", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField30);
+ final SObjectField sObjectField31 = createField("ContentSize", "Size", "int", "xsd:int", 0, false, true, false, false, false, false, false);
+ fields1.add(sObjectField31);
+ final SObjectField sObjectField32 = createField("FileExtension", "File Extension", "string", "xsd:string", 40, false, true, false, false, false, false, false);
+ fields1.add(sObjectField32);
+ final SObjectField sObjectField33 = createField("FirstPublishLocationId", "First Publish Location ID", "reference", "tns:ID", 18, false, true, false, false, false, false, false);
+ fields1.add(sObjectField33);
+ final SObjectField sObjectField34 = createField("Origin", "Content Origin", "picklist", "xsd:string", 40, false, false, false, false, false, false, false);
+ fields1.add(sObjectField34);
+ final SObjectField sObjectField35 = createField("ContentLocation", "Content Location", "picklist", "xsd:string", 40, false, false, false, false, false, false, false);
+ fields1.add(sObjectField35);
+ final SObjectField sObjectField36 = createField("TextPreview", "Text Preview", "string", "xsd:string", 255, false, true, false, false, false, false, false);
+ fields1.add(sObjectField36);
+ final SObjectField sObjectField37 = createField("ExternalDocumentInfo1", "External Document Info1", "string", "xsd:string", 1000, false, true, false, false, false, false, false);
+ fields1.add(sObjectField37);
+ final SObjectField sObjectField38 = createField("ExternalDocumentInfo2", "External Document Info2", "string", "xsd:string", 1000, false, true, false, false, false, false, false);
+ fields1.add(sObjectField38);
+ final SObjectField sObjectField39 = createField("ExternalDataSourceId", "External Data Source ID", "reference", "tns:ID", 18, false, true, false, false, false, false, false);
+ fields1.add(sObjectField39);
+ final SObjectField sObjectField40 = createField("Checksum", "Checksum", "string", "xsd:string", 50, false, true, false, false, false, false, false);
+ fields1.add(sObjectField40);
+ final SObjectField sObjectField41 = createField("IsMajorVersion", "Major Version", "boolean", "xsd:boolean", 0, false, false, false, false, false, false, false);
+ fields1.add(sObjectField41);
+ final SObjectField sObjectField42 = createField("IsAssetEnabled", "Asset File Enabled", "boolean", "xsd:boolean", 0, false, false, false, false, false, false, false);
+ fields1.add(sObjectField42);
+ final SObjectField sObjectField43 = createField("Sent_To_Jenzabar__c", "Sent To Jenzabar", "boolean", "xsd:boolean", 0, false, false, false, false, true, false, false);
+ fields1.add(sObjectField43);
+
+ description.setLabel("Content Version");
+ description.setLabelPlural("Content Versions");
+ description.setName("ContentVersion");
+
+ final SObjectDescriptionUrls sObjectDescriptionUrls1 = new SObjectDescriptionUrls();
+ sObjectDescriptionUrls1.setCompactLayouts("/services/data/v46.0/sobjects/ContentVersion/describe/compactLayouts");
+ sObjectDescriptionUrls1.setDescribe("/services/data/v46.0/sobjects/ContentVersion/describe");
+ sObjectDescriptionUrls1.setLayouts("/services/data/v46.0/sobjects/ContentVersion/describe/layouts");
+ sObjectDescriptionUrls1.setRowTemplate("/services/data/v46.0/sobjects/ContentVersion/{ID}");
+ sObjectDescriptionUrls1.setSobject("/services/data/v46.0/sobjects/ContentVersion");
+ sObjectDescriptionUrls1.setUiDetailTemplate("https://emuedu.my.salesforce.com/{ID}");
+ sObjectDescriptionUrls1.setUiEditTemplate("https://emuedu.my.salesforce.com/{ID}/e");
+ sObjectDescriptionUrls1.setUiNewRecord("https://emuedu.my.salesforce.com/068/e");
+ description.setUrls(sObjectDescriptionUrls1);
+
+ return description;
+ }
+}
diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/resources/camel-test-doc.pdf b/components/camel-salesforce/camel-salesforce-component/src/test/resources/camel-test-doc.pdf
new file mode 100644
index 00000000000..8e9b1d121da
Binary files /dev/null and b/components/camel-salesforce/camel-salesforce-component/src/test/resources/camel-test-doc.pdf differ