From 228a7509ed2a0c78a3d36fcb6cf03b28cae54e9e Mon Sep 17 00:00:00 2001 From: Laurent SCHOELENS <61973605+laurentschoelens@users.noreply.github.com> Date: Tue, 16 Jun 2026 15:08:36 +0200 Subject: [PATCH] [#706] remove commons-beanutils and replace by doSetProperty methods per plugin --- .../hyperjaxb3/ejb/plugin/EjbPlugin.java | 45 ++++++++++++++----- .../jaxb/plugin/annotate/AnnotatePlugin.java | 15 ++++++- .../RemoveAnnotationPlugin.java | 11 +++++ .../samples/annotate/project-build.xml | 1 - .../jaxb-plugins-tools/pom.xml | 4 -- .../plugin/AbstractParameterizablePlugin.java | 32 +++++++++---- .../AutoInheritancePlugin.java | 23 ++++++++-- .../AbstractCodeGeneratorPlugin.java | 9 ++++ .../jaxb/plugin/copyable/CopyablePlugin.java | 11 +++++ .../customizations/CustomizationsPlugin.java | 12 +++++ .../plugin/enumvalue/EnumValuePlugin.java | 4 +- .../jaxb/plugin/equals/EqualsPlugin.java | 11 +++++ .../jaxb/plugin/hashcode/HashCodePlugin.java | 11 +++++ .../plugin/inheritance/InheritancePlugin.java | 4 +- .../jaxb/plugin/map_init/MapInitPlugin.java | 10 +++++ .../plugin/mergeable/MergeablePlugin.java | 11 +++++ .../parentpointer/ParentPointerPlugin.java | 2 +- .../jaxb/plugin/setters/SettersPlugin.java | 10 +++++ .../jaxb/plugin/simplify/SimplifyPlugin.java | 10 +++++ .../jaxb/plugin/tostring/ToStringPlugin.java | 13 ++++++ .../jaxb/plugin/wildcard/WildcardPlugin.java | 4 +- pom.xml | 16 ------- 22 files changed, 218 insertions(+), 51 deletions(-) diff --git a/hyperjaxb/ejb/plugin/src/main/java/org/jvnet/hyperjaxb3/ejb/plugin/EjbPlugin.java b/hyperjaxb/ejb/plugin/src/main/java/org/jvnet/hyperjaxb3/ejb/plugin/EjbPlugin.java index ce497b7ec..adf3d23c6 100644 --- a/hyperjaxb/ejb/plugin/src/main/java/org/jvnet/hyperjaxb3/ejb/plugin/EjbPlugin.java +++ b/hyperjaxb/ejb/plugin/src/main/java/org/jvnet/hyperjaxb3/ejb/plugin/EjbPlugin.java @@ -26,6 +26,7 @@ import org.jvnet.hyperjaxb3.xjc.generator.bean.field.UntypedListFieldRenderer; import org.jvnet.jaxb.plugin.AbstractParameterizablePlugin; import org.jvnet.jaxb.util.CustomizationUtils; +import org.jvnet.jaxb.util.FieldAccessorFactory; import org.jvnet.jaxb.util.GeneratorContextUtils; import org.w3c.dom.Element; import org.xml.sax.ErrorHandler; @@ -84,6 +85,31 @@ public String getUsage() { return " -Xhyperjaxb3-ejb: Hyperjaxb3 EJB plugin"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("roundtripTestClassName".equals(propertyName)) { + setRoundtripTestClassName(value); + } else if ("persistenceUnitName".equals(propertyName)) { + setPersistenceUnitName(value); + } else if ("targetDir".equals(propertyName)) { + setTargetDir(new File(value)); + } else if ("persistenceXml".equals(propertyName)) { + setPersistenceXml(new File(value)); + } else if ("applicationContextClassName".equals(propertyName)) { + setApplicationContextClassName(value); + } else if ("applicationContext".equals(propertyName)) { + setApplicationContext((IApplicationContext) Class.forName(value).getDeclaredConstructor().newInstance()); + } else if ("maxIdentifierLength".equals(propertyName)) { + setMaxIdentifierLength(Integer.parseInt(value)); + } else if ("result".equals(propertyName)) { + setResult(value); + } else if ("generateTransientId".equals(propertyName)) { + setGenerateTransientId(Boolean.parseBoolean(value)); + } else { + super.doSetProperty(propertyName, value); + } + } + private String roundtripTestClassName; public String getRoundtripTestClassName() { @@ -173,19 +199,18 @@ public String getResult() { public void setResult(String variant) { this.result = variant; } + private boolean generateTransientId = false; - public String getModelAndOutlineProcessorBeanName() { - return getResult(); - } - - private String[] mergePersistenceUnits = new String[0]; + public boolean isGenerateTransientId() { + return generateTransientId; + } - public String[] getMergePersistenceUnits() { - return mergePersistenceUnits; - } + public void setGenerateTransientId(boolean generateTransientId) { + this.generateTransientId = generateTransientId; + } - public void setMergePersistenceUnits(String[] mergePersistenceUnits) { - this.mergePersistenceUnits = mergePersistenceUnits; + public String getModelAndOutlineProcessorBeanName() { + return getResult(); } @Override diff --git a/jaxb-annotate-parent/plugin/src/main/java/org/jvnet/jaxb/plugin/annotate/AnnotatePlugin.java b/jaxb-annotate-parent/plugin/src/main/java/org/jvnet/jaxb/plugin/annotate/AnnotatePlugin.java index a90cf45ff..cad2e6903 100644 --- a/jaxb-annotate-parent/plugin/src/main/java/org/jvnet/jaxb/plugin/annotate/AnnotatePlugin.java +++ b/jaxb-annotate-parent/plugin/src/main/java/org/jvnet/jaxb/plugin/annotate/AnnotatePlugin.java @@ -164,7 +164,20 @@ public String getUsage() { return "TBD"; } - private String defaultFieldTarget = "getter"; + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("defaultFieldTarget".equals(propertyName)) { + setDefaultFieldTarget(value); + } else if ("annotationParser".equals(propertyName)) { + setAnnotationParser((XAnnotationParser) Class.forName(value).getDeclaredConstructor().newInstance()); + } else if ("annotator".equals(propertyName)) { + setAnnotator((Annotator) Class.forName(value).getDeclaredConstructor().newInstance()); + } else { + super.doSetProperty(propertyName, value); + } + } + + private String defaultFieldTarget = "getter"; public String getDefaultFieldTarget() { return defaultFieldTarget; diff --git a/jaxb-annotate-parent/plugin/src/main/java/org/jvnet/jaxb/plugin/removeannotation/RemoveAnnotationPlugin.java b/jaxb-annotate-parent/plugin/src/main/java/org/jvnet/jaxb/plugin/removeannotation/RemoveAnnotationPlugin.java index bb7f2bec9..3543d5957 100644 --- a/jaxb-annotate-parent/plugin/src/main/java/org/jvnet/jaxb/plugin/removeannotation/RemoveAnnotationPlugin.java +++ b/jaxb-annotate-parent/plugin/src/main/java/org/jvnet/jaxb/plugin/removeannotation/RemoveAnnotationPlugin.java @@ -38,9 +38,11 @@ import javax.xml.namespace.QName; import org.jvnet.jaxb.annox.Constants; +import org.jvnet.jaxb.annox.parser.XAnnotationParser; import org.jvnet.jaxb.annox.util.StringUtils; import org.jvnet.jaxb.plugin.AbstractParameterizablePlugin; import org.jvnet.jaxb.plugin.AnnotationTarget; +import org.jvnet.jaxb.plugin.annotate.Annotator; import org.jvnet.jaxb.util.CustomizationUtils; import org.w3c.dom.Element; import org.xml.sax.ErrorHandler; @@ -190,6 +192,15 @@ public String getUsage() { return "TBD"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("defaultFieldTarget".equals(propertyName)) { + setDefaultFieldTarget(value); + } else { + super.doSetProperty(propertyName, value); + } + } + private String defaultFieldTarget = "getter"; public String getDefaultFieldTarget() { diff --git a/jaxb-annotate-parent/samples/annotate/project-build.xml b/jaxb-annotate-parent/samples/annotate/project-build.xml index 88fd633bb..7e8dc4d65 100644 --- a/jaxb-annotate-parent/samples/annotate/project-build.xml +++ b/jaxb-annotate-parent/samples/annotate/project-build.xml @@ -119,7 +119,6 @@ - diff --git a/jaxb-plugins-parent/jaxb-plugins-tools/pom.xml b/jaxb-plugins-parent/jaxb-plugins-tools/pom.xml index 021bb64c5..e4e59cdf4 100644 --- a/jaxb-plugins-parent/jaxb-plugins-tools/pom.xml +++ b/jaxb-plugins-parent/jaxb-plugins-tools/pom.xml @@ -14,10 +14,6 @@ org.slf4j slf4j-api - - commons-beanutils - commons-beanutils - org.slf4j jcl-over-slf4j diff --git a/jaxb-plugins-parent/jaxb-plugins-tools/src/main/java/org/jvnet/jaxb/plugin/AbstractParameterizablePlugin.java b/jaxb-plugins-parent/jaxb-plugins-tools/src/main/java/org/jvnet/jaxb/plugin/AbstractParameterizablePlugin.java index b73c18881..5ad6809bd 100644 --- a/jaxb-plugins-parent/jaxb-plugins-tools/src/main/java/org/jvnet/jaxb/plugin/AbstractParameterizablePlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins-tools/src/main/java/org/jvnet/jaxb/plugin/AbstractParameterizablePlugin.java @@ -2,8 +2,6 @@ import java.io.IOException; -import org.apache.commons.beanutils.BeanUtils; - import com.sun.tools.xjc.BadCommandLineException; import com.sun.tools.xjc.Options; @@ -42,14 +40,30 @@ public int parseArgument(Options opt, String[] args, int start) final String value = arg.substring(equalsPosition + 1); consumed++; - try { - BeanUtils.setProperty(this, propertyName, value); - } catch (Exception ex) { - ex.printStackTrace(); - throw new BadCommandLineException("Error setting property [" - + propertyName + "], value [" + value + "]."); - } + setProperty(propertyName, value); } return consumed; } + + /** + * Set the {@code propertyName} filed of this {@link AbstractParameterizablePlugin} to the specified {@code value}. + *

+ * This implementation always throws {@link UnsupportedOperationException}. + * It is up to the subclasses of {@link AbstractParameterizablePlugin()} to property implement this method and + * possibly delegate to this implementation if an unknown property occurs. + * + * @param propertyName the field to set + * @param value the value to set + */ + private void setProperty(String propertyName, String value) throws BadCommandLineException { + try { + doSetProperty(propertyName, value); + } catch (Exception e) { + throw new BadCommandLineException("Error setting property [" + propertyName + "], value [" + value + "].", e); + } + } + + protected void doSetProperty(String propertyName, String value) throws Exception { + throw new UnsupportedOperationException("Cannot set property " + propertyName + " on " + this.getClass().getName()); + } } diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/autoinheritance/AutoInheritancePlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/autoinheritance/AutoInheritancePlugin.java index 69d00388e..36ea8a4ae 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/autoinheritance/AutoInheritancePlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/autoinheritance/AutoInheritancePlugin.java @@ -17,12 +17,12 @@ public class AutoInheritancePlugin extends AbstractParameterizablePlugin { private String xmlRootElementsExtend = null; - private List xmlRootElementsImplement = new LinkedList(); + private List xmlRootElementsImplement = new LinkedList<>(); private String xmlTypesExtend = null; - private List xmlTypesImplement = new LinkedList(); + private List xmlTypesImplement = new LinkedList<>(); - private List jaxbElementsImplement = new LinkedList(); + private List jaxbElementsImplement = new LinkedList<>(); public String getXmlRootElementsExtend() { return xmlRootElementsExtend; @@ -74,6 +74,23 @@ public String getUsage() { return "TBD"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("xmlRootElementsExtend".equals(propertyName)) { + setXmlRootElementsExtend(value); + } else if ("xmlRootElementsImplement".equals(propertyName)) { + setXmlRootElementsImplement(value); + } else if ("xmlTypesExtend".equals(propertyName)) { + setXmlTypesExtend(value); + } else if ("xmlTypesImplement".equals(propertyName)) { + setXmlTypesImplement(value); + } else if ("jaxbElementsImplement".equals(propertyName)) { + setJaxbElementsImplement(value); + } else { + super.doSetProperty(propertyName, value); + } + } + @Override public boolean run(Outline outline, Options opt, ErrorHandler errorHandler) { for (final ClassOutline classOutline : outline.getClasses()) { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/codegenerator/AbstractCodeGeneratorPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/codegenerator/AbstractCodeGeneratorPlugin.java index 18f371ec1..a491c26a2 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/codegenerator/AbstractCodeGeneratorPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/codegenerator/AbstractCodeGeneratorPlugin.java @@ -21,6 +21,15 @@ public abstract class AbstractCodeGeneratorPlugin> extends AbstractParameterizablePlugin { + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("fieldAccessorFactory".equals(propertyName)) { + setFieldAccessorFactory((FieldAccessorFactory) Class.forName(value).getConstructor().newInstance()); + } else { + super.doSetProperty(propertyName, value); + } + } + private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE; public FieldAccessorFactory getFieldAccessorFactory() { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/copyable/CopyablePlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/copyable/CopyablePlugin.java index 9ed1231b0..47625ed0b 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/copyable/CopyablePlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/copyable/CopyablePlugin.java @@ -51,6 +51,17 @@ public String getUsage() { return "TBD"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("fieldAccessorFactory".equals(propertyName)) { + setFieldAccessorFactory((FieldAccessorFactory) Class.forName(value).getConstructor().newInstance()); + } else if ("copyStrategyClass".equals(propertyName)) { + setCopyStrategyClass(value); + } else { + super.doSetProperty(propertyName, value); + } + } + private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE; public FieldAccessorFactory getFieldAccessorFactory() { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/customizations/CustomizationsPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/customizations/CustomizationsPlugin.java index e5e74559c..346302d55 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/customizations/CustomizationsPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/customizations/CustomizationsPlugin.java @@ -15,6 +15,7 @@ import org.jvnet.jaxb.plugin.AbstractParameterizablePlugin; import org.jvnet.jaxb.util.ClassUtils; +import org.jvnet.jaxb.util.FieldAccessorFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -67,6 +68,17 @@ public String getUsage() { return " -Xcustomizations : reads and adds customizations from files"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("verbose".equals(propertyName)) { + setVerbose(Boolean.parseBoolean(value)); + } else if ("directory".equals(propertyName)) { + setDirectory(new File(value)); + } else { + super.doSetProperty(propertyName, value); + } + } + @Override public void postProcessModel(Model model, ErrorHandler errorHandler) { if (getDirectory() == null) { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/enumvalue/EnumValuePlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/enumvalue/EnumValuePlugin.java index 5eb4ccc57..2c323da70 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/enumvalue/EnumValuePlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/enumvalue/EnumValuePlugin.java @@ -6,7 +6,7 @@ import javax.xml.namespace.QName; import org.jvnet.jaxb.lang.EnumValue; -import org.jvnet.jaxb.plugin.AbstractParameterizablePlugin; +import org.jvnet.jaxb.plugin.AbstractPlugin; import org.jvnet.jaxb.plugin.ComposedIgnoring; import org.jvnet.jaxb.plugin.CustomizedIgnoring; import org.jvnet.jaxb.plugin.Ignoring; @@ -24,7 +24,7 @@ import com.sun.tools.xjc.outline.EnumOutline; import com.sun.tools.xjc.outline.Outline; -public class EnumValuePlugin extends AbstractParameterizablePlugin { +public class EnumValuePlugin extends AbstractPlugin { @Override public String getOptionName() { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/equals/EqualsPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/equals/EqualsPlugin.java index a64bb9825..faad7cff9 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/equals/EqualsPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/equals/EqualsPlugin.java @@ -49,6 +49,17 @@ public String getUsage() { return "TBD"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("fieldAccessorFactory".equals(propertyName)) { + setFieldAccessorFactory((FieldAccessorFactory) Class.forName(value).getConstructor().newInstance()); + } else if ("equalsStrategyClass".equals(propertyName)) { + setEqualsStrategyClass(value); + } else { + super.doSetProperty(propertyName, value); + } + } + private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE; public FieldAccessorFactory getFieldAccessorFactory() { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/hashcode/HashCodePlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/hashcode/HashCodePlugin.java index 036ffde3c..ba42896c9 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/hashcode/HashCodePlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/hashcode/HashCodePlugin.java @@ -47,6 +47,17 @@ public String getUsage() { return "TBD"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("fieldAccessorFactory".equals(propertyName)) { + setFieldAccessorFactory((FieldAccessorFactory) Class.forName(value).getConstructor().newInstance()); + } else if ("hashCodeStrategyClass".equals(propertyName)) { + setHashCodeStrategyClass(value); + } else { + super.doSetProperty(propertyName, value); + } + } + private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE; public FieldAccessorFactory getFieldAccessorFactory() { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/inheritance/InheritancePlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/inheritance/InheritancePlugin.java index d491ae234..37910d64d 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/inheritance/InheritancePlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/inheritance/InheritancePlugin.java @@ -10,7 +10,7 @@ import javax.xml.namespace.QName; -import org.jvnet.jaxb.plugin.AbstractParameterizablePlugin; +import org.jvnet.jaxb.plugin.AbstractPlugin; import org.jvnet.jaxb.plugin.inheritance.util.JavaTypeParser; import org.jvnet.jaxb.util.CustomizationUtils; import org.xml.sax.ErrorHandler; @@ -33,7 +33,7 @@ import com.sun.tools.xjc.outline.PackageOutline; import com.sun.tools.xjc.reader.xmlschema.bindinfo.BIEnum; -public class InheritancePlugin extends AbstractParameterizablePlugin { +public class InheritancePlugin extends AbstractPlugin { @Override public String getOptionName() { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/map_init/MapInitPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/map_init/MapInitPlugin.java index a960a6828..27a6aadc2 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/map_init/MapInitPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/map_init/MapInitPlugin.java @@ -21,6 +21,7 @@ import org.jvnet.jaxb.plugin.inheritance.ExtendsClass; import org.jvnet.jaxb.plugin.util.FieldOutlineUtils; import org.jvnet.jaxb.util.CustomizationUtils; +import org.jvnet.jaxb.util.FieldAccessorFactory; import org.xml.sax.ErrorHandler; import javax.xml.namespace.QName; @@ -44,6 +45,15 @@ public String getUsage() { return "Change getter for maps to initialize Maps."; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("mapClass".equals(propertyName)) { + setMapClass(value); + } else { + super.doSetProperty(propertyName, value); + } + } + private String mapClass = HashMap.class.getName(); public void setMapClass(String mapClass) { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/mergeable/MergeablePlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/mergeable/MergeablePlugin.java index 9b9de78d9..cdd26dcaa 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/mergeable/MergeablePlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/mergeable/MergeablePlugin.java @@ -50,6 +50,17 @@ public String getUsage() { return "TBD"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("fieldAccessorFactory".equals(propertyName)) { + setFieldAccessorFactory((FieldAccessorFactory) Class.forName(value).getConstructor().newInstance()); + } else if ("mergeStrategyClass".equals(propertyName)) { + setMergeStrategyClass(value); + } else { + super.doSetProperty(propertyName, value); + } + } + private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE; public FieldAccessorFactory getFieldAccessorFactory() { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/parentpointer/ParentPointerPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/parentpointer/ParentPointerPlugin.java index e0fef5fb9..b885f9651 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/parentpointer/ParentPointerPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/parentpointer/ParentPointerPlugin.java @@ -25,7 +25,7 @@ public class ParentPointerPlugin extends Plugin { protected final String OPTION_NAME = "Xparent-pointer"; - private static final String className = Plugin.class.getName(); + private static final String className = ParentPointerPlugin.class.getName(); private static final Logger logger = Logger.getLogger(className); diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/setters/SettersPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/setters/SettersPlugin.java index aa5663bf9..ad583a637 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/setters/SettersPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/setters/SettersPlugin.java @@ -11,6 +11,7 @@ import org.jvnet.jaxb.plugin.CustomizedIgnoring; import org.jvnet.jaxb.plugin.Ignoring; import org.jvnet.jaxb.plugin.util.FieldOutlineUtils; +import org.jvnet.jaxb.util.FieldAccessorFactory; import org.xml.sax.ErrorHandler; import com.sun.codemodel.JDefinedClass; @@ -40,6 +41,15 @@ public String getUsage() { return "Generates setters for collections."; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("mode".equals(propertyName)) { + setMode(value); + } else { + super.doSetProperty(propertyName, value); + } + } + public boolean run(Outline outline, Options opt, ErrorHandler errorHandler) { for (final ClassOutline classOutline : outline.getClasses()) if (!getIgnoring().isIgnored(classOutline)) { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simplify/SimplifyPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simplify/SimplifyPlugin.java index e11fdc23b..e30b1c82e 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simplify/SimplifyPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/simplify/SimplifyPlugin.java @@ -13,6 +13,7 @@ import org.jvnet.jaxb.plugin.CustomizedIgnoring; import org.jvnet.jaxb.plugin.Ignoring; import org.jvnet.jaxb.util.CustomizationUtils; +import org.jvnet.jaxb.util.FieldAccessorFactory; import org.xml.sax.ErrorHandler; import com.sun.codemodel.JJavaName; @@ -58,6 +59,15 @@ public String getUsage() { + " for plugin documentation."; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("usePluralForm".equals(propertyName)) { + setUsePluralForm(Boolean.parseBoolean(value)); + } else { + super.doSetProperty(propertyName, value); + } + } + private Ignoring ignoring = new ComposedIgnoring( logger, new CustomizedIgnoring( diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/tostring/ToStringPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/tostring/ToStringPlugin.java index c12eadce8..48aa04ae5 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/tostring/ToStringPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/tostring/ToStringPlugin.java @@ -50,6 +50,19 @@ public String getUsage() { return "TBD"; } + @Override + protected void doSetProperty(String propertyName, String value) throws Exception { + if ("fieldAccessorFactory".equals(propertyName)) { + setFieldAccessorFactory((FieldAccessorFactory) Class.forName(value).getConstructor().newInstance()); + } else if ("toStringStrategyClass".equals(propertyName)) { + setToStringStrategyClass(value); + } else if ("toStringEnums".equals(propertyName)) { + setToStringEnums(Boolean.parseBoolean(value)); + } else { + super.doSetProperty(propertyName, value); + } + } + private FieldAccessorFactory fieldAccessorFactory = PropertyFieldAccessorFactory.INSTANCE; public FieldAccessorFactory getFieldAccessorFactory() { diff --git a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/wildcard/WildcardPlugin.java b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/wildcard/WildcardPlugin.java index b4c7c2a50..3da5de3c7 100644 --- a/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/wildcard/WildcardPlugin.java +++ b/jaxb-plugins-parent/jaxb-plugins/src/main/java/org/jvnet/jaxb/plugin/wildcard/WildcardPlugin.java @@ -5,7 +5,7 @@ import javax.xml.namespace.QName; -import org.jvnet.jaxb.plugin.AbstractParameterizablePlugin; +import org.jvnet.jaxb.plugin.AbstractPlugin; import org.jvnet.jaxb.util.CustomizationUtils; import org.xml.sax.ErrorHandler; @@ -15,7 +15,7 @@ import com.sun.tools.xjc.model.Model; import org.glassfish.jaxb.core.v2.model.core.WildcardMode; -public class WildcardPlugin extends AbstractParameterizablePlugin { +public class WildcardPlugin extends AbstractPlugin { @Override public String getOptionName() { diff --git a/pom.xml b/pom.xml index d158c19d5..e4224bc84 100644 --- a/pom.xml +++ b/pom.xml @@ -71,7 +71,6 @@ 1.10.14 4.0.9 - 1.11.0 3.18.0 3.0 4.1.1.Final @@ -355,21 +354,6 @@ - - commons-beanutils - commons-beanutils - ${commons-beanutils.version} - - - commons-logging - commons-logging - - - commons-collections - commons-collections - - - org.apache.commons commons-lang3