@@ -4,40 +4,40 @@ import org.gradle.api.Task
44import org.gradle.api.tasks.JavaExec
55import org.gradle.api.tasks.TaskAction
66
7- import com.marklogic.appdeployer.AppConfig
7+ import java.lang.reflect.Modifier
88
99class CorbTask extends JavaExec {
1010
1111 def corbOptions = [:]
1212
1313 // default CORB option list
1414 private static String [] DEFAULT_CORB_OPTIONS = " BATCH-SIZE,BATCH-URI-DELIM,\
15- COLLECTION-NAME,COMMAND,COMMAND-FILE,COMMAND-FILE-POLL-INTERVAL,CONNECTION_POLICY,CONTENT_SOURCE_POOL ,\
15+ COLLECTION-NAME,COMMAND,COMMAND-FILE,COMMAND-FILE-POLL-INTERVAL,CONNECTION-POLICY,CONTENT-SOURCE-POOL ,\
1616DECRYPTER,DISK-QUEUE,DISK-QUEUE-MAX-IN-MEMORY-SIZE,DISK-QUEUE-TEMP-DIR,\
1717ERROR-FILE-NAME,EXIT-CODE-NO-URIS,EXPORT_FILE_AS_ZIP,\
1818EXPORT-FILE-BOTTOM-CONTENT,EXPORT-FILE-DIR,EXPORT-FILE-HEADER-LINE-COUNT,\
1919EXPORT-FILE-NAME,EXPORT-FILE-PART-EXT,\
2020EXPORT-FILE-SORT,EXPORT-FILE-SORT-COMPARATOR,\
2121EXPORT-FILE-TOP-CONTENT,EXPORT-FILE-URI-TO-PATH,\
22- FAIL-ON-ERROR,INSTALL,INIT-MODULE,INIT-TASK,JASYPT-PROPERTIES-FILE,JOB_NAME,JOB_SERVER_PORT ,\
23- LOADER_BASE64_ENCODE,LOADER_PATH,LOADER_SET_URIS_BATCH_REF,LOADER_USE_ENVELOPE,LOADER_VARIABLE ,\
24- MAX_OPTS_FROM_MODULE ,METADATA,METADATA_TO_PROCESS_MODULE ,\
25- METRICS_COLLECTIONS,METRICS_DATABASE,METRICS_LOG_LEVEL,METRICS_MODULE ,\
26- METRICS_NUM_FAILED_TRANSACTIONS,METRICS_NUM_SLOW_TRANSACTIONS,METRICS_ROOT,METRICS_SYNC_FREQUENCY ,\
27- ML_LOG_LEVELS ,MODULES-DATABASE,MODULE-ROOT,\
22+ FAIL-ON-ERROR,INSTALL,INIT-MODULE,INIT-TASK,JASYPT-PROPERTIES-FILE,JOB-NAME,JOB-SERVER-PORT ,\
23+ LOADER-BASE64-ENCODE,LOADER-PATH,LOADER-SET-URIS-BATCH-REF,LOADER-USE-ENVELOPE,LOADER-VARIABLE ,\
24+ MAX-OPTS-FROM-MODULE ,METADATA,METADATA-TO-PROCESS-MODULE ,\
25+ METRICS-COLLECTIONS,METRICS-DATABASE,METRICS-LOG-LEVEL,METRICS-MODULE ,\
26+ METRICS-NUM-FAILED-TRANSACTIONS,METRICS-NUM-SLOW-TRANSACTIONS,METRICS-ROOT,METRICS-SYNC-FREQUENCY ,\
27+ ML-LOG-LEVELS ,MODULES-DATABASE,MODULE-ROOT,\
2828NUM-TPS-FOR-ETC,OPTIONS-FILE,\
29- POST_BATCH_MINIMUM_COUNT ,POST-BATCH-MODULE,POST-BATCH-TASK,POST-BATCH-XQUERY-MODULE,\
30- PRE_BATCH_MINIMUM_COUNT ,PRE-BATCH-MODULE,PRE-BATCH-TASK,PRE-BATCH-XQUERY-MODULE,PRE_POST_BATCH_ALWAYS_EXECUTE ,\
29+ POST-BATCH-MINIMUM-COUNT ,POST-BATCH-MODULE,POST-BATCH-TASK,POST-BATCH-XQUERY-MODULE,\
30+ PRE-BATCH-MINIMUM-COUNT ,PRE-BATCH-MODULE,PRE-BATCH-TASK,PRE-BATCH-XQUERY-MODULE,PRE-POST-BATCH-ALWAYS-EXECUTE ,\
3131PRIVATE-KEY-ALGORITHM,PRIVATE-KEY-FILE,\
3232PROCESS-MODULE,PROCESS-TASK,\
3333QUERY-RETRY-LIMIT,QUERY-RETRY-INTERVAL,QUERY-RETRY-ERROR-CODES,QUERY-RETRY-ERROR-MESSAGE\
3434SSL-CIPHER-SUITES,SSL-CONFIG-CLASS,SSL-ENABLED-PROTOCOLS,SSL-KEY-PASSWORD,\
3535SSL-KEYSTORE,SSL-KEYSTORE-PASSWORD,SSL-KEYSTORE-TYPE,SSL-PROPERTIES-FILE,\
36- TEMP_DIR ,THREAD-COUNT,\
37- URIS_BATCH_REF,URIS-FILE,URIS-LOADER,URIS-MODULE,URIS_REDACTED ,URIS-REPLACE-PATTERN,URIS_TOTAL_COUNT ,\
38- XCC_CONNECTION_RETRY_LIMIT ,XCC-CONNECTION-RETRY-INTERVAL,XCC_CONNECTION_HOST_RETRY_LIMIT ,XCC-CONNECTION-URI,\
39- XCC-DBNAME ,XCC-HOSTNAME,XCC_HTTPCOMPLIANT, XCC-PASSWORD,XCC-PORT,XCC_PROTOCOL,XCC_TIME_ZONE ,XCC-USERNAME,\
40- XML-FILE,XML_METADATA ,XML-NODE,XML_SCHEMA,XML_TEMP_DIR,ZIP_FILE \
36+ TEMP-DIR ,THREAD-COUNT,\
37+ URIS_BATCH_REF,URIS-FILE,URIS-LOADER,URIS-MODULE,URIS-REDACTED ,URIS-REPLACE-PATTERN,URIS-TOTAL-COUNT ,\
38+ XCC-CONNECTION-RETRY-LIMIT ,XCC-CONNECTION-RETRY-INTERVAL,XCC-CONNECTION-HOST-RETRY-LIMIT ,XCC-CONNECTION-URI,XCC-DBNAME ,\
39+ XCC-HOSTNAME ,XCC-HTTPCOMPLIANT, XCC-PASSWORD,XCC-PORT,XCC-PROTOCOL,XCC-TIME-ZONE,XCC-URL-ENCODE-COMPONENTS ,XCC-USERNAME,\
40+ XML-FILE,XML-METADATA ,XML-NODE,XML-SCHEMA,XML-TEMP-DIR,ZIP-FILE \
4141XQUERY-MODULE" . tokenize(' ,' )
4242
4343 CorbTask () {
@@ -46,7 +46,10 @@ XQUERY-MODULE".tokenize(',')
4646 try {
4747 optionNames = Class . forName(" com.marklogic.developer.corb.Options" , true , Thread . currentThread(). contextClassLoader)
4848 .declaredFields
49- .findAll { ! it. synthetic }. collect { it. get(null ) }
49+ .findAll { (it. getModifiers() & (Modifier . PROTECTED | Modifier . PRIVATE )) == 0 &&
50+ String . class. equals(it. getType()) &&
51+ ! it. synthetic }
52+ .collect { it. get(null ) }
5053 } catch (ClassNotFoundException ex) {}
5154
5255 // Augment with member variables and a mapping of CoRB2 Options
@@ -174,10 +177,14 @@ XQUERY-MODULE".tokenize(',')
174177 this . metaClass. getProperties(). collectEntries {
175178 String corbOptionKey = CORB_PROPERTY_PREFIX + it. name. capitalize()
176179 // evaluate whether a value is set and the name matches the corbOptions key pattern
177- if (corbOptions[corbOptionKey] && this [it. name]) {
178- [(corbOptions[corbOptionKey]): this [it. name] ]
179- } else {
180- [:]
180+ try {
181+ if (corbOptions[corbOptionKey] && this [it. name]) {
182+ [(corbOptions[corbOptionKey]): this [it. name] ]
183+ } else {
184+ [:]
185+ }
186+ } catch (groovy.lang.GroovyRuntimeException ex) {
187+ return [:]
181188 }
182189 }
183190 }
0 commit comments