This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit d7240892702b0eff3e35f023ff4fd41e5c6304a7 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Fri Aug 30 13:06:22 2019 +0200 Fixed CS for Camel-Salesforce --- .../component/salesforce/SalesforceEndpoint.java | 35 +++---- .../salesforce/api/FieldsToNullPropertyFilter.java | 10 +- .../component/salesforce/api/dto/Attributes.java | 4 +- .../camel/component/salesforce/api/dto/Limits.java | 13 ++- .../salesforce/api/dto/bulk/StatusCode.java | 82 ++++++++-------- .../component/salesforce/api/utils/JsonUtils.java | 8 +- .../salesforce/RestApiIntegrationTest.java | 14 +-- .../api/MultiSelectPicklistJsonTest.java | 4 +- .../api/dto/composite/SObjectBatchTest.java | 105 +++------------------ .../api/dto/composite/SObjectTreeTest.java | 60 ++---------- .../component/salesforce/dto/generated/Task.java | 1 - .../camel/maven/CamelSalesforceMojoOutputTest.java | 25 ++--- 12 files changed, 118 insertions(+), 243 deletions(-) diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceEndpoint.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceEndpoint.java index 163efce..95fa812 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceEndpoint.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceEndpoint.java @@ -29,18 +29,19 @@ import org.apache.camel.support.SynchronousDelegateProducer; import org.eclipse.jetty.client.HttpClient; /** - * The salesforce component is used for integrating Camel with the massive Salesforce API. + * The salesforce component is used for integrating Camel with the massive + * Salesforce API. */ @UriEndpoint(firstVersion = "2.12.0", scheme = "salesforce", title = "Salesforce", syntax = "salesforce:operationName:topicName", label = "api,cloud,crm") public class SalesforceEndpoint extends DefaultEndpoint { @UriPath(label = "producer", description = "The operation to use", enums = "getVersions,getResources," - + "getGlobalObjects,getBasicInfo,getDescription,getSObject,createSObject,updateSObject,deleteSObject," - + "getSObjectWithId,upsertSObject,deleteSObjectWithId,getBlobField,query,queryMore,queryAll,search,apexCall," - + "recent,createJob,getJob,closeJob,abortJob,createBatch,getBatch,getAllBatches,getRequest,getResults," - + "createBatchQuery,getQueryResultIds,getQueryResult,getRecentReports,getReportDescription,executeSyncReport," - + "executeAsyncReport,getReportInstances,getReportResults,limits,approval,approvals,composite-tree," - + "composite-batch,composite") + + "getGlobalObjects,getBasicInfo,getDescription,getSObject,createSObject,updateSObject,deleteSObject," + + "getSObjectWithId,upsertSObject,deleteSObjectWithId,getBlobField,query,queryMore,queryAll,search,apexCall," + + "recent,createJob,getJob,closeJob,abortJob,createBatch,getBatch,getAllBatches,getRequest,getResults," + + "createBatchQuery,getQueryResultIds,getQueryResult,getRecentReports,getReportDescription,executeSyncReport," + + "executeAsyncReport,getReportInstances,getReportResults,limits,approval,approvals,composite-tree," + + "composite-batch,composite") private final OperationName operationName; @UriPath(label = "consumer", description = "The name of the topic/channel to use") private final String topicName; @@ -50,8 +51,7 @@ public class SalesforceEndpoint extends DefaultEndpoint { @UriParam(label = "consumer", description = "The replayId value to use when subscribing") private Long replayId; - public SalesforceEndpoint(String uri, SalesforceComponent salesforceComponent, - SalesforceEndpointConfig configuration, OperationName operationName, String topicName) { + public SalesforceEndpoint(String uri, SalesforceComponent salesforceComponent, SalesforceEndpointConfig configuration, OperationName operationName, String topicName) { super(uri, salesforceComponent); this.configuration = configuration; @@ -61,7 +61,8 @@ public class SalesforceEndpoint extends DefaultEndpoint { @Override public Producer createProducer() throws Exception { - // producer requires an operation, topicName must be the invalid operation name + // producer requires an operation, topicName must be the invalid + // operation name if (operationName == null) { throw new IllegalArgumentException(String.format("Invalid Operation %s", topicName)); } @@ -76,10 +77,10 @@ public class SalesforceEndpoint extends DefaultEndpoint { @Override public Consumer createConsumer(Processor processor) throws Exception { - // consumer requires a topicName, operation name must be the invalid topic name + // consumer requires a topicName, operation name must be the invalid + // topic name if (topicName == null) { - throw new IllegalArgumentException(String.format("Invalid topic name %s, matches a producer operation name", - operationName.value())); + throw new IllegalArgumentException(String.format("Invalid topic name %s, matches a producer operation name", operationName.value())); } final SubscriptionHelper subscriptionHelper = getComponent().getSubscriptionHelper(); @@ -90,7 +91,7 @@ public class SalesforceEndpoint extends DefaultEndpoint { @Override public SalesforceComponent getComponent() { - return (SalesforceComponent) super.getComponent(); + return (SalesforceComponent)super.getComponent(); } @Override @@ -125,7 +126,8 @@ public class SalesforceEndpoint extends DefaultEndpoint { try { super.doStart(); } finally { - // check if this endpoint has its own http client that needs to be started + // check if this endpoint has its own http client that needs to be + // started final HttpClient httpClient = getConfiguration().getHttpClient(); if (httpClient != null && getComponent().getConfig().getHttpClient() != httpClient) { final String endpointUri = getEndpointUri(); @@ -141,7 +143,8 @@ public class SalesforceEndpoint extends DefaultEndpoint { try { super.doStop(); } finally { - // check if this endpoint has its own http client that needs to be stopped + // check if this endpoint has its own http client that needs to be + // stopped final HttpClient httpClient = getConfiguration().getHttpClient(); if (httpClient != null && getComponent().getConfig().getHttpClient() != httpClient) { final String endpointUri = getEndpointUri(); diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/FieldsToNullPropertyFilter.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/FieldsToNullPropertyFilter.java index ba86bf7..8620456 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/FieldsToNullPropertyFilter.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/FieldsToNullPropertyFilter.java @@ -26,17 +26,15 @@ import org.apache.commons.lang3.reflect.FieldUtils; public class FieldsToNullPropertyFilter extends SimpleBeanPropertyFilter { @Override - public void serializeAsField(Object pojo, JsonGenerator jgen, SerializerProvider provider, - PropertyWriter writer) throws Exception { + public void serializeAsField(Object pojo, JsonGenerator jgen, SerializerProvider provider, PropertyWriter writer) throws Exception { - AbstractSObjectBase sob = (AbstractSObjectBase) pojo; + AbstractSObjectBase sob = (AbstractSObjectBase)pojo; String fieldName = writer.getName(); Object fieldValue = FieldUtils.readField(pojo, fieldName, true); if (sob.getFieldsToNull().contains(writer.getName()) || fieldValue != null) { writer.serializeAsField(pojo, jgen, provider); - } - else { + } else { writer.serializeAsOmittedField(pojo, jgen, provider); } } -} \ No newline at end of file +} diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Attributes.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Attributes.java index 50e7e8d..08166f3 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Attributes.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Attributes.java @@ -19,10 +19,10 @@ package org.apache.camel.component.salesforce.api.dto; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; public class Attributes extends AbstractDTOBase { - + @XStreamAsAttribute private String referenceId; - + @XStreamAsAttribute private String type; diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Limits.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Limits.java index 0c2b24f..fda9937 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Limits.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/Limits.java @@ -61,13 +61,12 @@ public final class Limits implements Serializable { } public enum Operation { - ConcurrentAsyncGetReportInstances, ConcurrentSyncReportRuns, DailyApiRequests, - DailyAsyncApexExecutions, DailyBulkApiRequests, DailyDurableGenericStreamingApiEvents, - DailyDurableStreamingApiEvents, DailyGenericStreamingApiEvents, DailyStreamingApiEvents, - DailyWorkflowEmails, DataStorageMB, DurableStreamingApiConcurrentClients, FileStorageMB, - HourlyAsyncReportRuns, HourlyDashboardRefreshes, HourlyDashboardResults, HourlyDashboardStatuses, - HourlyODataCallout, HourlySyncReportRuns, HourlyTimeBasedWorkflow, MassEmail, PermissionSets, - SingleEmail, StreamingApiConcurrentClients + ConcurrentAsyncGetReportInstances, ConcurrentSyncReportRuns, DailyApiRequests, DailyAsyncApexExecutions, + DailyBulkApiRequests, DailyDurableGenericStreamingApiEvents, DailyDurableStreamingApiEvents, + DailyGenericStreamingApiEvents, DailyStreamingApiEvents, DailyWorkflowEmails, DataStorageMB, + DurableStreamingApiConcurrentClients, FileStorageMB, HourlyAsyncReportRuns, HourlyDashboardRefreshes, + HourlyDashboardResults, HourlyDashboardStatuses, HourlyODataCallout, HourlySyncReportRuns, + HourlyTimeBasedWorkflow, MassEmail, PermissionSets, SingleEmail, StreamingApiConcurrentClients } /** diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/StatusCode.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/StatusCode.java index fb4df3a..41c87e7 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/StatusCode.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/bulk/StatusCode.java @@ -212,47 +212,53 @@ import javax.xml.bind.annotation.XmlType; @XmlEnum public enum StatusCode { - ALL_OR_NONE_OPERATION_ROLLED_BACK, ALREADY_IN_PROCESS, ASSIGNEE_TYPE_REQUIRED, BAD_CUSTOM_ENTITY_PARENT_DOMAIN, BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED, CANNOT_CASCADE_PRODUCT_ACTIVE, - CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD, CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE, CANNOT_DEACTIVATE_DIVISION, CANNOT_DELETE_LAST_DATED_CONVERSION_RATE, CANNOT_DELETE_MANAGED_OBJECT, CANNOT_DISABLE_LAST_ADMIN, - CANNOT_ENABLE_IP_RESTRICT_REQUESTS, CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, CANNOT_MODIFY_MANAGED_OBJECT, CANNOT_RENAME_APEX_REFERENCED_FIELD, - CANNOT_RENAME_APEX_REFERENCED_OBJECT, CANNOT_REPARENT_RECORD, CANNOT_UPDATE_CONVERTED_LEAD, CANT_DISABLE_CORP_CURRENCY, - CANT_UNSET_CORP_CURRENCY, CHILD_SHARE_FAILS_PARENT, CIRCULAR_DEPENDENCY, COMMUNITY_NOT_ACCESSIBLE, - CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED, CUSTOM_ENTITY_OR_FIELD_LIMIT, CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED, CUSTOM_INDEX_EXISTS, - CUSTOM_LINK_LIMIT_EXCEEDED, CUSTOM_TAB_LIMIT_EXCEEDED, DELETE_FAILED, DELETE_OPERATION_TOO_LARGE, DELETE_REQUIRED_ON_CASCADE, - DEPENDENCY_EXISTS, DUPLICATE_CASE_SOLUTION, DUPLICATE_COMM_NICKNAME, DUPLICATE_CUSTOM_ENTITY_DEFINITION, - DUPLICATE_CUSTOM_TAB_MOTIF, DUPLICATE_DEVELOPER_NAME, DUPLICATE_EXTERNAL_ID, DUPLICATE_MASTER_LABEL, - DUPLICATE_SENDER_DISPLAY_NAME, DUPLICATE_USERNAME, DUPLICATE_VALUE, EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR, - EMPTY_SCONTROL_FILE_NAME, ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE, ENTITY_IS_ARCHIVED, ENTITY_IS_DELETED, - ENTITY_IS_LOCKED, ERROR_IN_MAILER, EXTERNAL_OBJECT_AUTHENTICATION_EXCEPTION, EXTERNAL_OBJECT_CONNECTION_EXCEPTION, - EXTERNAL_OBJECT_EXCEPTION, EXTERNAL_OBJECT_UNSUPPORTED_EXCEPTION, FAILED_ACTIVATION, FIELD_CUSTOM_VALIDATION_EXCEPTION, - FIELD_FILTER_VALIDATION_EXCEPTION, FIELD_INTEGRITY_EXCEPTION, FILTERED_LOOKUP_LIMIT_EXCEEDED, HTML_FILE_UPLOAD_NOT_ALLOWED, - IMAGE_TOO_LARGE, INACTIVE_OWNER_OR_USER, INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, INSUFFICIENT_ACCESS_OR_READONLY, - INVALID_ACCESS_LEVEL, INVALID_ARGUMENT_TYPE, INVALID_ASSIGNEE_TYPE, INVALID_ASSIGNMENT_RULE, INVALID_BATCH_OPERATION, + ALL_OR_NONE_OPERATION_ROLLED_BACK, ALREADY_IN_PROCESS, ASSIGNEE_TYPE_REQUIRED, + BAD_CUSTOM_ENTITY_PARENT_DOMAIN, BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED, + CANNOT_CASCADE_PRODUCT_ACTIVE, CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD, + CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE, CANNOT_DEACTIVATE_DIVISION, CANNOT_DELETE_LAST_DATED_CONVERSION_RATE, + CANNOT_DELETE_MANAGED_OBJECT, CANNOT_DISABLE_LAST_ADMIN, CANNOT_ENABLE_IP_RESTRICT_REQUESTS, + CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, CANNOT_MODIFY_MANAGED_OBJECT, CANNOT_RENAME_APEX_REFERENCED_FIELD, + CANNOT_RENAME_APEX_REFERENCED_OBJECT, CANNOT_REPARENT_RECORD, CANNOT_UPDATE_CONVERTED_LEAD, + CANT_DISABLE_CORP_CURRENCY, CANT_UNSET_CORP_CURRENCY, CHILD_SHARE_FAILS_PARENT, + CIRCULAR_DEPENDENCY, COMMUNITY_NOT_ACCESSIBLE, CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED, + CUSTOM_ENTITY_OR_FIELD_LIMIT, CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED, CUSTOM_INDEX_EXISTS, + CUSTOM_LINK_LIMIT_EXCEEDED, CUSTOM_TAB_LIMIT_EXCEEDED, DELETE_FAILED, DELETE_OPERATION_TOO_LARGE, + DELETE_REQUIRED_ON_CASCADE, DEPENDENCY_EXISTS, DUPLICATE_CASE_SOLUTION, DUPLICATE_COMM_NICKNAME, + DUPLICATE_CUSTOM_ENTITY_DEFINITION, DUPLICATE_CUSTOM_TAB_MOTIF, DUPLICATE_DEVELOPER_NAME, + DUPLICATE_EXTERNAL_ID, DUPLICATE_MASTER_LABEL, DUPLICATE_SENDER_DISPLAY_NAME, DUPLICATE_USERNAME, + DUPLICATE_VALUE, EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR, EMPTY_SCONTROL_FILE_NAME, + ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE, ENTITY_IS_ARCHIVED, ENTITY_IS_DELETED, ENTITY_IS_LOCKED, + ERROR_IN_MAILER, EXTERNAL_OBJECT_AUTHENTICATION_EXCEPTION, EXTERNAL_OBJECT_CONNECTION_EXCEPTION, + EXTERNAL_OBJECT_EXCEPTION, EXTERNAL_OBJECT_UNSUPPORTED_EXCEPTION, FAILED_ACTIVATION, + FIELD_CUSTOM_VALIDATION_EXCEPTION, FIELD_FILTER_VALIDATION_EXCEPTION, FIELD_INTEGRITY_EXCEPTION, + FILTERED_LOOKUP_LIMIT_EXCEEDED, HTML_FILE_UPLOAD_NOT_ALLOWED, IMAGE_TOO_LARGE, INACTIVE_OWNER_OR_USER, + INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, INSUFFICIENT_ACCESS_OR_READONLY, INVALID_ACCESS_LEVEL, + INVALID_ARGUMENT_TYPE, INVALID_ASSIGNEE_TYPE, INVALID_ASSIGNMENT_RULE, INVALID_BATCH_OPERATION, INVALID_CONTENT_TYPE, INVALID_CREDIT_CARD_INFO, INVALID_CROSS_REFERENCE_KEY, INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD, INVALID_CURRENCY_CONV_RATE, INVALID_CURRENCY_CORP_RATE, INVALID_CURRENCY_ISO, INVALID_DATA_CATEGORY_GROUP_REFERENCE, INVALID_DATA_URI, INVALID_EMAIL_ADDRESS, INVALID_EMPTY_KEY_OWNER, INVALID_FIELD, INVALID_FIELD_FOR_INSERT_UPDATE, - INVALID_FIELD_WHEN_USING_TEMPLATE, INVALID_FILTER_ACTION, INVALID_GOOGLE_DOCS_URL, INVALID_ID_FIELD, INVALID_INET_ADDRESS, - INVALID_LINEITEM_CLONE_STATE, INVALID_MASTER_OR_TRANSLATED_SOLUTION, INVALID_MESSAGE_ID_REFERENCE, INVALID_OPERATION, - INVALID_OPERATOR, INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, INVALID_PACKAGE_VERSION, INVALID_PARTNER_NETWORK_STATUS, - INVALID_PERSON_ACCOUNT_OPERATION, INVALID_QUERY_LOCATOR, INVALID_READ_ONLY_USER_DML, INVALID_SAVE_AS_ACTIVITY_FLAG, - INVALID_SESSION_ID, INVALID_SETUP_OWNER, INVALID_STATUS, INVALID_TYPE, INVALID_TYPE_FOR_OPERATION, - INVALID_TYPE_ON_FIELD_IN_RECORD, IP_RANGE_LIMIT_EXCEEDED, LICENSE_LIMIT_EXCEEDED, LIGHT_PORTAL_USER_EXCEPTION, - LIMIT_EXCEEDED, MALFORMED_ID, MANAGER_NOT_DEFINED, MASSMAIL_RETRY_LIMIT_EXCEEDED, MASS_MAIL_LIMIT_EXCEEDED, - MAXIMUM_CCEMAILS_EXCEEDED, MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED, MAXIMUM_HIERARCHY_LEVELS_REACHED, - MAXIMUM_SIZE_OF_ATTACHMENT, MAXIMUM_SIZE_OF_DOCUMENT, MAX_ACTIONS_PER_RULE_EXCEEDED, MAX_ACTIVE_RULES_EXCEEDED, - MAX_APPROVAL_STEPS_EXCEEDED, MAX_FORMULAS_PER_RULE_EXCEEDED, MAX_RULES_EXCEEDED, MAX_RULE_ENTRIES_EXCEEDED, - MAX_TASK_DESCRIPTION_EXCEEEDED, MAX_TM_RULES_EXCEEDED, MAX_TM_RULE_ITEMS_EXCEEDED, MERGE_FAILED, MISSING_ARGUMENT, - MIXED_DML_OPERATION, NONUNIQUE_SHIPPING_ADDRESS, NO_APPLICABLE_PROCESS, NO_ATTACHMENT_PERMISSION, - NO_INACTIVE_DIVISION_MEMBERS, NO_MASS_MAIL_PERMISSION, NUMBER_OUTSIDE_VALID_RANGE, NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED, - OPTED_OUT_OF_MASS_MAIL, OP_WITH_INVALID_USER_TYPE_EXCEPTION, PACKAGE_LICENSE_REQUIRED, PORTAL_NO_ACCESS, - PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT, PRIVATE_CONTACT_ON_ASSET, QUERY_TIMEOUT, RECORD_IN_USE_BY_WORKFLOW, - REQUEST_RUNNING_TOO_LONG, REQUIRED_FEATURE_MISSING, REQUIRED_FIELD_MISSING, SELF_REFERENCE_FROM_TRIGGER, - SHARE_NEEDED_FOR_CHILD_OWNER, SINGLE_EMAIL_LIMIT_EXCEEDED, STANDARD_PRICE_NOT_DEFINED, STORAGE_LIMIT_EXCEEDED, - STRING_TOO_LONG, TABSET_LIMIT_EXCEEDED, TEMPLATE_NOT_ACTIVE, TERRITORY_REALIGN_IN_PROGRESS, TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET, - TOO_MANY_APEX_REQUESTS, TOO_MANY_ENUM_VALUE, TRANSFER_REQUIRES_READ, UNABLE_TO_LOCK_ROW, - UNAVAILABLE_RECORDTYPE_EXCEPTION, UNDELETE_FAILED, UNKNOWN_EXCEPTION, UNSPECIFIED_EMAIL_ADDRESS, - UNSUPPORTED_APEX_TRIGGER_OPERATON, UNVERIFIED_SENDER_ADDRESS, USER_OWNS_PORTAL_ACCOUNT_EXCEPTION, - USER_WITH_APEX_SHARES_EXCEPTION, WEBLINK_SIZE_LIMIT_EXCEEDED, WRONG_CONTROLLER_TYPE; + INVALID_FIELD_WHEN_USING_TEMPLATE, INVALID_FILTER_ACTION, INVALID_GOOGLE_DOCS_URL, INVALID_ID_FIELD, + INVALID_INET_ADDRESS, INVALID_LINEITEM_CLONE_STATE, INVALID_MASTER_OR_TRANSLATED_SOLUTION, + INVALID_MESSAGE_ID_REFERENCE, INVALID_OPERATION, INVALID_OPERATOR, INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, + INVALID_PACKAGE_VERSION, INVALID_PARTNER_NETWORK_STATUS, INVALID_PERSON_ACCOUNT_OPERATION, + INVALID_QUERY_LOCATOR, INVALID_READ_ONLY_USER_DML, INVALID_SAVE_AS_ACTIVITY_FLAG, INVALID_SESSION_ID, + INVALID_SETUP_OWNER, INVALID_STATUS, INVALID_TYPE, INVALID_TYPE_FOR_OPERATION, INVALID_TYPE_ON_FIELD_IN_RECORD, + IP_RANGE_LIMIT_EXCEEDED, LICENSE_LIMIT_EXCEEDED, LIGHT_PORTAL_USER_EXCEPTION, LIMIT_EXCEEDED, MALFORMED_ID, + MANAGER_NOT_DEFINED, MASSMAIL_RETRY_LIMIT_EXCEEDED, MASS_MAIL_LIMIT_EXCEEDED, MAXIMUM_CCEMAILS_EXCEEDED, + MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED, MAXIMUM_HIERARCHY_LEVELS_REACHED, MAXIMUM_SIZE_OF_ATTACHMENT, + MAXIMUM_SIZE_OF_DOCUMENT, MAX_ACTIONS_PER_RULE_EXCEEDED, MAX_ACTIVE_RULES_EXCEEDED, MAX_APPROVAL_STEPS_EXCEEDED, + MAX_FORMULAS_PER_RULE_EXCEEDED, MAX_RULES_EXCEEDED, MAX_RULE_ENTRIES_EXCEEDED, MAX_TASK_DESCRIPTION_EXCEEEDED, + MAX_TM_RULES_EXCEEDED, MAX_TM_RULE_ITEMS_EXCEEDED, MERGE_FAILED, MISSING_ARGUMENT, MIXED_DML_OPERATION, + NONUNIQUE_SHIPPING_ADDRESS, NO_APPLICABLE_PROCESS, NO_ATTACHMENT_PERMISSION, NO_INACTIVE_DIVISION_MEMBERS, + NO_MASS_MAIL_PERMISSION, NUMBER_OUTSIDE_VALID_RANGE, NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED, OPTED_OUT_OF_MASS_MAIL, + OP_WITH_INVALID_USER_TYPE_EXCEPTION, PACKAGE_LICENSE_REQUIRED, PORTAL_NO_ACCESS, PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT, + PRIVATE_CONTACT_ON_ASSET, QUERY_TIMEOUT, RECORD_IN_USE_BY_WORKFLOW, REQUEST_RUNNING_TOO_LONG, REQUIRED_FEATURE_MISSING, + REQUIRED_FIELD_MISSING, SELF_REFERENCE_FROM_TRIGGER, SHARE_NEEDED_FOR_CHILD_OWNER, SINGLE_EMAIL_LIMIT_EXCEEDED, + STANDARD_PRICE_NOT_DEFINED, STORAGE_LIMIT_EXCEEDED, STRING_TOO_LONG, TABSET_LIMIT_EXCEEDED, TEMPLATE_NOT_ACTIVE, + TERRITORY_REALIGN_IN_PROGRESS, TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET, TOO_MANY_APEX_REQUESTS, TOO_MANY_ENUM_VALUE, + TRANSFER_REQUIRES_READ, UNABLE_TO_LOCK_ROW, UNAVAILABLE_RECORDTYPE_EXCEPTION, UNDELETE_FAILED, UNKNOWN_EXCEPTION, + UNSPECIFIED_EMAIL_ADDRESS, UNSUPPORTED_APEX_TRIGGER_OPERATON, UNVERIFIED_SENDER_ADDRESS, + USER_OWNS_PORTAL_ACCOUNT_EXCEPTION, USER_WITH_APEX_SHARES_EXCEPTION, WEBLINK_SIZE_LIMIT_EXCEEDED, WRONG_CONTROLLER_TYPE; public String value() { return name(); diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/utils/JsonUtils.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/utils/JsonUtils.java index 527151b..54ee381 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/utils/JsonUtils.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/utils/JsonUtils.java @@ -24,9 +24,9 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; import static java.util.stream.Collectors.joining; + import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.BeanDescription; import com.fasterxml.jackson.databind.DeserializationFeature; @@ -41,6 +41,7 @@ import com.fasterxml.jackson.databind.ser.BeanSerializerFactory; import com.fasterxml.jackson.databind.ser.BeanSerializerModifier; import com.fasterxml.jackson.databind.ser.PropertyWriter; import com.fasterxml.jackson.databind.ser.SerializerFactory; +import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; import com.fasterxml.jackson.databind.ser.std.NullSerializer; import com.fasterxml.jackson.module.jsonSchema.JsonSchema; import com.fasterxml.jackson.module.jsonSchema.JsonSchemaGenerator; @@ -79,13 +80,12 @@ public abstract class JsonUtils { public static ObjectMapper createObjectMapper() { // enable date time support including Java 1.8 ZonedDateTime ObjectMapper objectMapper = new ObjectMapper(); - SimpleFilterProvider filterProvider = new SimpleFilterProvider() - .addFilter("fieldsToNull", new FieldsToNullPropertyFilter()); + SimpleFilterProvider filterProvider = new SimpleFilterProvider().addFilter("fieldsToNull", new FieldsToNullPropertyFilter()); objectMapper.setFilterProvider(filterProvider); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); objectMapper.configure(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE, false); objectMapper.registerModule(new TimeModule()); - + return objectMapper; } 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 44ddf3c..2bf0da9 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 @@ -253,8 +253,7 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase { final Account account = new Account(); account.setName("Account 1"); account.setSite("test site"); - final CreateSObjectResult accountResult = template().requestBody("direct:createSObject", - account, CreateSObjectResult.class); + final CreateSObjectResult accountResult = template().requestBody("direct:createSObject", account, CreateSObjectResult.class); assertNotNull(accountResult); assertTrue("Create success", accountResult.getSuccess()); @@ -262,13 +261,10 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase { account.setSite(null); account.getFieldsToNull().add("Site"); - final Object updateAccountResult = template().requestBodyAndHeader("salesforce:updateSObject", account, - SalesforceEndpointConfig.SOBJECT_ID, account.getId()); + final Object updateAccountResult = template().requestBodyAndHeader("salesforce:updateSObject", account, SalesforceEndpointConfig.SOBJECT_ID, account.getId()); assertNull(updateAccountResult); - Account updatedAccount = (Account) template().requestBodyAndHeader( - "salesforce:getSObject?sObjectFields=Id,Name,Site", account.getId(), - "sObjectName", "Account"); + Account updatedAccount = (Account)template().requestBodyAndHeader("salesforce:getSObject?sObjectFields=Id,Name,Site", account.getId(), "sObjectName", "Account"); assertNull(updatedAccount.getSite()); // delete the Account @@ -296,11 +292,9 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase { contact.setAccount(accountRef); contact.setId(contactResult.getId()); - final Object updateContactResult = template().requestBodyAndHeader("salesforce:updateSObject", contact, - SalesforceEndpointConfig.SOBJECT_ID, contact.getId()); + final Object updateContactResult = template().requestBodyAndHeader("salesforce:updateSObject", contact, SalesforceEndpointConfig.SOBJECT_ID, contact.getId()); assertNull(updateContactResult); - // delete the Contact template().requestBodyAndHeader("direct:deleteSObject", contactResult.getId(), "sObjectName", "Contact"); diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/MultiSelectPicklistJsonTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/MultiSelectPicklistJsonTest.java index dae2dbf..c57710b 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/MultiSelectPicklistJsonTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/MultiSelectPicklistJsonTest.java @@ -75,7 +75,7 @@ public class MultiSelectPicklistJsonTest { @Test public void testMarshalString() throws Exception { final StringMSPTest mspTest = new StringMSPTest(); - String[] stringList = new String[] {"Value1", "Value2", "Value3" }; + String[] stringList = new String[] {"Value1", "Value2", "Value3"}; mspTest.setMspField(stringList); String json = objectMapper.writeValueAsString(mspTest); @@ -92,7 +92,7 @@ public class MultiSelectPicklistJsonTest { @Test public void testUnmarshalString() throws Exception { StringMSPTest mspTest = objectMapper.readValue(TEST_JSON, StringMSPTest.class); - String[] stringList = new String[] {"Value1", "Value2", "Value3" }; + String[] stringList = new String[] {"Value1", "Value2", "Value3"}; assertArrayEquals(stringList, mspTest.getMspField()); // test null diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectBatchTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectBatchTest.java index f2bb9c6..a92d73c 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectBatchTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectBatchTest.java @@ -77,96 +77,21 @@ public class SObjectBatchTest { @Test public void shouldSerializeToJson() throws JsonProcessingException { - final String json = "{" + - "\"batchRequests\":[" + - "{" + - "\"method\":\"POST\"," + - "\"url\":\"v37.0/sobjects/Account/\"," + - "\"richInput\":{" + - "\"attributes\":{" + - "\"referenceId\":null," + - "\"type\":\"Account\"," + - "\"url\":null" + - "}," + - "\"Industry\":\"Environmental\"," + - "\"Name\":\"NewAccountName\"" + - "}" + - "}," + - "{" + - "\"method\":\"DELETE\"," + - "\"url\":\"v37.0/sobjects/Account/001D000000K0fXOIAZ\"" + - "}," + - "{" + - "\"method\":\"GET\"," + - "\"url\":\"v37.0/sobjects/Account/001D000000K0fXOIAZ?fields=Name,BillingPostalCode\"" + - "}," + - "{" + - "\"method\":\"GET\"," + - "\"url\":\"v37.0/sobjects/Account/EPK/12345\"" + - "}," + - "{" + - "\"method\":\"GET\"," + - "\"url\":\"v37.0/sobjects/Account/001D000000K0fXOIAZ/CreatedBy?fields=Name\"" + - "}," + - "{" + - "\"method\":\"GET\"," + - "\"url\":\"v37.0/limits/\"" + - "}," + - "{" + - "\"method\":\"PATCH\"," + - "\"url\":\"v37.0/sobjects/Account/001D000000K0fXOIAZ\"," + - "\"richInput\":{" + - "\"attributes\":{" + - "\"referenceId\":null," + - "\"type\":\"Account\"," + - "\"url\":null" + - "}," + - "\"AccountNumber\":\"AC12345\"," + - "\"Name\":\"NewName\"" + - "}" + - "}," + - "{" + - "\"method\":\"PATCH\"," + - "\"url\":\"v37.0/sobjects/Account/EPK/12345\"," + - "\"richInput\":{" + - "\"attributes\":{" + - "\"referenceId\":null," + - "\"type\":\"Account\"," + - "\"url\":null" + - "}," + - "\"Name\":\"NewName\"" + - "}" + - "}," + - "{" + - "\"method\":\"PATCH\"," + - "\"url\":\"v37.0/sobjects/Account/EPK/12345\"," + - "\"richInput\":{" + - "\"attributes\":{" + - "\"referenceId\":null," + - "\"type\":\"Account\"," + - "\"url\":null" + - "}," + - "\"Name\":\"NewName\"" + - "}" + - "}," + - "{" + - "\"method\":\"PATCH\"," + - "\"url\":\"v37.0/some/url\"" + - "}," + - "{" + - "\"method\":\"GET\"," + - "\"url\":\"v37.0/query/?q=SELECT Name FROM Account\"" + - "}," + - "{" + - "\"method\":\"GET\"," + - "\"url\":\"v37.0/queryAll/?q=SELECT Name FROM Account\"" + - "}," + - "{" + - "\"method\":\"GET\"," + - "\"url\":\"v37.0/search/?q=FIND {joe}\"" + - "}" + - "]" + - "}"; + final String json = "{" + "\"batchRequests\":[" + "{" + "\"method\":\"POST\"," + "\"url\":\"v37.0/sobjects/Account/\"," + "\"richInput\":{" + "\"attributes\":{" + + "\"referenceId\":null," + "\"type\":\"Account\"," + "\"url\":null" + "}," + "\"Industry\":\"Environmental\"," + "\"Name\":\"NewAccountName\"" + "}" + + "}," + "{" + "\"method\":\"DELETE\"," + "\"url\":\"v37.0/sobjects/Account/001D000000K0fXOIAZ\"" + "}," + "{" + "\"method\":\"GET\"," + + "\"url\":\"v37.0/sobjects/Account/001D000000K0fXOIAZ?fields=Name,BillingPostalCode\"" + "}," + "{" + "\"method\":\"GET\"," + + "\"url\":\"v37.0/sobjects/Account/EPK/12345\"" + "}," + "{" + "\"method\":\"GET\"," + + "\"url\":\"v37.0/sobjects/Account/001D000000K0fXOIAZ/CreatedBy?fields=Name\"" + "}," + "{" + "\"method\":\"GET\"," + "\"url\":\"v37.0/limits/\"" + + "}," + "{" + "\"method\":\"PATCH\"," + "\"url\":\"v37.0/sobjects/Account/001D000000K0fXOIAZ\"," + "\"richInput\":{" + "\"attributes\":{" + + "\"referenceId\":null," + "\"type\":\"Account\"," + "\"url\":null" + "}," + "\"AccountNumber\":\"AC12345\"," + "\"Name\":\"NewName\"" + "}" + "}," + + "{" + "\"method\":\"PATCH\"," + "\"url\":\"v37.0/sobjects/Account/EPK/12345\"," + "\"richInput\":{" + "\"attributes\":{" + "\"referenceId\":null," + + "\"type\":\"Account\"," + "\"url\":null" + "}," + "\"Name\":\"NewName\"" + "}" + "}," + "{" + "\"method\":\"PATCH\"," + + "\"url\":\"v37.0/sobjects/Account/EPK/12345\"," + "\"richInput\":{" + "\"attributes\":{" + "\"referenceId\":null," + "\"type\":\"Account\"," + + "\"url\":null" + "}," + "\"Name\":\"NewName\"" + "}" + "}," + "{" + "\"method\":\"PATCH\"," + "\"url\":\"v37.0/some/url\"" + "}," + "{" + + "\"method\":\"GET\"," + "\"url\":\"v37.0/query/?q=SELECT Name FROM Account\"" + "}," + "{" + "\"method\":\"GET\"," + + "\"url\":\"v37.0/queryAll/?q=SELECT Name FROM Account\"" + "}," + "{" + "\"method\":\"GET\"," + "\"url\":\"v37.0/search/?q=FIND {joe}\"" + "}" + "]" + + "}"; final ObjectMapper mapper = JsonUtils.createObjectMapper(); final String serialized = mapper.writerFor(SObjectBatch.class).writeValueAsString(batch); assertEquals("Should serialize as expected by Salesforce", json, serialized); diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectTreeTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectTreeTest.java index 4720f63..86f4f89 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectTreeTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/api/dto/composite/SObjectTreeTest.java @@ -73,58 +73,14 @@ public class SObjectTreeTest extends CompositeTestBase { tree.addNode(account2); final String json = writer.writeValueAsString(tree); - final String expected = "{" + - "\"records\":[" + - "{" + - "\"Industry\":\"Banking\"," + - "\"Name\":\"SampleAccount\"," + - "\"NumberOfEmployees\":100," + - "\"Phone\":\"1234567890\"," + - "\"Website\":\"www.salesforce.com\"," + - "\"attributes\":{" + - "\"referenceId\":\"ref1\"," + - "\"type\":\"Account\"," + - "\"url\":null" + - "}," + - "\"Contacts\":{" + - "\"records\":[" + - "{" + - "\"Email\":\"sam...@salesforce.com\"," + - "\"LastName\":\"Smith\"," + - "\"Title\":\"President\"," + - "\"attributes\":{" + - "\"referenceId\":\"ref2\"," + - "\"type\":\"Contact\"," + - "\"url\":null" + - "}" + - "}," + - "{" + - "\"Email\":\"sam...@salesforce.com\"," + - "\"LastName\":\"Evans\"," + - "\"Title\":\"Vice President\"," + - "\"attributes\":{" + - "\"referenceId\":\"ref3\"," + - "\"type\":\"Contact\"," + - "\"url\":null" + - "}" + - "}" + - "]" + - "}" + - "}," + - "{" + - "\"Industry\":\"Banking\"," + - "\"Name\":\"SampleAccount2\"," + - "\"NumberOfEmployees\":100," + - "\"Phone\":\"1234567890\"," + - "\"Website\":\"www.salesforce2.com\"," + - "\"attributes\":{" + - "\"referenceId\":\"ref4\"," + - "\"type\":\"Account\"," + - "\"url\":null" + - "}" + - "}" + - "]" + - "}"; + final String expected = "{" + "\"records\":[" + "{" + "\"Industry\":\"Banking\"," + "\"Name\":\"SampleAccount\"," + "\"NumberOfEmployees\":100," + + "\"Phone\":\"1234567890\"," + "\"Website\":\"www.salesforce.com\"," + "\"attributes\":{" + "\"referenceId\":\"ref1\"," + "\"type\":\"Account\"," + + "\"url\":null" + "}," + "\"Contacts\":{" + "\"records\":[" + "{" + "\"Email\":\"sam...@salesforce.com\"," + "\"LastName\":\"Smith\"," + + "\"Title\":\"President\"," + "\"attributes\":{" + "\"referenceId\":\"ref2\"," + "\"type\":\"Contact\"," + "\"url\":null" + "}" + "}," + "{" + + "\"Email\":\"sam...@salesforce.com\"," + "\"LastName\":\"Evans\"," + "\"Title\":\"Vice President\"," + "\"attributes\":{" + + "\"referenceId\":\"ref3\"," + "\"type\":\"Contact\"," + "\"url\":null" + "}" + "}" + "]" + "}" + "}," + "{" + "\"Industry\":\"Banking\"," + + "\"Name\":\"SampleAccount2\"," + "\"NumberOfEmployees\":100," + "\"Phone\":\"1234567890\"," + "\"Website\":\"www.salesforce2.com\"," + + "\"attributes\":{" + "\"referenceId\":\"ref4\"," + "\"type\":\"Account\"," + "\"url\":null" + "}" + "}" + "]" + "}"; assertEquals("Should serialize to JSON as in Salesforce example", expected, json); } diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/dto/generated/Task.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/dto/generated/Task.java index a392c85..187a628 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/dto/generated/Task.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/dto/generated/Task.java @@ -34,7 +34,6 @@ public class Task extends AbstractSObjectBase { getAttributes().setType("Task"); } - private ZonedDateTime ActivityDate; private String Description; diff --git a/components/camel-salesforce/camel-salesforce-maven-plugin/src/test/java/org/apache/camel/maven/CamelSalesforceMojoOutputTest.java b/components/camel-salesforce/camel-salesforce-maven-plugin/src/test/java/org/apache/camel/maven/CamelSalesforceMojoOutputTest.java index cc4270d..21c9aa9 100644 --- a/components/camel-salesforce/camel-salesforce-maven-plugin/src/test/java/org/apache/camel/maven/CamelSalesforceMojoOutputTest.java +++ b/components/camel-salesforce/camel-salesforce-maven-plugin/src/test/java/org/apache/camel/maven/CamelSalesforceMojoOutputTest.java @@ -104,21 +104,16 @@ public class CamelSalesforceMojoOutputTest { @Parameters(name = "json = {0}, source = {2}") public static Iterable<Object[]> parameters() throws IOException { - return Arrays.asList(testCase(TEST_CASE_FILE, "Case.java"), - testCase(TEST_CASE_FILE, "Case_PickListAccentMarkEnum.java"), - testCase(TEST_CASE_FILE, "Case_PickListQuotationMarkEnum.java"), - testCase(TEST_CASE_FILE, "Case_PickListSlashEnum.java"), // - testCase(TEST_CASE_FILE, "QueryRecordsCase.java"), - testCase(TEST_CALCULATED_FORMULA_FILE, "ComplexCalculatedFormula.java"), - testCase(TEST_CALCULATED_FORMULA_FILE, "QueryRecordsComplexCalculatedFormula.java"), - testCase("asset.json", "Asset.java"), // - testCase("asset.json", mojo -> { - mojo.customTypes = new HashMap<>(); - mojo.customTypes.put("date", "java.time.LocalDateTime"); - - mojo.setup(); - }, s -> "Asset_LocalDateTime.java", "Asset.java"), - testCase("with_reference.json", "With_Reference__c.java")); + return Arrays.asList(testCase(TEST_CASE_FILE, "Case.java"), testCase(TEST_CASE_FILE, "Case_PickListAccentMarkEnum.java"), + testCase(TEST_CASE_FILE, "Case_PickListQuotationMarkEnum.java"), testCase(TEST_CASE_FILE, "Case_PickListSlashEnum.java"), // + testCase(TEST_CASE_FILE, "QueryRecordsCase.java"), testCase(TEST_CALCULATED_FORMULA_FILE, "ComplexCalculatedFormula.java"), + testCase(TEST_CALCULATED_FORMULA_FILE, "QueryRecordsComplexCalculatedFormula.java"), testCase("asset.json", "Asset.java"), // + testCase("asset.json", mojo -> { + mojo.customTypes = new HashMap<>(); + mojo.customTypes.put("date", "java.time.LocalDateTime"); + + mojo.setup(); + }, s -> "Asset_LocalDateTime.java", "Asset.java"), testCase("with_reference.json", "With_Reference__c.java")); } static GenerateMojo createMojo() {