You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/11/16 21:24:57 UTC

[camel] branch master updated: CAMEL-15859: camel-salesforce: Don't generate unnecessary enums (#4616)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 25f30fa  CAMEL-15859: camel-salesforce: Don't generate unnecessary enums (#4616)
25f30fa is described below

commit 25f30fa7f594eb6193201ac7e12bea8096ba133c
Author: Jeremy Ross <je...@jeremyross.org>
AuthorDate: Mon Nov 16 15:24:38 2020 -0600

    CAMEL-15859: camel-salesforce: Don't generate unnecessary enums (#4616)
    
    If the user is only using strings for picklist values, don't generate
    java enum files.
---
 .../java/org/apache/camel/maven/GenerateMojo.java  | 28 ++++++++++++----------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java b/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
index d941cc4..afbe6dd 100644
--- a/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
+++ b/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
@@ -451,18 +451,22 @@ public class GenerateMojo extends AbstractSalesforceMojo {
         }
 
         // write required Enumerations for any picklists
-        for (final SObjectField field : description.getFields()) {
-            if (utility.isPicklist(field) || utility.isMultiSelectPicklist(field)) {
-                final String enumName = utility.enumTypeName(description.getName(), field.getName());
-                final String enumFileName = enumName + JAVA_EXT;
-                final File enumFile = new File(pkgDir, enumFileName);
-
-                context.put("field", field);
-                context.put("enumName", enumName);
-                final Template enumTemplate = engine.getTemplate(SOBJECT_PICKLIST_VM, UTF_8);
-
-                try (final Writer writer = new OutputStreamWriter(new FileOutputStream(enumFile), StandardCharsets.UTF_8)) {
-                    enumTemplate.merge(context, writer);
+        if (!useStringsForPicklists || (picklistToEnums != null && picklistToEnums.length > 0)) {
+            for (final SObjectField field : description.getFields()) {
+                if (utility.isPicklist(field) || utility.isMultiSelectPicklist(field)) {
+                    final String enumName = utility.enumTypeName(description.getName(),
+                            field.getName());
+                    final String enumFileName = enumName + JAVA_EXT;
+                    final File enumFile = new File(pkgDir, enumFileName);
+
+                    context.put("field", field);
+                    context.put("enumName", enumName);
+                    final Template enumTemplate = engine.getTemplate(SOBJECT_PICKLIST_VM, UTF_8);
+
+                    try (final Writer writer = new OutputStreamWriter(
+                            new FileOutputStream(enumFile), StandardCharsets.UTF_8)) {
+                        enumTemplate.merge(context, writer);
+                    }
                 }
             }
         }