You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dh...@apache.org on 2015/04/06 22:37:58 UTC

[06/23] camel git commit: Added Salesforce component

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/GlobalObjects.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/GlobalObjects.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/GlobalObjects.java
new file mode 100644
index 0000000..302e54e
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/GlobalObjects.java
@@ -0,0 +1,57 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
+import java.util.List;
+
+@XStreamAlias("DescribeGlobal")
+public class GlobalObjects extends AbstractDTOBase {
+
+    private String encoding;
+    private Integer maxBatchSize;
+
+    @XStreamImplicit
+    private List<SObject> sobjects;
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    public Integer getMaxBatchSize() {
+        return maxBatchSize;
+    }
+
+    public void setMaxBatchSize(Integer maxBatchSize) {
+        this.maxBatchSize = maxBatchSize;
+    }
+
+    public List<SObject> getSobjects() {
+        return sobjects;
+    }
+
+    public void setSobjects(List<SObject> sobjects) {
+        this.sobjects = sobjects;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/PickListValue.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/PickListValue.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/PickListValue.java
new file mode 100644
index 0000000..7816848
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/PickListValue.java
@@ -0,0 +1,70 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+/**
+ * Salesforce DTO for picklist value.
+ */
+public class PickListValue {
+
+    private String value;
+    private String label;
+    private Boolean active;
+    private Boolean defaultValue;
+    private String validFor;
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public Boolean getActive() {
+        return active;
+    }
+
+    public void setActive(Boolean active) {
+        this.active = active;
+    }
+
+    public Boolean getDefaultValue() {
+        return defaultValue;
+    }
+
+    public void setDefaultValue(Boolean defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+
+    public String getValidFor() {
+        return validFor;
+    }
+
+    public void setValidFor(String validFor) {
+        this.validFor = validFor;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RecentItem.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RecentItem.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RecentItem.java
new file mode 100644
index 0000000..503c363
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RecentItem.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.component.salesforce.api.dto;
+
+import org.codehaus.jackson.annotate.JsonProperty;
+
+public class RecentItem extends AbstractDTOBase {
+
+    private Attributes attributes;
+
+    private String Id;
+
+    private String Name;
+
+    public Attributes getAttributes() {
+        return attributes;
+    }
+
+    public void setAttributes(Attributes attributes) {
+        this.attributes = attributes;
+    }
+
+    @JsonProperty("Id")
+    public String getId() {
+        return Id;
+    }
+
+    @JsonProperty("Id")
+    public void setId(String id) {
+        Id = id;
+    }
+
+    @JsonProperty("Name")
+    public String getName() {
+        return Name;
+    }
+
+    @JsonProperty("Name")
+    public void setName(String name) {
+        Name = name;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RecordTypeInfo.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RecordTypeInfo.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RecordTypeInfo.java
new file mode 100644
index 0000000..7b8d997
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RecordTypeInfo.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.component.salesforce.api.dto;
+
+public class RecordTypeInfo extends AbstractDTOBase {
+    private String name;
+    private Boolean available;
+    private String recordTypeId;
+    private Boolean defaultRecordTypeMapping;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Boolean isAvailable() {
+        return available;
+    }
+
+    public void setAvailable(Boolean available) {
+        this.available = available;
+    }
+
+    public String getRecordTypeId() {
+        return recordTypeId;
+    }
+
+    public void setRecordTypeId(String recordTypeId) {
+        this.recordTypeId = recordTypeId;
+    }
+
+    public Boolean isDefaultRecordTypeMapping() {
+        return defaultRecordTypeMapping;
+    }
+
+    public void setDefaultRecordTypeMapping(Boolean defaultRecordTypeMapping) {
+        this.defaultRecordTypeMapping = defaultRecordTypeMapping;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RestError.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RestError.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RestError.java
new file mode 100644
index 0000000..e155f05
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RestError.java
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
+import java.util.List;
+
+public class RestError extends AbstractDTOBase {
+    private String errorCode;
+    private String message;
+    @XStreamImplicit
+    private List<String> fields;
+
+    // default ctor for unmarshalling
+    public RestError() {
+        super();
+    }
+
+    public RestError(String errorCode, String message, List<String> fields) {
+        this(errorCode, message);
+        this.fields = fields;
+    }
+
+    public RestError(String errorCode, String message) {
+        this.errorCode = errorCode;
+        this.message = message;
+    }
+
+    public String getErrorCode() {
+        return errorCode;
+    }
+
+    public void setErrorCode(String errorCode) {
+        this.errorCode = errorCode;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public List<String> getFields() {
+        return fields;
+    }
+
+    public void setFields(List<String> fields) {
+        this.fields = fields;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RestResources.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RestResources.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RestResources.java
new file mode 100644
index 0000000..9e7c644
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/RestResources.java
@@ -0,0 +1,100 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+/**
+ * DTO for Salesforce Resources.
+ */
+@XStreamAlias("urls")
+public class RestResources extends AbstractDTOBase {
+
+    private String sobjects;
+    private String identity;
+    private String connect;
+    private String search;
+    private String query;
+    private String chatter;
+    private String recent;
+    private String tooling;
+
+    public String getSobjects() {
+        return sobjects;
+    }
+
+    public void setSobjects(String sobjects) {
+        this.sobjects = sobjects;
+    }
+
+    public String getIdentity() {
+        return identity;
+    }
+
+    public void setIdentity(String identity) {
+        this.identity = identity;
+    }
+
+    public String getConnect() {
+        return connect;
+    }
+
+    public void setConnect(String connect) {
+        this.connect = connect;
+    }
+
+    public String getSearch() {
+        return search;
+    }
+
+    public void setSearch(String search) {
+        this.search = search;
+    }
+
+    public String getQuery() {
+        return query;
+    }
+
+    public void setQuery(String query) {
+        this.query = query;
+    }
+
+    public String getChatter() {
+        return chatter;
+    }
+
+    public void setChatter(String chatter) {
+        this.chatter = chatter;
+    }
+
+    public String getRecent() {
+        return recent;
+    }
+
+    public void setRecent(String recent) {
+        this.recent = recent;
+    }
+
+    public String getTooling() {
+        return tooling;
+    }
+
+    public void setTooling(String tooling) {
+        this.tooling = tooling;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObject.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObject.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObject.java
new file mode 100644
index 0000000..0ad6962
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObject.java
@@ -0,0 +1,237 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+public class SObject extends AbstractDTOBase {
+    private String name;
+    private String label;
+    private Boolean updateable;
+    private String keyPrefix;
+    private Boolean custom;
+    private SObjectUrls urls;
+    private Boolean searchable;
+    private String labelPlural;
+    private Boolean layoutable;
+    private Boolean activateable;
+    private Boolean createable;
+    private Boolean deprecatedAndHidden;
+    private Boolean deletable;
+    private Boolean customSetting;
+    private Boolean feedEnabled;
+    private String listviewable;
+    private String lookupLayoutable;
+    private Boolean mergeable;
+    private Boolean queryable;
+    private Boolean replicateable;
+    private Boolean retrieveable;
+    private String searchLayoutable;
+    private Boolean undeletable;
+    private Boolean triggerable;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public Boolean isUpdateable() {
+        return updateable;
+    }
+
+    public void setUpdateable(Boolean updateable) {
+        this.updateable = updateable;
+    }
+
+    public String getKeyPrefix() {
+        return keyPrefix;
+    }
+
+    public void setKeyPrefix(String keyPrefix) {
+        this.keyPrefix = keyPrefix;
+    }
+
+    public Boolean isCustom() {
+        return custom;
+    }
+
+    public void setCustom(Boolean custom) {
+        this.custom = custom;
+    }
+
+    public SObjectUrls getUrls() {
+        return urls;
+    }
+
+    public void setUrls(SObjectUrls urls) {
+        this.urls = urls;
+    }
+
+    public Boolean isSearchable() {
+        return searchable;
+    }
+
+    public void setSearchable(Boolean searchable) {
+        this.searchable = searchable;
+    }
+
+    public String getLabelPlural() {
+        return labelPlural;
+    }
+
+    public void setLabelPlural(String labelPlural) {
+        this.labelPlural = labelPlural;
+    }
+
+    public Boolean isLayoutable() {
+        return layoutable;
+    }
+
+    public void setLayoutable(Boolean layoutable) {
+        this.layoutable = layoutable;
+    }
+
+    public Boolean isActivateable() {
+        return activateable;
+    }
+
+    public void setActivateable(Boolean activateable) {
+        this.activateable = activateable;
+    }
+
+    public Boolean isCreateable() {
+        return createable;
+    }
+
+    public void setCreateable(Boolean createable) {
+        this.createable = createable;
+    }
+
+    public Boolean isDeprecatedAndHidden() {
+        return deprecatedAndHidden;
+    }
+
+    public void setDeprecatedAndHidden(Boolean deprecatedAndHidden) {
+        this.deprecatedAndHidden = deprecatedAndHidden;
+    }
+
+    public Boolean isDeletable() {
+        return deletable;
+    }
+
+    public void setDeletable(Boolean deletable) {
+        this.deletable = deletable;
+    }
+
+    public Boolean isCustomSetting() {
+        return customSetting;
+    }
+
+    public void setCustomSetting(Boolean customSetting) {
+        this.customSetting = customSetting;
+    }
+
+    public Boolean isFeedEnabled() {
+        return feedEnabled;
+    }
+
+    public void setFeedEnabled(Boolean feedEnabled) {
+        this.feedEnabled = feedEnabled;
+    }
+
+    public String getListviewable() {
+        return listviewable;
+    }
+
+    public void setListviewable(String listviewable) {
+        this.listviewable = listviewable;
+    }
+
+    public String getLookupLayoutable() {
+        return lookupLayoutable;
+    }
+
+    public void setLookupLayoutable(String lookupLayoutable) {
+        this.lookupLayoutable = lookupLayoutable;
+    }
+
+    public Boolean isMergeable() {
+        return mergeable;
+    }
+
+    public void setMergeable(Boolean mergeable) {
+        this.mergeable = mergeable;
+    }
+
+    public Boolean isQueryable() {
+        return queryable;
+    }
+
+    public void setQueryable(Boolean queryable) {
+        this.queryable = queryable;
+    }
+
+    public Boolean isReplicateable() {
+        return replicateable;
+    }
+
+    public void setReplicateable(Boolean replicateable) {
+        this.replicateable = replicateable;
+    }
+
+    public Boolean isRetrieveable() {
+        return retrieveable;
+    }
+
+    public void setRetrieveable(Boolean retrieveable) {
+        this.retrieveable = retrieveable;
+    }
+
+    public String getSearchLayoutable() {
+        return searchLayoutable;
+    }
+
+    public void setSearchLayoutable(String searchLayoutable) {
+        this.searchLayoutable = searchLayoutable;
+    }
+
+    public Boolean isUndeletable() {
+        return undeletable;
+    }
+
+    public void setUndeletable(Boolean undeletable) {
+        this.undeletable = undeletable;
+    }
+
+    public Boolean isTriggerable() {
+        return triggerable;
+    }
+
+    public void setTriggerable(Boolean triggerable) {
+        this.triggerable = triggerable;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectBasicInfo.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectBasicInfo.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectBasicInfo.java
new file mode 100644
index 0000000..b31708c
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectBasicInfo.java
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
+import java.util.List;
+
+public class SObjectBasicInfo extends AbstractDTOBase {
+
+    private SObject objectDescribe;
+
+    @XStreamImplicit
+    private List<RecentItem> recentItems;
+
+    public SObject getObjectDescribe() {
+        return objectDescribe;
+    }
+
+    public void setObjectDescribe(SObject objectDescribe) {
+        this.objectDescribe = objectDescribe;
+    }
+
+    public List<RecentItem> getRecentItems() {
+        return recentItems;
+    }
+
+    public void setRecentItems(List<RecentItem> recentItems) {
+        this.recentItems = recentItems;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectDescription.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectDescription.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectDescription.java
new file mode 100644
index 0000000..5177f4a
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectDescription.java
@@ -0,0 +1,67 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
+import java.util.List;
+
+public class SObjectDescription extends SObject {
+
+    @XStreamImplicit
+    private List<SObjectField> fields;
+
+    private SObjectDescriptionUrls urls;
+
+    @XStreamImplicit
+    private List<ChildRelationShip> childRelationships;
+
+    @XStreamImplicit
+    private List<RecordTypeInfo> recordTypeInfos;
+
+    public List<SObjectField> getFields() {
+        return fields;
+    }
+
+    public void setFields(List<SObjectField> fields) {
+        this.fields = fields;
+    }
+
+    public SObjectDescriptionUrls getUrls() {
+        return urls;
+    }
+
+    public void setUrls(SObjectDescriptionUrls urls) {
+        this.urls = urls;
+    }
+
+    public List<ChildRelationShip> getChildRelationships() {
+        return childRelationships;
+    }
+
+    public void setChildRelationships(List<ChildRelationShip> childRelationships) {
+        this.childRelationships = childRelationships;
+    }
+
+    public List<RecordTypeInfo> getRecordTypeInfos() {
+        return recordTypeInfos;
+    }
+
+    public void setRecordTypeInfos(List<RecordTypeInfo> recordTypeInfos) {
+        this.recordTypeInfos = recordTypeInfos;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectDescriptionUrls.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectDescriptionUrls.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectDescriptionUrls.java
new file mode 100644
index 0000000..3fe7503
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectDescriptionUrls.java
@@ -0,0 +1,47 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+public class SObjectDescriptionUrls extends SObjectUrls {
+    private String uiEditTemplate;
+    private String uiDetailTemplate;
+    private String uiNewRecord;
+
+    public String getUiEditTemplate() {
+        return uiEditTemplate;
+    }
+
+    public void setUiEditTemplate(String uiEditTemplate) {
+        this.uiEditTemplate = uiEditTemplate;
+    }
+
+    public String getUiDetailTemplate() {
+        return uiDetailTemplate;
+    }
+
+    public void setUiDetailTemplate(String uiDetailTemplate) {
+        this.uiDetailTemplate = uiDetailTemplate;
+    }
+
+    public String getUiNewRecord() {
+        return uiNewRecord;
+    }
+
+    public void setUiNewRecord(String uiNewRecord) {
+        this.uiNewRecord = uiNewRecord;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectField.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectField.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectField.java
new file mode 100644
index 0000000..379365d
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectField.java
@@ -0,0 +1,414 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
+import java.util.List;
+
+public class SObjectField extends AbstractDTOBase {
+
+    private Integer length;
+    private String name;
+    private String type;
+    private String defaultValue;
+    private String label;
+    private Boolean updateable;
+    private Boolean calculated;
+    private Boolean caseSensitive;
+    private String controllerName;
+    private Boolean unique;
+    private Boolean nillable;
+    private Integer precision;
+    private Integer scale;
+    private Integer byteLength;
+    private Boolean nameField;
+    private Boolean sortable;
+    private Boolean filterable;
+    private Boolean writeRequiresMasterRead;
+    private Boolean externalId;
+    private Boolean idLookup;
+    private String inlineHelpText;
+    private Boolean createable;
+    private String soapType;
+    private Boolean autoNumber;
+    private Boolean restrictedPicklist;
+    private Boolean namePointing;
+    private Boolean custom;
+    private Boolean defaultedOnCreate;
+    private Boolean deprecatedAndHidden;
+    private Boolean htmlFormatted;
+    private String defaultValueFormula;
+    private String calculatedFormula;
+    @XStreamImplicit
+    private List<PickListValue> picklistValues;
+    private Boolean dependentPicklist;
+    @XStreamImplicit
+    private List<String> referenceTo;
+    private String relationshipName;
+    private String relationshipOrder;
+    private Boolean cascadeDelete;
+    private Boolean restrictedDelete;
+    private String digits;
+    private Boolean groupable;
+    private Boolean permissionable;
+    private Boolean displayLocationInDecimal;
+
+    public Integer getLength() {
+        return length;
+    }
+
+    public void setLength(Integer length) {
+        this.length = length;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getDefaultValue() {
+        return defaultValue;
+    }
+
+    public void setDefaultValue(String defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public Boolean isUpdateable() {
+        return updateable;
+    }
+
+    public void setUpdateable(Boolean updateable) {
+        this.updateable = updateable;
+    }
+
+    public Boolean isCalculated() {
+        return calculated;
+    }
+
+    public void setCalculated(Boolean calculated) {
+        this.calculated = calculated;
+    }
+
+    public Boolean isCaseSensitive() {
+        return caseSensitive;
+    }
+
+    public void setCaseSensitive(Boolean caseSensitive) {
+        this.caseSensitive = caseSensitive;
+    }
+
+    public String getControllerName() {
+        return controllerName;
+    }
+
+    public void setControllerName(String controllerName) {
+        this.controllerName = controllerName;
+    }
+
+    public Boolean isUnique() {
+        return unique;
+    }
+
+    public void setUnique(Boolean unique) {
+        this.unique = unique;
+    }
+
+    public Boolean isNillable() {
+        return nillable;
+    }
+
+    public void setNillable(Boolean nillable) {
+        this.nillable = nillable;
+    }
+
+    public Integer getPrecision() {
+        return precision;
+    }
+
+    public void setPrecision(Integer precision) {
+        this.precision = precision;
+    }
+
+    public Integer getScale() {
+        return scale;
+    }
+
+    public void setScale(Integer scale) {
+        this.scale = scale;
+    }
+
+    public Integer getByteLength() {
+        return byteLength;
+    }
+
+    public void setByteLength(Integer byteLength) {
+        this.byteLength = byteLength;
+    }
+
+    public Boolean isNameField() {
+        return nameField;
+    }
+
+    public void setNameField(Boolean nameField) {
+        this.nameField = nameField;
+    }
+
+    public Boolean isSortable() {
+        return sortable;
+    }
+
+    public void setSortable(Boolean sortable) {
+        this.sortable = sortable;
+    }
+
+    public Boolean isFilterable() {
+        return filterable;
+    }
+
+    public void setFilterable(Boolean filterable) {
+        this.filterable = filterable;
+    }
+
+    public Boolean isWriteRequiresMasterRead() {
+        return writeRequiresMasterRead;
+    }
+
+    public void setWriteRequiresMasterRead(Boolean writeRequiresMasterRead) {
+        this.writeRequiresMasterRead = writeRequiresMasterRead;
+    }
+
+    public Boolean isExternalId() {
+        return externalId;
+    }
+
+    public void setExternalId(Boolean externalId) {
+        this.externalId = externalId;
+    }
+
+    public Boolean isIdLookup() {
+        return idLookup;
+    }
+
+    public void setIdLookup(Boolean idLookup) {
+        this.idLookup = idLookup;
+    }
+
+    public String getInlineHelpText() {
+        return inlineHelpText;
+    }
+
+    public void setInlineHelpText(String inlineHelpText) {
+        this.inlineHelpText = inlineHelpText;
+    }
+
+    public Boolean isCreateable() {
+        return createable;
+    }
+
+    public void setCreateable(Boolean createable) {
+        this.createable = createable;
+    }
+
+    public String getSoapType() {
+        return soapType;
+    }
+
+    public void setSoapType(String soapType) {
+        this.soapType = soapType;
+    }
+
+    public Boolean isAutoNumber() {
+        return autoNumber;
+    }
+
+    public void setAutoNumber(Boolean autoNumber) {
+        this.autoNumber = autoNumber;
+    }
+
+    public Boolean isRestrictedPicklist() {
+        return restrictedPicklist;
+    }
+
+    public void setRestrictedPicklist(Boolean restrictedPicklist) {
+        this.restrictedPicklist = restrictedPicklist;
+    }
+
+    public Boolean isNamePointing() {
+        return namePointing;
+    }
+
+    public void setNamePointing(Boolean namePointing) {
+        this.namePointing = namePointing;
+    }
+
+    public Boolean isCustom() {
+        return custom;
+    }
+
+    public void setCustom(Boolean custom) {
+        this.custom = custom;
+    }
+
+    public Boolean isDefaultedOnCreate() {
+        return defaultedOnCreate;
+    }
+
+    public void setDefaultedOnCreate(Boolean defaultedOnCreate) {
+        this.defaultedOnCreate = defaultedOnCreate;
+    }
+
+    public Boolean isDeprecatedAndHidden() {
+        return deprecatedAndHidden;
+    }
+
+    public void setDeprecatedAndHidden(Boolean deprecatedAndHidden) {
+        this.deprecatedAndHidden = deprecatedAndHidden;
+    }
+
+    public Boolean isHtmlFormatted() {
+        return htmlFormatted;
+    }
+
+    public void setHtmlFormatted(Boolean htmlFormatted) {
+        this.htmlFormatted = htmlFormatted;
+    }
+
+    public String getDefaultValueFormula() {
+        return defaultValueFormula;
+    }
+
+    public void setDefaultValueFormula(String defaultValueFormula) {
+        this.defaultValueFormula = defaultValueFormula;
+    }
+
+    public String getCalculatedFormula() {
+        return calculatedFormula;
+    }
+
+    public void setCalculatedFormula(String calculatedFormula) {
+        this.calculatedFormula = calculatedFormula;
+    }
+
+    public List<PickListValue> getPicklistValues() {
+        return picklistValues;
+    }
+
+    public void setPicklistValues(List<PickListValue> picklistValues) {
+        this.picklistValues = picklistValues;
+    }
+
+    public Boolean isDependentPicklist() {
+        return dependentPicklist;
+    }
+
+    public void setDependentPicklist(Boolean dependentPicklist) {
+        this.dependentPicklist = dependentPicklist;
+    }
+
+    public List<String> getReferenceTo() {
+        return referenceTo;
+    }
+
+    public void setReferenceTo(List<String> referenceTo) {
+        this.referenceTo = referenceTo;
+    }
+
+    public String getRelationshipName() {
+        return relationshipName;
+    }
+
+    public void setRelationshipName(String relationshipName) {
+        this.relationshipName = relationshipName;
+    }
+
+    public String getRelationshipOrder() {
+        return relationshipOrder;
+    }
+
+    public void setRelationshipOrder(String relationshipOrder) {
+        this.relationshipOrder = relationshipOrder;
+    }
+
+    public Boolean isCascadeDelete() {
+        return cascadeDelete;
+    }
+
+    public void setCascadeDelete(Boolean cascadeDelete) {
+        this.cascadeDelete = cascadeDelete;
+    }
+
+    public Boolean isRestrictedDelete() {
+        return restrictedDelete;
+    }
+
+    public void setRestrictedDelete(Boolean restrictedDelete) {
+        this.restrictedDelete = restrictedDelete;
+    }
+
+    public String getDigits() {
+        return digits;
+    }
+
+    public void setDigits(String digits) {
+        this.digits = digits;
+    }
+
+    public Boolean isGroupable() {
+        return groupable;
+    }
+
+    public void setGroupable(Boolean groupable) {
+        this.groupable = groupable;
+    }
+
+    public Boolean isPermissionable() {
+        return permissionable;
+    }
+
+    public void setPermissionable(Boolean permissionable) {
+        this.permissionable = permissionable;
+    }
+
+    public Boolean isDisplayLocationInDecimal() {
+        return displayLocationInDecimal;
+    }
+
+    public void setDisplayLocationInDecimal(Boolean displayLocationInDecimal) {
+        this.displayLocationInDecimal = displayLocationInDecimal;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectUrls.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectUrls.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectUrls.java
new file mode 100644
index 0000000..14b2f06
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SObjectUrls.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.component.salesforce.api.dto;
+
+public class SObjectUrls extends AbstractDTOBase {
+    private String sobject;
+    private String describe;
+    private String rowTemplate;
+    private String passwordUtilities;
+
+    public String getSobject() {
+        return sobject;
+    }
+
+    public void setSobject(String sobject) {
+        this.sobject = sobject;
+    }
+
+    public String getDescribe() {
+        return describe;
+    }
+
+    public void setDescribe(String describe) {
+        this.describe = describe;
+    }
+
+    public String getRowTemplate() {
+        return rowTemplate;
+    }
+
+    public void setRowTemplate(String rowTemplate) {
+        this.rowTemplate = rowTemplate;
+    }
+
+    public String getPasswordUtilities() {
+        return passwordUtilities;
+    }
+
+    public void setPasswordUtilities(String passwordUtilities) {
+        this.passwordUtilities = passwordUtilities;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SearchResult.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SearchResult.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SearchResult.java
new file mode 100644
index 0000000..d6fb673
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SearchResult.java
@@ -0,0 +1,49 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.codehaus.jackson.annotate.JsonProperty;
+
+/**
+ * DTO for Salesforce SOSL Search result record.
+ */
+@XStreamAlias("SearchResult")
+public final class SearchResult extends AbstractDTOBase {
+
+    private Attributes attributes;
+    private String Id;
+
+    public Attributes getAttributes() {
+        return attributes;
+    }
+
+    public void setAttributes(Attributes attributes) {
+        this.attributes = attributes;
+    }
+
+    @JsonProperty("Id")
+    public String getId() {
+        return Id;
+    }
+
+    @JsonProperty("Id")
+    public void setId(String id) {
+        Id = id;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SearchResults.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SearchResults.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SearchResults.java
new file mode 100644
index 0000000..18fb680
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/SearchResults.java
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
+import java.util.List;
+
+/**
+ * DTO for Salesforce SOSL Search results.
+ */
+@XStreamAlias("SearchResults")
+public final class SearchResults extends AbstractDTOBase {
+
+    @XStreamImplicit(itemFieldName = "SearchResult")
+    private List<SearchResult> results;
+
+    public List<SearchResult> getResults() {
+        return results;
+    }
+
+    public void setResults(List<SearchResult> results) {
+        this.results = results;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Version.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Version.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Version.java
new file mode 100644
index 0000000..08e4031
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Version.java
@@ -0,0 +1,52 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+/**
+ * DTO for Salesforce version API
+ */
+public class Version extends AbstractDTOBase {
+
+    private String label;
+    private String url;
+    private String version;
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Versions.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Versions.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Versions.java
new file mode 100644
index 0000000..1349eb8
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Versions.java
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+
+import java.util.List;
+
+/**
+ * DTO for Salesforce versions
+ */
+@XStreamAlias("Versions")
+public class Versions extends AbstractDTOBase {
+
+    @XStreamImplicit(itemFieldName = "Version")
+    private List<Version> versions;
+
+    public List<Version> getVersions() {
+        return versions;
+    }
+
+    public void setVersions(List<Version> versions) {
+        this.versions = versions;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchInfo.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchInfo.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchInfo.java
new file mode 100644
index 0000000..2a78b22
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchInfo.java
@@ -0,0 +1,342 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.*;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for BatchInfo complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="BatchInfo">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="jobId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="state" type="{http://www.force.com/2009/06/asyncapi/dataload}BatchStateEnum"/>
+ *         &lt;element name="stateMessage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="createdDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ *         &lt;element name="systemModstamp" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         &lt;element name="numberRecordsProcessed" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         &lt;element name="numberRecordsFailed" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
+ *         &lt;element name="totalProcessingTime" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
+ *         &lt;element name="apiActiveProcessingTime" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
+ *         &lt;element name="apexProcessingTime" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BatchInfo", propOrder = {
+    "id",
+    "jobId",
+    "state",
+    "stateMessage",
+    "createdDate",
+    "systemModstamp",
+    "numberRecordsProcessed",
+    "numberRecordsFailed",
+    "totalProcessingTime",
+    "apiActiveProcessingTime",
+    "apexProcessingTime"
+})
+public class BatchInfo {
+
+    @XmlElement(required = true)
+    protected String id;
+    @XmlElement(required = true)
+    protected String jobId;
+    @XmlElement(required = true)
+    protected BatchStateEnum state;
+    protected String stateMessage;
+    @XmlElement(required = true)
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar createdDate;
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar systemModstamp;
+    protected int numberRecordsProcessed;
+    protected Integer numberRecordsFailed;
+    protected Long totalProcessingTime;
+    protected Long apiActiveProcessingTime;
+    protected Long apexProcessingTime;
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the jobId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getJobId() {
+        return jobId;
+    }
+
+    /**
+     * Sets the value of the jobId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setJobId(String value) {
+        this.jobId = value;
+    }
+
+    /**
+     * Gets the value of the state property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BatchStateEnum }
+     *
+     */
+    public BatchStateEnum getState() {
+        return state;
+    }
+
+    /**
+     * Sets the value of the state property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link BatchStateEnum }
+     *
+     */
+    public void setState(BatchStateEnum value) {
+        this.state = value;
+    }
+
+    /**
+     * Gets the value of the stateMessage property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
+     */
+    public String getStateMessage() {
+        return stateMessage;
+    }
+
+    /**
+     * Sets the value of the stateMessage property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setStateMessage(String value) {
+        this.stateMessage = value;
+    }
+
+    /**
+     * Gets the value of the createdDate property.
+     *
+     * @return
+     *     possible object is
+     *     {@link javax.xml.datatype.XMLGregorianCalendar }
+     *
+     */
+    public XMLGregorianCalendar getCreatedDate() {
+        return createdDate;
+    }
+
+    /**
+     * Sets the value of the createdDate property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link javax.xml.datatype.XMLGregorianCalendar }
+     *
+     */
+    public void setCreatedDate(XMLGregorianCalendar value) {
+        this.createdDate = value;
+    }
+
+    /**
+     * Gets the value of the systemModstamp property.
+     *
+     * @return
+     *     possible object is
+     *     {@link javax.xml.datatype.XMLGregorianCalendar }
+     *
+     */
+    public XMLGregorianCalendar getSystemModstamp() {
+        return systemModstamp;
+    }
+
+    /**
+     * Sets the value of the systemModstamp property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link javax.xml.datatype.XMLGregorianCalendar }
+     *     
+     */
+    public void setSystemModstamp(XMLGregorianCalendar value) {
+        this.systemModstamp = value;
+    }
+
+    /**
+     * Gets the value of the numberRecordsProcessed property.
+     * 
+     */
+    public int getNumberRecordsProcessed() {
+        return numberRecordsProcessed;
+    }
+
+    /**
+     * Sets the value of the numberRecordsProcessed property.
+     * 
+     */
+    public void setNumberRecordsProcessed(int value) {
+        this.numberRecordsProcessed = value;
+    }
+
+    /**
+     * Gets the value of the numberRecordsFailed property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public Integer getNumberRecordsFailed() {
+        return numberRecordsFailed;
+    }
+
+    /**
+     * Sets the value of the numberRecordsFailed property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setNumberRecordsFailed(Integer value) {
+        this.numberRecordsFailed = value;
+    }
+
+    /**
+     * Gets the value of the totalProcessingTime property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Long }
+     *     
+     */
+    public Long getTotalProcessingTime() {
+        return totalProcessingTime;
+    }
+
+    /**
+     * Sets the value of the totalProcessingTime property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Long }
+     *     
+     */
+    public void setTotalProcessingTime(Long value) {
+        this.totalProcessingTime = value;
+    }
+
+    /**
+     * Gets the value of the apiActiveProcessingTime property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Long }
+     *     
+     */
+    public Long getApiActiveProcessingTime() {
+        return apiActiveProcessingTime;
+    }
+
+    /**
+     * Sets the value of the apiActiveProcessingTime property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Long }
+     *     
+     */
+    public void setApiActiveProcessingTime(Long value) {
+        this.apiActiveProcessingTime = value;
+    }
+
+    /**
+     * Gets the value of the apexProcessingTime property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Long }
+     *     
+     */
+    public Long getApexProcessingTime() {
+        return apexProcessingTime;
+    }
+
+    /**
+     * Sets the value of the apexProcessingTime property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Long }
+     *     
+     */
+    public void setApexProcessingTime(Long value) {
+        this.apexProcessingTime = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchInfoList.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchInfoList.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchInfoList.java
new file mode 100644
index 0000000..de73632
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchInfoList.java
@@ -0,0 +1,82 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * <p>Java class for BatchInfoList complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="BatchInfoList">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="batchInfo" type="{http://www.force.com/2009/06/asyncapi/dataload}BatchInfo" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BatchInfoList", propOrder = {
+    "batchInfo"
+})
+public class BatchInfoList {
+
+    protected List<BatchInfo> batchInfo;
+
+    /**
+     * Gets the value of the batchInfo property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the batchInfo property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getBatchInfo().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link BatchInfo }
+     * 
+     * 
+     */
+    public List<BatchInfo> getBatchInfo() {
+        if (batchInfo == null) {
+            batchInfo = new ArrayList<BatchInfo>();
+        }
+        return this.batchInfo;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchResult.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchResult.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchResult.java
new file mode 100644
index 0000000..f7a7f72
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchResult.java
@@ -0,0 +1,82 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * <p>Java class for BatchResult complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="BatchResult">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="result" type="{http://www.force.com/2009/06/asyncapi/dataload}Result" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BatchResult", propOrder = {
+    "result"
+})
+public class BatchResult {
+
+    protected List<Result> result;
+
+    /**
+     * Gets the value of the result property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the result property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getResult().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link Result }
+     * 
+     * 
+     */
+    public List<Result> getResult() {
+        if (result == null) {
+            result = new ArrayList<Result>();
+        }
+        return this.result;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchStateEnum.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchStateEnum.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchStateEnum.java
new file mode 100644
index 0000000..1914ec0
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/BatchStateEnum.java
@@ -0,0 +1,75 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for BatchStateEnum.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="BatchStateEnum">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="Queued"/>
+ *     &lt;enumeration value="InProgress"/>
+ *     &lt;enumeration value="Completed"/>
+ *     &lt;enumeration value="Failed"/>
+ *     &lt;enumeration value="NotProcessed"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "BatchStateEnum")
+@XmlEnum
+public enum BatchStateEnum {
+
+    @XmlEnumValue("Queued")
+    QUEUED("Queued"),
+    @XmlEnumValue("InProgress")
+    IN_PROGRESS("InProgress"),
+    @XmlEnumValue("Completed")
+    COMPLETED("Completed"),
+    @XmlEnumValue("Failed")
+    FAILED("Failed"),
+    @XmlEnumValue("NotProcessed")
+    NOT_PROCESSED("NotProcessed");
+    private final String value;
+
+    BatchStateEnum(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static BatchStateEnum fromValue(String v) {
+        for (BatchStateEnum c: BatchStateEnum.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ConcurrencyModeEnum.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ConcurrencyModeEnum.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ConcurrencyModeEnum.java
new file mode 100644
index 0000000..879bb37
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ConcurrencyModeEnum.java
@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ConcurrencyModeEnum.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="ConcurrencyModeEnum">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="Parallel"/>
+ *     &lt;enumeration value="Serial"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "ConcurrencyModeEnum")
+@XmlEnum
+public enum ConcurrencyModeEnum {
+
+    @XmlEnumValue("Parallel")
+    PARALLEL("Parallel"),
+    @XmlEnumValue("Serial")
+    SERIAL("Serial");
+    private final String value;
+
+    ConcurrencyModeEnum(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static ConcurrencyModeEnum fromValue(String v) {
+        for (ConcurrencyModeEnum c: ConcurrencyModeEnum.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ContentType.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ContentType.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ContentType.java
new file mode 100644
index 0000000..1a3c75e
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/ContentType.java
@@ -0,0 +1,57 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ContentType.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="ContentType">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     &lt;enumeration value="XML"/>
+ *     &lt;enumeration value="CSV"/>
+ *     &lt;enumeration value="ZIP_XML"/>
+ *     &lt;enumeration value="ZIP_CSV"/>
+ *   &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ * 
+ */
+@XmlType(name = "ContentType")
+@XmlEnum
+public enum ContentType {
+
+    XML,
+    CSV,
+    ZIP_XML,
+    ZIP_CSV;
+
+    public String value() {
+        return name();
+    }
+
+    public static ContentType fromValue(String v) {
+        return valueOf(v);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/72a1767e/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/Error.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/Error.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/Error.java
new file mode 100644
index 0000000..4a06fbb
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/Error.java
@@ -0,0 +1,105 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.salesforce.api.dto.bulk;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for Error complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="Error">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="exceptionCode" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="exceptionMessage" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Error", propOrder = {
+    "exceptionCode",
+    "exceptionMessage"
+})
+public class Error {
+
+    @XmlElement(required = true)
+    protected String exceptionCode;
+    @XmlElement(required = true)
+    protected String exceptionMessage;
+
+    /**
+     * Gets the value of the exceptionCode property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getExceptionCode() {
+        return exceptionCode;
+    }
+
+    /**
+     * Sets the value of the exceptionCode property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setExceptionCode(String value) {
+        this.exceptionCode = value;
+    }
+
+    /**
+     * Gets the value of the exceptionMessage property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getExceptionMessage() {
+        return exceptionMessage;
+    }
+
+    /**
+     * Sets the value of the exceptionMessage property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setExceptionMessage(String value) {
+        this.exceptionMessage = value;
+    }
+
+}