branch feature/7494 updated (0ede2d6 -> 4ef2b84)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7494 in repository observe. See http://git.codelutin.com/observe.git from 0ede2d6 Faire fonctionner le chargement dynamqieu de la configuration des logs new 4ef2b84 Permettre d'enregistrer les configurations de bases et d'utilisateurs même immuables (See #7494) The 1 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 4ef2b849b93ccc6878e113a1f3994341774adeea Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 30 16:09:51 2015 +0200 Permettre d'enregistrer les configurations de bases et d'utilisateurs même immuables (See #7494) Summary of changes: .../configuration/db/ObserveWebDatabasesHelper.java | 8 +++++++- .../db/impl/ObserveWebDatabaseImmutable.java | 20 ++++++++++++++++++++ .../db/impl/ObserveWebDatabaseRoleImmutable.java | 6 ++++++ .../db/impl/ObserveWebDatabasesImmutable.java | 16 ++++++++++++++++ .../configuration/user/ObserveWebUsersHelper.java | 8 +++++++- .../user/impl/ObserveWebUserImmutable.java | 17 +++++++++++++++++ .../user/impl/ObserveWebUserPermissionImmutable.java | 6 ++++++ .../user/impl/ObserveWebUsersImmutable.java | 14 ++++++++++++++ .../db/ObserveWebDatabasesHelperTest.java | 7 ++++++- .../user/ObserveWebUsersHelperTest.java | 7 ++++++- 10 files changed, 105 insertions(+), 4 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 feature/7494 in repository observe. See http://git.codelutin.com/observe.git commit 4ef2b849b93ccc6878e113a1f3994341774adeea Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 30 16:09:51 2015 +0200 Permettre d'enregistrer les configurations de bases et d'utilisateurs même immuables (See #7494) --- .../configuration/db/ObserveWebDatabasesHelper.java | 8 +++++++- .../db/impl/ObserveWebDatabaseImmutable.java | 20 ++++++++++++++++++++ .../db/impl/ObserveWebDatabaseRoleImmutable.java | 6 ++++++ .../db/impl/ObserveWebDatabasesImmutable.java | 16 ++++++++++++++++ .../configuration/user/ObserveWebUsersHelper.java | 8 +++++++- .../user/impl/ObserveWebUserImmutable.java | 17 +++++++++++++++++ .../user/impl/ObserveWebUserPermissionImmutable.java | 6 ++++++ .../user/impl/ObserveWebUsersImmutable.java | 14 ++++++++++++++ .../db/ObserveWebDatabasesHelperTest.java | 7 ++++++- .../user/ObserveWebUsersHelperTest.java | 7 ++++++- 10 files changed, 105 insertions(+), 4 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/ObserveWebDatabasesHelper.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/ObserveWebDatabasesHelper.java index 60dfb6c..cd3e21b 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/ObserveWebDatabasesHelper.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/ObserveWebDatabasesHelper.java @@ -131,7 +131,7 @@ public class ObserveWebDatabasesHelper { } - public void storeBean(ObserveWebDatabasesBean databases, File file) { + public void store(ObserveWebDatabases databases, File file) { if (log.isInfoEnabled()) { log.info("Store databases to " + file); @@ -139,6 +139,12 @@ public class ObserveWebDatabasesHelper { try (BufferedWriter fileWriter = Files.newWriter(file, Charsets.UTF_8)) { YamlWriter writer = new YamlWriter(fileWriter, createConfig()); + if (databases instanceof ObserveWebDatabasesImmutable) { + + ObserveWebDatabasesImmutable observeWebDatabasesImmutable = (ObserveWebDatabasesImmutable) databases; + databases = observeWebDatabasesImmutable.toBean(); + + } writer.write(databases); writer.close(); } catch (Exception e) { diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabaseImmutable.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabaseImmutable.java index 6d5b8b4..eba202a 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabaseImmutable.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabaseImmutable.java @@ -3,9 +3,12 @@ package fr.ird.observe.application.web.configuration.db.impl; import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterables; import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabase; +import javax.annotation.Nullable; import java.util.Collection; /** @@ -65,4 +68,21 @@ public class ObserveWebDatabaseImmutable implements ObserveWebDatabase<ObserveWe return Optional.fromNullable(observeWebDatabaseRole); } + public ObserveWebDatabaseBean toBean() { + ObserveWebDatabaseBean observeWebDatabaseBean = new ObserveWebDatabaseBean(); + observeWebDatabaseBean.setDefaultDatabase(defaultDatabase); + observeWebDatabaseBean.setName(name); + observeWebDatabaseBean.setUrl(url); + observeWebDatabaseBean.setRoles(Sets.newLinkedHashSet(Iterables.transform(getRoles(), new Function<ObserveWebDatabaseRoleImmutable, ObserveWebDatabaseRoleBean>() { + + @Nullable + @Override + public ObserveWebDatabaseRoleBean apply(ObserveWebDatabaseRoleImmutable input) { + return input.toBean(); + } + }))); + + return observeWebDatabaseBean; + } + } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabaseRoleImmutable.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabaseRoleImmutable.java index 2f67745..612e25d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabaseRoleImmutable.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabaseRoleImmutable.java @@ -28,4 +28,10 @@ public class ObserveWebDatabaseRoleImmutable implements ObserveWebDatabaseRole { return password; } + public ObserveWebDatabaseRoleBean toBean() { + ObserveWebDatabaseRoleBean observeWebDatabasesBean = new ObserveWebDatabaseRoleBean(); + observeWebDatabasesBean.setLogin(login); + observeWebDatabasesBean.setPassword(password); + return observeWebDatabasesBean; + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabasesImmutable.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabasesImmutable.java index cd5aad1..c579b0d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabasesImmutable.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/db/impl/ObserveWebDatabasesImmutable.java @@ -3,9 +3,12 @@ package fr.ird.observe.application.web.configuration.db.impl; import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterables; import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabases; +import javax.annotation.Nullable; import java.util.Collection; /** @@ -55,4 +58,17 @@ public class ObserveWebDatabasesImmutable implements ObserveWebDatabases<Observe return Optional.fromNullable(database); } + public ObserveWebDatabasesBean toBean() { + ObserveWebDatabasesBean observeWebDatabasesBean = new ObserveWebDatabasesBean(); + observeWebDatabasesBean.setDatabases(Sets.newLinkedHashSet(Iterables.transform(getDatabases(), new Function<ObserveWebDatabaseImmutable, ObserveWebDatabaseBean>() { + + @Nullable + @Override + public ObserveWebDatabaseBean apply(ObserveWebDatabaseImmutable input) { + return input.toBean(); + } + }))); + return observeWebDatabasesBean; + } + } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/ObserveWebUsersHelper.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/ObserveWebUsersHelper.java index e3661ff..4f82b1f 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/ObserveWebUsersHelper.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/ObserveWebUsersHelper.java @@ -109,7 +109,7 @@ public class ObserveWebUsersHelper { } - public void storeBean(ObserveWebUsersBean users, File file) { + public void store(ObserveWebUsers users, File file) { if (log.isInfoEnabled()) { log.info("Store users to " + file); @@ -117,6 +117,12 @@ public class ObserveWebUsersHelper { try (BufferedWriter fileWriter = Files.newWriter(file, Charsets.UTF_8)) { YamlWriter writer = new YamlWriter(fileWriter, createConfig()); + if (users instanceof ObserveWebUsersImmutable) { + + ObserveWebUsersImmutable observeWebUsersImmutable = (ObserveWebUsersImmutable) users; + users = observeWebUsersImmutable.toBean(); + + } writer.write(users); writer.close(); } catch (Exception e) { diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUserImmutable.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUserImmutable.java index 2801cd6..acbdd73 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUserImmutable.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUserImmutable.java @@ -3,7 +3,9 @@ package fr.ird.observe.application.web.configuration.user.impl; import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterables; import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import fr.ird.observe.application.web.configuration.user.ObserveWebUser; import java.util.Collection; @@ -55,4 +57,19 @@ public class ObserveWebUserImmutable implements ObserveWebUser<ObserveWebUserPer return Optional.fromNullable(permissions.get(databaseName)); } + public ObserveWebUserBean toBean() { + ObserveWebUserBean observeWebUserBean = new ObserveWebUserBean(); + observeWebUserBean.setLogin(login); + observeWebUserBean.setPassword(password); + observeWebUserBean.setPermissions(Sets.newLinkedHashSet(Iterables.transform(getPermissions(), new Function<ObserveWebUserPermissionImmutable, ObserveWebUserPermissionBean>() { + + @Override + public ObserveWebUserPermissionBean apply(ObserveWebUserPermissionImmutable input) { + return input.toBean(); + } + }))); + + return observeWebUserBean; + } + } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUserPermissionImmutable.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUserPermissionImmutable.java index 7692fda..dd7e40b 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUserPermissionImmutable.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUserPermissionImmutable.java @@ -28,4 +28,10 @@ public class ObserveWebUserPermissionImmutable implements ObserveWebUserPermissi return role; } + public ObserveWebUserPermissionBean toBean() { + ObserveWebUserPermissionBean observeWebUserPermissionBean = new ObserveWebUserPermissionBean(); + observeWebUserPermissionBean.setDatabase(database); + observeWebUserPermissionBean.setRole(role); + return observeWebUserPermissionBean; + } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUsersImmutable.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUsersImmutable.java index 4ad728e..cf18fe7 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUsersImmutable.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/configuration/user/impl/ObserveWebUsersImmutable.java @@ -3,7 +3,9 @@ package fr.ird.observe.application.web.configuration.user.impl; import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterables; import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import fr.ird.observe.application.web.configuration.user.ObserveWebUsers; import javax.annotation.Nullable; @@ -39,4 +41,16 @@ public class ObserveWebUsersImmutable implements ObserveWebUsers<ObserveWebUserI return Optional.fromNullable(users.get(login)); } + public ObserveWebUsersBean toBean() { + ObserveWebUsersBean observeWebUsersBean = new ObserveWebUsersBean(); + observeWebUsersBean.setUsers(Sets.newLinkedHashSet(Iterables.transform(getUsers(), new Function<ObserveWebUserImmutable, ObserveWebUserBean>() { + + @Nullable + @Override + public ObserveWebUserBean apply(ObserveWebUserImmutable input) { + return input.toBean(); + } + }))); + return observeWebUsersBean; + } } diff --git a/observe-application-web/src/test/java/fr/ird/observe/application/web/configuration/db/ObserveWebDatabasesHelperTest.java b/observe-application-web/src/test/java/fr/ird/observe/application/web/configuration/db/ObserveWebDatabasesHelperTest.java index 3ed490d..7d78f85 100644 --- a/observe-application-web/src/test/java/fr/ird/observe/application/web/configuration/db/ObserveWebDatabasesHelperTest.java +++ b/observe-application-web/src/test/java/fr/ird/observe/application/web/configuration/db/ObserveWebDatabasesHelperTest.java @@ -221,12 +221,17 @@ public class ObserveWebDatabasesHelperTest { File databasesFile = configuration.getDatabasesConfigurationFile(); - observeWebDatabasesHelper.storeBean(databases, databasesFile); + observeWebDatabasesHelper.store(databases, databasesFile); String fileContent = Files.asCharSource(databasesFile, Charsets.UTF_8).read(); Assert.assertEquals(FILE_CONTENT, fileContent); System.out.println(fileContent); + observeWebDatabasesHelper.store(databases.toImmutable(), databasesFile); + + String fileContent2 = Files.asCharSource(databasesFile, Charsets.UTF_8).read(); + Assert.assertEquals(FILE_CONTENT, fileContent2); + } } \ No newline at end of file diff --git a/observe-application-web/src/test/java/fr/ird/observe/application/web/configuration/user/ObserveWebUsersHelperTest.java b/observe-application-web/src/test/java/fr/ird/observe/application/web/configuration/user/ObserveWebUsersHelperTest.java index 65cfbf7..67b337d 100644 --- a/observe-application-web/src/test/java/fr/ird/observe/application/web/configuration/user/ObserveWebUsersHelperTest.java +++ b/observe-application-web/src/test/java/fr/ird/observe/application/web/configuration/user/ObserveWebUsersHelperTest.java @@ -172,12 +172,17 @@ public class ObserveWebUsersHelperTest { File databasesFile = configuration.getUsersConfigurationFile(); - observeWebUsersHelper.storeBean(users, databasesFile); + observeWebUsersHelper.store(users, databasesFile); String fileContent = Files.asCharSource(databasesFile, Charsets.UTF_8).read(); Assert.assertEquals(FILE_CONTENT, fileContent); System.out.println(fileContent); + observeWebUsersHelper.store(users.toImmutable(), databasesFile); + + String fileContent2 = Files.asCharSource(databasesFile, Charsets.UTF_8).read(); + Assert.assertEquals(FILE_CONTENT, fileContent2); + } } \ No newline at end of file -- 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