branch develop updated (f7adaac -> ab1701b)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See http://git.codelutin.com/observe.git from f7adaac Add serailVersionUID new d261cf7 Passage en log debug sur la création des configuration topia new ddc5971 Certainnes méthodes doivent être en NoDataAccess sur certainnes méthodes de DataSourceService new 9753ef3 Pas besoin d'être une source ouverte pour récupérer les utilisateurs new c87e500 Ajout d'une méthode split de dto par l'id new 86abb97 Ajout serialVersionUID new 67889a8 Afficher la configuration une fois qu'elle est chargée new 83a574b Voir les logs de ApplicationConfig new f11e99d Utilisation bon binding new 2054947 Remise en place de l'ouverture de la configuration new d4b601b Utilisation de la bonne option de configuration pour récupérer le login enregisré new d4d631e Suppression code mort new 1bbcb07 Faire en sorte de bien récupérer les informations de sécurité (on doit traiter le cas des logins sous la forme "login" qui arrive de pg new bcb1e55 Faire en sorte de récupérer les configurations de connexion depuis la configuration new ab1701b Le status est obligatoire sur les référentiels (j'ai juste fait pour programme, à finir pour les autres types de référentiels) The 14 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 ab1701b7d5d923c3e5fde4685a3f4dc84cf7d921 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 17:25:08 2015 +0100 Le status est obligatoire sur les référentiels (j'ai juste fait pour programme, à finir pour les autres types de référentiels) commit bcb1e5579557c12041f45de45b3e8266b75a6ab5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 17:24:23 2015 +0100 Faire en sorte de récupérer les configurations de connexion depuis la configuration commit 1bbcb073560cc7a280aeb50214cf6ba9470fadd9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 17:15:39 2015 +0100 Faire en sorte de bien récupérer les informations de sécurité (on doit traiter le cas des logins sous la forme "login" qui arrive de pg commit d4d631ec34580b9a74a0445ca9ced7aef686e368 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 14:04:58 2015 +0100 Suppression code mort commit d4b601bfe9abbe01f3eb92e034532cb7087bcf38 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 14:04:26 2015 +0100 Utilisation de la bonne option de configuration pour récupérer le login enregisré commit 2054947a147d018a2f57c44b9d4f401eebb0ad43 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:54:40 2015 +0100 Remise en place de l'ouverture de la configuration commit f11e99d07e4fdc1742724cffacf3a59de3a1c494 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:44:08 2015 +0100 Utilisation bon binding commit 83a574ba644c8b0292fbd5ca978a890ee7d64cb3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:43:41 2015 +0100 Voir les logs de ApplicationConfig commit 67889a87b987055b94f6f71490040461c2c03d98 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:43:09 2015 +0100 Afficher la configuration une fois qu'elle est chargée commit 86abb9739ce261b86deed68fb7ea15d45694e4df Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:41:52 2015 +0100 Ajout serialVersionUID commit c87e5008ce9e5006ef56e49d3aee1c0d5cffac09 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:41:36 2015 +0100 Ajout d'une méthode split de dto par l'id commit 9753ef3f2451abc1f68351aeb1f320cd54291aef Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 12:19:32 2015 +0100 Pas besoin d'être une source ouverte pour récupérer les utilisateurs commit ddc59718029fd88eb6edd71122366dceb130d51e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 12:18:54 2015 +0100 Certainnes méthodes doivent être en NoDataAccess sur certainnes méthodes de DataSourceService commit d261cf784d81993bd302f6f2b5e74609a21ae056 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 12:18:04 2015 +0100 Passage en log debug sur la création des configuration topia Summary of changes: .../main/java/fr/ird/observe/ObserveRunner.java | 5 + .../ObserveSwingApplicationConfig.java | 6 +- .../fr/ird/observe/db/ObserveSwingDataSource.java | 8 +- .../ird/observe/ui/actions/ShowConfigAction.java | 234 ++++++++++----------- .../ird/observe/ui/storage/StorageUIHandler.java | 11 +- .../fr/ird/observe/ui/storage/StorageUIModel.java | 129 +++++++----- .../ui/util/decorator/ReferenceDecorator.java | 2 + .../ProgramDto-n1-create-error-validation.xml | 7 + .../ProgramDto-n1-create-warning-validation.xml | 2 +- .../src/main/resources/log4j.properties | 1 + .../src/main/resources/observe-log4j.properties | 1 + .../controller/v1/DataSourceServiceController.java | 15 +- .../observe-entities-validation_en_GB.properties | 1 + .../observe-entities-validation_fr_FR.properties | 3 +- .../observe/ObserveTopiaConfigurationFactory.java | 8 +- .../services/service/DataSourceService.java | 26 +-- .../java/fr/ird/observe/services/dto/IdDtos.java | 6 + .../fr/ird/observe/services/ObserveJdbcHelper.java | 21 +- .../observe/services/ObserveSecurityHelper.java | 12 +- .../services/service/DataSourceServiceTopia.java | 40 ++-- .../services/service/ReferentialServiceTopia.java | 2 +- 21 files changed, 280 insertions(+), 260 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit d261cf784d81993bd302f6f2b5e74609a21ae056 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 12:18:04 2015 +0100 Passage en log debug sur la création des configuration topia --- .../java/fr/ird/observe/ObserveTopiaConfigurationFactory.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java index 7413d33..06a15c8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java @@ -99,8 +99,8 @@ public class ObserveTopiaConfigurationFactory { showMigrationProgression, false); - if (log.isInfoEnabled()) { - log.info("PG topia configuration: " + topiaConfiguration); + if (log.isDebugEnabled()) { + log.debug("PG topia configuration: " + topiaConfiguration); } return topiaConfiguration; @@ -127,8 +127,8 @@ public class ObserveTopiaConfigurationFactory { showMigrationProgression, true); - if (log.isInfoEnabled()) { - log.info("H2 topia configuration: " + topiaConfiguration); + if (log.isDebugEnabled()) { + log.debug("H2 topia configuration: " + topiaConfiguration); } return topiaConfiguration; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit ddc59718029fd88eb6edd71122366dceb130d51e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 12:18:54 2015 +0100 Certainnes méthodes doivent être en NoDataAccess sur certainnes méthodes de DataSourceService --- .../fr/ird/observe/db/ObserveSwingDataSource.java | 8 ++--- .../controller/v1/DataSourceServiceController.java | 15 +++++---- .../services/service/DataSourceService.java | 26 ++++++---------- .../services/service/DataSourceServiceTopia.java | 36 +++++++++------------- 4 files changed, 35 insertions(+), 50 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index ab73cf8..bb15113 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -178,22 +178,20 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } public Set<ObserveDbUserDto> getUsers() { - Preconditions.checkState(isOpen(), "Connection is not open"); DataSourceService dataSourceService = newService(DataSourceService.class); - Set<ObserveDbUserDto> users = dataSourceService.getUsers(); + Set<ObserveDbUserDto> users = dataSourceService.getUsers(getConfiguration()); return users; } public void applySecurity(Set<ObserveDbUserDto> users) { - Preconditions.checkState(isOpen(), "Connection is not open"); DataSourceService dataSourceService = newService(DataSourceService.class); - dataSourceService.applySecurity(users); + dataSourceService.applySecurity(getConfiguration(), users); } @@ -240,7 +238,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements log.info("Migrate data source " + getLabel() + " in " + dbVersion + " to " + targetVersion); } - dataSourceService.migrateData(); + dataSourceService.migrateData(getConfiguration()); } } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/DataSourceServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/DataSourceServiceController.java index 12af1be..2f8b2ca 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/DataSourceServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/DataSourceServiceController.java @@ -117,13 +117,15 @@ public class DataSourceServiceController extends ObserveServiceControllerSupport } @Override - public Set<ObserveDbUserDto> getUsers() { - return getAuthenticatedService().getUsers(); + public Set<ObserveDbUserDto> getUsers(ObserveDataSourceConfiguration dataSourceConfiguration) { + ObserveDataSourceConfiguration dataSourceConfigurationTopia = getTopiaDataSourceConfiguration(dataSourceConfiguration); + return getAnonymousService(dataSourceConfigurationTopia).getUsers(dataSourceConfiguration); } @Override - public void applySecurity(Set<ObserveDbUserDto> users) { - getAuthenticatedService().applySecurity(users); + public void applySecurity(ObserveDataSourceConfiguration dataSourceConfiguration, Set<ObserveDbUserDto> users) { + ObserveDataSourceConfiguration dataSourceConfigurationTopia = getTopiaDataSourceConfiguration(dataSourceConfiguration); + getAnonymousService(dataSourceConfigurationTopia).applySecurity(dataSourceConfiguration, users); } @@ -133,8 +135,9 @@ public class DataSourceServiceController extends ObserveServiceControllerSupport } @Override - public void migrateData() { - getAuthenticatedService().migrateData(); + public void migrateData(ObserveDataSourceConfiguration dataSourceConfiguration) { + ObserveDataSourceConfiguration dataSourceConfigurationTopia = getTopiaDataSourceConfiguration(dataSourceConfiguration); + getAnonymousService(dataSourceConfigurationTopia).migrateData(dataSourceConfiguration); } @Override diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceService.java index e079f67..5da03c1 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceService.java @@ -38,7 +38,6 @@ import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.ReadReferentialPermission; import fr.ird.observe.services.spi.Write; import fr.ird.observe.services.spi.WriteDataPermission; -import fr.ird.observe.services.spi.WriteReferentialPermission; import java.util.Set; @@ -58,30 +57,23 @@ public interface DataSourceService extends ObserveService { @NoDataAccess ObserveDataSourceConnection open(ObserveDataSourceConfiguration dataSourceConfiguration) throws DatabaseNotFoundException, DatabaseConnexionNotAuthorizedException, BabModelVersionException; - void close(); + @NoDataAccess + Set<ObserveDbUserDto> getUsers(ObserveDataSourceConfiguration dataSourceConfiguration); - void destroy(); + @NoDataAccess + void applySecurity(ObserveDataSourceConfiguration dataSourceConfiguration, Set<ObserveDbUserDto> users); - @ReadReferentialPermission - @WriteReferentialPermission - @ReadDataPermission - @WriteDataPermission - Set<ObserveDbUserDto> getUsers(); + @NoDataAccess + void migrateData(ObserveDataSourceConfiguration dataSourceConfiguration); - @ReadReferentialPermission - @WriteReferentialPermission - @ReadDataPermission - @WriteDataPermission - @Write - void applySecurity(Set<ObserveDbUserDto> users); + void close(); + + void destroy(); @ReadDataPermission @ReadReferentialPermission <D extends IdDto> D getObserveDto(Class<D> dtoType, String id); - @NoDataAccess - void migrateData(); - @WriteDataPermission @Write @PostRequest diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java index d0e9e64..54cf280 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -310,25 +310,22 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS } @Override - public Set<ObserveDbUserDto> getUsers() { + public Set<ObserveDbUserDto> getUsers(ObserveDataSourceConfiguration dataSourceConfiguration) { Set<ObserveDbUserDto> users = Sets.newHashSet(); - ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); - // pas d'user pour les bases autres que postgresql if (dataSourceConfiguration instanceof ObserveDataSourceConfigurationTopiaPG) { - Optional<ObserveTopiaApplicationContext> optionalTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContextIfPresent(dataSourceConfiguration); + ObserveDataSourceConfigurationTopiaPG sourceConfiguration = (ObserveDataSourceConfigurationTopiaPG) dataSourceConfiguration; - if (optionalTopiaApplicationContext.isPresent()) { - ObserveTopiaConfiguration topiaConfiguration = optionalTopiaApplicationContext.get().getConfiguration(); + ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(sourceConfiguration); - ObserveJdbcHelper observeJdbcHelper = new ObserveJdbcHelper(topiaConfiguration); + ObserveTopiaConfiguration topiaConfiguration = topiaApplicationContext.getConfiguration(); - users.addAll(observeJdbcHelper.getUsers()); + ObserveJdbcHelper observeJdbcHelper = new ObserveJdbcHelper(topiaConfiguration); - } + users.addAll(observeJdbcHelper.getUsers()); } @@ -336,23 +333,20 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS } @Override - public void applySecurity(Set<ObserveDbUserDto> users) { - ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); + public void applySecurity(ObserveDataSourceConfiguration dataSourceConfiguration, Set<ObserveDbUserDto> users) { // pas de securité pour les bases autres que postgresql if (dataSourceConfiguration instanceof ObserveDataSourceConfigurationTopiaPG) { - Optional<ObserveTopiaApplicationContext> optionalTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContextIfPresent(dataSourceConfiguration); + ObserveDataSourceConfigurationTopiaPG sourceConfiguration = (ObserveDataSourceConfigurationTopiaPG) dataSourceConfiguration; - if (optionalTopiaApplicationContext.isPresent()) { + ObserveTopiaApplicationContext optionalTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(sourceConfiguration); - ObserveTopiaConfiguration topiaConfiguration = optionalTopiaApplicationContext.get().getConfiguration(); + ObserveTopiaConfiguration topiaConfiguration = optionalTopiaApplicationContext.getConfiguration(); - ObserveSecurityHelper securityHelper = new ObserveSecurityHelper(topiaConfiguration); + ObserveSecurityHelper securityHelper = new ObserveSecurityHelper(topiaConfiguration); - securityHelper.applySecurity(users, dataSourceConfiguration.isShowMigrationSql()); - - } + securityHelper.applySecurity(users, sourceConfiguration.isShowMigrationSql()); } @@ -371,11 +365,9 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS } @Override - public void migrateData() { - - ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); + public void migrateData(ObserveDataSourceConfiguration dataSourceConfiguration) { - ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.createTopiaApplicationContext(dataSourceConfiguration, false); + ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext((ObserveDataSourceConfigurationTopiaSupport) dataSourceConfiguration); topiaApplicationContext.getMigrationService().runSchemaMigration(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 9753ef3f2451abc1f68351aeb1f320cd54291aef Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 12:19:32 2015 +0100 Pas besoin d'être une source ouverte pour récupérer les utilisateurs --- .../src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java index 923eaa3..2aec13c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java @@ -1028,8 +1028,6 @@ public class StorageUIHandler { if (dataSource != null) { try { - dataSource.open(); - Set<ObserveDbUserDto> users = dataSource.getUsers(); if (log.isInfoEnabled()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit c87e5008ce9e5006ef56e49d3aee1c0d5cffac09 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:41:36 2015 +0100 Ajout d'une méthode split de dto par l'id --- .../src/main/java/fr/ird/observe/services/dto/IdDtos.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java index 625bfeb..dda41ca 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java @@ -24,8 +24,10 @@ package fr.ird.observe.services.dto; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; import java.util.Collection; +import java.util.Map; public class IdDtos extends AbstractIdDtos { @@ -91,4 +93,8 @@ public class IdDtos extends AbstractIdDtos { }; } + public static <BeanType extends IdDto> Map<String, BeanType> splitById(Collection<BeanType> dtos) { + return Maps.uniqueIndex(dtos, ID_FUNCTION); + } + } //IdDtos -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 86abb9739ce261b86deed68fb7ea15d45694e4df Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:41:52 2015 +0100 Ajout serialVersionUID --- .../main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java index 84443a8..547d832 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java @@ -11,6 +11,8 @@ import static org.nuiton.i18n.I18n.t; */ public class ReferenceDecorator extends ObserveDecorator<ReferenceDto> implements Cloneable { + private static final long serialVersionUID = 1L; + public ReferenceDecorator(String expression) { super(ReferenceDto.class, expression); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 67889a87b987055b94f6f71490040461c2c03d98 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:43:09 2015 +0100 Afficher la configuration une fois qu'elle est chargée --- .../src/main/java/fr/ird/observe/ObserveRunner.java | 5 +++++ .../fr/ird/observe/configuration/ObserveSwingApplicationConfig.java | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java index 15517db..e0664ab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java @@ -433,6 +433,11 @@ public abstract class ObserveRunner extends ApplicationRunner { // install save action on option modification config.installSaveAction(); + if (log.isInfoEnabled()) { + String message = config.getConfigurationDescription(); + log.info(message); + } + return config; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java index 43b5f3a..a741cb7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java @@ -339,10 +339,6 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { } } - if (log.isInfoEnabled()) { - String message = getConfigurationDescription(); - log.info(message); - } } @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 83a574ba644c8b0292fbd5ca978a890ee7d64cb3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:43:41 2015 +0100 Voir les logs de ApplicationConfig --- observe-application-swing/src/main/resources/log4j.properties | 1 + observe-application-swing/src/main/resources/observe-log4j.properties | 1 + 2 files changed, 2 insertions(+) diff --git a/observe-application-swing/src/main/resources/log4j.properties b/observe-application-swing/src/main/resources/log4j.properties index d8bf027..756b870 100644 --- a/observe-application-swing/src/main/resources/log4j.properties +++ b/observe-application-swing/src/main/resources/log4j.properties @@ -47,6 +47,7 @@ log4j.logger.fr.ird.observe.validation.field=WARN log4j.logger.fr.ird.observe.ui.tree=INFO log4j.logger.fr.ird.observe.decorator.ObserveDecorator=ERROR +log4j.logger.org.nuiton.config=INFO log4j.logger.org.nuiton.topia.migration=INFO #log4j.logger.org.nuiton.topia.replication=INFO diff --git a/observe-application-swing/src/main/resources/observe-log4j.properties b/observe-application-swing/src/main/resources/observe-log4j.properties index d763f42..027fd89 100644 --- a/observe-application-swing/src/main/resources/observe-log4j.properties +++ b/observe-application-swing/src/main/resources/observe-log4j.properties @@ -48,6 +48,7 @@ log4j.logger.fr.ird.observe.ui.tree=INFO log4j.logger.fr.ird.observe.decorator.ObserveDecorator=ERROR log4j.logger.org.nuiton.topia.migration=INFO +log4j.logger.org.nuiton.config=INFO #log4j.logger.org.nuiton.topia.replication=INFO log4j.logger.jaxx.runtime.validator.swing.SwingValidator=ERROR -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit f11e99d07e4fdc1742724cffacf3a59de3a1c494 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:44:08 2015 +0100 Utilisation bon binding --- .../java/fr/ird/observe/services/service/ReferentialServiceTopia.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 4706629..d9c0ad7 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -206,7 +206,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe dto.setCreateDate(entity.getTopiaCreateDate()); dto.setLastUpdate(entity.getLastUpdate()); dto.setStatus(ReferenceStatus.valueOf(entity.getStatus().name())); - dto.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == entity.getStatus()); + dto.setEnabled(entity.isEnabled()); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 2054947a147d018a2f57c44b9d4f401eebb0ad43 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 13:54:40 2015 +0100 Remise en place de l'ouverture de la configuration --- .../ird/observe/ui/actions/ShowConfigAction.java | 234 ++++++++++----------- 1 file changed, 111 insertions(+), 123 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java index 3f26531..89010d2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java @@ -22,16 +22,23 @@ package fr.ird.observe.ui.actions; * #L% */ +import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.configuration.ObserveSwingApplicationConfigOption; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.IdDtos; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.ObserveMainUI; +import fr.ird.observe.ui.ObserveMainUIHandler; import fr.ird.observe.ui.ObserveUICallback; 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; @@ -39,14 +46,18 @@ 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.JXPathDecorator; - -import javax.swing.*; -import java.awt.*; +import org.nuiton.decorator.MultiJXPathDecorator; + +import javax.swing.AbstractAction; +import javax.swing.DefaultCellEditor; +import javax.swing.Icon; +import javax.swing.JComboBox; +import javax.swing.JTable; +import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.MouseEvent; +import java.util.Collection; import java.util.EventObject; -import java.util.List; import java.util.Map; import static org.nuiton.i18n.I18n.n; @@ -103,90 +114,80 @@ public class ShowConfigAction extends AbstractAction { } protected ObserveConfigUIBuilder buildUI(ObserveSwingApplicationConfig config, ObserveSwingDataSource dataSource) { - //FIXME - -// SpeciesListTableCellEditor editor; -// SpeciesListsTableCellRenderer renderer; - -// if (dataSource == null) { -// -// editor = null; -// renderer = null; -// -// } else { -// -// DataService dataService = ObserveContext.get().getDataService(); -// -// Decorator<SpeciesList> speciesListDecorator = dataService.getDecoratorService().getDecoratorByType(SpeciesList.class); -// -// // load species lists -// List<SpeciesList> speciesLists = dataService.loadDecoratedEntities(dataSource, SpeciesList.class); -// -// Map<String, SpeciesList> speciesListMap = Entities.toIdMap(speciesLists); -// -// -// editor = new SpeciesListTableCellEditor(speciesLists, speciesListMap, speciesListDecorator); -// -// -// renderer = new SpeciesListsTableCellRenderer(speciesListMap, speciesListDecorator); -// -// } -// -// ObserveConfigUIBuilder helper = new ObserveConfigUIBuilder(config, editor, renderer); -// -// for (ObserveUICallback callback : ObserveUICallback.values()) { -// helper.registerCallBack(callback); -// } -// -// helper.setFinalizer(new MainCallBackFinalizer(ObserveUICallback.application.name())); -// -// helper.setCloseAction(new Runnable() { -// @Override -// public void run() { -// ObserveMainUIHandler.restartEdit(); -// } -// }); -// -// // categorie repertoires -// addDirectoriesOptions(helper); -// -// // categorie h2 -// addH2Options(helper); -// -// // categorie obtuna -// addObstunaOptions(helper); -// -// // categorie change storage -// addChangeStorageOptions(helper); -// -// // categorie gps -// addGpsOptions(helper); -// -// // categorie synchro -// addSynchroOptions(helper); -// -// // categorie observations (seine) -// addObservationsOptions(helper); -// -// if (dataSource != null) { -// -// // categorie speciesList (seine) -// addSeineSpeciesListOptions(helper); -// -// // categorie speciesList (longline) -// addLonglineSpeciesListOptions(helper); -// -// } -// -// // catégories map -// addMapOptions(helper); -// -// // others -// addOthersOptions(helper); -// -// return helper; - - return null; + + SpeciesListTableCellEditor editor = null; + SpeciesListsTableCellRenderer renderer = null; + + if (dataSource != null) { + + ReferentialService service = dataSource.newService(ReferentialService.class); + ReferenceSetDto<SpeciesListDto> referentialReferenceSet = service.getReferentialReferenceSet(SpeciesListDto.class); + Collection<ReferenceDto> speciesLists = referentialReferenceSet.getReference(); + Map<String, ReferenceDto> speciesListMap = IdDtos.splitById(speciesLists); + + Decorator referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(SpeciesListDto.class); + + editor = new SpeciesListTableCellEditor(speciesLists, speciesListMap, referenceDecorator); + renderer = new SpeciesListsTableCellRenderer(speciesListMap, referenceDecorator); + + } + + ObserveConfigUIBuilder helper = new ObserveConfigUIBuilder(config, editor, renderer); + + + for (ObserveUICallback callback : ObserveUICallback.values()) { + helper.registerCallBack(callback); + } + + helper.setFinalizer(new MainCallBackFinalizer(ObserveUICallback.application.name())); + + helper.setCloseAction(new Runnable() { + + @Override + public void run() { + ObserveMainUIHandler.restartEdit(); + } + }); + + // categorie repertoires + addDirectoriesOptions(helper); + + // categorie h2 + addH2Options(helper); + + // categorie obtuna + addObstunaOptions(helper); + + // categorie change storage + addChangeStorageOptions(helper); + + // categorie gps + addGpsOptions(helper); + + // categorie synchro + addSynchroOptions(helper); + + // categorie observations (seine) + addObservationsOptions(helper); + + if (dataSource != null) { + + // categorie speciesList (seine) + addSeineSpeciesListOptions(helper); + + // categorie speciesList (longline) + addLonglineSpeciesListOptions(helper); + + } + + // catégories map + addMapOptions(helper); + + // others + addOthersOptions(helper); + + return helper; + } protected void addDirectoriesOptions(ObserveConfigUIBuilder helper) { @@ -208,7 +209,7 @@ public class ShowConfigAction extends AbstractAction { protected void addH2Options(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.h2"), - n("observe.config.category.h2.description")); + n("observe.config.category.h2.description")); helper.addOption(ObserveSwingApplicationConfigOption.H2_LOGIN); helper.addOption(ObserveSwingApplicationConfigOption.H2_PASSWORD); @@ -220,7 +221,7 @@ public class ShowConfigAction extends AbstractAction { protected void addObstunaOptions(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.obstuna"), - n("observe.config.category.obstuna.description")); + n("observe.config.category.obstuna.description")); helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_URL); helper.addOption(ObserveSwingApplicationConfigOption.OBSTUNA_LOGIN); @@ -249,7 +250,7 @@ public class ShowConfigAction extends AbstractAction { protected void addGpsOptions(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.gps"), - n("observe.config.category.gps.description")); + n("observe.config.category.gps.description")); helper.addOption(ObserveSwingApplicationConfigOption.DEFAULT_GPS_MAX_DELAY); helper.addOption(ObserveSwingApplicationConfigOption.DEFAULT_GPS_MAX_SPEED); @@ -259,7 +260,7 @@ public class ShowConfigAction extends AbstractAction { protected void addSynchroOptions(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.synchro"), - n("observe.config.category.synchro.description")); + n("observe.config.category.synchro.description")); helper.addOption(ObserveSwingApplicationConfigOption.CHANGE_SYNCHRO_SRC); helper.addOption(ObserveSwingApplicationConfigOption.H2_CAN_MIGRATE); @@ -348,10 +349,6 @@ public class ShowConfigAction extends AbstractAction { private final SpeciesListsTableCellRenderer speciesListsTableCellRenderer; - SpeciesListTableCellEditor editor; - - SpeciesListsTableCellRenderer renderer; - protected ObserveConfigUIBuilder(ObserveSwingApplicationConfig config, SpeciesListTableCellEditor speciesListTableCellEditor, SpeciesListsTableCellRenderer speciesListsTableCellRenderer) { @@ -414,11 +411,11 @@ public class ShowConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; - private final Map<String, SpeciesListDto> entityMap; + private final Map<String, ReferenceDto> entityMap; - private final Decorator<SpeciesListDto> decorator; + private final Decorator decorator; - public SpeciesListsTableCellRenderer(Map<String, SpeciesListDto> entityMap, Decorator<SpeciesListDto> decorator) { + public SpeciesListsTableCellRenderer(Map<String, ReferenceDto> entityMap, Decorator decorator) { this.entityMap = entityMap; this.decorator = decorator; } @@ -429,7 +426,7 @@ public class ShowConfigAction extends AbstractAction { int row, int column) { String speciesListId = String.valueOf(value); - SpeciesListDto speciesList = entityMap.get(speciesListId); + ReferenceDto speciesList = entityMap.get(speciesListId); return super.getTableCellRendererComponent(table, decorator.toString(speciesList), isSelected, hasFocus, row, column); } @@ -439,27 +436,29 @@ public class ShowConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; - private final Map<String, SpeciesListDto> entityMap; + private final Map<String, ReferenceDto> entityMap; - private final Decorator<SpeciesListDto> decorator; + private final Decorator decorator; - protected SpeciesListTableCellEditor(List<SpeciesListDto> entities, - Map<String, SpeciesListDto> entityMap, - Decorator<SpeciesListDto> decorator) { + protected SpeciesListTableCellEditor(Collection<ReferenceDto> entities, + Map<String, ReferenceDto> entityMap, + Decorator decorator) { super(new JComboBox()); this.entityMap = entityMap; this.decorator = decorator; - final BeanFilterableComboBox<SpeciesListDto> component = new BeanFilterableComboBox<SpeciesListDto>(); + final BeanFilterableComboBox<ReferenceDto> component = new BeanFilterableComboBox<>(); component.setI18nPrefix("observe.common."); component.setShowReset(true); - component.setBeanType(SpeciesListDto.class); + component.setBeanType(ReferenceDto.class); + setClickCountToStart(1); editorComponent = component; delegate = new DefaultCellEditor.EditorDelegate() { + private static final long serialVersionUID = 1L; @Override @@ -475,11 +474,9 @@ public class ShowConfigAction extends AbstractAction { public Object getCellEditorValue() { String result = null; Object selectedItem = component.getSelectedItem(); - if (SpeciesListDto.class.isInstance(selectedItem)) { - SpeciesListDto speciesList = (SpeciesListDto) component.getSelectedItem(); - if (speciesList != null) { - result = speciesList.getId(); - } + if (selectedItem !=null && ReferenceDto.class.isInstance(selectedItem)) { + ReferenceDto reference = (ReferenceDto) selectedItem; + result = reference.getId(); } return result; } @@ -504,17 +501,8 @@ public class ShowConfigAction extends AbstractAction { } }; - component.init((JXPathDecorator<SpeciesListDto>) this.decorator, entities); + component.init((MultiJXPathDecorator) this.decorator, Lists.newArrayList(entities)); } - class SpeciesListListCellRenderer extends DefaultListCellRenderer { - - private static final long serialVersionUID = 1L; - - @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - return super.getListCellRendererComponent(list, decorator.toString(value), index, isSelected, cellHasFocus); - } - } } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit d4b601bfe9abbe01f3eb92e034532cb7087bcf38 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 14:04:26 2015 +0100 Utilisation de la bonne option de configuration pour récupérer le login enregisré --- .../fr/ird/observe/configuration/ObserveSwingApplicationConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java index a741cb7..1b02a82 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java @@ -1032,7 +1032,7 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { ObserveDataSourceConfigurationTopiaPG result = configurationMainFactory.createObserveDataSourceConfigurationTopiaPG( label, getObstunaUrl(), - getUsername(), + getObstunaLogin(), getObstunaPassword(), isObstunaUseSsl(), isShowMigrationProgression(), -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit d4d631ec34580b9a74a0445ca9ced7aef686e368 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 14:04:58 2015 +0100 Suppression code mort --- .../fr/ird/observe/ui/storage/StorageUIModel.java | 42 +++++++++++----------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java index 424329a..c59a877 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java @@ -1387,27 +1387,27 @@ public class StorageUIModel extends WizardModel<StorageStep> { return restConfig; } - public String getDataSourceConfigDetail() { - String result = null; - if (isEditRemoteConfig()) { - String yes = t("observe.boolean.yes"); - String no = t("observe.boolean.no"); - result = t("observe.storage.detail.remote", - pgConfig.getJdbcUrl(), - pgConfig.getUsername(), - "***", - (pgConfig.isUseSsl() ? yes : no)); - } else if (isEditServerConfig()) { - result = t("observe.storage.detail.server", - restConfig.getServerUrl(), - restConfig.getLogin(), - "***", - restConfig.getOptionalDatabaseName().orNull()); - } else { - result = t("observe.storage.detail.local", h2Config.getDbName()); - } - return result; - } +// public String getDataSourceConfigDetail() { +// String result = null; +// if (isEditRemoteConfig()) { +// String yes = t("observe.boolean.yes"); +// String no = t("observe.boolean.no"); +// result = t("observe.storage.detail.remote", +// pgConfig.getJdbcUrl(), +// pgConfig.getUsername(), +// "***", +// (pgConfig.isUseSsl() ? yes : no)); +// } else if (isEditServerConfig()) { +// result = t("observe.storage.detail.server", +// restConfig.getServerUrl(), +// restConfig.getLogin(), +// "***", +// restConfig.getOptionalDatabaseName().orNull()); +// } else { +// result = t("observe.storage.detail.local", h2Config.getDbName()); +// } +// return result; +// } public void setRemoteLogin(String remoteLogin) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 1bbcb073560cc7a280aeb50214cf6ba9470fadd9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 17:15:39 2015 +0100 Faire en sorte de bien récupérer les informations de sécurité (on doit traiter le cas des logins sous la forme "login" qui arrive de pg --- .../fr/ird/observe/services/ObserveJdbcHelper.java | 21 ++++++++++++--------- .../ird/observe/services/ObserveSecurityHelper.java | 12 +++++++++--- .../services/service/DataSourceServiceTopia.java | 4 ++-- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveJdbcHelper.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveJdbcHelper.java index a2d85c6..46a61c0 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveJdbcHelper.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveJdbcHelper.java @@ -39,19 +39,24 @@ public class ObserveJdbcHelper extends JdbcHelper { super(jdbcConfiguration); } - public Set<String> getTablePrivileges(String tableName) { + public Set<String> getTablePrivileges(String schema, String tableName) { Connection connection = null; PreparedStatement preparedStatement = null; try { connection = openConnection(); DatabaseMetaData metaData = connection.getMetaData(); - ResultSet observerDataPrivilege = metaData.getTablePrivileges(null, null, tableName); + ResultSet observerDataPrivilege = metaData.getTablePrivileges(null, schema, tableName); Set<String> tablePrivileges = Sets.newHashSet(); while (observerDataPrivilege.next()) { String security = observerDataPrivilege.getString("PRIVILEGE"); String grantee = observerDataPrivilege.getString("GRANTEE"); + // Il se peut que le login soit echappe sous la forme \"login\" + grantee = grantee.replaceAll("\\\\\"", ""); + if (log.isInfoEnabled()) { + log.info(String.format("(security %s) - grantee (%s)", security, grantee)); + } if (grantee.equals(jdbcConfiguration.getJdbcConnectionUser())) { if (log.isDebugEnabled()) { log.debug("for " + tableName + " table " + grantee + '/' + security); @@ -145,9 +150,9 @@ public class ObserveJdbcHelper extends JdbcHelper { connection = openConnection(); DatabaseMetaData data = connection.getMetaData(); tables = data.getTables(null, - null, - null, - new String[]{"TABLE"} + null, + null, + new String[]{"TABLE"} ); int columnCount = tables.getMetaData().getColumnCount(); @@ -203,8 +208,8 @@ public class ObserveJdbcHelper extends JdbcHelper { PreparedStatement preparedStatement = null; String sql = String.format("SELECT ns.nspname::text || '.' || p.proname::text || '(' || oidvectortypes(p.proargtypes)::text || ')'" + - " FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)" + - " WHERE ns.nspname = 'public' AND p.proname ILIKE '%s%%';", functionPattern); + " FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid)" + + " WHERE ns.nspname = 'public' AND p.proname ILIKE '%s%%';", functionPattern); try { connection = openConnection(); preparedStatement = connection.prepareStatement(sql); @@ -245,6 +250,4 @@ public class ObserveJdbcHelper extends JdbcHelper { } - - } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveSecurityHelper.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveSecurityHelper.java index b74d8a2..be0f518 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveSecurityHelper.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveSecurityHelper.java @@ -67,10 +67,16 @@ public class ObserveSecurityHelper { protected static final String SCHEMA_PUBLIC = "public"; + public static final String OBSERVE_COMMON_SCHEMA_NAME = "OBSERVE_COMMON"; + + public static final String OBSERVE_SEINE_SCHEMA_NAME = "OBSERVE_SEINE"; + + public static final String OBSERVE_LONGLINE_SCHEMA_NAME = "OBSERVE_LONGLINE"; + protected static final Set<String> SCHEMAS = Sets.newHashSet(SCHEMA_PUBLIC, - "OBSERVE_COMMON", - "OBSERVE_SEINE", - "OBSERVE_LONGLINE"); + OBSERVE_COMMON_SCHEMA_NAME, + OBSERVE_SEINE_SCHEMA_NAME, + OBSERVE_LONGLINE_SCHEMA_NAME); public static final Function<String, String> ESCAPE_STRING = new Function<String, String>() { @Override diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java index 54cf280..dbdc4d5 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -458,14 +458,14 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS // stockées dans pg canWriteData, canWrite pour etre sur du resultat // recherche des droits sur les données observers - Set<String> dataPrivileges = observeJdbcHelper.getTablePrivileges("trip"); + Set<String> dataPrivileges = observeJdbcHelper.getTablePrivileges(ObserveSecurityHelper.OBSERVE_SEINE_SCHEMA_NAME, "trip"); readData = canRead(dataPrivileges); writeData = canWrite(dataPrivileges); // recherche des droits sur le referentiel - Set<String> referentielPrivileges = observeJdbcHelper.getTablePrivileges("vessel"); + Set<String> referentielPrivileges = observeJdbcHelper.getTablePrivileges(ObserveSecurityHelper.OBSERVE_COMMON_SCHEMA_NAME, "vessel"); // Sur une base PG, on regarde en base ce que l'utilisateur peut lire/écrire readReferential = true; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit bcb1e5579557c12041f45de45b3e8266b75a6ab5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 17:24:23 2015 +0100 Faire en sorte de récupérer les configurations de connexion depuis la configuration --- .../ird/observe/ui/storage/StorageUIHandler.java | 9 +- .../fr/ird/observe/ui/storage/StorageUIModel.java | 129 ++++++++++++--------- 2 files changed, 79 insertions(+), 59 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java index 2aec13c..6170020 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java @@ -239,8 +239,13 @@ public class StorageUIHandler { if (StorageStep.CONFIG == newStep) { - // on redemande un test de connexion a chaque fois - model.setConnexionStatus(ConnexionStatus.UNTESTED); + model.updateEditConfigValues(); + + if (mustRecompute) { + + // on redemande un test de connexion a chaque fois qu'on rentre dans l'onglet + model.setConnexionStatus(ConnexionStatus.UNTESTED); + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java index c59a877..0add006 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java @@ -22,6 +22,7 @@ package fr.ird.observe.ui.storage; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constantes.ConnexionStatus; @@ -34,6 +35,8 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopia import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; +import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.ObserveDbUserDto; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceDumpProducerService; @@ -686,6 +689,11 @@ public class StorageUIModel extends WizardModel<StorageStep> { firePropertyChange(REMOTE_URL_ROPERTY_NAME, getRemoteUrl()); firePropertyChange(REMOTE_LOGIN_ROPERTY_NAME, getRemoteLogin()); firePropertyChange(REMOTE_PASSWORD_PROPERTY_NAME, getRemotePassword()); + firePropertyChange(SERVER_DATABASE_PROPERTY_NAME, getServerDatabase()); + + firePropertyChange(EDIT_REMOTE_CONFIG_PROPERTY_NAME, isEditRemoteConfig()); + firePropertyChange(EDIT_SERVER_CONFIG_PROPERTY_NAME, isEditServerConfig()); + firePropertyChange(USE_SSL_PROPERTY_NAME, null, isUseSsl()); firePropertyChange(CAN_MIGRATE_PROPERTY_NAME, isCanMigrate()); firePropertyChange(SHOW_MIGRATION_SQL_PROPERTY_NAME, isShowMigrationSql()); @@ -1172,17 +1180,35 @@ public class StorageUIModel extends WizardModel<StorageStep> { protected void updateEditConfig() { boolean oldValueRemote = isEditRemoteConfig(); + boolean oldValueServer = isEditServerConfig(); + editRemoteConfig = DbMode.USE_REMOTE.equals(dbMode) || - DbMode.CREATE_LOCAL.equals(dbMode) && CreationMode.IMPORT_REMOTE_STORAGE.equals(creationMode); + DbMode.CREATE_LOCAL.equals(dbMode) && CreationMode.IMPORT_REMOTE_STORAGE.equals(creationMode); firePropertyChange(EDIT_REMOTE_CONFIG_PROPERTY_NAME, oldValueRemote, editRemoteConfig); - boolean oldValueServer = isEditServerConfig(); editServerConfig = DbMode.USE_SERVER.equals(dbMode) || - DbMode.CREATE_LOCAL.equals(dbMode) && CreationMode.IMPORT_SERVER_STORAGE.equals(creationMode); + DbMode.CREATE_LOCAL.equals(dbMode) && CreationMode.IMPORT_SERVER_STORAGE.equals(creationMode); firePropertyChange(EDIT_SERVER_CONFIG_PROPERTY_NAME, oldValueServer, editServerConfig); - } + public void updateEditConfigValues() { + + if (isEditRemoteConfig()) { + // bind from pg config model + setRemoteLogin(pgConfig.getUsername()); + setRemoteUrl(pgConfig.getJdbcUrl()); + setRemotePassword(pgConfig.getPassword()); + } + + if (isEditServerConfig()) { + // bind from rest config model + setRemoteLogin(restConfig.getLogin()); + setRemoteUrl(restConfig.getServerUrl() == null ? "" : restConfig.getServerUrl().toString()); + setRemotePassword(restConfig.getPassword()); + setServerDatabase(restConfig.getOptionalDatabaseName().orNull()); + } + + } public void setLocalStorageExist(boolean localStorageExist) { boolean oldValue = this.localStorageExist; @@ -1387,29 +1413,6 @@ public class StorageUIModel extends WizardModel<StorageStep> { return restConfig; } -// public String getDataSourceConfigDetail() { -// String result = null; -// if (isEditRemoteConfig()) { -// String yes = t("observe.boolean.yes"); -// String no = t("observe.boolean.no"); -// result = t("observe.storage.detail.remote", -// pgConfig.getJdbcUrl(), -// pgConfig.getUsername(), -// "***", -// (pgConfig.isUseSsl() ? yes : no)); -// } else if (isEditServerConfig()) { -// result = t("observe.storage.detail.server", -// restConfig.getServerUrl(), -// restConfig.getLogin(), -// "***", -// restConfig.getOptionalDatabaseName().orNull()); -// } else { -// result = t("observe.storage.detail.local", h2Config.getDbName()); -// } -// return result; -// } - - public void setRemoteLogin(String remoteLogin) { String oldValue = getRemoteLogin(); @@ -1424,7 +1427,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { } - firePgConfigChanged(REMOTE_LOGIN_ROPERTY_NAME, oldValue, remoteLogin); + firePgConfigChanged(REMOTE_LOGIN_ROPERTY_NAME, null, remoteLogin); } public void setRemotePassword(char[] remotePassword) { @@ -1439,8 +1442,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { restConfig.setPassword(remotePassword); } - firePgConfigChanged(REMOTE_PASSWORD_PROPERTY_NAME, oldValue, - remotePassword); + firePgConfigChanged(REMOTE_PASSWORD_PROPERTY_NAME, null, remotePassword); } public void setCanUseLocalService(boolean canUseLocalService) { @@ -1466,8 +1468,6 @@ public class StorageUIModel extends WizardModel<StorageStep> { } public void setRemoteUrl(String remoteUrl) { - String oldValue = getRemoteUrl(); - if (isEditRemoteConfig()) { pgConfig.setJdbcUrl(remoteUrl); @@ -1477,23 +1477,21 @@ public class StorageUIModel extends WizardModel<StorageStep> { serverUrl = remoteUrl; } - firePgConfigChanged(REMOTE_URL_ROPERTY_NAME, oldValue, remoteUrl); + firePgConfigChanged(REMOTE_URL_ROPERTY_NAME, null, remoteUrl); } public void setUseSsl(boolean useSsl) { - boolean oldValue = pgConfig.isUseSsl(); pgConfig.setUseSsl(useSsl); - firePgConfigChanged(USE_SSL_PROPERTY_NAME, oldValue, useSsl); + firePgConfigChanged(USE_SSL_PROPERTY_NAME, null, useSsl); } public void setServerDatabase(String database) { - String oldValue = getServerDatabase(); if (StringUtils.isBlank(database)) { restConfig.setOptionalDatabaseName(null); } else { restConfig.setOptionalDatabaseName(database); } - firePgConfigChanged(SERVER_DATABASE_PROPERTY_NAME, oldValue, restConfig.getOptionalDatabaseName()); + firePgConfigChanged(SERVER_DATABASE_PROPERTY_NAME, null, database); } // ---------------------------------------------------------- @@ -1553,13 +1551,14 @@ public class StorageUIModel extends WizardModel<StorageStep> { } if (configSrc != null) { - ObserveSwingDataSource source = new ObserveSwingDataSource(configSrc); - source.open(); - DataSourceDumpProducerService dumpService = source.newService(DataSourceDumpProducerService.class); - byte[] dump = dumpService.getReferentialDump(); - result.setImportDatabase(dump); + try (ObserveSwingDataSource source = new ObserveSwingDataSource(configSrc)) { + + source.open(); - source.close(); + DataSourceDumpProducerService dumpService = source.newService(DataSourceDumpProducerService.class); + byte[] dump = dumpService.getReferentialDump(); + result.setImportDatabase(dump); + } } @@ -1632,13 +1631,21 @@ public class StorageUIModel extends WizardModel<StorageStep> { dst.fromStorageConfig(h2Config); dst.fromStorageConfig(pgConfig); dst.fromStorageConfig(restConfig); - dst.setServerUrl(getServerUrl()); dst.setDbMode(getDbMode()); dst.setSelectDataModel(getSelectDataModel()); dst.setSecurityModel(getSecurityModel()); dst.setAdminAction(getAdminAction()); dst.setConnexionStatus(getConnexionStatus()); dst.setDataSourceInformation(getDataSourceInformation()); + + dst.updateEditConfig(); + + dst.setUseSsl(isUseSsl()); + dst.setRemoteUrl(getRemoteUrl()); + dst.setRemoteLogin(getRemoteLogin()); + dst.setRemotePassword(getRemotePassword()); + dst.setServerDatabase(getServerDatabase()); + } public void firePgConfigChanged(String propertyName, @@ -1862,8 +1869,6 @@ public class StorageUIModel extends WizardModel<StorageStep> { ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); - importDataSource = context.createDataSourceH2Temp(dbLabel); - DataSourceCreateConfigurationDto createConfigurationDto = new DataSourceCreateConfigurationDto(); try (FileInputStream inputStream = new FileInputStream(dumpFile)) { @@ -1872,9 +1877,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { createConfigurationDto.setImportDatabase(bytes); - importDataSource.create(createConfigurationDto); - importDataSource.close(); } catch (Exception e) { @@ -1882,25 +1885,37 @@ public class StorageUIModel extends WizardModel<StorageStep> { } + try (ObserveSwingDataSource importDataSource2 = context.createDataSourceH2Temp(dbLabel)) { + + importDataSource = importDataSource2; + + try { + importDataSource2.create(createConfigurationDto); + } catch (IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) { + throw new ObserveSwingTechnicalException("Could not create import data source", e); + } + + } + break; - case IMPORT_REMOTE_STORAGE: + case IMPORT_REMOTE_STORAGE: { // import referentiel from a remote db - ObserveDataSourceConfigurationTopiaPG pgConfig = getCentralSourceModel().toPGStorageConfig(dbLabel); + ObserveDataSourceConfigurationTopiaPG dataSourceConfig = getCentralSourceModel().toPGStorageConfig(dbLabel); - pgConfig.setCanMigrate(false); - - importDataSource = new ObserveSwingDataSource(pgConfig); + dataSourceConfig.setCanMigrate(false); + importDataSource = new ObserveSwingDataSource(dataSourceConfig); + } break; - case IMPORT_SERVER_STORAGE: + case IMPORT_SERVER_STORAGE: { // import referentiel from a server db - ObserveDataSourceConfigurationRest restConfig = getCentralSourceModel().toRestStorageConfig(dbLabel); - - importDataSource = new ObserveSwingDataSource(restConfig); + ObserveDataSourceConfigurationRest dataSourceConfig = getCentralSourceModel().toRestStorageConfig(dbLabel); + importDataSource = new ObserveSwingDataSource(dataSourceConfig); + } break; default: throw new IllegalStateException("Can't come here"); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit ab1701b7d5d923c3e5fde4685a3f4dc84cf7d921 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 8 17:25:08 2015 +0100 Le status est obligatoire sur les référentiels (j'ai juste fait pour programme, à finir pour les autres types de référentiels) --- .../dto/referential/ProgramDto-n1-create-error-validation.xml | 7 +++++++ .../dto/referential/ProgramDto-n1-create-warning-validation.xml | 2 +- .../resources/i18n/observe-entities-validation_en_GB.properties | 1 + .../resources/i18n/observe-entities-validation_fr_FR.properties | 3 ++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/referential/ProgramDto-n1-create-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/referential/ProgramDto-n1-create-error-validation.xml index 6726c03..88973da 100644 --- a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/referential/ProgramDto-n1-create-error-validation.xml +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/referential/ProgramDto-n1-create-error-validation.xml @@ -50,6 +50,13 @@ </field-validator> </field> + <field name="status"> + <!-- pas de status renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.referentiel.status.required</message> + </field-validator> + </field> + <field name="organism"> <!-- pas de organism renseigne --> <field-validator type="required" short-circuit="true"> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/referential/ProgramDto-n1-create-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/referential/ProgramDto-n1-create-warning-validation.xml index 600fe7c..5e55eb7 100644 --- a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/referential/ProgramDto-n1-create-warning-validation.xml +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/referential/ProgramDto-n1-create-warning-validation.xml @@ -30,7 +30,7 @@ <!-- objet desactive --> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ enabled ]]> + <![CDATA[ status == null || enabled ]]> </param> <message>validator.referentiel.status.desactivated</message> </field-validator> diff --git a/observe-entities-validation/src/main/resources/i18n/observe-entities-validation_en_GB.properties b/observe-entities-validation/src/main/resources/i18n/observe-entities-validation_en_GB.properties index 9464f54..e93b311 100644 --- a/observe-entities-validation/src/main/resources/i18n/observe-entities-validation_en_GB.properties +++ b/observe-entities-validation/src/main/resources/i18n/observe-entities-validation_en_GB.properties @@ -197,6 +197,7 @@ validator.referentiel.required.label1= validator.referentiel.required.label2= validator.referentiel.required.label3= validator.referentiel.status.desactivated= +validator.referentiel.status.required= validator.referentiel.untranslated.label1= validator.referentiel.untranslated.label3= validator.route.activityFinDeVeille.notAvailable= diff --git a/observe-entities-validation/src/main/resources/i18n/observe-entities-validation_fr_FR.properties b/observe-entities-validation/src/main/resources/i18n/observe-entities-validation_fr_FR.properties index 9512571..958f8e0 100644 --- a/observe-entities-validation/src/main/resources/i18n/observe-entities-validation_fr_FR.properties +++ b/observe-entities-validation/src/main/resources/i18n/observe-entities-validation_fr_FR.properties @@ -196,7 +196,8 @@ validator.referentiel.required.brandName=Le nom n'est pas renseigné. validator.referentiel.required.label1=Aucun libellé anglais renseigné. validator.referentiel.required.label2=Aucun libellé français renseigné. validator.referentiel.required.label3=Aucun libellé espagnol renseigné. -validator.referentiel.status.desactivated=L'objet est déasactivé (il ne pourra plus être utilisée dans des données observer ou des nouveaux référentiels). +validator.referentiel.status.desactivated=L'objet est déasactivé (il ne pourra plus être utilisé dans de nouvelles données ou référentiels). +validator.referentiel.status.required=Statut non renseigné. validator.referentiel.untranslated.label1=Le libellé anglais n'est pas traduit. validator.referentiel.untranslated.label3=Le libellé espagnol n'est pas traduit. validator.route.activityFinDeVeille.notAvailable=Il existe déjà une activité de fin de veille sur la route -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm