This is an automated email from the ASF dual-hosted git repository. jamesbognar pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push: new 92d656d Code cleanup. 92d656d is described below commit 92d656d07929585f5b6a75dee2d81e6452af50d4 Author: JamesBognar <james.bog...@salesforce.com> AuthorDate: Fri Jan 15 19:24:17 2021 -0500 Code cleanup. --- .../jena/annotation/RdfConfigAnnotation.java | 104 ++++++----------- .../main/java/org/apache/juneau/ConfigApply.java | 17 +-- .../juneau/annotation/BeanConfigAnnotation.java | 127 ++++++++------------- .../html/annotation/HtmlConfigAnnotation.java | 19 ++- .../html/annotation/HtmlDocConfigAnnotation.java | 49 +++----- .../json/annotation/JsonConfigAnnotation.java | 12 +- .../annotation/JsonSchemaConfigAnnotation.java | 22 ++-- .../annotation/MsgPackConfigAnnotation.java | 3 +- .../oapi/annotation/OpenApiConfigAnnotation.java | 6 +- .../parser/annotation/ParserConfigAnnotation.java | 28 ++--- .../annotation/SerializerConfigAnnotation.java | 59 ++++------ .../soap/annotation/SoapXmlConfigAnnotation.java | 3 +- .../juneau/uon/annotation/UonConfigAnnotation.java | 15 +-- .../juneau/xml/annotation/XmlConfigAnnotation.java | 33 ++---- .../juneau/rest/annotation/RestAnnotation.java | 46 +------- .../rest/annotation/RestMethodAnnotation.java | 40 ++----- 16 files changed, 183 insertions(+), 400 deletions(-) diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigAnnotation.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigAnnotation.java index 8b3e888..ecd802a 100644 --- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigAnnotation.java +++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigAnnotation.java @@ -43,76 +43,40 @@ public class RdfConfigAnnotation { @Override public void apply(AnnotationInfo<RdfConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { RdfConfig a = ai.getAnnotation(); - if (! a.language().isEmpty()) - psb.set(RDF_language, string(a.language())); - if (! a.juneauNs().isEmpty()) - psb.set(RDF_juneauNs, string(a.juneauNs())); - if (! a.juneauBpNs().isEmpty()) - psb.set(RDF_juneauBpNs, string(a.juneauBpNs())); - if (! a.disableUseXmlNamespaces().isEmpty()) - psb.set(RDF_disableUseXmlNamespaces, bool(a.disableUseXmlNamespaces())); - if (! a.arp_iriRules().isEmpty()) - psb.set(RDF_arp_iriRules, string(a.arp_iriRules())); - if (! a.arp_errorMode().isEmpty()) - psb.set(RDF_arp_errorMode, string(a.arp_errorMode())); - if (! a.arp_embedding().isEmpty()) - psb.set(RDF_arp_embedding, bool(a.arp_embedding())); - if (! a.rdfxml_xmlBase().isEmpty()) - psb.set(RDF_rdfxml_xmlBase, string(a.rdfxml_xmlBase())); - if (! a.rdfxml_longId().isEmpty()) - psb.set(RDF_rdfxml_longId, bool(a.rdfxml_longId())); - if (! a.rdfxml_allowBadUris().isEmpty()) - psb.set(RDF_rdfxml_allowBadUris, bool(a.rdfxml_allowBadUris())); - if (! a.rdfxml_relativeUris().isEmpty()) - psb.set(RDF_rdfxml_relativeUris, string(a.rdfxml_relativeUris())); - if (! a.rdfxml_showXmlDeclaration().isEmpty()) - psb.set(RDF_rdfxml_showXmlDeclaration, string(a.rdfxml_showXmlDeclaration())); - if (! a.rdfxml_disableShowDoctypeDeclaration().isEmpty()) - psb.set(RDF_rdfxml_disableShowDoctypeDeclaration, bool(a.rdfxml_disableShowDoctypeDeclaration())); - if (! a.rdfxml_tab().isEmpty()) - psb.set(RDF_rdfxml_tab, integer(a.rdfxml_tab(), "rdfxml_tab")); - if (! a.rdfxml_attributeQuoteChar().isEmpty()) - psb.set(RDF_rdfxml_attributeQuoteChar, string(a.rdfxml_attributeQuoteChar())); - if (! a.rdfxml_blockRules().isEmpty()) - psb.set(RDF_rdfxml_blockRules, string(a.rdfxml_blockRules())); - if (! a.n3_minGap().isEmpty()) - psb.set(RDF_n3_minGap, integer(a.n3_minGap(), "n3_minGap")); - if (! a.n3_disableObjectLists().isEmpty()) - psb.set(RDF_n3_disableObjectLists, bool(a.n3_disableObjectLists())); - if (! a.n3_subjectColumn().isEmpty()) - psb.set(RDF_n3_subjectColumn, integer(a.n3_subjectColumn(), "n3_subjectColumn")); - if (! a.n3_propertyColumn().isEmpty()) - psb.set(RDF_n3_propertyColumn, integer(a.n3_propertyColumn(), "n3_propertyColumn")); - if (! a.n3_indentProperty().isEmpty()) - psb.set(RDF_n3_indentProperty, integer(a.n3_indentProperty(), "n3_indentProperty")); - if (! a.n3_widePropertyLen().isEmpty()) - psb.set(RDF_n3_widePropertyLen, integer(a.n3_widePropertyLen(), "n3_widePropertyLen")); - if (! a.n3_disableAbbrevBaseUri().isEmpty()) - psb.set(RDF_n3_disableAbbrevBaseUri, bool(a.n3_disableAbbrevBaseUri())); - if (! a.n3_disableUsePropertySymbols().isEmpty()) - psb.set(RDF_n3_disableUsePropertySymbols, bool(a.n3_disableUsePropertySymbols())); - if (! a.n3_disableUseTripleQuotedStrings().isEmpty()) - psb.set(RDF_n3_disableUseTripleQuotedStrings, bool(a.n3_disableUseTripleQuotedStrings())); - if (! a.n3_disableUseDoubles().isEmpty()) - psb.set(RDF_n3_disableUseDoubles, bool(a.n3_disableUseDoubles())); - if (! a.collectionFormat().isEmpty()) - psb.set(RDF_collectionFormat, string(a.collectionFormat())); - if (! a.looseCollections().isEmpty()) - psb.set(RDF_looseCollections, bool(a.looseCollections())); - - if (! a.addBeanTypes().isEmpty()) - psb.set(RDF_addBeanTypes, bool(a.addBeanTypes())); - if (! a.addLiteralTypes().isEmpty()) - psb.set(RDF_addLiteralTypes, bool(a.addLiteralTypes())); - if (! a.addRootProperty().isEmpty()) - psb.set(RDF_addRootProperty, bool(a.addRootProperty())); - if (! a.disableAutoDetectNamespaces().isEmpty()) - psb.set(RDF_disableAutoDetectNamespaces, bool(a.disableAutoDetectNamespaces())); - if (a.namespaces().length > 0) - psb.set(RDF_namespaces, stringList(a.namespaces())); - - if (! a.trimWhitespace().isEmpty()) - psb.set(RDF_trimWhitespace, bool(a.trimWhitespace())); + psb.setIfNotEmpty(RDF_language, string(a.language())); + psb.setIfNotEmpty(RDF_juneauNs, string(a.juneauNs())); + psb.setIfNotEmpty(RDF_juneauBpNs, string(a.juneauBpNs())); + psb.setIfNotEmpty(RDF_disableUseXmlNamespaces, bool(a.disableUseXmlNamespaces())); + psb.setIfNotEmpty(RDF_arp_iriRules, string(a.arp_iriRules())); + psb.setIfNotEmpty(RDF_arp_errorMode, string(a.arp_errorMode())); + psb.setIfNotEmpty(RDF_arp_embedding, bool(a.arp_embedding())); + psb.setIfNotEmpty(RDF_rdfxml_xmlBase, string(a.rdfxml_xmlBase())); + psb.setIfNotEmpty(RDF_rdfxml_longId, bool(a.rdfxml_longId())); + psb.setIfNotEmpty(RDF_rdfxml_allowBadUris, bool(a.rdfxml_allowBadUris())); + psb.setIfNotEmpty(RDF_rdfxml_relativeUris, string(a.rdfxml_relativeUris())); + psb.setIfNotEmpty(RDF_rdfxml_showXmlDeclaration, string(a.rdfxml_showXmlDeclaration())); + psb.setIfNotEmpty(RDF_rdfxml_disableShowDoctypeDeclaration, bool(a.rdfxml_disableShowDoctypeDeclaration())); + psb.setIfNotEmpty(RDF_rdfxml_tab, integer(a.rdfxml_tab(), "rdfxml_tab")); + psb.setIfNotEmpty(RDF_rdfxml_attributeQuoteChar, string(a.rdfxml_attributeQuoteChar())); + psb.setIfNotEmpty(RDF_rdfxml_blockRules, string(a.rdfxml_blockRules())); + psb.setIfNotEmpty(RDF_n3_minGap, integer(a.n3_minGap(), "n3_minGap")); + psb.setIfNotEmpty(RDF_n3_disableObjectLists, bool(a.n3_disableObjectLists())); + psb.setIfNotEmpty(RDF_n3_subjectColumn, integer(a.n3_subjectColumn(), "n3_subjectColumn")); + psb.setIfNotEmpty(RDF_n3_propertyColumn, integer(a.n3_propertyColumn(), "n3_propertyColumn")); + psb.setIfNotEmpty(RDF_n3_indentProperty, integer(a.n3_indentProperty(), "n3_indentProperty")); + psb.setIfNotEmpty(RDF_n3_widePropertyLen, integer(a.n3_widePropertyLen(), "n3_widePropertyLen")); + psb.setIfNotEmpty(RDF_n3_disableAbbrevBaseUri, bool(a.n3_disableAbbrevBaseUri())); + psb.setIfNotEmpty(RDF_n3_disableUsePropertySymbols, bool(a.n3_disableUsePropertySymbols())); + psb.setIfNotEmpty(RDF_n3_disableUseTripleQuotedStrings, bool(a.n3_disableUseTripleQuotedStrings())); + psb.setIfNotEmpty(RDF_n3_disableUseDoubles, bool(a.n3_disableUseDoubles())); + psb.setIfNotEmpty(RDF_collectionFormat, string(a.collectionFormat())); + psb.setIfNotEmpty(RDF_looseCollections, bool(a.looseCollections())); + psb.setIfNotEmpty(RDF_addBeanTypes, bool(a.addBeanTypes())); + psb.setIfNotEmpty(RDF_addLiteralTypes, bool(a.addLiteralTypes())); + psb.setIfNotEmpty(RDF_addRootProperty, bool(a.addRootProperty())); + psb.setIfNotEmpty(RDF_disableAutoDetectNamespaces, bool(a.disableAutoDetectNamespaces())); + psb.setIfNotEmpty(RDF_namespaces, stringList(a.namespaces())); + psb.setIfNotEmpty(RDF_trimWhitespace, bool(a.trimWhitespace())); } } } \ No newline at end of file diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ConfigApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ConfigApply.java index 4badf6c..ea395e9 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ConfigApply.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ConfigApply.java @@ -62,7 +62,8 @@ public abstract class ConfigApply<T extends Annotation> { * @return The resolved string. */ protected String string(String in) { - return vr.resolve(in); + in = vr.resolve(in); + return isEmpty(in) ? null : in; } /** @@ -132,10 +133,8 @@ public abstract class ConfigApply<T extends Annotation> { * @return The resolved boolean. */ public Boolean bool(String in) { - in = vr.resolve(in); - if (isEmpty(in)) - return null; - return Boolean.parseBoolean(in); + in = string(in); + return in == null ? null : Boolean.parseBoolean(in); } /** @@ -145,9 +144,10 @@ public abstract class ConfigApply<T extends Annotation> { * @param loc The annotation field name. * @return The resolved int. */ - protected int integer(String in, String loc) { + protected Integer integer(String in, String loc) { try { - return Integer.parseInt(vr.resolve(in)); + in = string(in); + return in == null ? null : Integer.parseInt(in); } catch (NumberFormatException e) { throw new ConfigException("Invalid syntax for integer on annotation @{0}({1}): {2}", c.getSimpleName(), loc, in); } @@ -162,7 +162,8 @@ public abstract class ConfigApply<T extends Annotation> { */ protected Visibility visibility(String in, String loc) { try { - return Visibility.valueOf(vr.resolve(in)); + in = string(in); + return in == null ? null : Visibility.valueOf(in); } catch (IllegalArgumentException e) { throw new ConfigException("Invalid syntax for visibility on annotation @{0}({1}): {2}", c.getSimpleName(), loc, in); } diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java index 01b9a63..cdb2d27 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java @@ -14,6 +14,7 @@ package org.apache.juneau.annotation; import static org.apache.juneau.BeanContext.*; import static org.apache.juneau.BeanTraverseContext.*; +import static java.util.Arrays.*; import java.util.*; @@ -46,96 +47,60 @@ public class BeanConfigAnnotation { public void apply(AnnotationInfo<BeanConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { BeanConfig a = ai.getAnnotation(); - if (! a.beanClassVisibility().isEmpty()) - psb.set(BEAN_beanClassVisibility, visibility(a.beanClassVisibility(), "beanClassVisibility")); - if (! a.beanConstructorVisibility().isEmpty()) - psb.set(BEAN_beanConstructorVisibility, visibility(a.beanConstructorVisibility(), "beanConstructorVisibility")); - if (a.dictionary().length != 0) - psb.prependTo(BEAN_beanDictionary, a.dictionary()); - if (a.dictionary_replace().length != 0) - psb.set(BEAN_beanDictionary, a.dictionary_replace()); - if (! a.beanFieldVisibility().isEmpty()) - psb.set(BEAN_beanFieldVisibility, visibility(a.beanFieldVisibility(), "beanFieldVisibility")); - if (! a.beanMapPutReturnsOldValue().isEmpty()) - psb.set(BEAN_beanMapPutReturnsOldValue, bool(a.beanMapPutReturnsOldValue())); - if (! a.beanMethodVisibility().isEmpty()) - psb.set(BEAN_beanMethodVisibility, visibility(a.beanMethodVisibility(), "beanMethodVisibility")); - if (! a.beansRequireDefaultConstructor().isEmpty()) - psb.set(BEAN_beansRequireDefaultConstructor, bool(a.beansRequireDefaultConstructor())); - if (! a.beansRequireSerializable().isEmpty()) - psb.set(BEAN_beansRequireSerializable, bool(a.beansRequireSerializable())); - if (! a.beansRequireSettersForGetters().isEmpty()) - psb.set(BEAN_beansRequireSettersForGetters, bool(a.beansRequireSettersForGetters())); - if (! a.disableBeansRequireSomeProperties().isEmpty()) - psb.set(BEAN_disableBeansRequireSomeProperties, bool(a.disableBeansRequireSomeProperties())); - if (! a.typePropertyName().isEmpty()) - psb.set(BEAN_typePropertyName, string(a.typePropertyName())); - if (! a.debug().isEmpty()) - psb.set(CONTEXT_debug, bool(a.debug())); - if (! a.findFluentSetters().isEmpty()) - psb.set(BEAN_findFluentSetters, bool(a.findFluentSetters())); - if (! a.ignoreInvocationExceptionsOnGetters().isEmpty()) - psb.set(BEAN_ignoreInvocationExceptionsOnGetters, bool(a.ignoreInvocationExceptionsOnGetters())); - if (! a.ignoreInvocationExceptionsOnSetters().isEmpty()) - psb.set(BEAN_ignoreInvocationExceptionsOnSetters, bool(a.ignoreInvocationExceptionsOnSetters())); - if (! a.disableIgnoreMissingSetters().isEmpty()) - psb.set(BEAN_disableIgnoreMissingSetters, bool(a.disableIgnoreMissingSetters())); - if (! a.disableIgnoreTransientFields().isEmpty()) - psb.set(BEAN_disableIgnoreTransientFields, bool(a.disableIgnoreTransientFields())); - if (! a.ignoreUnknownBeanProperties().isEmpty()) - psb.set(BEAN_ignoreUnknownBeanProperties, bool(a.ignoreUnknownBeanProperties())); - if (! a.disableIgnoreUnknownNullBeanProperties().isEmpty()) - psb.set(BEAN_disableIgnoreUnknownNullBeanProperties, bool(a.disableIgnoreUnknownNullBeanProperties())); - for (Class<?> c : a.interfaces()) - psb.prependTo(BEAN_annotations, BeanAnnotation.create(c).interfaceClass(c).build()); - if (! a.locale().isEmpty()) - psb.set(CONTEXT_locale, locale(a.locale())); - if (! a.mediaType().isEmpty()) - psb.set(CONTEXT_mediaType, mediaType(a.mediaType())); - if (a.notBeanClasses().length != 0) - psb.addTo(BEAN_notBeanClasses, a.notBeanClasses()); - if (a.notBeanClasses_replace().length != 0) - psb.set(BEAN_notBeanClasses, a.notBeanClasses_replace()); - if (a.notBeanPackages().length != 0) - psb.addTo(BEAN_notBeanPackages, stringList(a.notBeanPackages())); - if (a.notBeanPackages_replace().length != 0) - psb.set(BEAN_notBeanPackages, stringList(a.notBeanPackages_replace())); - if (a.propertyNamer() != PropertyNamer.Null.class) - psb.set(BEAN_propertyNamer, a.propertyNamer()); - if (! a.sortProperties().isEmpty()) - psb.set(BEAN_sortProperties, bool(a.sortProperties())); - if (a.swaps().length != 0) - psb.prependTo(BEAN_swaps, a.swaps()); - if (a.swaps_replace().length != 0) - psb.set(BEAN_swaps, a.swaps_replace()); - if (! a.timeZone().isEmpty()) - psb.set(CONTEXT_timeZone, timeZone(a.timeZone())); - if (! a.useEnumNames().isEmpty()) - psb.set(BEAN_useEnumNames, bool(a.useEnumNames())); - if (! a.disableInterfaceProxies().isEmpty()) - psb.set(BEAN_disableInterfaceProxies, bool(a.disableInterfaceProxies())); - if (! a.useJavaBeanIntrospector().isEmpty()) - psb.set(BEAN_useJavaBeanIntrospector, bool(a.useJavaBeanIntrospector())); - if (! a.detectRecursions().isEmpty()) - psb.set(BEANTRAVERSE_detectRecursions, bool(a.detectRecursions())); - if (! a.ignoreRecursions().isEmpty()) - psb.set(BEANTRAVERSE_ignoreRecursions, bool(a.ignoreRecursions())); - if (! a.initialDepth().isEmpty()) - psb.set(BEANTRAVERSE_initialDepth, integer(a.initialDepth(), "initialDepth")); - if (! a.maxDepth().isEmpty()) - psb.set(BEANTRAVERSE_maxDepth, integer(a.maxDepth(), "maxDepth")); + psb.setIfNotEmpty(BEAN_beanClassVisibility, visibility(a.beanClassVisibility(), "beanClassVisibility")); + psb.setIfNotEmpty(BEAN_beanConstructorVisibility, visibility(a.beanConstructorVisibility(), "beanConstructorVisibility")); + psb.prependTo(BEAN_beanDictionary, a.dictionary()); + psb.setIfNotEmpty(BEAN_beanDictionary, a.dictionary_replace()); + psb.setIfNotEmpty(BEAN_beanFieldVisibility, visibility(a.beanFieldVisibility(), "beanFieldVisibility")); + psb.setIfNotEmpty(BEAN_beanMapPutReturnsOldValue, bool(a.beanMapPutReturnsOldValue())); + psb.setIfNotEmpty(BEAN_beanMethodVisibility, visibility(a.beanMethodVisibility(), "beanMethodVisibility")); + psb.setIfNotEmpty(BEAN_beansRequireDefaultConstructor, bool(a.beansRequireDefaultConstructor())); + psb.setIfNotEmpty(BEAN_beansRequireSerializable, bool(a.beansRequireSerializable())); + psb.setIfNotEmpty(BEAN_beansRequireSettersForGetters, bool(a.beansRequireSettersForGetters())); + psb.setIfNotEmpty(BEAN_disableBeansRequireSomeProperties, bool(a.disableBeansRequireSomeProperties())); + psb.setIfNotEmpty(BEAN_typePropertyName, string(a.typePropertyName())); + psb.setIfNotEmpty(CONTEXT_debug, bool(a.debug())); + psb.setIfNotEmpty(BEAN_findFluentSetters, bool(a.findFluentSetters())); + psb.setIfNotEmpty(BEAN_ignoreInvocationExceptionsOnGetters, bool(a.ignoreInvocationExceptionsOnGetters())); + psb.setIfNotEmpty(BEAN_ignoreInvocationExceptionsOnSetters, bool(a.ignoreInvocationExceptionsOnSetters())); + psb.setIfNotEmpty(BEAN_disableIgnoreMissingSetters, bool(a.disableIgnoreMissingSetters())); + psb.setIfNotEmpty(BEAN_disableIgnoreTransientFields, bool(a.disableIgnoreTransientFields())); + psb.setIfNotEmpty(BEAN_ignoreUnknownBeanProperties, bool(a.ignoreUnknownBeanProperties())); + psb.setIfNotEmpty(BEAN_disableIgnoreUnknownNullBeanProperties, bool(a.disableIgnoreUnknownNullBeanProperties())); + asList(a.interfaces()).stream().map(x -> BeanAnnotation.create(x).interfaceClass(x).build()).forEach(x -> psb.prependTo(BEAN_annotations, x)); + psb.setIfNotEmpty(CONTEXT_locale, locale(a.locale())); + psb.setIfNotEmpty(CONTEXT_mediaType, mediaType(a.mediaType())); + psb.setIfNotEmpty(BEAN_notBeanClasses, a.notBeanClasses()); + psb.setIfNotEmpty(BEAN_notBeanClasses, a.notBeanClasses_replace()); + psb.addTo(BEAN_notBeanPackages, stringList(a.notBeanPackages())); + psb.setIfNotEmpty(BEAN_notBeanPackages, stringList(a.notBeanPackages_replace())); + psb.setIf(a.propertyNamer() != PropertyNamer.Null.class, BEAN_propertyNamer, a.propertyNamer()); + psb.setIfNotEmpty(BEAN_sortProperties, bool(a.sortProperties())); + psb.prependTo(BEAN_swaps, a.swaps()); + psb.setIfNotEmpty(BEAN_swaps, a.swaps_replace()); + psb.setIfNotEmpty(CONTEXT_timeZone, timeZone(a.timeZone())); + psb.setIfNotEmpty(BEAN_useEnumNames, bool(a.useEnumNames())); + psb.setIfNotEmpty(BEAN_disableInterfaceProxies, bool(a.disableInterfaceProxies())); + psb.setIfNotEmpty(BEAN_useJavaBeanIntrospector, bool(a.useJavaBeanIntrospector())); + psb.setIfNotEmpty(BEANTRAVERSE_detectRecursions, bool(a.detectRecursions())); + psb.setIfNotEmpty(BEANTRAVERSE_ignoreRecursions, bool(a.ignoreRecursions())); + psb.setIfNotEmpty(BEANTRAVERSE_initialDepth, integer(a.initialDepth(), "initialDepth")); + psb.setIfNotEmpty(BEANTRAVERSE_maxDepth, integer(a.maxDepth(), "maxDepth")); } private Locale locale(String in) { - return Locale.forLanguageTag(string(in)); + in = string(in); + return in == null ? null : Locale.forLanguageTag(in); } private MediaType mediaType(String in) { - return MediaType.of(string(in)); + in = string(in); + return in == null ? null : MediaType.of(in); } private TimeZone timeZone(String in) { - return TimeZone.getTimeZone(string(in)); + in = string(in); + return in == null ? null : TimeZone.getTimeZone(in); } } } diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java index 0e22bd1..ed7f0f8 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java @@ -41,18 +41,13 @@ public class HtmlConfigAnnotation { @Override public void apply(AnnotationInfo<HtmlConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { HtmlConfig a = ai.getAnnotation(); - if (! a.addBeanTypes().isEmpty()) - psb.set(HTML_addBeanTypes, bool(a.addBeanTypes())); - if (! a.addKeyValueTableHeaders().isEmpty()) - psb.set(HTML_addKeyValueTableHeaders, bool(a.addKeyValueTableHeaders())); - if (! a.disableDetectLabelParameters().isEmpty()) - psb.set(HTML_disableDetectLabelParameters, bool(a.disableDetectLabelParameters())); - if (! a.disableDetectLinksInStrings().isEmpty()) - psb.set(HTML_disableDetectLinksInStrings, bool(a.disableDetectLinksInStrings())); - if (! a.labelParameter().isEmpty()) - psb.set(HTML_labelParameter, string(a.labelParameter())); - if (! a.uriAnchorText().isEmpty()) - psb.set(HTML_uriAnchorText, string(a.uriAnchorText())); + + psb.setIfNotEmpty(HTML_addBeanTypes, bool(a.addBeanTypes())); + psb.setIfNotEmpty(HTML_addKeyValueTableHeaders, bool(a.addKeyValueTableHeaders())); + psb.setIfNotEmpty(HTML_disableDetectLabelParameters, bool(a.disableDetectLabelParameters())); + psb.setIfNotEmpty(HTML_disableDetectLinksInStrings, bool(a.disableDetectLinksInStrings())); + psb.setIfNotEmpty(HTML_labelParameter, string(a.labelParameter())); + psb.setIfNotEmpty(HTML_uriAnchorText, string(a.uriAnchorText())); } } } \ No newline at end of file diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfigAnnotation.java index 5e09173..fabf0a4 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfigAnnotation.java @@ -14,6 +14,7 @@ package org.apache.juneau.html.annotation; import static org.apache.juneau.html.HtmlDocSerializer.*; import static org.apache.juneau.internal.StringUtils.*; +import static java.util.Arrays.*; import java.util.regex.*; @@ -46,39 +47,21 @@ public class HtmlDocConfigAnnotation { @Override public void apply(AnnotationInfo<HtmlDocConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { HtmlDocConfig a = ai.getAnnotation(); - if (a.aside().length > 0) - psb.set(HTMLDOC_aside, resolveList(a.aside(), psb.peek(String[].class, HTMLDOC_aside))); - if (! "DEFAULT".equalsIgnoreCase(a.asideFloat())) - psb.set(HTMLDOC_asideFloat, a.asideFloat().toUpperCase()); - if (a.footer().length > 0) - psb.set(HTMLDOC_footer, resolveList(a.footer(), psb.peek(String[].class, HTMLDOC_footer))); - if (a.head().length > 0) - psb.set(HTMLDOC_head, resolveList(a.head(), psb.peek(String[].class, HTMLDOC_head))); - if (a.header().length > 0) - psb.set(HTMLDOC_header, resolveList(a.header(), psb.peek(String[].class, HTMLDOC_header))); - if (a.nav().length > 0) - psb.set(HTMLDOC_nav, resolveList(a.nav(), psb.peek(String[].class, HTMLDOC_nav))); - if (a.navlinks().length > 0) - psb.set(HTMLDOC_navlinks, resolveLinks(a.navlinks(), psb.peek(String[].class, HTMLDOC_navlinks))); - if (! a.noResultsMessage().isEmpty()) - psb.set(HTMLDOC_noResultsMessage, string(a.noResultsMessage())); - if (! a.nowrap().isEmpty()) - psb.set(HTMLDOC_nowrap, bool(a.nowrap())); - if (a.script().length > 0) - psb.set(HTMLDOC_script, resolveList(a.script(), psb.peek(String[].class, HTMLDOC_script))); - if (a.style().length > 0) - psb.set(HTMLDOC_style, resolveList(a.style(), psb.peek(String[].class, HTMLDOC_style))); - if (a.stylesheet().length > 0) - psb.set(HTMLDOC_stylesheet, resolveList(a.stylesheet(), psb.peek(String[].class, HTMLDOC_stylesheet))); - if (a.template() != HtmlDocTemplate.Null.class) - psb.set(HTMLDOC_template, a.template()); - for (Class<? extends HtmlWidget> w : a.widgets()) { - try { - psb.prependTo(HTMLDOC_widgets, w.newInstance()); - } catch (Exception e) { - e.printStackTrace(); - } - } + + psb.setIf(a.aside().length > 0, HTMLDOC_aside, resolveList(a.aside(), psb.peek(String[].class, HTMLDOC_aside))); + psb.setIf(! "DEFAULT".equalsIgnoreCase(a.asideFloat()), HTMLDOC_asideFloat, a.asideFloat().toUpperCase()); + psb.setIf(a.footer().length > 0, HTMLDOC_footer, resolveList(a.footer(), psb.peek(String[].class, HTMLDOC_footer))); + psb.setIf(a.head().length > 0, HTMLDOC_head, resolveList(a.head(), psb.peek(String[].class, HTMLDOC_head))); + psb.setIf(a.header().length > 0, HTMLDOC_header, resolveList(a.header(), psb.peek(String[].class, HTMLDOC_header))); + psb.setIf(a.nav().length > 0, HTMLDOC_nav, resolveList(a.nav(), psb.peek(String[].class, HTMLDOC_nav))); + psb.setIf(a.navlinks().length > 0, HTMLDOC_navlinks, resolveLinks(a.navlinks(), psb.peek(String[].class, HTMLDOC_navlinks))); + psb.setIfNotEmpty(HTMLDOC_noResultsMessage, string(a.noResultsMessage())); + psb.setIfNotEmpty(HTMLDOC_nowrap, bool(a.nowrap())); + psb.setIf(a.script().length > 0, HTMLDOC_script, resolveList(a.script(), psb.peek(String[].class, HTMLDOC_script))); + psb.setIf(a.style().length > 0, HTMLDOC_style, resolveList(a.style(), psb.peek(String[].class, HTMLDOC_style))); + psb.setIf(a.stylesheet().length > 0, HTMLDOC_stylesheet, resolveList(a.stylesheet(), psb.peek(String[].class, HTMLDOC_stylesheet))); + psb.setIf(a.template() != HtmlDocTemplate.Null.class, HTMLDOC_template, a.template()); + asList(a.widgets()).stream().forEach(x -> psb.prependTo(HTMLDOC_widgets, x)); } private static final Pattern INDEXED_LINK_PATTERN = Pattern.compile("(?s)(\\S*)\\[(\\d+)\\]\\:(.*)"); diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigAnnotation.java index 11aa5d7..2823ab2 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigAnnotation.java @@ -42,15 +42,11 @@ public class JsonConfigAnnotation { @Override public void apply(AnnotationInfo<JsonConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { JsonConfig a = ai.getAnnotation(); - if (! a.addBeanTypes().isEmpty()) - psb.set(JSON_addBeanTypes, bool(a.addBeanTypes())); - if (! a.escapeSolidus().isEmpty()) - psb.set(JSON_escapeSolidus, bool(a.escapeSolidus())); - if (! a.simpleMode().isEmpty()) - psb.set(JSON_simpleMode, bool(a.simpleMode())); - if (! a.validateEnd().isEmpty()) - psb.set(JSON_validateEnd, bool(a.validateEnd())); + psb.setIfNotEmpty(JSON_addBeanTypes, bool(a.addBeanTypes())); + psb.setIfNotEmpty(JSON_escapeSolidus, bool(a.escapeSolidus())); + psb.setIfNotEmpty(JSON_simpleMode, bool(a.simpleMode())); + psb.setIfNotEmpty(JSON_validateEnd, bool(a.validateEnd())); } } } \ No newline at end of file diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java index bfc51e6..ba88948 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java @@ -42,20 +42,14 @@ public class JsonSchemaConfigAnnotation { @Override public void apply(AnnotationInfo<JsonSchemaConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { JsonSchemaConfig a = ai.getAnnotation(); - if (! a.addDescriptionsTo().isEmpty()) - psb.set(JSONSCHEMA_addDescriptionsTo, string(a.addDescriptionsTo())); - if (! a.addExamplesTo().isEmpty()) - psb.set(JSONSCHEMA_addExamplesTo, string(a.addExamplesTo())); - if (! a.allowNestedDescriptions().isEmpty()) - psb.set(JSONSCHEMA_allowNestedDescriptions, bool(a.allowNestedDescriptions())); - if (! a.allowNestedExamples().isEmpty()) - psb.set(JSONSCHEMA_allowNestedExamples, bool(a.allowNestedExamples())); - if (a.beanDefMapper() != BeanDefMapper.Null.class) - psb.set(JSONSCHEMA_beanDefMapper, a.beanDefMapper()); - if (! a.ignoreTypes().isEmpty()) - psb.set(JSONSCHEMA_ignoreTypes, string(a.ignoreTypes())); - if (! a.useBeanDefs().isEmpty()) - psb.set(JSONSCHEMA_useBeanDefs, bool(a.useBeanDefs())); + + psb.setIfNotEmpty(JSONSCHEMA_addDescriptionsTo, string(a.addDescriptionsTo())); + psb.setIfNotEmpty(JSONSCHEMA_addExamplesTo, string(a.addExamplesTo())); + psb.setIfNotEmpty(JSONSCHEMA_allowNestedDescriptions, bool(a.allowNestedDescriptions())); + psb.setIfNotEmpty(JSONSCHEMA_allowNestedExamples, bool(a.allowNestedExamples())); + psb.setIf(a.beanDefMapper() != BeanDefMapper.Null.class, JSONSCHEMA_beanDefMapper, a.beanDefMapper()); + psb.setIfNotEmpty(JSONSCHEMA_ignoreTypes, string(a.ignoreTypes())); + psb.setIfNotEmpty(JSONSCHEMA_useBeanDefs, bool(a.useBeanDefs())); } } } \ No newline at end of file diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigAnnotation.java index bc54d3c..fb6e9aa 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigAnnotation.java @@ -42,8 +42,7 @@ public class MsgPackConfigAnnotation { public void apply(AnnotationInfo<MsgPackConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { MsgPackConfig a = ai.getAnnotation(); - if (! a.addBeanTypes().isEmpty()) - psb.set(MSGPACK_addBeanTypes, bool(a.addBeanTypes())); + psb.setIfNotEmpty(MSGPACK_addBeanTypes, bool(a.addBeanTypes())); } } } \ No newline at end of file diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigAnnotation.java index bf51a95..c39b5bf 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigAnnotation.java @@ -42,10 +42,8 @@ public class OpenApiConfigAnnotation { public void apply(AnnotationInfo<OpenApiConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { OpenApiConfig a = ai.getAnnotation(); - if (! a.format().isEmpty()) - psb.set(OAPI_format, string(a.format())); - if (! a.collectionFormat().isEmpty()) - psb.set(OAPI_collectionFormat, string(a.collectionFormat())); + psb.setIfNotEmpty(OAPI_format, string(a.format())); + psb.setIfNotEmpty(OAPI_collectionFormat, string(a.collectionFormat())); } } } \ No newline at end of file diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfigAnnotation.java index b538ac8..0718413 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfigAnnotation.java @@ -45,26 +45,16 @@ public class ParserConfigAnnotation { @Override public void apply(AnnotationInfo<ParserConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { ParserConfig a = ai.getAnnotation(); - if (! a.autoCloseStreams().isEmpty()) - psb.set(PARSER_autoCloseStreams, bool(a.autoCloseStreams())); - if (! a.debugOutputLines().isEmpty()) - psb.set(PARSER_debugOutputLines, integer(a.debugOutputLines(), "debugOutputLines")); - if (a.listener() != ParserListener.Null.class) - psb.set(PARSER_listener, a.listener()); - if (! a.strict().isEmpty()) - psb.set(PARSER_strict, bool(a.strict())); - if (! a.trimStrings().isEmpty()) - psb.set(PARSER_trimStrings, bool(a.trimStrings())); - if (! a.unbuffered().isEmpty()) - psb.set(PARSER_unbuffered, bool(a.unbuffered())); - if (! a.binaryFormat().isEmpty()) - psb.set(ISPARSER_binaryFormat, string(a.binaryFormat())); - - if (! a.fileCharset().isEmpty()) - psb.set(RPARSER_fileCharset, charset(a.fileCharset())); - if (! a.streamCharset().isEmpty()) - psb.set(RPARSER_streamCharset, charset(a.streamCharset())); + psb.setIfNotEmpty(PARSER_autoCloseStreams, bool(a.autoCloseStreams())); + psb.setIfNotEmpty(PARSER_debugOutputLines, integer(a.debugOutputLines(), "debugOutputLines")); + psb.setIf(a.listener() != ParserListener.Null.class, PARSER_listener, a.listener()); + psb.setIfNotEmpty(PARSER_strict, bool(a.strict())); + psb.setIfNotEmpty(PARSER_trimStrings, bool(a.trimStrings())); + psb.setIfNotEmpty(PARSER_unbuffered, bool(a.unbuffered())); + psb.setIfNotEmpty(ISPARSER_binaryFormat, string(a.binaryFormat())); + psb.setIfNotEmpty(RPARSER_fileCharset, charset(a.fileCharset())); + psb.setIfNotEmpty(RPARSER_streamCharset, charset(a.streamCharset())); } private Object charset(String in) { diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfigAnnotation.java index e07961b..b4f2e23 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfigAnnotation.java @@ -45,44 +45,25 @@ public class SerializerConfigAnnotation { @Override public void apply(AnnotationInfo<SerializerConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { SerializerConfig a = ai.getAnnotation(); - if (! a.addBeanTypes().isEmpty()) - psb.set(SERIALIZER_addBeanTypes, bool(a.addBeanTypes())); - if (! a.addRootType().isEmpty()) - psb.set(SERIALIZER_addRootType, bool(a.addRootType())); - if (! a.keepNullProperties().isEmpty()) - psb.set(SERIALIZER_keepNullProperties, bool(a.keepNullProperties())); - if (a.listener() != SerializerListener.Null.class) - psb.set(SERIALIZER_listener, a.listener()); - if (! a.sortCollections().isEmpty()) - psb.set(SERIALIZER_sortCollections, bool(a.sortCollections())); - if (! a.sortMaps().isEmpty()) - psb.set(SERIALIZER_sortMaps, bool(a.sortMaps())); - if (! a.trimEmptyCollections().isEmpty()) - psb.set(SERIALIZER_trimEmptyCollections, bool(a.trimEmptyCollections())); - if (! a.trimEmptyMaps().isEmpty()) - psb.set(SERIALIZER_trimEmptyMaps, bool(a.trimEmptyMaps())); - if (! a.trimStrings().isEmpty()) - psb.set(SERIALIZER_trimStrings, bool(a.trimStrings())); - if (! a.uriContext().isEmpty()) - psb.set(SERIALIZER_uriContext, string(a.uriContext())); - if (! a.uriRelativity().isEmpty()) - psb.set(SERIALIZER_uriRelativity, string(a.uriRelativity())); - if (! a.uriResolution().isEmpty()) - psb.set(SERIALIZER_uriResolution, string(a.uriResolution())); - if (! a.binaryFormat().isEmpty()) - psb.set(OSSERIALIZER_binaryFormat, string(a.binaryFormat())); - - if (! a.fileCharset().isEmpty()) - psb.set(WSERIALIZER_fileCharset, charset(a.fileCharset())); - if (! a.maxIndent().isEmpty()) - psb.set(WSERIALIZER_maxIndent, integer(a.maxIndent(), "maxIndent")); - if (! a.quoteChar().isEmpty()) - psb.set(WSERIALIZER_quoteChar, character(a.quoteChar(), "quoteChar")); - if (! a.streamCharset().isEmpty()) - psb.set(WSERIALIZER_streamCharset, charset(a.streamCharset())); - if (! a.useWhitespace().isEmpty()) - psb.set(WSERIALIZER_useWhitespace, bool(a.useWhitespace())); + psb.setIfNotEmpty(SERIALIZER_addBeanTypes, bool(a.addBeanTypes())); + psb.setIfNotEmpty(SERIALIZER_addRootType, bool(a.addRootType())); + psb.setIfNotEmpty(SERIALIZER_keepNullProperties, bool(a.keepNullProperties())); + psb.setIf(a.listener() != SerializerListener.Null.class, SERIALIZER_listener, a.listener()); + psb.setIfNotEmpty(SERIALIZER_sortCollections, bool(a.sortCollections())); + psb.setIfNotEmpty(SERIALIZER_sortMaps, bool(a.sortMaps())); + psb.setIfNotEmpty(SERIALIZER_trimEmptyCollections, bool(a.trimEmptyCollections())); + psb.setIfNotEmpty(SERIALIZER_trimEmptyMaps, bool(a.trimEmptyMaps())); + psb.setIfNotEmpty(SERIALIZER_trimStrings, bool(a.trimStrings())); + psb.setIfNotEmpty(SERIALIZER_uriContext, string(a.uriContext())); + psb.setIfNotEmpty(SERIALIZER_uriRelativity, string(a.uriRelativity())); + psb.setIfNotEmpty(SERIALIZER_uriResolution, string(a.uriResolution())); + psb.setIfNotEmpty(OSSERIALIZER_binaryFormat, string(a.binaryFormat())); + psb.setIfNotEmpty(WSERIALIZER_fileCharset, charset(a.fileCharset())); + psb.setIfNotEmpty(WSERIALIZER_maxIndent, integer(a.maxIndent(), "maxIndent")); + psb.setIfNotEmpty(WSERIALIZER_quoteChar, character(a.quoteChar(), "quoteChar")); + psb.setIfNotEmpty(WSERIALIZER_streamCharset, charset(a.streamCharset())); + psb.setIfNotEmpty(WSERIALIZER_useWhitespace, bool(a.useWhitespace())); } private Object charset(String in) { @@ -92,8 +73,10 @@ public class SerializerConfigAnnotation { return s; } - private char character(String in, String loc) { + private Character character(String in, String loc) { String s = string(in); + if (s == null) + return null; if (s.length() != 1) throw new ConfigException("Invalid syntax for character on annotation @{0}({1}): {2}", "SerializerConfig", loc, in); return s.charAt(0); diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigAnnotation.java index d440cec..90473f1 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigAnnotation.java @@ -42,8 +42,7 @@ public class SoapXmlConfigAnnotation { public void apply(AnnotationInfo<SoapXmlConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { SoapXmlConfig a = ai.getAnnotation(); - if (! a.soapAction().isEmpty()) - psb.set(SOAPXML_SOAPAction, string(a.soapAction())); + psb.setIfNotEmpty(SOAPXML_SOAPAction, string(a.soapAction())); } } } \ No newline at end of file diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigAnnotation.java index 2aaa7d1..f0c0c10 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigAnnotation.java @@ -42,17 +42,12 @@ public class UonConfigAnnotation { @Override public void apply(AnnotationInfo<UonConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { UonConfig a = ai.getAnnotation(); - if (! a.addBeanTypes().isEmpty()) - psb.set(UON_addBeanTypes, bool(a.addBeanTypes())); - if (! a.encoding().isEmpty()) - psb.set(UON_encoding, bool(a.encoding())); - if (! a.paramFormat().isEmpty()) - psb.set(UON_paramFormat, string(a.paramFormat())); - if (! a.decoding().isEmpty()) - psb.set(UON_decoding, bool(a.decoding())); - if (! a.validateEnd().isEmpty()) - psb.set(UON_validateEnd, bool(a.validateEnd())); + psb.setIfNotEmpty(UON_addBeanTypes, bool(a.addBeanTypes())); + psb.setIfNotEmpty(UON_encoding, bool(a.encoding())); + psb.setIfNotEmpty(UON_paramFormat, string(a.paramFormat())); + psb.setIfNotEmpty(UON_decoding, bool(a.decoding())); + psb.setIfNotEmpty(UON_validateEnd, bool(a.validateEnd())); } } } \ No newline at end of file diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java index 3509d25..e194459 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java @@ -43,29 +43,18 @@ public class XmlConfigAnnotation { @Override public void apply(AnnotationInfo<XmlConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) { XmlConfig a = ai.getAnnotation(); - if (! a.addBeanTypes().isEmpty()) - psb.set(XML_addBeanTypes, bool(a.addBeanTypes())); - if (! a.addNamespaceUrisToRoot().isEmpty()) - psb.set(XML_addNamespaceUrisToRoot, bool(a.addNamespaceUrisToRoot())); - if (! a.disableAutoDetectNamespaces().isEmpty()) - psb.set(XML_disableAutoDetectNamespaces, bool(a.disableAutoDetectNamespaces())); - if (! a.defaultNamespace().isEmpty()) - psb.set(XML_defaultNamespace, string(a.defaultNamespace())); - if (! a.enableNamespaces().isEmpty()) - psb.set(XML_enableNamespaces, bool(a.enableNamespaces())); - if (a.namespaces().length > 0) - psb.set(XML_namespaces, Namespace.createArray(stringList(a.namespaces()))); - if (a.eventAllocator() != XmlEventAllocator.Null.class) - psb.set(XML_eventAllocator, a.eventAllocator()); - if (! a.preserveRootElement().isEmpty()) - psb.set(XML_preserveRootElement, bool(a.preserveRootElement())); - if (a.reporter() != XmlReporter.Null.class) - psb.set(XML_reporter, a.reporter()); - if (a.resolver() != XmlResolver.Null.class) - psb.set(XML_resolver, a.resolver()); - if (! a.validating().isEmpty()) - psb.set(XML_validating, bool(a.validating())); + psb.setIfNotEmpty(XML_addBeanTypes, bool(a.addBeanTypes())); + psb.setIfNotEmpty(XML_addNamespaceUrisToRoot, bool(a.addNamespaceUrisToRoot())); + psb.setIfNotEmpty(XML_disableAutoDetectNamespaces, bool(a.disableAutoDetectNamespaces())); + psb.setIfNotEmpty(XML_defaultNamespace, string(a.defaultNamespace())); + psb.setIfNotEmpty(XML_enableNamespaces, bool(a.enableNamespaces())); + psb.setIf(a.namespaces().length > 0, XML_namespaces, Namespace.createArray(stringList(a.namespaces()))); + psb.setIf(a.eventAllocator() != XmlEventAllocator.Null.class, XML_eventAllocator, a.eventAllocator()); + psb.setIfNotEmpty(XML_preserveRootElement, bool(a.preserveRootElement())); + psb.setIf(a.reporter() != XmlReporter.Null.class, XML_reporter, a.reporter()); + psb.setIf(a.resolver() != XmlResolver.Null.class, XML_resolver, a.resolver()); + psb.setIfNotEmpty(XML_validating, bool(a.validating())); } } } \ No newline at end of file diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java index e12383c..7a1a8d0 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java @@ -968,88 +968,46 @@ public class RestAnnotation { Rest a = ai.getAnnotation(); ClassInfo c = ai.getClassOn(); - if (a.serializers().length > 0) - psb.set(REST_serializers, merge(ConverterUtils.toType(psb.peek(REST_serializers), Object[].class), a.serializers())); - - if (a.parsers().length > 0) - psb.set(REST_parsers, merge(ConverterUtils.toType(psb.peek(REST_parsers), Object[].class), a.parsers())); - + psb.set(REST_serializers, merge(ConverterUtils.toType(psb.peek(REST_serializers), Object[].class), a.serializers())); + psb.set(REST_parsers, merge(ConverterUtils.toType(psb.peek(REST_parsers), Object[].class), a.parsers())); psb.setIf(a.partSerializer() != HttpPartSerializer.Null.class, REST_partSerializer, a.partSerializer()); - psb.setIf(a.partParser() != HttpPartParser.Null.class, REST_partParser, a.partParser()); - psb.prependTo(REST_encoders, a.encoders()); - psb.setIfNotEmpty(REST_produces, stringList(a.produces())); - psb.setIfNotEmpty(REST_consumes, stringList(a.consumes())); - stringStream(a.defaultRequestAttributes()).map(x -> BasicNamedAttribute.ofPair(x)).forEach(x -> psb.appendTo(REST_defaultRequestAttributes, x)); - stringStream(a.defaultRequestHeaders()).map(x -> BasicHeader.ofPair(x)).forEach(x -> psb.appendTo(REST_defaultRequestHeaders, x)); - stringStream(a.defaultResponseHeaders()).map(x -> BasicHeader.ofPair(x)).forEach(x -> psb.appendTo(REST_defaultResponseHeaders, x)); - psb.appendToIfNotEmpty(REST_defaultRequestHeaders, Accept.of(string(a.defaultAccept()))); - psb.appendToIfNotEmpty(REST_defaultRequestHeaders, ContentType.of(string(a.defaultContentType()))); - psb.prependTo(REST_responseHandlers, a.responseHandlers()); - psb.prependTo(REST_converters, a.converters()); - psb.prependTo(REST_guards, reverse(a.guards())); - psb.prependTo(REST_children, a.children()); - psb.prependTo(REST_paramResolvers, a.paramResolvers()); - psb.setIf(a.context() != RestContext.Null.class, REST_context, a.context()); - psb.setIfNotEmpty(REST_uriContext, string(a.uriContext())); - psb.setIfNotEmpty(REST_uriAuthority, string(a.uriAuthority())); - psb.setIfNotEmpty(REST_uriRelativity, string(a.uriRelativity())); - psb.setIfNotEmpty(REST_uriResolution, string(a.uriResolution())); - psb.prependTo(REST_messages, Tuple2.of(c.inner(), string(a.messages()))); - psb.setIf(a.fileFinder() != FileFinder.Null.class, REST_fileFinder, a.fileFinder()); - psb.setIf(a.staticFiles() != StaticFiles.Null.class, REST_staticFiles, a.staticFiles()); - psb.setIfNotEmpty(REST_path, trimLeadingSlash(string(a.path()))); - psb.setIfNotEmpty(REST_clientVersionHeader, string(a.clientVersionHeader())); - psb.setIf(a.beanFactory() != BeanFactory.Null.class, REST_beanFactory, a.beanFactory()); - psb.setIf(a.callLogger() != RestLogger.Null.class, REST_callLogger, a.callLogger()); - psb.setIf(a.infoProvider() != RestInfoProvider.Null.class, REST_infoProvider, a.infoProvider()); - psb.setIfNotEmpty(REST_disableAllowBodyParam, bool(a.disableAllowBodyParam())); - psb.setIfNotEmpty(REST_allowedHeaderParams, string(a.allowedHeaderParams())); - psb.setIfNotEmpty(REST_allowedMethodHeaders, string(a.allowedMethodHeaders())); - psb.setIfNotEmpty(REST_allowedMethodParams, string(a.allowedMethodParams())); - psb.setIfNotEmpty(REST_renderResponseStackTraces, bool(a.renderResponseStackTraces())); - psb.setIfNotEmpty(REST_defaultCharset, string(a.defaultCharset())); - psb.setIfNotEmpty(REST_maxInput, string(a.maxInput())); - psb.setIfNotEmpty(REST_debug, string(a.debug())); - psb.setIfNotEmpty(REST_debugOn, string(a.debugOn())); - cdStream(a.rolesDeclared()).forEach(x -> psb.addTo(REST_rolesDeclared, x)); - psb.addToIfNotEmpty(REST_roleGuard, string(a.roleGuard())); } diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java index bfd9034..e7f899f 100644 --- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java +++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java @@ -612,55 +612,33 @@ public class RestMethodAnnotation { public void apply(AnnotationInfo<RestMethod> ai, PropertyStoreBuilder psb, VarResolverSession vr) { RestMethod a = ai.getAnnotation(); - if (a.serializers().length > 0) - psb.set(REST_serializers, merge(ConverterUtils.toType(psb.peek(REST_serializers), Object[].class), a.serializers())); - - if (a.parsers().length > 0) - psb.set(REST_parsers, merge(ConverterUtils.toType(psb.peek(REST_parsers), Object[].class), a.parsers())); - - if (a.encoders().length > 0) - psb.set(REST_encoders, merge(ConverterUtils.toType(psb.peek(REST_encoders), Object[].class), a.encoders())); - + psb.set(REST_serializers, merge(ConverterUtils.toType(psb.peek(REST_serializers), Object[].class), a.serializers())); + psb.set(REST_parsers, merge(ConverterUtils.toType(psb.peek(REST_parsers), Object[].class), a.parsers())); + psb.set(REST_encoders, merge(ConverterUtils.toType(psb.peek(REST_encoders), Object[].class), a.encoders())); psb.setIfNotEmpty(REST_produces, stringList(a.produces())); - psb.setIfNotEmpty(REST_consumes, stringList(a.consumes())); - stringStream(a.defaultRequestHeaders()).map(x -> BasicHeader.ofPair(x)).forEach(x -> psb.appendTo(RESTMETHOD_defaultRequestHeaders, x)); - stringStream(a.defaultResponseHeaders()).map(x -> BasicHeader.ofPair(x)).forEach(x -> psb.appendTo(RESTMETHOD_defaultResponseHeaders, x)); - stringStream(a.defaultRequestAttributes()).map(x -> BasicNamedAttribute.ofPair(x)).forEach(x -> psb.appendTo(RESTMETHOD_defaultRequestAttributes, x)); - stringStream(a.defaultQuery()).map(x -> BasicNameValuePair.ofPair(x)).forEach(x -> psb.appendTo(RESTMETHOD_defaultQuery, x)); - stringStream(a.defaultFormData()).map(x -> BasicNameValuePair.ofPair(x)).forEach(x -> psb.appendTo(RESTMETHOD_defaultFormData, x)); - psb.appendToIfNotEmpty(REST_defaultRequestHeaders, Accept.of(string(a.defaultAccept()))); - psb.appendToIfNotEmpty(REST_defaultRequestHeaders, ContentType.of(string(a.defaultContentType()))); - psb.prependTo(REST_converters, a.converters()); - psb.prependTo(REST_guards, reverse(a.guards())); - psb.prependTo(RESTMETHOD_matchers, a.matchers()); - psb.setIfNotEmpty(RESTMETHOD_clientVersion, a.clientVersion()); - psb.setIfNotEmpty(REST_defaultCharset, string(a.defaultCharset())); - psb.setIfNotEmpty(REST_maxInput, string(a.maxInput())); - stringStream(a.path()).forEach(x -> psb.prependTo(RESTMETHOD_path, x)); - cdStream(a.rolesDeclared()).forEach(x -> psb.addTo(REST_rolesDeclared, x)); - psb.addToIfNotEmpty(REST_roleGuard, string(a.roleGuard())); - psb.setIfNotEmpty(RESTMETHOD_httpMethod, string(a.method())); + psb.setIf(a.priority() != 0, RESTMETHOD_priority, a.priority()); + psb.setIfNotEmpty(RESTMETHOD_debug, string(a.debug())); - if (! a.value().isEmpty()) { - String v = string(a.value()).trim(); + String v = StringUtils.trim(string(a.value())); + if (v != null) { int i = v.indexOf(' '); if (i == -1) { psb.set(RESTMETHOD_httpMethod, v); @@ -669,10 +647,6 @@ public class RestMethodAnnotation { psb.prependTo(RESTMETHOD_path, v.substring(i).trim()); } } - - psb.setIf(a.priority() != 0, RESTMETHOD_priority, a.priority()); - - psb.setIfNotEmpty(RESTMETHOD_debug, string(a.debug())); } }