This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git commit 14f792ea2f02f926b2792857b846ccfbf1afa34c Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Sep 15 21:30:16 2016 +0200 Sanitize model builder methods (Fixes #4038) --- .../jaxx/runtime/swing/config/ConfigUIHelper.java | 20 +++-- .../runtime/swing/config/model/ConfigUIModel.java | 35 +++++---- .../swing/config/model/ConfigUIModelBuilder.java | 88 ++++++++++------------ 3 files changed, 76 insertions(+), 67 deletions(-) diff --git a/jaxx-config/src/main/java/jaxx/runtime/swing/config/ConfigUIHelper.java b/jaxx-config/src/main/java/jaxx/runtime/swing/config/ConfigUIHelper.java index e82f129..455ec75 100644 --- a/jaxx-config/src/main/java/jaxx/runtime/swing/config/ConfigUIHelper.java +++ b/jaxx-config/src/main/java/jaxx/runtime/swing/config/ConfigUIHelper.java @@ -62,29 +62,39 @@ public class ConfigUIHelper { protected ConfigUI ui; + public ConfigUIHelper(Object configurationBean, ApplicationConfig config, File configFile) { + modelBuilder = new ConfigUIModelBuilder(); + modelBuilder.createModel(configurationBean, config, configFile); + } + + @Deprecated public ConfigUIHelper(Supplier<ApplicationConfig> config) { modelBuilder = new ConfigUIModelBuilder(); - modelBuilder.createModel(config); + modelBuilder.createModel(config, config.get(), config.get().getUserConfigFile()); } + @Deprecated public ConfigUIHelper(Supplier<ApplicationConfig> config, File configFile) { modelBuilder = new ConfigUIModelBuilder(); - modelBuilder.createModel(config, configFile); + modelBuilder.createModel(config, config.get(), configFile); } + @Deprecated public ConfigUIHelper(Object configurationBean, ApplicationConfig config) { modelBuilder = new ConfigUIModelBuilder(); - modelBuilder.createModel(configurationBean, config); + modelBuilder.createModel(configurationBean, config, config.getUserConfigFile()); } + @Deprecated public ConfigUIHelper(ApplicationConfig config, File configFile) { modelBuilder = new ConfigUIModelBuilder(); - modelBuilder.createModel(config, configFile); + modelBuilder.createModel(config, config, configFile); } + @Deprecated public ConfigUIHelper(ApplicationConfig config) { modelBuilder = new ConfigUIModelBuilder(); - modelBuilder.createModel(config); + modelBuilder.createModel(config, config, config.getUserConfigFile()); } public ConfigUIModel getModel() { diff --git a/jaxx-config/src/main/java/jaxx/runtime/swing/config/model/ConfigUIModel.java b/jaxx-config/src/main/java/jaxx/runtime/swing/config/model/ConfigUIModel.java index a770a4f..c3b3760 100644 --- a/jaxx-config/src/main/java/jaxx/runtime/swing/config/model/ConfigUIModel.java +++ b/jaxx-config/src/main/java/jaxx/runtime/swing/config/model/ConfigUIModel.java @@ -109,35 +109,40 @@ public class ConfigUIModel implements Iterable<CategoryModel> { /** support of modification notifications */ protected final PropertyChangeSupport pcs; + public ConfigUIModel(Object configBean, ApplicationConfig applicationConfig, File configFile) { + this.configBean = configBean; + this.applicationConfig = applicationConfig; + this.configFile = configFile; + categories = new LinkedHashMap<String, CategoryModel>(); + callBacksManager = new CallBacksManager(); + pcs = new PropertyChangeSupport(this); + } + + @Deprecated public ConfigUIModel(Supplier<ApplicationConfig> config) { - this(config, config.get()); + this(config, config.get(), config.get().getUserConfigFile()); + } + + @Deprecated + public ConfigUIModel(Object configBean, ApplicationConfig applicationConfig) { + this(configBean, applicationConfig, applicationConfig.getUserConfigFile()); } + @Deprecated public ConfigUIModel(Supplier<ApplicationConfig> config, File configFile) { this(config, config.get(), configFile); } + @Deprecated public ConfigUIModel(ApplicationConfig applicationConfig) { - this(applicationConfig, applicationConfig); + this(applicationConfig, applicationConfig, applicationConfig.getUserConfigFile()); } + @Deprecated public ConfigUIModel(ApplicationConfig applicationConfig, File configFile) { this(applicationConfig, applicationConfig, configFile); } - public ConfigUIModel(Object configBean, ApplicationConfig applicationConfig) { - this(configBean, applicationConfig, applicationConfig.getUserConfigFile()); - } - - public ConfigUIModel(Object configBean, ApplicationConfig applicationConfig, File configFile) { - this.configBean = configBean; - this.applicationConfig = applicationConfig; - this.configFile = configFile; - categories = new LinkedHashMap<String, CategoryModel>(); - callBacksManager = new CallBacksManager(); - pcs = new PropertyChangeSupport(this); - } - /** * Ajoute une categorie dans le modele. * diff --git a/jaxx-config/src/main/java/jaxx/runtime/swing/config/model/ConfigUIModelBuilder.java b/jaxx-config/src/main/java/jaxx/runtime/swing/config/model/ConfigUIModelBuilder.java index 1c021ee..26d0c6a 100644 --- a/jaxx-config/src/main/java/jaxx/runtime/swing/config/model/ConfigUIModelBuilder.java +++ b/jaxx-config/src/main/java/jaxx/runtime/swing/config/model/ConfigUIModelBuilder.java @@ -44,8 +44,7 @@ import java.io.File; public class ConfigUIModelBuilder { /** Logger */ - private static final Log log = - LogFactory.getLog(ConfigUIModelBuilder.class); + private static final Log log = LogFactory.getLog(ConfigUIModelBuilder.class); /** current model used */ ConfigUIModel model; @@ -62,16 +61,21 @@ public class ConfigUIModelBuilder { /** * Create a new model and set it as current model. * - * @param config the configuration used in model + * @param configurationBean configuration bean used in model (optional) + * @param config the configuration used in model (can not be null) + * @param configFile configuration file where to save (can not be null) * @return the builder * @throws IllegalStateException if there is already a current model - * @throws NullPointerException if config is {@code null} + * @throws NullPointerException if config or configFile is {@code null} + * @since 2.33 */ - public ConfigUIModelBuilder createModel(Supplier<ApplicationConfig> config) - throws IllegalStateException, NullPointerException { + public ConfigUIModelBuilder createModel(Object configurationBean, ApplicationConfig config, File configFile) throws IllegalStateException, NullPointerException { checkNoCurrent(model, "model"); + // configuration bean can be null checkNotNull(config, "createModel", "config"); - model = new ConfigUIModel(config); + checkNotNull(configFile, "createModel", "configFile"); + model = new ConfigUIModel(configurationBean, config, configFile); + if (log.isDebugEnabled()) { log.debug("model created : " + model); } @@ -81,24 +85,33 @@ public class ConfigUIModelBuilder { /** * Create a new model and set it as current model. * + * @param config the configuration used in model + * @return the builder + * @throws IllegalStateException if there is already a current model + * @throws NullPointerException if config is {@code null} + * @deprecated since 2.33, prefer use the {@link #createModel(Object, ApplicationConfig, File)} method instead, will be removed soon + */ + @Deprecated + public ConfigUIModelBuilder createModel(Supplier<ApplicationConfig> config) + throws IllegalStateException, NullPointerException { + return createModel(config, config.get(), config.get().getUserConfigFile()); + } + + /** + * Create a new model and set it as current model. + * * @param config the configuration used in model * @param configFile configuration file where to save (can not be null) * @return the builder * @throws IllegalStateException if there is already a current model * @throws NullPointerException if config or configFile is {@code null} * @since 2.5.21 + * @deprecated since 2.33, prefer use the {@link #createModel(Object, ApplicationConfig, File)} method instead, will be removed soon */ - public ConfigUIModelBuilder createModel(Supplier<ApplicationConfig> config, - File configFile) + @Deprecated + public ConfigUIModelBuilder createModel(Supplier<ApplicationConfig> config, File configFile) throws IllegalStateException, NullPointerException { - checkNoCurrent(model, "model"); - checkNotNull(config, "createModel", "config"); - checkNotNull(configFile, "createModel", "configFile"); - model = new ConfigUIModel(config, configFile); - if (log.isDebugEnabled()) { - log.debug("model created : " + model); - } - return this; + return createModel(config, config.get(), configFile); } /** @@ -109,18 +122,12 @@ public class ConfigUIModelBuilder { * @return the builder * @throws IllegalStateException if there is already a current model * @throws NullPointerException if there is some null parameters + * @deprecated since 2.33, prefer use the {@link #createModel(Object, ApplicationConfig, File)} method instead, will be removed soon */ + @Deprecated public ConfigUIModelBuilder createModel(Object configurationBean, ApplicationConfig config) throws IllegalStateException, NullPointerException { - checkNoCurrent(model, "model"); - checkNotNull(config, "createModel", "config"); - checkNotNull(configurationBean, "createModel", "configurationBean"); - model = new ConfigUIModel(configurationBean, config); - - if (log.isDebugEnabled()) { - log.debug("model created : " + model); - } - return this; + return createModel(configurationBean, config, config.getUserConfigFile()); } /** @@ -130,17 +137,11 @@ public class ConfigUIModelBuilder { * @return the builder * @throws IllegalStateException if there is already a current model * @throws NullPointerException if config is {@code null} + * @deprecated since 2.33, prefer use the {@link #createModel(Object, ApplicationConfig, File)} method instead, will be removed soon */ - public ConfigUIModelBuilder createModel(ApplicationConfig config) - throws IllegalStateException, NullPointerException { - checkNoCurrent(model, "model"); - checkNotNull(config, "createModel", "config"); - model = new ConfigUIModel(config); - - if (log.isDebugEnabled()) { - log.debug("model created : " + model); - } - return this; + @Deprecated + public ConfigUIModelBuilder createModel(ApplicationConfig config) throws IllegalStateException, NullPointerException { + return createModel(config, config, config.getUserConfigFile()); } /** @@ -152,19 +153,12 @@ public class ConfigUIModelBuilder { * @throws IllegalStateException if there is already a current model * @throws NullPointerException if config or configFile is {@code null} * @since 2.5.21 + * @deprecated since 2.33, prefer use the {@link #createModel(Object, ApplicationConfig, File)} method instead, will be removed soon */ - public ConfigUIModelBuilder createModel(ApplicationConfig config, - File configFile) + @Deprecated + public ConfigUIModelBuilder createModel(ApplicationConfig config, File configFile) throws IllegalStateException, NullPointerException { - checkNoCurrent(model, "model"); - checkNotNull(config, "createModel", "config"); - checkNotNull(configFile, "createModel", "configFile"); - model = new ConfigUIModel(config, configFile); - - if (log.isDebugEnabled()) { - log.debug("model created : " + model); - } - return this; + return createModel(config, config, configFile); } /** -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.