branch develop updated (a956d0f -> 530987a)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from a956d0f [VALIDATION] Remettre en route le contrôle des position avec possibilité de le désactiver (Fixes #8541 ) Merge branch 'feature/8541' into develop new 7cfd17c Use new configuration generation new 530987a Use new configuration generation (bis) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 530987a9eb3574224b48502e5e6a32f78b7c23cb Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Sep 15 21:35:56 2016 +0200 Use new configuration generation (bis) commit 7cfd17c75073f6fcd7879d8788829998c76a8dba Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Sep 15 19:59:14 2016 +0200 Use new configuration generation Summary of changes: application-swing-configuration/pom.xml | 16 + .../ObserveSwingApplicationConfig.java | 725 +++------------------ ...va => ObserveSwingApplicationConfigAction.java} | 67 +- .../ObserveSwingApplicationConfigOption.java | 572 ++++++---------- .../ObserveSwingApplicationConfigProvider.java | 2 +- ...pplication-swing-configuration_fr_FR.properties | 4 +- .../observe/application/swing/ObserveCLAction.java | 10 +- .../application/swing/ObserveResourceManager.java | 6 +- .../observe/application/swing/ObserveRunner.java | 25 +- .../ObserveSwingApplicationDataSourcesManager.java | 12 +- .../application/swing/ui/ObserveMainUIHandler.java | 2 +- .../actions/ChangeApplicationLanguageAction.java | 3 +- .../swing/ui/actions/ChangeDbLanguageAction.java | 5 +- .../swing/ui/actions/GotoSiteAction.java | 2 +- .../swing/ui/actions/ReloadStorageAction.java | 4 +- .../swing/ui/actions/ShowConfigAction.java | 46 +- .../swing/ui/actions/StartServerModeAction.java | 2 +- .../swing/ui/storage/StorageUIHandler.java | 10 +- application-web-configuration/pom.xml | 17 + .../ObserveWebApplicationConfiguration.java | 116 +--- .../ObserveWebApplicationConfigurationOption.java | 38 +- pom.xml | 2 +- 22 files changed, 422 insertions(+), 1264 deletions(-) rename application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/{ObserveSwingApplicationActionDefinition.java => ObserveSwingApplicationConfigAction.java} (58%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 7cfd17c75073f6fcd7879d8788829998c76a8dba Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Sep 15 19:59:14 2016 +0200 Use new configuration generation --- application-swing-configuration/pom.xml | 16 + .../ObserveSwingApplicationConfig.java | 704 +++------------------ .../ObserveSwingApplicationConfigOption.java | 572 ++++++----------- .../observe/application/swing/ObserveCLAction.java | 2 +- .../application/swing/ObserveResourceManager.java | 6 +- .../observe/application/swing/ObserveRunner.java | 26 +- .../ObserveSwingApplicationDataSourcesManager.java | 12 +- .../application/swing/ui/ObserveMainUIHandler.java | 2 +- .../actions/ChangeApplicationLanguageAction.java | 3 +- .../swing/ui/actions/ChangeDbLanguageAction.java | 5 +- .../swing/ui/actions/GotoSiteAction.java | 2 +- .../swing/ui/actions/ReloadStorageAction.java | 4 +- .../swing/ui/actions/ShowConfigAction.java | 43 +- .../swing/ui/actions/StartServerModeAction.java | 2 +- .../swing/ui/storage/StorageUIHandler.java | 10 +- application-web-configuration/pom.xml | 17 + .../ObserveWebApplicationConfiguration.java | 116 +--- .../ObserveWebApplicationConfigurationOption.java | 38 +- pom.xml | 2 +- 19 files changed, 381 insertions(+), 1201 deletions(-) diff --git a/application-swing-configuration/pom.xml b/application-swing-configuration/pom.xml index 7835417..13b52c4 100644 --- a/application-swing-configuration/pom.xml +++ b/application-swing-configuration/pom.xml @@ -116,6 +116,22 @@ </executions> </plugin> + <plugin> + <groupId>org.nuiton.eugene</groupId> + <artifactId>eugene-maven-plugin</artifactId> + <executions> + <execution> + <phase>generate-sources</phase> + <id>generate-config</id> + <configuration> + <modelName>ObserveSwingApplication</modelName> + </configuration> + <goals> + <goal>generate-config</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> diff --git a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java index e97b6b3..e9c7a41 100644 --- a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java +++ b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java @@ -21,34 +21,29 @@ */ package fr.ird.observe.application.swing.configuration; -import com.google.common.base.Charsets; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.application.swing.configuration.constants.CreationMode; import fr.ird.observe.application.swing.configuration.constants.DbMode; -import jaxx.runtime.SwingUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.config.ApplicationConfig; -import org.nuiton.config.ApplicationConfigHelper; -import org.nuiton.config.ApplicationConfigProvider; +import org.nuiton.config.ArgumentsParserException; import org.nuiton.config.ConfigActionDef; import org.nuiton.version.Version; import org.nuiton.version.Versions; -import javax.swing.JOptionPane; -import java.awt.Color; import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; import java.io.File; import java.io.IOException; -import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; +import java.util.LinkedList; import java.util.List; -import java.util.Locale; import java.util.Properties; import java.util.Set; @@ -60,106 +55,22 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 1.0 */ -public class ObserveSwingApplicationConfig extends ApplicationConfig { +public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicationConfig { /** le pattern du fichier de sauvegarde d'une base locale */ public static final String BACKUP_DB_PATTERN = "obstuna-local-%1$tF--%1$tk-%1$tM-%1$tS.sql.gz"; public static final String DB_NAME = "obstuna"; - /** - * La version de l'application. - */ - private static final String APPLICATION_VERSION = "application.version"; - - private static final String VERSION = "version"; - - static final String PROPERTY_DEFAULT_DB_MODE = "defaultDbMode"; - - static final String PROPERTY_DEFAULT_CREATION_MODE = "defaultCreationMode"; - - static final String PROPERTY_SPECIES_LIST_SEINE_TARGET_CATCH_ID = "speciesListSeineTargetCatchId"; - - static final String PROPERTY_SPECIES_LIST_SEINE_SCHOOL_ESTIMATE_ID = "speciesListSeineSchoolEstimateId"; - - static final String PROPERTY_SPECIES_LIST_SEINE_OBJECT_SCHOOL_ESTIMATE_ID = "speciesListSeineObjectSchoolEstimateId"; - - static final String PROPERTY_SPECIES_LIST_SEINE_NON_TARGET_CATCH_ID = "speciesListSeineNonTargetCatchId"; - - static final String PROPERTY_SPECIES_LIST_SEINE_OBJECT_OBSERVED_SPECIES_ID = "speciesListSeineObjectObservedSpeciesId"; - - static final String PROPERTY_SPECIES_LIST_LONGLINE_CATCH_ID = "speciesListLonglineCatchId"; - - static final String PROPERTY_SPECIES_LIST_LONGLINE_ENCOUNTER_ID = "speciesListLonglineEncounterId"; - - static final String PROPERTY_SPECIES_LIST_LONGLINE_DEPREDATOR_ID = "speciesListLonglineDepredatorId"; - - static final String PROPERTY_AUTO_POPUP_NUMBER_EDITOR = "autoPopupNumberEditor"; - - static final String PROPERTY_SHOW_NUMBER_EDITOR_BUTTON = "showNumberEditorButton"; - - static final String PROPERTY_SHOW_DATE_TIME_EDITOR_SLIDER = "showTimeEditorSlider"; - - private static final String PROPERTY_LOCAL_STORAGE_EXIST = "localStorageExist"; - - private static final String PROPERTY_INITIAL_DUMP_EXIST = "initialDumpExist"; - - private static final String PROPERTY_MAIN_STORAGE_OPENED = "mainStorageOpened"; - - static final String PROPERTY_STORE_REMOTE_STORAGE = "storeRemoteStorage"; - - static final String PROPERTY_DEFAULT_GPS_MAX_DELAY = "defaultGpsMaxDelay"; - - static final String PROPERTY_DEFAULT_GPS_MAX_SPEED = "defaultGpsMaxSpeed"; - - static final String PROPERTY_CHANGE_SYNCHRO_SRC = "changeSynchroSrc"; - - static final String PROPERTY_NON_TARGET_OBSERVATION = "nonTargetObservation"; - - static final String PROPERTY_TARGET_DISCARDS_OBSERVATION = "targetDiscardsObservation"; - - static final String PROPERTY_SAMPLES_OBSERVATION = "samplesObservation"; - - static final String PROPERTY_OBJECTS_OBSERVATION = "objectsObservation"; - - static final String PROPERTY_DETAILLED_ACTIVITIES_OBSERVATION = "detailledActivitiesObservation"; - - static final String PROPERTY_MAMMALS_OBSERVATION = "mammalsObservation"; - - static final String PROPERTY_BIRDS_OBSERVATION = "birdsObservation"; - - static final String PROPERTY_BAIT_OBSERVATION = "baitObservation"; - - static final String PROPERTY_RESOURCES_DIRECTORY = "resourcesDirectory"; - - static final String PROPERTY_LOCALE = "locale"; - - static final String PROPERTY_DB_LOCALE = "dbLocale"; - - static final String PROPERTY_FULL_SCREEN = "fullScreen"; + static final String APPLICATION_VERSION = "application.version"; - static final String PROPERTY_I18N_DIRECTORY = "i18nDirectory"; + static final String VERSION = "version"; - static final String PROPERTY_REPORT_DIRECTORY = "reportDirectory"; + static final String PROPERTY_LOCAL_STORAGE_EXIST = "localStorageExist"; - static final String PROPERTY_MAP_DIRECTORY = "mapDirectory"; + static final String PROPERTY_INITIAL_DUMP_EXIST = "initialDumpExist"; - static final String PROPERTY_LOAD_LOCAL_STORAGE = "loadLocalStorage"; - - static final String PROPERTY_SHOW_MIGRATION_PROGRESSION = "showMigrationProgression"; - - static final String PROPERTY_SHOW_MIGRATION_SQL = "showMigrationSql"; - - static final String PROPERTY_VALIDATION_REPORT_DIRECTORY = "validationReportDirectory"; - - static final String PROPERTY_SHOW_SQL = "showSql"; - - static final String PROPERTY_DEV_MODE = "devMode"; - - static final String PROPERTY_TREE_OPEN_NODES = "treeOpenNodes"; - - static final String PROPERTY_VALIDATION_SPEED_ENABLE = "validationSpeedEnable"; - static final String PROPERTY_VALIDATION_SPEED_MAX_VALUE = "validationSpeedMaxValue"; + static final String PROPERTY_MAIN_STORAGE_OPENED = "mainStorageOpened"; /** Logger */ private static final Log log = LogFactory.getLog(ObserveSwingApplicationConfig.class); @@ -213,6 +124,8 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { */ private String[] unsavables; + protected final PropertyChangeSupport pcs; + //FIXME private final ImmutableSet<String> longlinVesselTypeIds = ImmutableSet.copyOf( Sets.newHashSet("fr.ird.observe.entities.referentiel.VesselType#1239832675735#0.044156847891821505", @@ -231,20 +144,21 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { } public ObserveSwingApplicationConfig(String confFileName) { - setEncoding(Charsets.UTF_8.name()); - setConfigFileName(confFileName); - ApplicationConfigProvider applicationConfigProvider = ApplicationConfigHelper.getProvider(getClass().getClassLoader(), ObserveSwingApplicationConfigProvider.OBSERVE_SWING_CONFIGURATION_PROVIDER_NAME); - loadDefaultOptions(applicationConfigProvider.getOptions()); + ApplicationConfig delegate = getApplicationConfig(); + delegate.setEncoding(StandardCharsets.UTF_8.name()); + delegate.setConfigFileName(confFileName); + pcs = new PropertyChangeSupport(this); } - public boolean containActions(Step action) { - List<Action> list = actions.get(action.ordinal()); - return !(list == null || list.isEmpty()); + @Override + public ApplicationConfig getApplicationConfig() { + return super.getApplicationConfig(); } - public void initConfig(Properties p, ConfigActionDef... actions) throws IOException { + public void initConfig(Properties p, String... args) throws IOException, ArgumentsParserException { Version version = null; + ApplicationConfig delegate = getApplicationConfig(); for (Object k : p.keySet()) { String key = String.valueOf(k); @@ -260,7 +174,8 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { } } else { - setDefaultOption(key, strValue); + + delegate.setDefaultOption(key, strValue); } } @@ -269,52 +184,29 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { } setVersion(version); - setDefaultOption(VERSION, version.getVersion()); - setDefaultOption(APPLICATION_VERSION, version.getVersion()); + delegate.setDefaultOption(VERSION, version.getVersion()); + delegate.setDefaultOption(APPLICATION_VERSION, version.getVersion()); // creation des actions disponibles - for (ConfigActionDef a : actions) { + for (ConfigActionDef a : ObserveSwingApplicationActionDefinition.values()) { for (String alias : a.getAliases()) { - addActionAlias(alias, a.getAction()); + delegate.addActionAlias(alias, a.getAction()); } } + delegate.parse(args); + } @Override - protected void migrateUserConfigurationFile(File oldHomeConfig, - File homeConfig) throws IOException { - super.migrateUserConfigurationFile(oldHomeConfig, homeConfig); - // on previent l'utilisateur que son fichier de configuration a été - // deplacé - JOptionPane.showInternalMessageDialog(null, - t("observe.title.config.migrate"), - t("observe.runner.config.migrate.file", - oldHomeConfig.getName(), - oldHomeConfig, - homeConfig - ), - JOptionPane.WARNING_MESSAGE); - } - - public void installSaveAction() { - // ajout de l'action de sauvegarde automatique sur certaines propriétés - - List<String> result = new ArrayList<>(); - - for (ObserveSwingApplicationConfigOption option : ObserveSwingApplicationConfigOption.values()) { - String key = option.getPropertyKey(); - if (key != null) { - // add a listener - if (log.isDebugEnabled()) { - log.debug("register action listener for property " + key); - } - result.add(key); - } - } + public DbMode getDefaultDbMode() { + return DbMode.valueOf(getApplicationConfig().getOption(ObserveSwingApplicationConfigOption.DEFAULT_DB_MODE.key)); + } - installSaveUserAction(result.toArray(new String[result.size()])); + @Override + public CreationMode getDefaultCreationMode() { + return CreationMode.valueOf(getApplicationConfig().getOption(ObserveSwingApplicationConfigOption.DEFAULT_CREATION_MODE.key)); } public String getCopyrightText() { @@ -328,240 +220,16 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { return copyrightText; } - public boolean isDevMode() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.DEV_MODE.key); - } - public Version getVersion() { return version; } - public Version getModelVersion() { - return getOption(Version.class, ObserveSwingApplicationConfigOption.MODEL_VERSION.key); - } - - public boolean isAutoPopupNumberEditor() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.AUTO_POPUP_NUMBER_EDITOR.key); - } - - public boolean isShowNumberEditorButton() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.SHOW_NUMBER_EDITOR_BUTTON.key); - } - public boolean isShowTimeEditorSlider() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.SHOW_DATE_TIME_EDITOR_SLIDER.key); - } - - public boolean isFullScreen() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.FULL_SCREEN.key); - } - - public File getDataDirectory() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.DATA_DIRECTORY.key); - } - - public File getValidationReportDirectory() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.VALIDATION_REPORT_DIRECTORY.key); + return isShowDateTimeEditorSlider(); } public File getLocalDBDirectory() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.DB_DIRECTORY.key); - } - - public File getResourcesDirectory() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.RESOURCES_DIRECTORY.key); - } - - public File getI18nDirectory() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.I18N_DIRECTORY.key); - } - - public File getInitialDbDump() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.INITIAL_DB_DUMP.key); - } - - public File getBackupDirectory() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.BACKUP_DIRECTORY.key); - } - - public File getReportDirectory() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.REPORT_DIRECTORY.key); - } - - public File getTmpDirectory() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.TMP_DIRECTORY.key); - } - - public File getLogConfigurationFile() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.LOG_CONFIGURATION_FILE.key); - } - - public String getH2Login() { - return getOption(ObserveSwingApplicationConfigOption.H2_LOGIN.key); - } - - public char[] getH2Password() { - String result = getOption(ObserveSwingApplicationConfigOption.H2_PASSWORD.key); - return result.toCharArray(); - } - - public int getH2ServerPort() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.H2_SERVER_PORT.key); - } - - public String getObstunaUrl() { - return getOption(ObserveSwingApplicationConfigOption.OBSTUNA_URL.key); - } - - public void setObstunaUrl(String jdbcUrl) { - setOption(ObserveSwingApplicationConfigOption.OBSTUNA_URL.key, jdbcUrl); - } - - public String getObstunaLogin() { - return getOption(ObserveSwingApplicationConfigOption.OBSTUNA_LOGIN.key); - } - - public void setObstunaLogin(String login) { - setOption(ObserveSwingApplicationConfigOption.OBSTUNA_LOGIN.key, login); - } - - public char[] getObstunaPassword() { - String result = getOption(ObserveSwingApplicationConfigOption.OBSTUNA_PASSWORD.key); - return result.toCharArray(); - } - - public void setObstunaPassword(char[] password) { - setOption(ObserveSwingApplicationConfigOption.OBSTUNA_PASSWORD.key, new String(password)); - } - - public boolean isObstunaUseSsl() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.OBSTUNA_USE_SSL_CERT.key); - } - - public void setObstunaUseSsl(boolean useSsl) { - setOption(ObserveSwingApplicationConfigOption.OBSTUNA_USE_SSL_CERT, useSsl); - } - - public URL getServerUrl() { - return (URL) getOption(ObserveSwingApplicationConfigOption.SERVER_URL); - } - - public void setServerUrl(URL serverUrl) { - setOption(ObserveSwingApplicationConfigOption.SERVER_URL, serverUrl); - } - - public String getServerLogin() { - return getOption(ObserveSwingApplicationConfigOption.SERVER_LOGIN.key); - } - - public void setServerLogin(String serverLoginl) { - setOption(ObserveSwingApplicationConfigOption.SERVER_LOGIN.key, serverLoginl); - } - - public char[] getServerPassword() { - String result = getOption(ObserveSwingApplicationConfigOption.SERVER_PASSWORD.key); - return result.toCharArray(); - } - - public void setServerPassword(char[] password) { - setOption(ObserveSwingApplicationConfigOption.SERVER_PASSWORD.key, new String(password)); - } - - public String getServerDataBaseName() { - return getOption(ObserveSwingApplicationConfigOption.SERVER_DATABASE_NAME.key); - } - - public void setServerDataBaseName(String dataBaseName) { - setOption(ObserveSwingApplicationConfigOption.SERVER_DATABASE_NAME.key, dataBaseName); - } - - public DbMode getDefaultDbMode() { - return getOption(DbMode.class, ObserveSwingApplicationConfigOption.DEFAULT_DB_MODE.key); - } - - public CreationMode getDefaultCreationMode() { - return getOption(CreationMode.class, ObserveSwingApplicationConfigOption.DEFAULT_CREATION_MODE.key); - } - - public boolean isShowMigrationSql() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.SHOW_MIGRATION_SQL.key); - } - - public boolean isShowMigrationProgression() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.SHOW_MIGRATION_PROGRESSION.key); - } - - public boolean isShowSql() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.SHOW_SQL.key); - } - - public int getDefaultGpsMaxDelay() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.DEFAULT_GPS_MAX_DELAY.key); - } - - public float getDefaultGpsMaxSpeed() { - double i = getOptionAsDouble(ObserveSwingApplicationConfigOption.DEFAULT_GPS_MAX_SPEED.key); - return (float) i; - } - - public boolean isChangeSynchroSrc() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.CHANGE_SYNCHRO_SRC.key); - } - - public boolean isStoreRemoteStorage() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.STORE_REMOTE_STORAGE.key); - } - - public boolean isCanMigrateObstuna() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.OBSTUNA_CAN_MIGRATE.key); - } - - public boolean isCanMigrateH2() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.H2_CAN_MIGRATE.key); - } - - public boolean isLoadLocalStorage() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.LOAD_LOCAL_STORAGE.key); - } - - public Locale getLocale() { - return getOption(Locale.class, ObserveSwingApplicationConfigOption.LOCALE.key); - } - - public Locale getDbLocale() { - return getOption(Locale.class, ObserveSwingApplicationConfigOption.DB_LOCALE.key); - } - - public int getNonTargetObservation() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.NON_TARGET_OBSERVATION.key); - } - - public int getTargetDiscardsObservation() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.TARGET_DISCARDS_OBSERVATION.key); - } - - public int getSamplesObservation() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.SAMPLES_OBSERVATION.key); - } - - public int getObjectsObservation() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.OBJECTS_OBSERVATION.key); - } - - public int getDetailledActivitiesObservation() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.DETAILLED_ACTIVITIES_OBSERVATION.key); - } - - public int getMammalsObservation() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.MAMMALS_OBSERVATION.key); - } - - public int getBirdsObservation() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.BIRDS_OBSERVATION.key); - } - - public int getBaitObservation() { - return getOptionAsInt(ObserveSwingApplicationConfigOption.BAIT_OBSERVATION.key); + return getDbDirectory(); } public boolean isDisplayMainUI() { @@ -628,183 +296,11 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { } } - public void setAutoPopupNumberEditor(boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.AUTO_POPUP_NUMBER_EDITOR, newValue); - } - - public void setShowNumberEditorButton(boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.SHOW_NUMBER_EDITOR_BUTTON, newValue); - } - - public void setShowTimeEditorSlider(boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.SHOW_DATE_TIME_EDITOR_SLIDER, newValue); - } - - public void setFullScreen(boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.FULL_SCREEN, newValue); - } - - public void setChangeSynchroSrc(boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.CHANGE_SYNCHRO_SRC, newValue); - } - - public void setStoreRemoteStorage(boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.STORE_REMOTE_STORAGE, newValue); - } - - public void setLoadLocalStorage(boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.LOAD_LOCAL_STORAGE, newValue); - } - - public void setDefaultDbMode(DbMode newValue) { - setOption(ObserveSwingApplicationConfigOption.DEFAULT_DB_MODE, newValue); - } - - public void setDefaultCreationMode(CreationMode newValue) { - setOption(ObserveSwingApplicationConfigOption.DEFAULT_CREATION_MODE, newValue); - } - - public void setDefaultGpsMaxDelay(int newValue) { - setOption(ObserveSwingApplicationConfigOption.DEFAULT_GPS_MAX_DELAY, newValue); - } - - public void setDefaultGpsMaxSpeed(float newValue) { - setOption(ObserveSwingApplicationConfigOption.DEFAULT_GPS_MAX_SPEED, newValue); - } - - public void setLocale(Locale newValue) { - setOption(ObserveSwingApplicationConfigOption.LOCALE, newValue); - } - - public void setDbLocale(Locale newValue) { - setOption(ObserveSwingApplicationConfigOption.DB_LOCALE, newValue); - } - - public void setCanMigrateObstuna(Boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.OBSTUNA_CAN_MIGRATE, newValue); - } - - public void setCanMigrateH2(Boolean newValue) { - setOption(ObserveSwingApplicationConfigOption.H2_CAN_MIGRATE, newValue); - } - - public void setNonTargetObservation(int newValue) { - setOption(ObserveSwingApplicationConfigOption.NON_TARGET_OBSERVATION, newValue); - } - - public void setTargetDiscardsObservation(int newValue) { - setOption(ObserveSwingApplicationConfigOption.TARGET_DISCARDS_OBSERVATION, newValue); - } - - public void setSamplesObservation(int newValue) { - setOption(ObserveSwingApplicationConfigOption.SAMPLES_OBSERVATION, newValue); - } - - public void setObjectsObservation(int newValue) { - setOption(ObserveSwingApplicationConfigOption.OBJECTS_OBSERVATION, newValue); - } - - public void setDetailledActivitiesObservation(int newValue) { - setOption(ObserveSwingApplicationConfigOption.DETAILLED_ACTIVITIES_OBSERVATION, newValue); - } - - public void setMammalsObservation(int newValue) { - setOption(ObserveSwingApplicationConfigOption.MAMMALS_OBSERVATION, newValue); - } - - public void setBirdsObservation(int newValue) { - setOption(ObserveSwingApplicationConfigOption.BIRDS_OBSERVATION, newValue); - } - - public void setBaitObservation(int newValue) { - setOption(ObserveSwingApplicationConfigOption.BAIT_OBSERVATION, newValue); - } - - public void setShowMigrationSql(boolean showMigrationSql) { - setOption(ObserveSwingApplicationConfigOption.SHOW_MIGRATION_SQL, showMigrationSql); - } - - public void setShowMigrationProgression(boolean showMigrationProgression) { - setOption(ObserveSwingApplicationConfigOption.SHOW_MIGRATION_PROGRESSION, showMigrationProgression); - } - - public void setShowSql(boolean showSql) { - setOption(ObserveSwingApplicationConfigOption.SHOW_SQL, showSql); - } - - public String getSpeciesListSeineNonTargetCatchId() { - return getOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_NON_TARGET_CATCH_ID.key); - } - - public String getSpeciesListSeineTargetCatchId() { - return getOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_TARGET_CATCH_ID.key); - } - - public String getSpeciesListSeineSchoolEstimateId() { - return getOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_SCHOOL_ESTIMATE_ID.key); - } - - public String getSpeciesListSeineObjectObservedSpeciesId() { - return getOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_OBJECT_OBSERVED_SPECIES_ID.key); - } - - public String getSpeciesListSeineObjectSchoolEstimateId() { - return getOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_OBJECT_SCHOOL_ESTIMATE_ID.key); - } - - public String getSpeciesListLonglineCatchId() { - return getOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_LONGLINE_CATCH_ID.key); - } - - public String getSpeciesListLonglineEncounterId() { - return getOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_LONGLINE_ENCOUNTER_ID.key); - } - - public String getSpeciesListLonglineDepredatorId() { - return getOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_LONGLINE_DEPREDATOR_ID.key); - } - - public void setSpeciesListSeineNonTargetCatchId(String speciesListSeineNonTargetCatchId) { - setOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_NON_TARGET_CATCH_ID, speciesListSeineNonTargetCatchId); - } - - public void setSpeciesListSeineTargetCatchId(String speciesListSeineTargetCatchId) { - setOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_TARGET_CATCH_ID, speciesListSeineTargetCatchId); - } - - public void setSpeciesListSeineSchoolEstimateId(String speciesListSeineSchoolEstimateId) { - setOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_SCHOOL_ESTIMATE_ID, speciesListSeineSchoolEstimateId); - } - - public void setSpeciesListSeineObjectObservedSpeciesId(String speciesListSeineObjectObservedSpeciesId) { - setOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_OBJECT_OBSERVED_SPECIES_ID, speciesListSeineObjectObservedSpeciesId); - } - - public void setSpeciesListSeineObjectSchoolEstimateId(String speciesListseineObjectSchoolEstimateId) { - setOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_SEINE_OBJECT_SCHOOL_ESTIMATE_ID, speciesListseineObjectSchoolEstimateId); - } - - public void setSpeciesListLonglineCatchId(String speciesListLonglineCatchId) { - setOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_LONGLINE_CATCH_ID, speciesListLonglineCatchId); - } - - public void setSpeciesListLonglineEncounterId(String speciesListLonglineEncounterId) { - setOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_LONGLINE_ENCOUNTER_ID, speciesListLonglineEncounterId); - } - - public void setSpeciesListLonglineDepredatorId(String speciesListLonglineDepredatorId) { - setOption(ObserveSwingApplicationConfigOption.SPECIES_LIST_LONGLINE_DEPREDATOR_ID, speciesListLonglineDepredatorId); - } - - public Color getMapBackgroundColor() { - return getOptionAsColor(ObserveSwingApplicationConfigOption.MAP_BACKGROUND_COLOR.key); - } - public List<File> getMapLayerFiles() { - List<File> layers = Lists.newLinkedList(); + List<File> layers = new LinkedList<>(); for (ObserveSwingApplicationConfigOption layerOption : ObserveSwingApplicationConfigOption.MAP_LAYERS) { - File layerFile = getOptionAsFile(layerOption.key); + File layerFile = getApplicationConfig().getOptionAsFile(layerOption.key); if (layerFile != null && layerFile.exists()) { layers.add(layerFile); } @@ -812,12 +308,8 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { return layers; } - public File getMapStyleFile() { - return getOptionAsFile(ObserveSwingApplicationConfigOption.MAP_STYLE_FILE.key); - } - public String[] getTreeOpenNodeIds() { - String ids = getOption(ObserveSwingApplicationConfigOption.TREE_OPEN_NODES.key); + String ids = getTreeOpenNodes(); String[] result = null; if (ids != null) { result = ids.split(","); @@ -825,106 +317,60 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { return result; } - public void setTreeOpenNodeIds(String[] ids) { - String joinIds = StringUtils.join(ids, ","); - setOption(ObserveSwingApplicationConfigOption.TREE_OPEN_NODES, joinIds); - } - - public boolean isValidationSpeedEnable() { - return getOptionAsBoolean(ObserveSwingApplicationConfigOption.VALIDATION_SPEED_ENABLE.key); - } - - public void setValidationSpeedEnable(boolean validationSpeedEnable) { - setOption(ObserveSwingApplicationConfigOption.VALIDATION_SPEED_ENABLE.key, String.valueOf(validationSpeedEnable)); - } - - public float getValidationSpeedMaxValue() { - return getOptionAsFloat(ObserveSwingApplicationConfigOption.VALIDATION_SPEED_MAX_VALUE.key); - } - - public void setValidationSpeedMaxValue(float validationSpeedMaxValue) { - setOption(ObserveSwingApplicationConfigOption.VALIDATION_SPEED_MAX_VALUE.key, String.valueOf(validationSpeedMaxValue)); + public void setTreeOpenNodeIds(String... ids) { + setTreeOpenNodes(StringUtils.join(ids, ",")); } private String[] getUnsavables() { if (unsavables == null) { List<String> tmp = new ArrayList<>(); tmp.add(ObserveSwingApplicationConfigOption.OBSTUNA_PASSWORD.getKey()); -// tmp.add(OBSTUNA_SSL_CERTIFICAT_PASSWORD.getKey()); tmp.add(ObserveSwingApplicationConfigOption.H2_PASSWORD.getKey()); tmp.add(ObserveSwingApplicationConfigOption.OBSTUNA_CAN_MIGRATE.getKey()); -// if (!ObserveRunner.isAdmin()) { -// // toutes les options dite admin ne sont pas sauvables -// -// for (ObserveSwingApplicationConfigOption option : values()) { -// if (option.isAdmin()) { -// -// // ne pas ajouter les options d'admin pour le simple utilisateur -// tmp.add(option.key); -// } -// } -// } unsavables = tmp.toArray(new String[tmp.size()]); } return unsavables; } - public void saveForUser(String... excludeKeys) { + public void saveForUser() { if (log.isInfoEnabled()) { - log.info(t("observe.message.save.configuration", getUserConfigFile())); + log.info(t("observe.message.save.configuration", getApplicationConfig().getUserConfigFile())); } - super.saveForUser(getUnsavables()); + getApplicationConfig().saveForUser(getUnsavables()); } public void removeJaxxPropertyChangeListener() { - List<String> tmp = new ArrayList<>(); - for (ObserveSwingApplicationConfigOption option : ObserveSwingApplicationConfigOption.values()) { - String propertyName = option.getPropertyKey(); - if (propertyName != null) { - tmp.add(propertyName); - } - } - if (log.isDebugEnabled()) { - log.debug("property names to seek for options : " + tmp); - } - String[] propertyNames = tmp.toArray( - new String[tmp.size()]); - - PropertyChangeListener[] toRemove = - SwingUtil.findJaxxPropertyChangeListener( - propertyNames, - getPropertyChangeListeners()); - if (toRemove == null || toRemove.length == 0) { - return; - } +// pcs.getPropertyChangeListeners(); +// List<String> tmp = new ArrayList<>(); +// for (ObserveSwingApplicationConfigOption option : ObserveSwingApplicationConfigOption.values()) { +// String propertyName = option.getPropertyKey(); +// if (propertyName != null) { +// tmp.add(propertyName); +// } +// } +// if (log.isDebugEnabled()) { +// log.debug("property names to seek for options : " + tmp); +// } +// String[] propertyNames = tmp.toArray( +// new String[tmp.size()]); +// +// PropertyChangeListener[] toRemove = +// SwingUtil.findJaxxPropertyChangeListener( +// propertyNames, +// getPropertyChangeListeners()); +// if (toRemove == null || toRemove.length == 0) { +// return; +// } if (log.isDebugEnabled()) { - log.debug("before remove : " + getPropertyChangeListeners().length); - log.debug("toRemove : " + toRemove.length); + log.debug("before remove : " + pcs.getPropertyChangeListeners().length); +// log.debug("toRemove : " + toRemove.length); } - for (PropertyChangeListener listener : toRemove) { - removePropertyChangeListener(listener); - } - if (log.isDebugEnabled()) { - log.debug("after remove : " + getPropertyChangeListeners().length); + for (PropertyChangeListener listener : pcs.getPropertyChangeListeners()) { + pcs.removePropertyChangeListener(listener); } - } - - public void setOption(ObserveSwingApplicationConfigOption option, Object newValue) { - String key = option.getKey(); - Object oldValue = getOption(key); - String value = String.valueOf(newValue); - setOption(key, value); if (log.isDebugEnabled()) { - log.debug("set option " + key + " value : " + value); - } - String propertyName = option.getPropertyKey(); - if (propertyName != null) { - // l'option est javabeans, declanchement d'un changement - if (log.isTraceEnabled()) { - log.trace("fires config change from option " + key); - } - firePropertyChange(propertyName, oldValue, newValue); + log.debug("after remove : " + pcs.getPropertyChangeListeners().length); } } @@ -941,16 +387,16 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { } public String replaceRecursiveOptions(String option) { - return super.replaceRecursiveOptions(option); + return getApplicationConfig().replaceRecursiveOptions(option); } public String getConfigurationDescription() { StringBuilder builder = new StringBuilder(); builder.append("\n====================================================================================================================="); builder.append("\n=== Observe Swing configuration ====================================================================================="); - builder.append(String.format("\n=== %1$-40s = %2$s", "Filename", getConfigFileName())); - for (ObserveSwingApplicationConfigOption option : ObserveSwingApplicationConfigOption.orderedByNameValues()) { - builder.append(String.format("\n=== %1$-40s = %2$s", option.getKey(), getOption(option))); + builder.append(String.format("\n=== %1$-40s = %2$s", "Filename", getApplicationConfig().getConfigFileName())); + for (ObserveSwingApplicationConfigOption option : ObserveSwingApplicationConfigOption.orderedByKey()) { + builder.append(String.format("\n=== %1$-40s = %2$s", option.getKey(), getApplicationConfig().getOption(option))); } builder.append("\n====================================================================================================================="); return builder.toString(); diff --git a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigOption.java b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigOption.java index 84ad830..7750204 100644 --- a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigOption.java +++ b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigOption.java @@ -22,9 +22,6 @@ package fr.ird.observe.application.swing.configuration; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import fr.ird.observe.application.swing.configuration.constants.CreationMode; -import fr.ird.observe.application.swing.configuration.constants.DbMode; import fr.ird.observe.services.dto.ObserveSpeciesListConfiguration; import org.nuiton.config.ApplicationConfig; import org.nuiton.config.ConfigOptionDef; @@ -33,6 +30,7 @@ import org.nuiton.version.Version; import java.awt.Color; import java.io.File; import java.net.URL; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Locale; @@ -51,30 +49,30 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { /** le lastName du fichier de configuration (sans le prefix .) */ CONFIG_FILE( + String.class, ApplicationConfig.CONFIG_FILE_NAME, n("observe.config.configFileName.description"), ObserveSwingApplicationConfig.DEFAULT_OBSERVE_SWING_CONFIGURATION_FILENAME, - String.class, true, true ), /** flag pour afficher automatiquement la popup du clavier numerique */ DEV_MODE( - "observe." + ObserveSwingApplicationConfig.PROPERTY_DEV_MODE, + Boolean.class, + "observe.devMode", n("observe.config.devMode"), "true", - Boolean.class, true, true ), /** version du modèle de données */ MODEL_VERSION( + Version.class, "observe.model.version", n("observe.model.version"), null, - Version.class, true, true ), @@ -83,22 +81,18 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { /** le repertoire ou est stoquee la base locale */ DATA_DIRECTORY( + File.class, "data.directory", n("observe.config.defaultDataDirectory.description"), - "${user.home}/.observe", - File.class, - false, - false + "${user.home}/.observe" ), /** le repertoire ou est stoquee la base locale */ DB_DIRECTORY( + File.class, "db.directory", n("observe.config.defaultLocalDbDirectory.description"), - "${data.directory}/db", - File.class, - false, - false + "${data.directory}/db" ), /** @@ -106,95 +100,74 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { * a Obstuna. */ INITIAL_DB_DUMP( + File.class, "initial.db.dump", n("observe.config.defaultInitialDbDump.description"), - "${data.directory}/initial-database.sql.gz", - File.class, - false, - false + "${data.directory}/initial-database.sql.gz" ), /** le repertoire ou effectuer les sauvegarde */ BACKUP_DIRECTORY( + File.class, "backup.directory", n("observe.config.defaultBackupDirectory.description"), - "${data.directory}/backup", - File.class, - false, - false + "${data.directory}/backup" ), /** le repertoire ou sont stockees toutes les ressources de l'utilisateur */ RESOURCES_DIRECTORY( + File.class, "resources.directory", - ObserveSwingApplicationConfig.PROPERTY_RESOURCES_DIRECTORY, n("observe.config.defaultResourcesDirectory.description"), - "${data.directory}/resources-${version}", - File.class, - false, - false + "${data.directory}/resources-${version}" ), /** le repertoire ou sont stockees les traduction i18n de l'utilisateur */ I18N_DIRECTORY( + File.class, "i18n.directory", - ObserveSwingApplicationConfig.PROPERTY_I18N_DIRECTORY, n("observe.config.defaultI18nDirectory.description"), - "${resources.directory}/i18n", - File.class, - false, - false + "${resources.directory}/i18n" ), /** le repertoire ou sont stockees les reports de l'utilisateur */ REPORT_DIRECTORY( + File.class, "report.directory", - ObserveSwingApplicationConfig.PROPERTY_REPORT_DIRECTORY, n("observe.config.defaultReportDirectory.description"), - "${resources.directory}/report", - File.class, - false, - false + "${resources.directory}/report" ), /** le repertoire ou sont stockees les cartes de l'utilisateur */ MAP_DIRECTORY( + File.class, "map.directory", - ObserveSwingApplicationConfig.PROPERTY_MAP_DIRECTORY, n("observe.config.defaultMapDirectory.description"), - "${resources.directory}/map", - File.class, - false, - false + "${resources.directory}/map" ), /** le repertoire ou sont stockees les reports de validation de l'utilisateur */ VALIDATION_REPORT_DIRECTORY( + File.class, "validation.report.directory", - ObserveSwingApplicationConfig.PROPERTY_VALIDATION_REPORT_DIRECTORY, n("observe.config.defaultValidationReportDirectory.description"), - "${data.directory}/validation-report", - File.class, - false, - false + "${data.directory}/validation-report" ), /** le repertoire temporaire (utilise pour les base de synchro) */ TMP_DIRECTORY( + File.class, "tmp.directory", n("observe.config.defaultTmpDirectory.description"), - "${data.directory}/tmp", - File.class, - false, - false + "${data.directory}/tmp" ), /** Le chemin du fichier de configuration des logs. */ LOG_CONFIGURATION_FILE( + File.class, "logConfigurationFile", n("observe.config.logConfigurationFile.description"), "${resources.directory}/observe-log4j.properties", - String.class, true, false), @@ -202,640 +175,489 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { /** login sur toutes les bases h2 (non sauvegarde) */ H2_LOGIN( + String.class, "h2.username", n("observe.config.h2.login.description"), "sa", - String.class, true, true ), /** mot de passe sur toutes les bases h2 (non sauvegarde) */ H2_PASSWORD( + String.class, "h2.password", n("observe.config.h2.password.description"), "sa", - String.class, true, true ), /** flag pour effectuer la mise a jour des bases locales */ H2_CAN_MIGRATE( + Boolean.class, "h2.canMigrate", n("observe.config.h2.can.migrate.description"), - "true", - Boolean.class, - false, - false + "true" ), /** port à utiliser pour lancer ObServe en mode serveur */ H2_SERVER_PORT( + Integer.class, "h2.serverPort", n("observe.config.h2.serverPort.description"), - "9093", - Integer.class, - false, - false + "9093" ), // obstuna db config /** url de la base obstuna */ OBSTUNA_URL( + String.class, "obstuna.url", n("observe.config.obstuna.url.description"), - "jdbc:postgresql:///obstuna", - String.class, - false, - false + "jdbc:postgresql:///obstuna" ), /** login de la base obstuna */ OBSTUNA_LOGIN( + String.class, "obstuna.username", n("observe.config.obstuna.login.description"), - "utilisateur", - String.class, - false, - false + "utilisateur" ), /** mot de passe de la base obstuna (non sauvegarde) */ OBSTUNA_PASSWORD( + String.class, "obstuna.password", n("observe.config.obstuna.password.description"), "", - String.class, true, false ), /** flag pour activer l'utilisation ssl pour la connexion a obstuna */ OBSTUNA_USE_SSL_CERT( + Boolean.class, "obstuna.useSsl", n("observe.config.obstuna.useSsl.description"), - "false", - Boolean.class, - false, - false + "false" ), /** flag pour mettre a jour obstuna */ OBSTUNA_CAN_MIGRATE( + Boolean.class, "pg.canMigrate", n("observe.config.pg.can.migrate.description"), - "false", - Boolean.class, - false, - false + "false" ), // Rest server config /** url du serveur restflag pour mettre a jour obstuna */ SERVER_URL( + URL.class, "server.url", n("observe.config.server.url.description"), - null, - URL.class, - false, - false + null ), /** url du serveur restflag pour mettre a jour obstuna */ SERVER_LOGIN( + String.class, "server.login", n("observe.config.server.login.description"), - "", - String.class, - false, - false + "" ), /** url du serveur restflag pour mettre a jour obstuna */ SERVER_PASSWORD( + String.class, "server.password", n("observe.config.server.password.description"), - "", - String.class, - false, - false + "" ), /** url du serveur restflag pour mettre a jour obstuna */ SERVER_DATABASE_NAME( + String.class, "server.dataBaseName", n("observe.config.server.dataBaseName.description"), - null, - String.class, - false, - false + null ), // change storage options /** le mode de connexion par defaut */ DEFAULT_DB_MODE( - ObserveSwingApplicationConfig.PROPERTY_DEFAULT_DB_MODE, - ObserveSwingApplicationConfig.PROPERTY_DEFAULT_DB_MODE, + fr.ird.observe.application.swing.configuration.constants.DbMode.class, + "defaultDbMode", n("observe.config.defaultDbMode"), - DbMode.USE_LOCAL.name(), - DbMode.class, - false, - false + fr.ird.observe.application.swing.configuration.constants.DbMode.USE_LOCAL.name() ), /** le mode de creation par defaut de base locale */ DEFAULT_CREATION_MODE( - ObserveSwingApplicationConfig.PROPERTY_DEFAULT_CREATION_MODE, - ObserveSwingApplicationConfig.PROPERTY_DEFAULT_CREATION_MODE, + fr.ird.observe.application.swing.configuration.constants.CreationMode.class, + "defaultCreationMode", n("observe.config.defaultCreationMode"), - CreationMode.IMPORT_EXTERNAL_DUMP.name(), - CreationMode.class, - false, - false + fr.ird.observe.application.swing.configuration.constants.CreationMode.IMPORT_EXTERNAL_DUMP.name() ), /** flag pour sauvegarder le paramétrage de la connexion a obstuna */ STORE_REMOTE_STORAGE( - "ui." + ObserveSwingApplicationConfig.PROPERTY_STORE_REMOTE_STORAGE, - ObserveSwingApplicationConfig.PROPERTY_STORE_REMOTE_STORAGE, - n("observe.config.ui.storeRemoteStorage"), - "true", Boolean.class, - false, - false + "ui.storeRemoteStorage", + n("observe.config.ui.storeRemoteStorage"), + "true" ), /** flag pour charge ou non la base locale au démarrage */ LOAD_LOCAL_STORAGE( - "ui." + ObserveSwingApplicationConfig.PROPERTY_LOAD_LOCAL_STORAGE, - ObserveSwingApplicationConfig.PROPERTY_LOAD_LOCAL_STORAGE, - n("observe.config.ui.loadLocalStorage"), - "true", Boolean.class, - false, - false + "ui.loadLocalStorage", + n("observe.config.ui.loadLocalStorage"), + "true" ), /** pour afficher la progression de la migration dans les logs */ SHOW_MIGRATION_PROGRESSION( - ObserveSwingApplicationConfig.PROPERTY_SHOW_MIGRATION_PROGRESSION, - ObserveSwingApplicationConfig.PROPERTY_SHOW_MIGRATION_PROGRESSION, - n("observe.config.showMigrationProgression"), - "true", Boolean.class, - false, - false + "showMigrationProgression", + n("observe.config.showMigrationProgression"), + "true" ), /** pour affichier les requetes sql lors de la migration dans les logs */ SHOW_MIGRATION_SQL( - ObserveSwingApplicationConfig.PROPERTY_SHOW_MIGRATION_SQL, - ObserveSwingApplicationConfig.PROPERTY_SHOW_MIGRATION_SQL, - n("observe.config.showMigrationSql"), - "true", Boolean.class, - false, - false + "showMigrationSql", + n("observe.config.showMigrationSql"), + "true" ), /** pour affichier toutes les requetes sql dans les logs */ SHOW_SQL( - ObserveSwingApplicationConfig.PROPERTY_SHOW_SQL, - ObserveSwingApplicationConfig.PROPERTY_SHOW_SQL, - n("observe.config.showSql"), - "false", Boolean.class, - false, - false + "showSql", + n("observe.config.showSql"), + "false" ), // gps default values /** temps maximum autorise en deux points gps */ DEFAULT_GPS_MAX_DELAY( - ObserveSwingApplicationConfig.PROPERTY_DEFAULT_GPS_MAX_DELAY, - ObserveSwingApplicationConfig.PROPERTY_DEFAULT_GPS_MAX_DELAY, - n("observe.config.defaultGpsMaxDelay"), - "60", Integer.class, - false, - false + "defaultGpsMaxDelay", + n("observe.config.defaultGpsMaxDelay"), + "60" ), /** vitesse maximum (en noeud) entre deux points gps */ DEFAULT_GPS_MAX_SPEED( - ObserveSwingApplicationConfig.PROPERTY_DEFAULT_GPS_MAX_SPEED, - ObserveSwingApplicationConfig.PROPERTY_DEFAULT_GPS_MAX_SPEED, - n("observe.config.defaultGpsMaxSpeed"), - "25.0f", Float.class, - false, - false + "defaultGpsMaxSpeed", + n("observe.config.defaultGpsMaxSpeed"), + "25.0f" ), // synchro actions options /** flag pour autoriser le choix de la base source */ CHANGE_SYNCHRO_SRC( - "ui." + ObserveSwingApplicationConfig.PROPERTY_CHANGE_SYNCHRO_SRC, - ObserveSwingApplicationConfig.PROPERTY_CHANGE_SYNCHRO_SRC, - n("observe.config.ui.changeSynchroSrc"), - "false", Boolean.class, - false, - false + "ui.changeSynchroSrc", + n("observe.config.ui.changeSynchroSrc"), + "false" ), // ui config /** flag pour voir le boutton d'affichage de la popup de clavier numerique) */ SHOW_NUMBER_EDITOR_BUTTON( - "ui." + ObserveSwingApplicationConfig.PROPERTY_SHOW_NUMBER_EDITOR_BUTTON, - ObserveSwingApplicationConfig.PROPERTY_SHOW_NUMBER_EDITOR_BUTTON, - n("observe.config.ui.showNumberEditorButton"), - "true", Boolean.class, - false, - false + "ui.showNumberEditorButton", + n("observe.config.ui.showNumberEditorButton"), + "true" ), /** flag pour afficher automatiquement la popup du clavier numerique */ AUTO_POPUP_NUMBER_EDITOR( - "ui." + ObserveSwingApplicationConfig.PROPERTY_AUTO_POPUP_NUMBER_EDITOR, - ObserveSwingApplicationConfig.PROPERTY_AUTO_POPUP_NUMBER_EDITOR, + Boolean.class, "ui.autoPopupNumberEditor", n("observe.config.ui.autoPopupNumberEditor"), - "false", - Boolean.class, - false, - false + "false" ), /** flag pour voir la réglette d'affichage des heures dans l'éditeur des temps */ SHOW_DATE_TIME_EDITOR_SLIDER( - "ui." + ObserveSwingApplicationConfig.PROPERTY_SHOW_DATE_TIME_EDITOR_SLIDER, - ObserveSwingApplicationConfig.PROPERTY_SHOW_DATE_TIME_EDITOR_SLIDER, - n("observe.config.ui.showTimeEditorSlider"), - "true", Boolean.class, - false, - false + "ui.showTimeEditorSlider", + n("observe.config.ui.showTimeEditorSlider"), + "true" ), /** flag pour lancer l'application en mode plein ecran */ FULL_SCREEN( - "ui." + ObserveSwingApplicationConfig.PROPERTY_FULL_SCREEN, - ObserveSwingApplicationConfig.PROPERTY_FULL_SCREEN, - n("observe.config.ui.fullscreen"), - "false", Boolean.class, - false, - false + "ui.fullscreen", + n("observe.config.ui.fullscreen"), + "false" ), /** locale a utiliser dans l'application */ LOCALE( - "ui." + ObserveSwingApplicationConfig.PROPERTY_LOCALE, - ObserveSwingApplicationConfig.PROPERTY_LOCALE, - n("observe.config.ui.locale"), - Locale.FRANCE.toString(), Locale.class, - false, - false + "ui.locale", + n("observe.config.ui.locale"), + Locale.FRANCE.toString() ), /** locale du referentiel */ DB_LOCALE( - "db." + ObserveSwingApplicationConfig.PROPERTY_LOCALE, - ObserveSwingApplicationConfig.PROPERTY_DB_LOCALE, - n("observe.config.db.locale"), - Locale.FRANCE.toString(), Locale.class, - false, - false + "db.locale", + n("observe.config.db.locale"), + Locale.FRANCE.toString() ), // program observation max /** la valeur maximale de qualification des observations faune associe */ NON_TARGET_OBSERVATION( + Integer.class, "observation.fauneAssociee", - ObserveSwingApplicationConfig.PROPERTY_NON_TARGET_OBSERVATION, n("observe.config.observation.fauneAssociee"), - "1", - Integer.class, - false, - false + "1" ), /** la valeur maximale de qualification des observations rejet thons */ TARGET_DISCARDS_OBSERVATION( + Integer.class, "observation.rejetsThons", - ObserveSwingApplicationConfig.PROPERTY_TARGET_DISCARDS_OBSERVATION, n("observe.config.observation.rejetsThons"), - "1", - Integer.class, - false, - false + "1" ), /** la valeur maximale de qualification des observations mensuration */ SAMPLES_OBSERVATION( + Integer.class, "observation.mensurations", - ObserveSwingApplicationConfig.PROPERTY_SAMPLES_OBSERVATION, n("observe.config.observation.mensurations"), - "1", - Integer.class, - false, - false + "1" ), /** la valeur maximale de qualification des observations objet flottant */ OBJECTS_OBSERVATION( + Integer.class, "observation.floatingObject", - ObserveSwingApplicationConfig.PROPERTY_OBJECTS_OBSERVATION, n("observe.config.observation.floatingObject"), - "1", - Integer.class, - false, - false + "1" ), /** la valeur maximale de qualification des observations activitys detaillees */ DETAILLED_ACTIVITIES_OBSERVATION( + Integer.class, "observation.activitysDetaillees", - ObserveSwingApplicationConfig.PROPERTY_DETAILLED_ACTIVITIES_OBSERVATION, n("observe.config.observation.activitysDetaillees"), - "1", - Integer.class, - false, - false + "1" ), /** la valeur maximale de qualification des observations mammiferes */ MAMMALS_OBSERVATION( + Integer.class, "observation.mammiferes", - ObserveSwingApplicationConfig.PROPERTY_MAMMALS_OBSERVATION, n("observe.config.observation.mammiferes"), - "1", - Integer.class, - false, - false + "1" ), /** la valeur maximale de qualification des observations oiseaux */ BIRDS_OBSERVATION( - "observation.oiseaux", - ObserveSwingApplicationConfig.PROPERTY_BIRDS_OBSERVATION, + Integer.class, "observation.oiseaux", n("observe.config.observation.oiseaux"), - "1", - Integer.class, - false, - false + "1" ), /** la valeur maximale de qualification des observations gleure */ BAIT_OBSERVATION( + Integer.class, "observation.gleure", - ObserveSwingApplicationConfig.PROPERTY_BAIT_OBSERVATION, n("observe.config.observation.gleure"), - "1", - Integer.class, - false, - false + "1" ), /** le type de liste d'espèces pour les captures cibles (seine) */ SPECIES_LIST_SEINE_TARGET_CATCH_ID( + String.class, "speciesList.seine.targetCatch", - ObserveSwingApplicationConfig.PROPERTY_SPECIES_LIST_SEINE_TARGET_CATCH_ID, n("observe.config.speciesList.seine.targetCatch"), - ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_TARGET_CATCH_ID, - String.class, - false, - false + ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_TARGET_CATCH_ID ), /** le type de liste d'espèce pour les Estimation banc (seine) */ SPECIES_LIST_SEINE_SCHOOL_ESTIMATE_ID( - "speciesList.seine.schoolEstimate", - ObserveSwingApplicationConfig.PROPERTY_SPECIES_LIST_SEINE_SCHOOL_ESTIMATE_ID, + String.class, "speciesList.seine.schoolEstimate", n("observe.config.speciesList.seine.schoolEstimate"), - ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_SCHOOL_ESTIMATE_ID, - String.class, - false, - false + ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_SCHOOL_ESTIMATE_ID ), /** le type de liste d'espèces pour les Estimation banc objet (seine) */ SPECIES_LIST_SEINE_OBJECT_SCHOOL_ESTIMATE_ID( + String.class, "speciesList.seine.objectSchoolEstimate", - ObserveSwingApplicationConfig.PROPERTY_SPECIES_LIST_SEINE_OBJECT_SCHOOL_ESTIMATE_ID, n("observe.config.speciesList.seine.objectSchoolEstimate"), - ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_OBJECT_SCHOOL_ESTIMATE_ID, - String.class, - false, - false + ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_OBJECT_SCHOOL_ESTIMATE_ID ), /** le type de liste d'espèces pour les captures non cibles (seine) */ SPECIES_LIST_SEINE_NON_TARGET_CATCH_ID( + String.class, "speciesList.seine.nonTargetCatch", - ObserveSwingApplicationConfig.PROPERTY_SPECIES_LIST_SEINE_NON_TARGET_CATCH_ID, n("observe.config.speciesList.seine.nonTargetCatch"), - ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_NON_TARGET_CATCH_ID, - String.class, - false, - false + ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_NON_TARGET_CATCH_ID ), /** le type de liste d'espèces pour les Faune observée (seine) */ SPECIES_LIST_SEINE_OBJECT_OBSERVED_SPECIES_ID( + String.class, "speciesList.seine.objectObservedSpecies", - ObserveSwingApplicationConfig.PROPERTY_SPECIES_LIST_SEINE_OBJECT_OBSERVED_SPECIES_ID, n("observe.config.speciesList.seine.objectObservedSpecies"), - ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_OBJECT_OBSERVED_SPECIES_ID, - String.class, - false, - false + ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_SEINE_OBJECT_OBSERVED_SPECIES_ID ), /** le type de liste d'espèces pour les captures (longline) */ SPECIES_LIST_LONGLINE_CATCH_ID( + String.class, "speciesList.longline.catch", - ObserveSwingApplicationConfig.PROPERTY_SPECIES_LIST_LONGLINE_CATCH_ID, n("observe.config.speciesList.longline.catch"), - ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_LONGLINE_CATCH_ID, - String.class, - false, - false + ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_LONGLINE_CATCH_ID ), /** le type de liste d'espèces pour les rencontres (longline) */ SPECIES_LIST_LONGLINE_ENCOUNTER_ID( + String.class, "speciesList.longline.encounter", - ObserveSwingApplicationConfig.PROPERTY_SPECIES_LIST_LONGLINE_ENCOUNTER_ID, n("observe.config.speciesList.longline.encounter"), - ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_LONGLINE_ENCOUNTER_ID, - String.class, - false, - false + ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_LONGLINE_ENCOUNTER_ID ), /** le type de liste d'espèces pour les deprédations (longline) */ SPECIES_LIST_LONGLINE_DEPREDATOR_ID( + String.class, "speciesList.longline.depredator", - ObserveSwingApplicationConfig.PROPERTY_SPECIES_LIST_LONGLINE_DEPREDATOR_ID, n("observe.config.speciesList.longline.encounter"), - ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_LONGLINE_DEPREDATOR_ID, - String.class, - false, - false + ObserveSpeciesListConfiguration.DEFAULT_SPECIES_LIST_LONGLINE_DEPREDATOR_ID ), /** le chemin vers le fond de carte */ MAP_BACKGROUND_COLOR( + Color.class, "map.background.color", n("observe.config.map.background.description"), - new Color(87, 200, 255).toString(), - Color.class, - false, - false + new Color(87, 200, 255).toString() ), /** shape file 1 */ - MAP_LAYER_1( + MAP_LAYER1( + File.class, "map.layer1.path", n("observe.config.map.layer1.description"), - "${resources.directory}/map/shapeFiles/continents/GSHHS_l_L1.shp", - File.class, - false, - false + "${resources.directory}/map/shapeFiles/continents/GSHHS_l_L1.shp" ), /** shape file 2 */ - MAP_LAYER_2( + MAP_LAYER2( + File.class, "map.layer2.path", n("observe.config.map.layer2.description"), - "${resources.directory}/map/shapeFiles/continents/GSHHS_l_L6.shp", - File.class, - false, - false + "${resources.directory}/map/shapeFiles/continents/GSHHS_l_L6.shp" ), /** shape file 3 */ - MAP_LAYER_3( + MAP_LAYER3( + File.class, "map.layer3.path", n("observe.config.map.layer3.description"), - "${resources.directory}/map/shapeFiles/lakesAndSeas/GSHHS_l_L2.shp", - File.class, - false, - false + "${resources.directory}/map/shapeFiles/lakesAndSeas/GSHHS_l_L2.shp" ), /** shape file 4 */ - MAP_LAYER_4( + MAP_LAYER4( + File.class, "map.layer4.path", n("observe.config.map.layer4.description"), - "${resources.directory}/map/shapeFiles/borders/WDBII_border_l_L1.shp", - File.class, - false, - false + "${resources.directory}/map/shapeFiles/borders/WDBII_border_l_L1.shp" ), /** shape file 5 */ - MAP_LAYER_5( + MAP_LAYER5( + File.class, "map.layer5.path", n("observe.config.map.layer5.description"), - "${resources.directory}/map/shapeFiles/zee/World_EEZ_v8_2014.shp", - File.class, - false, - false + "${resources.directory}/map/shapeFiles/zee/World_EEZ_v8_2014.shp" ), /** shape file 6 */ - MAP_LAYER_6( + MAP_LAYER6( + File.class, "map.layer6.path", n("observe.config.map.layer6.description"), - null, - File.class, - false, - false + null ), /** shape file 7 */ - MAP_LAYER_7( + MAP_LAYER7( + File.class, "map.layer7.path", n("observe.config.map.layer7.description"), - null, - File.class, - false, - false + null ), /** shape file 8 */ - MAP_LAYER_8( + MAP_LAYER8( + File.class, "map.layer8.path", n("observe.config.map.layer8.description"), - null, - File.class, - false, - false + null ), /** shape file 9 */ - MAP_LAYER_9( + MAP_LAYER9( + File.class, "map.layer9.path", n("observe.config.map.layer9.description"), - null, - File.class, - false, - false + null ), /** shape file 10 */ - MAP_LAYER_10( + MAP_LAYER10( + File.class, "map.layer10.path", n("observe.config.map.layer10.description"), - null, - File.class, - false, - false + null ), /** style Maps */ MAP_STYLE_FILE( + File.class, "map.style.path", n("observe.config.map.style.description"), - "${resources.directory}/map/style.xml", - File.class, - false, - false), + "${resources.directory}/map/style.xml" + ), /** Ids des noeuds ouverts dans l'arbre */ TREE_OPEN_NODES( - "ui." + ObserveSwingApplicationConfig.PROPERTY_TREE_OPEN_NODES, - ObserveSwingApplicationConfig.PROPERTY_TREE_OPEN_NODES, - n("observe.config.ui.treeOpenNodes"), - null, String.class, - false, - false + "ui.treeOpenNodes", + n("observe.config.ui.treeOpenNodes"), + null ), /** Pour activer la validation des vitesses d'activités) */ VALIDATION_SPEED_ENABLE( - "validation." + ObserveSwingApplicationConfig.PROPERTY_VALIDATION_SPEED_ENABLE, - ObserveSwingApplicationConfig.PROPERTY_VALIDATION_SPEED_ENABLE, - n("observe.config.validation.speedEnable"), - "true", Boolean.class, - false, - false + "validation.speedEnable", + n("observe.config.validation.speedEnable"), + "true" ), /** La vitesse maximale à consider dans la validation des vitesses d'activités) */ VALIDATION_SPEED_MAX_VALUE( - "validation." + ObserveSwingApplicationConfig.PROPERTY_VALIDATION_SPEED_MAX_VALUE, - ObserveSwingApplicationConfig.PROPERTY_VALIDATION_SPEED_MAX_VALUE, - n("observe.config.validation.speedMaxValue"), - "30.0", Float.class, - false, - false + "validation.speedMaxValue", + n("observe.config.validation.speedMaxValue"), + "30.0" ); - public static final List<ObserveSwingApplicationConfigOption> MAP_LAYERS = ImmutableList.of(MAP_LAYER_1, MAP_LAYER_2, MAP_LAYER_3, - MAP_LAYER_4, MAP_LAYER_5, MAP_LAYER_6, MAP_LAYER_7, MAP_LAYER_8, MAP_LAYER_9, MAP_LAYER_10); + public static final List<ObserveSwingApplicationConfigOption> MAP_LAYERS = + ImmutableList.of(MAP_LAYER1, MAP_LAYER2, MAP_LAYER3, MAP_LAYER4, MAP_LAYER5, MAP_LAYER6, MAP_LAYER7, MAP_LAYER8, MAP_LAYER9, MAP_LAYER10); /** * Clef qui represente l'option (c'est celle enregistrée dans le fichier de @@ -843,12 +665,6 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { */ protected final String key; - /** - * Clef de la propriété (javaBeans) de la configuration associé à cette - * option ({@code null} si pas associé à une propriété javaBeans). - */ - protected final String propertyKey; - /** Clef i18n de description de l'option */ protected final String description; @@ -864,27 +680,18 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { /** Drapeau pour savoir si l'option est modifiable */ protected boolean _final; -// /** -// * Drapeau pour savoir si l'option requiere le mode admin -// * -// * @see ObserveRunner#isAdmin() -// */ -// protected boolean admin; - - ObserveSwingApplicationConfigOption(String key, + ObserveSwingApplicationConfigOption(Class<?> type, + String key, String description, - String defaultValue, - Class<?> type, - boolean _transient, - boolean _final) { - this(key, null, description, defaultValue, type, _transient, _final); + String defaultValue + ) { + this(type, key, description, defaultValue, false, false); } - ObserveSwingApplicationConfigOption(String key, - String propertyKey, + ObserveSwingApplicationConfigOption(Class<?> type, + String key, String description, String defaultValue, - Class<?> type, boolean _transient, boolean _final) { this.key = key; @@ -893,7 +700,6 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { this.type = type; this._final = _final; this._transient = _transient; - this.propertyKey = propertyKey; } @Override @@ -906,10 +712,6 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { return _transient; } -// public boolean isAdmin() { -// return admin; -// } - @Override public String getDefaultValue() { return defaultValue; @@ -945,17 +747,9 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { this._final = _final; } -// public void setAdmin(boolean admin) { -// this.admin = admin; -// } - - public String getPropertyKey() { - return propertyKey; - } - - public static ImmutableList<ObserveSwingApplicationConfigOption> orderedByNameValues() { + public static ImmutableList<ObserveSwingApplicationConfigOption> orderedByKey() { - List<ObserveSwingApplicationConfigOption> values = Lists.newArrayList(values()); + List<ObserveSwingApplicationConfigOption> values = Arrays.asList(values()); Collections.sort(values, (o1, o2) -> o1.getKey().compareTo(o2.getKey())); return ImmutableList.copyOf(values); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveCLAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveCLAction.java index 30c91ec..becaf3d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveCLAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveCLAction.java @@ -173,7 +173,7 @@ public class ObserveCLAction { if (operation == ObstunaAdminAction.UPDATE || operation == ObstunaAdminAction.CREATE) { - getConfig().setOption(ObserveSwingApplicationConfigOption.OBSTUNA_CAN_MIGRATE, true); + getConfig().setObstunaCanMigrate(true); } RemoteUILauncher launcher = operation.newLauncher(context, null); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveResourceManager.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveResourceManager.java index ea9c299..9d329fc 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveResourceManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveResourceManager.java @@ -236,7 +236,7 @@ public class ObserveResourceManager { */ protected File createDirectory(ObserveSwingApplicationConfig config, ObserveSwingApplicationConfigOption option) throws IOException { - File dir = config.getOptionAsFile(option.getKey()); + File dir = config.getApplicationConfig().getOptionAsFile(option.getKey()); createDirectory(dir); return dir; } @@ -252,7 +252,7 @@ public class ObserveResourceManager { protected void createParentDirectory(ObserveSwingApplicationConfig config, ObserveSwingApplicationConfigOption... options) throws IOException { for (ObserveSwingApplicationConfigOption option : options) { - File dir = config.getOptionAsFile(option.getKey()).getParentFile(); + File dir = config.getApplicationConfig().getOptionAsFile(option.getKey()).getParentFile(); createDirectory(dir); } } @@ -306,7 +306,7 @@ public class ObserveResourceManager { public File unzipToDirectory(Resource resource, ObserveSwingApplicationConfig config, ObserveSwingApplicationConfigOption option, String message) throws IOException { - File dir = config.getOptionAsFile(option.getKey()); + File dir = config.getApplicationConfig().getOptionAsFile(option.getKey()); createDirectory(dir); InputStream inputStream = openInternalStream(resource.getUrl()); try { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java index b34f0a2..7929f61 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java @@ -22,7 +22,6 @@ package fr.ird.observe.application.swing; import com.google.common.base.Preconditions; -import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationActionDefinition; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.application.swing.ui.ObserveMainUI; import fr.ird.observe.application.swing.ui.ObserveMainUIHandler; @@ -42,7 +41,6 @@ import org.apache.log4j.LogManager; import org.apache.log4j.PropertyConfigurator; import org.jdesktop.swingx.plaf.basic.CalendarHeaderHandler; import org.jdesktop.swingx.plaf.basic.SpinningCalendarHeaderHandler; -import org.nuiton.config.ConfigActionDef; import org.nuiton.converter.ConverterUtil; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.DefaultI18nInitializer; @@ -250,7 +248,7 @@ public abstract class ObserveRunner extends ApplicationRunner { log.info("Chargement du fichier de de log4j depuis " + resource); } Properties logConfigurationProperties = resourceManager.load(resource); - Properties finalLogConfigurationProperties = ObserveUtil.loadProperties(logConfigurationProperties, config); + Properties finalLogConfigurationProperties = ObserveUtil.loadProperties(logConfigurationProperties, config.getApplicationConfig()); LogManager.resetConfiguration(); PropertyConfigurator.configure(finalLogConfigurationProperties); @@ -279,14 +277,7 @@ public abstract class ObserveRunner extends ApplicationRunner { ObserveSwingApplicationConfig config = context.getConfig(); - if (config.containActions(ObserveSwingApplicationConfig.Step.AfterInit)) { - - config.doAction(ObserveSwingApplicationConfig.Step.AfterInit.ordinal()); - - if (log.isInfoEnabled()) { - log.info("Operation terminées..."); - } - } + config.getApplicationConfig().doAction(ObserveSwingApplicationConfig.Step.AfterInit.ordinal()); if (!config.isDisplayMainUI()) { if (log.isInfoEnabled()) { @@ -387,16 +378,11 @@ public abstract class ObserveRunner extends ApplicationRunner { ObserveSwingApplicationConfig config = new ObserveSwingApplicationConfig(); - // init config (load application configuration) - config.initConfig( - resourceManager.getResource(ObserveResourceManager.Resource.application), - (ConfigActionDef[]) ObserveSwingApplicationActionDefinition.values()); - - // init config arguments - config.parse(args); + // init config + config.initConfig(resourceManager.getResource(ObserveResourceManager.Resource.application), args); - // install save action on option modification - config.installSaveAction(); +// // install save action on option modification +// config.installSaveAction(); if (log.isInfoEnabled()) { String message = config.getConfigurationDescription(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationDataSourcesManager.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationDataSourcesManager.java index af079ae..af1246d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationDataSourcesManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationDataSourcesManager.java @@ -104,7 +104,7 @@ public class ObserveSwingApplicationDataSourcesManager implements Closeable { dbDirectory, DB_NAME, config.getH2Login(), - config.getH2Password(), + config.getH2Password().toCharArray(), config.isShowMigrationProgression(), config.isShowMigrationSql(), config.getModelVersion() @@ -126,7 +126,7 @@ public class ObserveSwingApplicationDataSourcesManager implements Closeable { dbDirectory, ObserveSwingApplicationConfig.DB_NAME, config.getH2Login(), - config.getH2Password(), + config.getH2Password().toCharArray(), false, false, config.getModelVersion() @@ -142,8 +142,8 @@ public class ObserveSwingApplicationDataSourcesManager implements Closeable { label, config.getObstunaUrl(), config.getObstunaLogin(), - config.getObstunaPassword(), - config.isObstunaUseSsl(), + config.getObstunaPassword().toCharArray(), + config.isObstunaUseSslCert(), config.isShowMigrationProgression(), config.isShowMigrationSql(), config.getModelVersion() @@ -158,8 +158,8 @@ public class ObserveSwingApplicationDataSourcesManager implements Closeable { label, config.getServerUrl(), config.getServerLogin(), - config.getServerPassword(), - config.getServerDataBaseName(), + config.getServerPassword().toCharArray(), + config.getServerDatabaseName(), config.getModelVersion() ); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIHandler.java index 2e7823f..a230f45 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/ObserveMainUIHandler.java @@ -295,7 +295,7 @@ public class ObserveMainUIHandler { */ protected void reloadUI(ObserveSwingApplicationContext rootContext, ObserveSwingApplicationConfig config) { - // must remove all properties listener on config +// // must remove all properties listener on config config.removeJaxxPropertyChangeListener(); // scan main ui diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ChangeApplicationLanguageAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ChangeApplicationLanguageAction.java index fd66c71..6d5d2de 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ChangeApplicationLanguageAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ChangeApplicationLanguageAction.java @@ -24,7 +24,6 @@ package fr.ird.observe.application.swing.ui.actions; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; -import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfigOption; import fr.ird.observe.application.swing.ui.ObserveMainUI; import fr.ird.observe.application.swing.ui.ObserveUICallback; import jaxx.runtime.SwingUtil; @@ -73,7 +72,7 @@ public class ChangeApplicationLanguageAction extends AbstractAction { ObserveSwingApplicationConfig config = ui.getConfig(); // sauvegarde de la nouvelle locale - config.setOption(ObserveSwingApplicationConfigOption.LOCALE, newLocale); + config.setLocale(newLocale); ObserveUICallback.ui.run(); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ChangeDbLanguageAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ChangeDbLanguageAction.java index 17052b1..f559a90 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ChangeDbLanguageAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ChangeDbLanguageAction.java @@ -24,10 +24,9 @@ package fr.ird.observe.application.swing.ui.actions; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; -import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfigOption; -import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.application.swing.ui.ObserveMainUI; import fr.ird.observe.application.swing.ui.ObserveUICallback; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -75,7 +74,7 @@ public class ChangeDbLanguageAction extends AbstractAction { ObserveSwingApplicationConfig config = ui.getConfig(); // sauvegarde de la nouvelle locale - config.setOption(ObserveSwingApplicationConfigOption.DB_LOCALE, newLocale.getLocale()); + config.setDbLocale(newLocale.getLocale()); ObserveUICallback.ui.run(); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/GotoSiteAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/GotoSiteAction.java index fd237ba..d4f733b 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/GotoSiteAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/GotoSiteAction.java @@ -65,7 +65,7 @@ public class GotoSiteAction extends AbstractAction { ObserveSwingApplicationConfig config = ui.getConfig(); - URL siteURL = config.getOptionAsURL("application.site.url"); + URL siteURL = config.getApplicationConfig().getOptionAsURL("application.site.url"); UIHelper.displayInfo( t("observe.message.goto.site", siteURL)); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ReloadStorageAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ReloadStorageAction.java index 04002be..d59879a 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ReloadStorageAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ReloadStorageAction.java @@ -95,10 +95,10 @@ public class ReloadStorageAction extends AbstractObserveAction { ObserveDataSourceConfigurationTopiaH2 h2Config = (ObserveDataSourceConfigurationTopiaH2) storage.getConfiguration(); - h2Config.setCanMigrate(appConfig.isCanMigrateH2()); + h2Config.setCanMigrate(appConfig.isH2CanMigrate()); } else if (storage.isRemote()) { ObserveDataSourceConfigurationTopiaPG pgConfig = (ObserveDataSourceConfigurationTopiaPG) storage.getConfiguration(); - pgConfig.setCanMigrate(appConfig.isCanMigrateObstuna()); + pgConfig.setCanMigrate(appConfig.isObstunaCanMigrate()); } try { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java index b9b28af..a8fc9a3 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java @@ -27,22 +27,20 @@ import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfigOption; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.referential.ReferentialReference; -import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; import fr.ird.observe.application.swing.ui.ObserveMainUI; import fr.ird.observe.application.swing.ui.ObserveMainUIHandler; import fr.ird.observe.application.swing.ui.ObserveUICallback; -import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesListDto; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.config.ConfigUIHelper; import jaxx.runtime.swing.config.model.ConfigUIModelBuilder; import jaxx.runtime.swing.config.model.MainCallBackFinalizer; import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.renderer.DefaultTableRenderer; -import org.nuiton.config.ConfigOptionDef; import org.nuiton.decorator.Decorator; import org.nuiton.decorator.MultiJXPathDecorator; @@ -316,9 +314,7 @@ public class ShowConfigAction extends AbstractAction { ObserveUICallback.ui.name()); helper.addOption(ObserveSwingApplicationConfigOption.MAP_BACKGROUND_COLOR); - for (ObserveSwingApplicationConfigOption layerOption : ObserveSwingApplicationConfigOption.MAP_LAYERS) { - helper.addOption(layerOption); - } + ObserveSwingApplicationConfigOption.MAP_LAYERS.forEach(helper::addOption); helper.addOption(ObserveSwingApplicationConfigOption.MAP_STYLE_FILE); } @@ -328,15 +324,16 @@ public class ShowConfigAction extends AbstractAction { helper.addCategory(n("observe.config.category.other"), n("observe.config.category.other.description")); - helper.addOption(ObserveSwingApplicationConfigOption.SHOW_NUMBER_EDITOR_BUTTON); - helper.addOption(ObserveSwingApplicationConfigOption.AUTO_POPUP_NUMBER_EDITOR); - helper.addOption(ObserveSwingApplicationConfigOption.SHOW_DATE_TIME_EDITOR_SLIDER); + helper.addOption(ObserveSwingApplicationConfigOption.SHOW_NUMBER_EDITOR_BUTTON, ObserveUICallback.ui); + helper.addOption(ObserveSwingApplicationConfigOption.AUTO_POPUP_NUMBER_EDITOR, ObserveUICallback.ui); + helper.addOption(ObserveSwingApplicationConfigOption.SHOW_DATE_TIME_EDITOR_SLIDER, ObserveUICallback.ui); helper.addOption(ObserveSwingApplicationConfigOption.LOAD_LOCAL_STORAGE, ObserveUICallback.application); // helper.addOption(ObserveSwingApplicationConfigOption.FULL_SCREEN, ObserveUICallback.ui); helper.addOption(ObserveSwingApplicationConfigOption.LOCALE, ObserveUICallback.ui); helper.addOption(ObserveSwingApplicationConfigOption.DB_LOCALE, ObserveUICallback.ui); } + protected void addValidationOptions(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.validation"), @@ -357,27 +354,11 @@ public class ShowConfigAction extends AbstractAction { protected ObserveConfigUIBuilder(ObserveSwingApplicationConfig config, SpeciesListTableCellEditor speciesListTableCellEditor, SpeciesListsTableCellRenderer speciesListsTableCellRenderer) { - super(config); + super(config, config.getApplicationConfig()); this.speciesListTableCellEditor = speciesListTableCellEditor; this.speciesListsTableCellRenderer = speciesListsTableCellRenderer; } - @Override - public ConfigUIModelBuilder addOption(ConfigOptionDef option) { - - // add the option - super.addOption(option); - - String beanProperty = ((ObserveSwingApplicationConfigOption) option).getPropertyKey(); - - if (StringUtils.isNotEmpty(beanProperty)) { - setOptionPropertyName(beanProperty); - } - - return modelBuilder; - - } - public ConfigUIModelBuilder addOption(ObserveSwingApplicationConfigOption option, ObserveUICallback callBack) { addOption(option); @@ -400,10 +381,8 @@ public class ShowConfigAction extends AbstractAction { protected ConfigUIModelBuilder addSpeciesListOption(ObserveSwingApplicationConfigOption option) { - addOption(option) - .setOptionPropertyName(option.getPropertyKey()) - .setOptionEditor(speciesListTableCellEditor) - .setOptionRenderer(speciesListsTableCellRenderer); + addOption(option).setOptionEditor(speciesListTableCellEditor) + .setOptionRenderer(speciesListsTableCellRenderer); return modelBuilder; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/StartServerModeAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/StartServerModeAction.java index 2181782..f7e383b 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/StartServerModeAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/StartServerModeAction.java @@ -79,7 +79,7 @@ public class StartServerModeAction extends AbstractAction { ObserveSwingApplicationConfig config = ui.getConfig(); File dbDirectory = new File(config.getLocalDBDirectory(), "obstuna"); String h2Login = config.getH2Login(); - String h2Password = new String(config.getH2Password()); + String h2Password = config.getH2Password(); Integer port = config.getH2ServerPort(); ui.setMode(ObserveUIMode.SERVER); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java index 374a17e..340d85c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java @@ -44,10 +44,10 @@ import fr.ird.observe.application.swing.ui.storage.tabs.RolesTableModel; import fr.ird.observe.application.swing.ui.storage.tabs.SecurityModel; import fr.ird.observe.application.swing.ui.storage.tabs.StorageTabUI; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; +import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.configuration.rest.ObserveDataSourceConfigurationRest; import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaPG; -import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.ObserveDbUserDto; @@ -578,8 +578,8 @@ public class StorageUIHandler { config.setObstunaUrl(configurationTopiaPG.getJdbcUrl()); config.setObstunaLogin(configurationTopiaPG.getUsername()); - config.setObstunaPassword(configurationTopiaPG.getPassword()); - config.setObstunaUseSsl(configurationTopiaPG.isUseSsl()); + config.setObstunaPassword(new String(configurationTopiaPG.getPassword())); + config.setObstunaUseSslCert(configurationTopiaPG.isUseSsl()); config.setShowMigrationProgression(configurationTopiaPG.isShowMigrationProgression()); config.setShowMigrationSql(configurationTopiaPG.isShowMigrationSql()); @@ -593,8 +593,8 @@ public class StorageUIHandler { config.setServerUrl(configurationRest.getServerUrl()); config.setServerLogin(configurationRest.getLogin()); - config.setServerPassword(configurationRest.getPassword()); - config.setServerDataBaseName(configurationRest.getOptionalDatabaseName().orElse(null)); + config.setServerPassword(new String(configurationRest.getPassword())); + config.setServerDatabaseName(configurationRest.getOptionalDatabaseName().orElse(null)); //TODO-TC20100311 : on devrait pas regarder si l'utilisateur veut sauver //TODO-TC20100311 : la configuration ? diff --git a/application-web-configuration/pom.xml b/application-web-configuration/pom.xml index 6dda533..cbe7751 100644 --- a/application-web-configuration/pom.xml +++ b/application-web-configuration/pom.xml @@ -109,6 +109,23 @@ <plugins> <plugin> + <groupId>org.nuiton.eugene</groupId> + <artifactId>eugene-maven-plugin</artifactId> + <executions> + <execution> + <phase>generate-sources</phase> + <id>generate-config</id> + <configuration> + <modelName>ObserveWebApplication</modelName> + </configuration> + <goals> + <goal>generate-config</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> <groupId>org.nuiton.i18n</groupId> <artifactId>i18n-maven-plugin</artifactId> <executions> diff --git a/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java b/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java index 599e12f..9d68915 100644 --- a/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java +++ b/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java @@ -31,15 +31,12 @@ import org.apache.commons.logging.LogFactory; import org.apache.log4j.LogManager; import org.apache.log4j.PropertyConfigurator; import org.nuiton.config.ApplicationConfig; -import org.nuiton.config.ApplicationConfigHelper; -import org.nuiton.config.ApplicationConfigProvider; import org.nuiton.config.ArgumentsParserException; -import org.nuiton.version.Version; import java.io.BufferedReader; import java.io.File; import java.io.IOException; -import java.net.URL; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -56,77 +53,23 @@ import java.util.Set; * * @author Tony Chemit - chemit@codelutin.com */ -public class ObserveWebApplicationConfiguration { +public class ObserveWebApplicationConfiguration extends GeneratedObserveWebApplicationConfiguration { /** Logger. */ private static Log log = LogFactory.getLog(ObserveWebApplicationConfiguration.class); protected static final String DEFAULT_OBSERVE_WEB_CONFIGURATION_FILENAME = "observeweb.conf"; - private final ApplicationConfig applicationConfig; - public ObserveWebApplicationConfiguration() { this(DEFAULT_OBSERVE_WEB_CONFIGURATION_FILENAME); } public ObserveWebApplicationConfiguration(String confFileName) { - applicationConfig = new ApplicationConfig(); - applicationConfig.setEncoding(Charsets.UTF_8.name()); - applicationConfig.setConfigFileName(confFileName); - ApplicationConfigProvider applicationConfigProvider = ApplicationConfigHelper.getProvider(getClass().getClassLoader(), ObserveWebApplicationConfigurationProvider.OBSERVE_WEB_CONFIGURATION_PROVIDER_NAME); - applicationConfig.loadDefaultOptions(applicationConfigProvider.getOptions()); - - } - - public boolean isDevMode() { - return applicationConfig.getOptionAsBoolean(ObserveWebApplicationConfigurationOption.DEV_MODE.getKey()); - } - - public Version getVersion() { - return applicationConfig.getOption(Version.class, ObserveWebApplicationConfigurationOption.BUILD_VERSION.getKey()); - } - - public Version getModelVersion() { - return applicationConfig.getOption(Version.class, ObserveWebApplicationConfigurationOption.MODEL_VERSION.getKey()); - } - - public File getBaseDirectory() { - return applicationConfig.getOptionAsFile(ObserveWebApplicationConfigurationOption.BASE_DIRECTORY.getKey()); - } - - public File getTemporaryDirectory() { - return applicationConfig.getOptionAsFile(ObserveWebApplicationConfigurationOption.TEMPORARY_DIRECTORY.getKey()); - } - - public File getDatabasesConfigurationFile() { - return applicationConfig.getOptionAsFile(ObserveWebApplicationConfigurationOption.DATABASES_CONFIGURATION_FILE.getKey()); + ApplicationConfig delegate = getApplicationConfig(); + delegate.setEncoding(StandardCharsets.UTF_8.name()); + delegate.setConfigFileName(confFileName); } - public File getUsersConfigurationFile() { - return applicationConfig.getOptionAsFile(ObserveWebApplicationConfigurationOption.USERS_CONFIGURATION_FILE.getKey()); - } - - public File getLog4jConfigurationFile() { - return applicationConfig.getOptionAsFile(ObserveWebApplicationConfigurationOption.LOG4J_CONFIGURATION_FILE.getKey()); - } - - public int getSessionMaximumSize() { - return applicationConfig.getOptionAsInt(ObserveWebApplicationConfigurationOption.SESSION_MAXIMUM_SIZE.getKey()); - } - - public int getSessionExpirationDelay() { - return applicationConfig.getOptionAsInt(ObserveWebApplicationConfigurationOption.SESSION_EXPIRATION_DELAY.getKey()); - } - - public String getAdminApiKey() { - return applicationConfig.getOption(ObserveWebApplicationConfigurationOption.ADMIN_API_KEY.getKey()); - } - - public URL getApiUrl() { - return applicationConfig.getOptionAsURL(ObserveWebApplicationConfigurationOption.API_URL.getKey()); - } - - public void init(String... args) { if (log.isInfoEnabled()) { @@ -134,7 +77,7 @@ public class ObserveWebApplicationConfiguration { } try { - applicationConfig.parse(args); + getApplicationConfig().parse(args); } catch (ArgumentsParserException e) { throw new ObserveWebApplicationConfigurationInitException("could not parse configuration", e); } @@ -163,7 +106,7 @@ public class ObserveWebApplicationConfiguration { if (log.isInfoEnabled()) { log.info("Dev mode detected, use temporary basedir: " + applicationBaseDirectory); } - applicationConfig.setOption(ObserveWebApplicationConfigurationOption.BASE_DIRECTORY.getKey(), applicationBaseDirectory.getAbsolutePath()); + getApplicationConfig().setOption(ObserveWebApplicationConfigurationOption.BASE_DIRECTORY.getKey(), applicationBaseDirectory.getAbsolutePath()); } if (log.isInfoEnabled()) { @@ -248,9 +191,10 @@ public class ObserveWebApplicationConfiguration { StringBuilder builder = new StringBuilder(); builder.append("\n====================================================================================================================="); builder.append("\n=== Observe Web configuration ======================================================================================="); - builder.append(String.format("\n=== %1$-40s = %2$s", "Filename", applicationConfig.getConfigFileName())); - for (ObserveWebApplicationConfigurationOption option : ObserveWebApplicationConfigurationOption.orderedByNameValues()) { - builder.append(String.format("\n=== %1$-40s = %2$s", option.getKey(), applicationConfig.getOption(option))); + ApplicationConfig delegate = getApplicationConfig(); + builder.append(String.format("\n=== %1$-40s = %2$s", "Filename", delegate.getConfigFileName())); + for (ObserveWebApplicationConfigurationOption option : ObserveWebApplicationConfigurationOption.orderedByKeys()) { + builder.append(String.format("\n=== %1$-40s = %2$s", option.getKey(), delegate.getOption(option))); } builder.append("\n====================================================================================================================="); return builder.toString(); @@ -280,7 +224,7 @@ public class ObserveWebApplicationConfiguration { Properties logConfigurationProperties = new Properties(); logConfigurationProperties.load(inputStream); - finalLogConfigurationProperties = ObserveUtil.loadProperties(logConfigurationProperties, applicationConfig); + finalLogConfigurationProperties = ObserveUtil.loadProperties(logConfigurationProperties, getApplicationConfig()); } catch (Exception e) { throw new ObserveWebApplicationConfigurationInitException("Impossible de charger le fichier de configuration des logs", e); @@ -298,25 +242,25 @@ public class ObserveWebApplicationConfiguration { private static final String DEV_DATABASES_CONFIGURATION_FILE_CONTENT = "databases: \n" + - "- name: production\n" + - " defaultDatabase: true\n" + - " roles: \n" + - " - login: admin\n" + - " password: a\n" + - " - login: referentiel\n" + - " password: a\n" + - " url: jdbc:postgresql://localhost:5432/obstuna"; + "- name: production\n" + + " defaultDatabase: true\n" + + " roles: \n" + + " - login: admin\n" + + " password: a\n" + + " - login: referentiel\n" + + " password: a\n" + + " url: jdbc:postgresql://localhost:5432/obstuna"; private static final String DEV_USERS_CONFIGURATION_FILE_CONTENT = "users: \n" + - "- login: admin\n" + - " password: a\n" + - " permissions: \n" + - " - database: production\n" + - " role: admin\n" + - "- login: referentiel\n" + - " password: a\n" + - " permissions: \n" + - " - database: production\n" + - " role: referentiel"; + "- login: admin\n" + + " password: a\n" + + " permissions: \n" + + " - database: production\n" + + " role: admin\n" + + "- login: referentiel\n" + + " password: a\n" + + " permissions: \n" + + " - database: production\n" + + " role: referentiel"; } diff --git a/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfigurationOption.java b/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfigurationOption.java index dd73691..696600e 100644 --- a/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfigurationOption.java +++ b/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfigurationOption.java @@ -44,24 +44,24 @@ import static org.nuiton.i18n.I18n.n; */ public enum ObserveWebApplicationConfigurationOption implements ConfigOptionDef { - BUILD_VERSION("observeweb.build.version", n("observeweb.build.version.description"), "", Version.class), - BUILD_DATE("observeweb.build.date", n("observeweb.build.date.description"), "", String.class), - BUILD_NUMBER("observeweb.build.number", n("observeweb.build.number.description"), "", String.class), - ADMIN_API_KEY("observeweb.adminApiKey", n("observeweb.adminApiKey.description"), "changeme", String.class), - API_URL("observeweb.apiUrl", n("observeweb.apiUrl.description"), "http://localhost:8080/observeweb/api/v1", URL.class), - - MODEL_VERSION("observeweb.model.version", n("observe.model.version"), null, Version.class), - - DEV_MODE("observeweb.devMode", n("observeweb.devMode.description"), "true", boolean.class), - BASE_DIRECTORY("observeweb.baseDirectory", n("observeweb.baseDirectory.description"), "/var/local/observeweb", File.class), - TEMPORARY_DIRECTORY("observeweb.temporaryDirectory", n("observeweb.temporaryDirectory.description"), "${observeweb.baseDirectory}/temp", File.class), - LOG4J_CONFIGURATION_FILE("observeweb.log4jConfigurationFile", n("observeweb.log4jConfigurationFile.description"), "${observeweb.baseDirectory}/observeweb-log4j.conf", String.class), - DATABASES_CONFIGURATION_FILE("observeweb.databasesConfigurationFile", n("observeweb.databasesConfigurationFile.description"), "${observeweb.baseDirectory}/databases.yml", File.class), - USERS_CONFIGURATION_FILE("observeweb.usersConfigurationFile", n("observeweb.usersConfigurationFile.description"), "${observeweb.baseDirectory}/users.yml", File.class), - SESSION_EXPIRATION_DELAY("observeweb.sessionExpirationDelay", n("observeweb.sessionExpirationDelay.description"), "60" /* en minutes */, int.class), - SESSION_MAXIMUM_SIZE("observeweb.sessionMaximumSize", n("observeweb.sessionMaximumSize.description"), "10000", int.class); - - ObserveWebApplicationConfigurationOption(String key, String description, String defaultValue, Class<?> type) { + BUILD_VERSION(Version.class, "observeweb.build.version", n("observeweb.build.version.description"), ""), + BUILD_DATE(String.class, "observeweb.build.date", n("observeweb.build.date.description"), ""), + BUILD_NUMBER(String.class, "observeweb.build.number", n("observeweb.build.number.description"), ""), + ADMIN_API_KEY(String.class, "observeweb.adminApiKey", n("observeweb.adminApiKey.description"), "changeme"), + API_URL(URL.class, "observeweb.apiUrl", n("observeweb.apiUrl.description"), "http://localhost:8080/observeweb/api/v1"), + + MODEL_VERSION(Version.class, "observeweb.model.version", n("observe.model.version"), null), + + DEV_MODE(boolean.class, "observeweb.devMode", n("observeweb.devMode.description"), "true"), + BASE_DIRECTORY(File.class, "observeweb.baseDirectory", n("observeweb.baseDirectory.description"), "/var/local/observeweb"), + TEMPORARY_DIRECTORY(File.class, "observeweb.temporaryDirectory", n("observeweb.temporaryDirectory.description"), "${observeweb.baseDirectory}/temp"), + LOG4J_CONFIGURATION_FILE(File.class, "observeweb.log4jConfigurationFile", n("observeweb.log4jConfigurationFile.description"), "${observeweb.baseDirectory}/observeweb-log4j.conf"), + DATABASES_CONFIGURATION_FILE(File.class, "observeweb.databasesConfigurationFile", n("observeweb.databasesConfigurationFile.description"), "${observeweb.baseDirectory}/databases.yml"), + USERS_CONFIGURATION_FILE(File.class, "observeweb.usersConfigurationFile", n("observeweb.usersConfigurationFile.description"), "${observeweb.baseDirectory}/users.yml"), + SESSION_EXPIRATION_DELAY(int.class, "observeweb.sessionExpirationDelay", n("observeweb.sessionExpirationDelay.description"), "60" /* en minutes */), + SESSION_MAXIMUM_SIZE(int.class, "observeweb.sessionMaximumSize", n("observeweb.sessionMaximumSize.description"), "10000"); + + ObserveWebApplicationConfigurationOption(Class<?> type, String key, String description, String defaultValue) { this.key = key; this.description = description; this.defaultValue = defaultValue; @@ -121,7 +121,7 @@ public enum ObserveWebApplicationConfigurationOption implements ConfigOptionDef throw new NotImplementedException("Can't invoke setFinal method"); } - public static ImmutableList<ObserveWebApplicationConfigurationOption> orderedByNameValues() { + public static ImmutableList<ObserveWebApplicationConfigurationOption> orderedByKeys() { List<ObserveWebApplicationConfigurationOption> values = Lists.newArrayList(values()); Collections.sort(values, (o1, o2) -> o1.getKey().compareTo(o2.getKey())); diff --git a/pom.xml b/pom.xml index a3c2192..69fc5d1 100644 --- a/pom.xml +++ b/pom.xml @@ -159,7 +159,7 @@ <signatureArtifactId>java18</signatureArtifactId> <signatureVersion>1.0</signatureVersion> - <eugenePluginVersion>3.0-alpha-6</eugenePluginVersion> + <eugenePluginVersion>3.0-SNAPSHOT</eugenePluginVersion> <processorPluginVersion>1.3</processorPluginVersion> <topiaVersion>3.1.3</topiaVersion> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 530987a9eb3574224b48502e5e6a32f78b7c23cb Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Sep 15 21:35:56 2016 +0200 Use new configuration generation (bis) --- .../ObserveSwingApplicationConfig.java | 61 ++++++-------------- ...va => ObserveSwingApplicationConfigAction.java} | 67 +++++++++++----------- .../ObserveSwingApplicationConfigProvider.java | 2 +- ...pplication-swing-configuration_fr_FR.properties | 4 +- .../observe/application/swing/ObserveCLAction.java | 8 +-- .../application/swing/ObserveResourceManager.java | 6 +- .../observe/application/swing/ObserveRunner.java | 7 +-- .../swing/ui/actions/GotoSiteAction.java | 2 +- .../swing/ui/actions/ShowConfigAction.java | 15 ++--- .../ObserveWebApplicationConfiguration.java | 10 ++-- 10 files changed, 80 insertions(+), 102 deletions(-) diff --git a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java index e9c7a41..b017de2 100644 --- a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java +++ b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java @@ -30,7 +30,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.config.ApplicationConfig; import org.nuiton.config.ArgumentsParserException; -import org.nuiton.config.ConfigActionDef; import org.nuiton.version.Version; import org.nuiton.version.Versions; @@ -39,7 +38,6 @@ import java.beans.PropertyChangeSupport; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.LinkedList; @@ -122,7 +120,11 @@ public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicat * * @since 1.5 */ - private String[] unsavables; + private final String[] unsavables = new String[]{ + ObserveSwingApplicationConfigOption.OBSTUNA_PASSWORD.getKey(), + ObserveSwingApplicationConfigOption.H2_PASSWORD.getKey(), + ObserveSwingApplicationConfigOption.OBSTUNA_CAN_MIGRATE.getKey(), + }; protected final PropertyChangeSupport pcs; @@ -144,21 +146,16 @@ public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicat } public ObserveSwingApplicationConfig(String confFileName) { - ApplicationConfig delegate = getApplicationConfig(); + ApplicationConfig delegate = get(); delegate.setEncoding(StandardCharsets.UTF_8.name()); delegate.setConfigFileName(confFileName); pcs = new PropertyChangeSupport(this); } - @Override - public ApplicationConfig getApplicationConfig() { - return super.getApplicationConfig(); - } - public void initConfig(Properties p, String... args) throws IOException, ArgumentsParserException { Version version = null; - ApplicationConfig delegate = getApplicationConfig(); + ApplicationConfig applicationConfig = get(); for (Object k : p.keySet()) { String key = String.valueOf(k); @@ -175,7 +172,7 @@ public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicat } else { - delegate.setDefaultOption(key, strValue); + applicationConfig.setDefaultOption(key, strValue); } } @@ -184,29 +181,21 @@ public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicat } setVersion(version); - delegate.setDefaultOption(VERSION, version.getVersion()); - delegate.setDefaultOption(APPLICATION_VERSION, version.getVersion()); + applicationConfig.setDefaultOption(VERSION, version.getVersion()); + applicationConfig.setDefaultOption(APPLICATION_VERSION, version.getVersion()); - // creation des actions disponibles - for (ConfigActionDef a : ObserveSwingApplicationActionDefinition.values()) { - - for (String alias : a.getAliases()) { - delegate.addActionAlias(alias, a.getAction()); - } - } - - delegate.parse(args); + applicationConfig.parse(args); } @Override public DbMode getDefaultDbMode() { - return DbMode.valueOf(getApplicationConfig().getOption(ObserveSwingApplicationConfigOption.DEFAULT_DB_MODE.key)); + return DbMode.valueOf(get().getOption(ObserveSwingApplicationConfigOption.DEFAULT_DB_MODE.key)); } @Override public CreationMode getDefaultCreationMode() { - return CreationMode.valueOf(getApplicationConfig().getOption(ObserveSwingApplicationConfigOption.DEFAULT_CREATION_MODE.key)); + return CreationMode.valueOf(get().getOption(ObserveSwingApplicationConfigOption.DEFAULT_CREATION_MODE.key)); } public String getCopyrightText() { @@ -300,7 +289,7 @@ public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicat List<File> layers = new LinkedList<>(); for (ObserveSwingApplicationConfigOption layerOption : ObserveSwingApplicationConfigOption.MAP_LAYERS) { - File layerFile = getApplicationConfig().getOptionAsFile(layerOption.key); + File layerFile = get().getOptionAsFile(layerOption.key); if (layerFile != null && layerFile.exists()) { layers.add(layerFile); } @@ -321,23 +310,11 @@ public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicat setTreeOpenNodes(StringUtils.join(ids, ",")); } - private String[] getUnsavables() { - if (unsavables == null) { - List<String> tmp = new ArrayList<>(); - tmp.add(ObserveSwingApplicationConfigOption.OBSTUNA_PASSWORD.getKey()); - tmp.add(ObserveSwingApplicationConfigOption.H2_PASSWORD.getKey()); - tmp.add(ObserveSwingApplicationConfigOption.OBSTUNA_CAN_MIGRATE.getKey()); - - unsavables = tmp.toArray(new String[tmp.size()]); - } - return unsavables; - } - public void saveForUser() { if (log.isInfoEnabled()) { - log.info(t("observe.message.save.configuration", getApplicationConfig().getUserConfigFile())); + log.info(t("observe.message.save.configuration", get().getUserConfigFile())); } - getApplicationConfig().saveForUser(getUnsavables()); + get().saveForUser(unsavables); } public void removeJaxxPropertyChangeListener() { @@ -387,16 +364,16 @@ public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicat } public String replaceRecursiveOptions(String option) { - return getApplicationConfig().replaceRecursiveOptions(option); + return get().replaceRecursiveOptions(option); } public String getConfigurationDescription() { StringBuilder builder = new StringBuilder(); builder.append("\n====================================================================================================================="); builder.append("\n=== Observe Swing configuration ====================================================================================="); - builder.append(String.format("\n=== %1$-40s = %2$s", "Filename", getApplicationConfig().getConfigFileName())); + builder.append(String.format("\n=== %1$-40s = %2$s", "Filename", get().getConfigFileName())); for (ObserveSwingApplicationConfigOption option : ObserveSwingApplicationConfigOption.orderedByKey()) { - builder.append(String.format("\n=== %1$-40s = %2$s", option.getKey(), getApplicationConfig().getOption(option))); + builder.append(String.format("\n=== %1$-40s = %2$s", option.getKey(), get().getOption(option))); } builder.append("\n====================================================================================================================="); return builder.toString(); diff --git a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationActionDefinition.java b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigAction.java similarity index 58% rename from application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationActionDefinition.java rename to application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigAction.java index 9aff2a7..38eb231 100644 --- a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationActionDefinition.java +++ b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigAction.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.swing.configuration; import org.nuiton.config.ConfigActionDef; +import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; /** @@ -32,78 +33,86 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public enum ObserveSwingApplicationActionDefinition implements ConfigActionDef { +public enum ObserveSwingApplicationConfigAction implements ConfigActionDef { /** * Afficher l'aide dans la console. * * @since 1.0 */ - HELP(false, t("observe.action.commandline.help"), - "fr.ird.observe.application.swing.ObserveCLAction#help", "-h", "--help"), + HELP( + n("observe.action.commandline.help"), + "fr.ird.observe.application.swing.ObserveCLAction#help", "-h", "--help"), /** * Afficher l'aide embarqué de l'application (dans une interface * graphique). * * @since 1.0 */ - HELP_UI(false, t("observe.action.commandline.help.ui"), + HELP_UI( + n("observe.action.commandline.help.ui"), "fr.ird.observe.application.swing.ObserveCLAction#helpUI", "--help-ui"), /** * Pour désactiver le lancement de l'application graphique. * * @since 1.0 */ - NO_MAIN_UI(false, t("observe.action.commandline.disable.main.ui"), - "fr.ird.observe.application.swing.ObserveCLAction#disableMainUI", "-n", - "--no-main"), + NO_MAIN_UI( + n("observe.action.commandline.disable.main.ui"), + "fr.ird.observe.application.swing.ObserveCLAction#disableMainUI", "-n", + "--no-main"), /** * Pour lancer l'interface graphique du configuration de l'application. * * @since 1.0 */ - CONFIGURE_UI(false, t("observe.action.commandline.configure.ui"), - "fr.ird.observe.application.swing.ObserveCLAction#configure", - "--configure"), + CONFIGURE_UI( + n("observe.action.commandline.configure.ui"), + "fr.ird.observe.application.swing.ObserveCLAction#configure", + "--configure"), /** * Pour lancer une opération d'administration via un assistant * graphique. * * @since 1.4 */ - ADMIN_UI(true, t("observe.action.commandline.launch.admin.ui"), - "fr.ird.observe.application.swing.ObserveCLAction#launchAdminUI", "-a", - "--admin"), + ADMIN_UI( + n("observe.action.commandline.launch.admin.ui"), + "fr.ird.observe.application.swing.ObserveCLAction#launchAdminUI", "-a", + "--admin"), /** * Pour lancer une opération d'administration via un assistant * graphique. * * @since 1.4 */ - OBSTUNA_ADMIN_UI(true, t("observe.action.commandline.launch.obstuna.admin.ui"), - "fr.ird.observe.application.swing.ObserveCLAction#launchObstunaAdminUI", - "--obstuna-admin"), + OBSTUNA_ADMIN_UI( + n("observe.action.commandline.launch.obstuna.admin.ui"), + "fr.ird.observe.application.swing.ObserveCLAction#launchObstunaAdminUI", + "--obstuna-admin"), /** * Pour lancer la base locale en mode serveur. * * @since 2.1 */ - H2_SERVER_MODE(true, t("observe.action.commandline.launch.h2.server.mode"), - "fr.ird.observe.application.swing.ObserveCLAction#launchH2ServerMode", - "--h2-server"), + H2_SERVER_MODE( + n("observe.action.commandline.launch.h2.server.mode"), + "fr.ird.observe.application.swing.ObserveCLAction#launchH2ServerMode", + "--h2-server"), /** * Pour activer le support JMX pour les source de données. * * @since 1.4 */ - USE_JMX(true, t("observe.action.commandline.use.jmx"), + USE_JMX( + n("observe.action.commandline.use.jmx"), "fr.ird.observe.application.swing.ObserveCLAction#useJMX", "--jmx"), - CREATE_ID(true, - t("observe.action.commandline.create.id"), - "fr.ird.observe.application.swing.ObserveCLAction#createId", - "--create-id"); + CREATE_ID( + n("observe.action.commandline.create.id"), + "fr.ird.observe.application.swing.ObserveCLAction#createId", + "--create-id"); public final String description; @@ -112,17 +121,14 @@ public enum ObserveSwingApplicationActionDefinition implements ConfigActionDef { public final String[] aliases; - public final boolean admin; - - ObserveSwingApplicationActionDefinition(boolean admin, String description, String action, String... aliases) { + ObserveSwingApplicationConfigAction(String description, String action, String... aliases) { this.description = description; this.action = action; this.aliases = aliases; - this.admin = admin; } public String getDescription() { - return description; + return t(description); } public String getAction() { @@ -133,7 +139,4 @@ public enum ObserveSwingApplicationActionDefinition implements ConfigActionDef { return aliases; } - public boolean isAdmin() { - return admin; - } } diff --git a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigProvider.java b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigProvider.java index 9d0dc57..eda57ac 100644 --- a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigProvider.java +++ b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigProvider.java @@ -54,6 +54,6 @@ public class ObserveSwingApplicationConfigProvider implements ApplicationConfigP @Override public ConfigActionDef[] getActions() { - return ObserveSwingApplicationActionDefinition.values(); + return ObserveSwingApplicationConfigAction.values(); } } diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties index 029e34f..3106d75 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties @@ -61,7 +61,7 @@ observe.config.server.password.description=Le mot de passe de l'utilisateur observe.config.server.url.description=L'url du serveur observe.config.showMigrationProgression=Affichier dans les logs la progression de la mise à jour d'une base observe.config.showMigrationSql=Afficher dans les logs les requêtes jouées lors de la mise à jour d'une base -observe.config.showSql=Afficher dans les logs toutes les requêtes sql exéts +observe.config.showSql=Afficher dans les logs toutes les requêtes sql executées observe.config.speciesList.longline.catch=Espèces pour les captures - TDR observe.config.speciesList.longline.encounter=Espèces pour les rencontre observe.config.speciesList.seine.nonTargetCatch=Espèces pour les captures non cible @@ -69,7 +69,7 @@ observe.config.speciesList.seine.objectObservedSpecies=Espèces pour les espèce observe.config.speciesList.seine.objectSchoolEstimate=Espèces pour les estimations banc objet observe.config.speciesList.seine.schoolEstimate=Espèces pour les estimations observe.config.speciesList.seine.targetCatch=Espèces pour les captures cible -observe.config.ui.autoPopupNumberEditor=Pour afficher automatiquement l'éditeur numérique lors de l'édition d'un count +observe.config.ui.autoPopupNumberEditor=Pour afficher automatiquement l'éditeur numérique lors de l'édition d'un nombre observe.config.ui.changeSynchroSrc=Pour autoriser la sélection de la base source dans les opérations sur base observe.config.ui.fullscreen=Pour afficher l'application en mode pleine écran observe.config.ui.loadLocalStorage=Charger la base locale au démarrage de l'application diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveCLAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveCLAction.java index becaf3d..f3d1514 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveCLAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveCLAction.java @@ -21,7 +21,7 @@ */ package fr.ird.observe.application.swing; -import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationActionDefinition; +import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfigAction; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfigOption; import fr.ird.observe.application.swing.ui.ObserveMainUIHandler; @@ -43,7 +43,7 @@ import static org.nuiton.i18n.I18n.t; /** * Les actions appellables via {@link ObserveRunner}. * - * Consulter la classe {@link ObserveSwingApplicationActionDefinition} pour connaitre les actions + * Consulter la classe {@link ObserveSwingApplicationConfigAction} pour connaitre les actions * possibles. * * @author Tony Chemit - chemit@codelutin.com @@ -90,7 +90,7 @@ public class ObserveCLAction { out.append("Actions:"); out.append('\n'); - for (ObserveSwingApplicationActionDefinition a : ObserveSwingApplicationActionDefinition.values()) { + for (ObserveSwingApplicationConfigAction a : ObserveSwingApplicationConfigAction.values()) { out.append("\t"); out.append(Arrays.toString(a.aliases)); out.append("("); @@ -192,7 +192,7 @@ public class ObserveCLAction { ObserveSwingApplicationContext.get().setContextValue( true, - ObserveSwingApplicationActionDefinition.H2_SERVER_MODE.name()); + ObserveSwingApplicationConfigAction.H2_SERVER_MODE.name()); } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveResourceManager.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveResourceManager.java index 9d329fc..1750a7f 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveResourceManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveResourceManager.java @@ -236,7 +236,7 @@ public class ObserveResourceManager { */ protected File createDirectory(ObserveSwingApplicationConfig config, ObserveSwingApplicationConfigOption option) throws IOException { - File dir = config.getApplicationConfig().getOptionAsFile(option.getKey()); + File dir = config.get().getOptionAsFile(option.getKey()); createDirectory(dir); return dir; } @@ -252,7 +252,7 @@ public class ObserveResourceManager { protected void createParentDirectory(ObserveSwingApplicationConfig config, ObserveSwingApplicationConfigOption... options) throws IOException { for (ObserveSwingApplicationConfigOption option : options) { - File dir = config.getApplicationConfig().getOptionAsFile(option.getKey()).getParentFile(); + File dir = config.get().getOptionAsFile(option.getKey()).getParentFile(); createDirectory(dir); } } @@ -306,7 +306,7 @@ public class ObserveResourceManager { public File unzipToDirectory(Resource resource, ObserveSwingApplicationConfig config, ObserveSwingApplicationConfigOption option, String message) throws IOException { - File dir = config.getApplicationConfig().getOptionAsFile(option.getKey()); + File dir = config.get().getOptionAsFile(option.getKey()); createDirectory(dir); InputStream inputStream = openInternalStream(resource.getUrl()); try { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java index 7929f61..04f143f 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveRunner.java @@ -248,7 +248,7 @@ public abstract class ObserveRunner extends ApplicationRunner { log.info("Chargement du fichier de de log4j depuis " + resource); } Properties logConfigurationProperties = resourceManager.load(resource); - Properties finalLogConfigurationProperties = ObserveUtil.loadProperties(logConfigurationProperties, config.getApplicationConfig()); + Properties finalLogConfigurationProperties = ObserveUtil.loadProperties(logConfigurationProperties, config.get()); LogManager.resetConfiguration(); PropertyConfigurator.configure(finalLogConfigurationProperties); @@ -277,7 +277,7 @@ public abstract class ObserveRunner extends ApplicationRunner { ObserveSwingApplicationConfig config = context.getConfig(); - config.getApplicationConfig().doAction(ObserveSwingApplicationConfig.Step.AfterInit.ordinal()); + config.get().doAction(ObserveSwingApplicationConfig.Step.AfterInit.ordinal()); if (!config.isDisplayMainUI()) { if (log.isInfoEnabled()) { @@ -381,9 +381,6 @@ public abstract class ObserveRunner extends ApplicationRunner { // init config config.initConfig(resourceManager.getResource(ObserveResourceManager.Resource.application), args); -// // install save action on option modification -// config.installSaveAction(); - if (log.isInfoEnabled()) { String message = config.getConfigurationDescription(); log.info(message); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/GotoSiteAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/GotoSiteAction.java index d4f733b..97f253a 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/GotoSiteAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/GotoSiteAction.java @@ -65,7 +65,7 @@ public class GotoSiteAction extends AbstractAction { ObserveSwingApplicationConfig config = ui.getConfig(); - URL siteURL = config.getApplicationConfig().getOptionAsURL("application.site.url"); + URL siteURL = config.get().getOptionAsURL("application.site.url"); UIHelper.displayInfo( t("observe.message.goto.site", siteURL)); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java index a8fc9a3..f39dd0d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java @@ -41,6 +41,7 @@ import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.swingx.renderer.DefaultTableRenderer; +import org.nuiton.config.ConfigOptionDef; import org.nuiton.decorator.Decorator; import org.nuiton.decorator.MultiJXPathDecorator; @@ -219,8 +220,6 @@ public class ShowConfigAction extends AbstractAction { helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_URL); helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_LOGIN); helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_USE_SSL_CERT); -// helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_SSL_CERTIFICAT_FILE); - helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_CAN_MIGRATE, ObserveUICallback.db); } @@ -328,7 +327,6 @@ public class ShowConfigAction extends AbstractAction { helper.addOption(ObserveSwingApplicationConfigOption.AUTO_POPUP_NUMBER_EDITOR, ObserveUICallback.ui); helper.addOption(ObserveSwingApplicationConfigOption.SHOW_DATE_TIME_EDITOR_SLIDER, ObserveUICallback.ui); helper.addOption(ObserveSwingApplicationConfigOption.LOAD_LOCAL_STORAGE, ObserveUICallback.application); -// helper.addOption(ObserveSwingApplicationConfigOption.FULL_SCREEN, ObserveUICallback.ui); helper.addOption(ObserveSwingApplicationConfigOption.LOCALE, ObserveUICallback.ui); helper.addOption(ObserveSwingApplicationConfigOption.DB_LOCALE, ObserveUICallback.ui); @@ -354,11 +352,16 @@ public class ShowConfigAction extends AbstractAction { protected ObserveConfigUIBuilder(ObserveSwingApplicationConfig config, SpeciesListTableCellEditor speciesListTableCellEditor, SpeciesListsTableCellRenderer speciesListsTableCellRenderer) { - super(config, config.getApplicationConfig()); + super(config, config.get(), config.get().getUserConfigFile()); this.speciesListTableCellEditor = speciesListTableCellEditor; this.speciesListsTableCellRenderer = speciesListsTableCellRenderer; } + @Override + public ConfigUIModelBuilder addOption(ConfigOptionDef def) throws IllegalStateException, NullPointerException { + return super.addOption(def).setOptionShortLabel(def.getDescription()); + } + public ConfigUIModelBuilder addOption(ObserveSwingApplicationConfigOption option, ObserveUICallback callBack) { addOption(option); @@ -381,11 +384,9 @@ public class ShowConfigAction extends AbstractAction { protected ConfigUIModelBuilder addSpeciesListOption(ObserveSwingApplicationConfigOption option) { - addOption(option).setOptionEditor(speciesListTableCellEditor) + return addOption(option).setOptionEditor(speciesListTableCellEditor) .setOptionRenderer(speciesListsTableCellRenderer); - return modelBuilder; - } } diff --git a/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java b/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java index 9d68915..99bd83f 100644 --- a/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java +++ b/application-web-configuration/src/main/java/fr/ird/observe/application/web/configuration/ObserveWebApplicationConfiguration.java @@ -65,7 +65,7 @@ public class ObserveWebApplicationConfiguration extends GeneratedObserveWebAppli } public ObserveWebApplicationConfiguration(String confFileName) { - ApplicationConfig delegate = getApplicationConfig(); + ApplicationConfig delegate = get(); delegate.setEncoding(StandardCharsets.UTF_8.name()); delegate.setConfigFileName(confFileName); } @@ -77,7 +77,7 @@ public class ObserveWebApplicationConfiguration extends GeneratedObserveWebAppli } try { - getApplicationConfig().parse(args); + get().parse(args); } catch (ArgumentsParserException e) { throw new ObserveWebApplicationConfigurationInitException("could not parse configuration", e); } @@ -106,7 +106,7 @@ public class ObserveWebApplicationConfiguration extends GeneratedObserveWebAppli if (log.isInfoEnabled()) { log.info("Dev mode detected, use temporary basedir: " + applicationBaseDirectory); } - getApplicationConfig().setOption(ObserveWebApplicationConfigurationOption.BASE_DIRECTORY.getKey(), applicationBaseDirectory.getAbsolutePath()); + get().setOption(ObserveWebApplicationConfigurationOption.BASE_DIRECTORY.getKey(), applicationBaseDirectory.getAbsolutePath()); } if (log.isInfoEnabled()) { @@ -191,7 +191,7 @@ public class ObserveWebApplicationConfiguration extends GeneratedObserveWebAppli StringBuilder builder = new StringBuilder(); builder.append("\n====================================================================================================================="); builder.append("\n=== Observe Web configuration ======================================================================================="); - ApplicationConfig delegate = getApplicationConfig(); + ApplicationConfig delegate = get(); builder.append(String.format("\n=== %1$-40s = %2$s", "Filename", delegate.getConfigFileName())); for (ObserveWebApplicationConfigurationOption option : ObserveWebApplicationConfigurationOption.orderedByKeys()) { builder.append(String.format("\n=== %1$-40s = %2$s", option.getKey(), delegate.getOption(option))); @@ -224,7 +224,7 @@ public class ObserveWebApplicationConfiguration extends GeneratedObserveWebAppli Properties logConfigurationProperties = new Properties(); logConfigurationProperties.load(inputStream); - finalLogConfigurationProperties = ObserveUtil.loadProperties(logConfigurationProperties, getApplicationConfig()); + finalLogConfigurationProperties = ObserveUtil.loadProperties(logConfigurationProperties, get()); } catch (Exception e) { throw new ObserveWebApplicationConfigurationInitException("Impossible de charger le fichier de configuration des logs", e); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm