From fe75b4d3f2c824d4f6add524d67c55abc6796f84 Mon Sep 17 00:00:00 2001 From: kl <632104866@QQ.com> Date: Thu, 16 May 2019 11:07:18 +0800 Subject: [PATCH 1/7] add tech-support-qq-4.png --- doc/images/tech-support-qq-4.png | Bin 0 -> 7285 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/images/tech-support-qq-4.png diff --git a/doc/images/tech-support-qq-4.png b/doc/images/tech-support-qq-4.png new file mode 100644 index 0000000000000000000000000000000000000000..398a8c509bfe7c62ddba3b41593495eecce38b6d GIT binary patch literal 7285 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 Date: Thu, 16 May 2019 11:13:55 +0800 Subject: [PATCH 2/7] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 83a9be9aea8..70e5f61fa93 100644 --- a/README.md +++ b/README.md @@ -115,12 +115,14 @@ Java客户端不依赖任何框架,能够运行于所有Java运行时环境, # Support - + + + From d7d3fd908dfd11113fd891b581c1ebf43c60eb1a Mon Sep 17 00:00:00 2001 From: kl Date: Fri, 11 Dec 2020 17:03:33 +0800 Subject: [PATCH 3/7] Enhance the user experience in the scenario of submitting duplicate keys --- .../txtresolver/PropertyResolver.java | 19 ++++++++++--------- .../directive/namespace-panel-directive.js | 1 - 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/txtresolver/PropertyResolver.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/txtresolver/PropertyResolver.java index 89cdc9705da..bdea8b73666 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/txtresolver/PropertyResolver.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/txtresolver/PropertyResolver.java @@ -8,6 +8,7 @@ import com.google.common.base.Strings; import org.springframework.stereotype.Component; +import javax.validation.constraints.NotNull; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -35,9 +36,9 @@ public ItemChangeSets resolve(long namespaceId, String configText, List oldKeyMapItem.remove(""); String[] newItems = configText.split(ITEM_SEPARATOR); - - if (isHasRepeatKey(newItems)) { - throw new BadRequestException("config text has repeat key please check."); + Set repeatKeys = new HashSet<>(); + if (isHasRepeatKey(newItems,repeatKeys)) { + throw new BadRequestException(String.format("config text has repeat key please check.repeat keys:%s", repeatKeys.toString())); } ItemChangeSets changeSets = new ItemChangeSets(); @@ -72,24 +73,24 @@ public ItemChangeSets resolve(long namespaceId, String configText, List return changeSets; } - private boolean isHasRepeatKey(String[] newItems) { + private boolean isHasRepeatKey(String[] newItems,@NotNull Set repeatKeys) { Set keys = new HashSet<>(); int lineCounter = 1; - int keyCount = 0; for (String item : newItems) { if (!isCommentItem(item) && !isBlankItem(item)) { - keyCount++; String[] kv = parseKeyValueFromItem(item); if (kv != null) { - keys.add(kv[0].toLowerCase()); + String key = kv[0].toLowerCase(); + if(!keys.add(key)){ + repeatKeys.add(key); + } } else { throw new BadRequestException("line:" + lineCounter + " key value must separate by '='"); } } lineCounter++; } - - return keyCount > keys.size(); + return !repeatKeys.isEmpty(); } private String[] parseKeyValueFromItem(String item) { diff --git a/apollo-portal/src/main/resources/static/scripts/directive/namespace-panel-directive.js b/apollo-portal/src/main/resources/static/scripts/directive/namespace-panel-directive.js index 66b5e46d0e3..7b4f88ae0cc 100644 --- a/apollo-portal/src/main/resources/static/scripts/directive/namespace-panel-directive.js +++ b/apollo-portal/src/main/resources/static/scripts/directive/namespace-panel-directive.js @@ -745,7 +745,6 @@ function directive($window, $translate, toastr, AppUtil, EventManager, Permissio } ); namespace.commited = true; - toggleTextEditStatus(namespace); } function syntaxCheck(namespace) { From 5def448b7632b2992c7dda29c38750ff1368d0f9 Mon Sep 17 00:00:00 2001 From: chenkailing <632104866@qq.com> Date: Sat, 12 Dec 2020 14:16:43 +0800 Subject: [PATCH 4/7] Modify the key-value conflict exception prompt, adjust the code style --- .../portal/component/txtresolver/PropertyResolver.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/txtresolver/PropertyResolver.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/txtresolver/PropertyResolver.java index bdea8b73666..10a614b69d1 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/txtresolver/PropertyResolver.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/component/txtresolver/PropertyResolver.java @@ -37,8 +37,8 @@ public ItemChangeSets resolve(long namespaceId, String configText, List String[] newItems = configText.split(ITEM_SEPARATOR); Set repeatKeys = new HashSet<>(); - if (isHasRepeatKey(newItems,repeatKeys)) { - throw new BadRequestException(String.format("config text has repeat key please check.repeat keys:%s", repeatKeys.toString())); + if (isHasRepeatKey(newItems, repeatKeys)) { + throw new BadRequestException(String.format("Config text has repeated keys: %s, please check your input.", repeatKeys.toString())); } ItemChangeSets changeSets = new ItemChangeSets(); @@ -73,7 +73,7 @@ public ItemChangeSets resolve(long namespaceId, String configText, List return changeSets; } - private boolean isHasRepeatKey(String[] newItems,@NotNull Set repeatKeys) { + private boolean isHasRepeatKey(String[] newItems, @NotNull Set repeatKeys) { Set keys = new HashSet<>(); int lineCounter = 1; for (String item : newItems) { From 9eba4f5e9889505f3d7c33b87d9a123f5f8b9e23 Mon Sep 17 00:00:00 2001 From: kl Date: Wed, 15 Mar 2023 19:38:52 +0800 Subject: [PATCH 5/7] fix(apollo-portal): Fix the issue of the system permission management page retrieving non-existent users. --- .../defaultimpl/DefaultRolePermissionService.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/defaultimpl/DefaultRolePermissionService.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/defaultimpl/DefaultRolePermissionService.java index fa94c8b24a1..c317645f5d9 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/defaultimpl/DefaultRolePermissionService.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/defaultimpl/DefaultRolePermissionService.java @@ -28,11 +28,14 @@ import com.ctrip.framework.apollo.portal.repository.RoleRepository; import com.ctrip.framework.apollo.portal.repository.UserRoleRepository; import com.ctrip.framework.apollo.portal.service.RolePermissionService; +import com.ctrip.framework.apollo.portal.spi.UserService; import com.google.common.base.Preconditions; import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; +import java.util.Comparator; +import java.util.LinkedHashSet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -61,6 +64,8 @@ public class DefaultRolePermissionService implements RolePermissionService { private PortalConfig portalConfig; @Autowired private ConsumerRoleRepository consumerRoleRepository; + @Autowired + private UserService userService; /** * Create role with permissions, note that role name should be unique @@ -149,12 +154,10 @@ public Set queryUsersWithRole(String roleName) { } List userRoles = userRoleRepository.findByRoleId(role.getId()); - - return userRoles.stream().map(userRole -> { - UserInfo userInfo = new UserInfo(); - userInfo.setUserId(userRole.getUserId()); - return userInfo; - }).collect(Collectors.toSet()); + List userInfos = userService.findByUserIds(userRoles.stream().map(UserRole::getUserId).collect(Collectors.toList())); + return userInfos.stream() + .sorted(Comparator.comparing(UserInfo::getUserId)) + .collect(Collectors.toCollection(LinkedHashSet::new)); } /** From ce46add96bf75ed34faf86cce60abdb43e10a760 Mon Sep 17 00:00:00 2001 From: kl Date: Wed, 15 Mar 2023 20:00:02 +0800 Subject: [PATCH 6/7] doc(CHANGES.md): Update CHANGES.md --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 1dfe1663b59..8bbf7427004 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -18,6 +18,7 @@ Apollo 2.2.0 * [[Multi-Database Support] Optimize column define case sensitivity](https://github.com/apolloconfig/apollo/pull/4776) * [[Multi-Database Support][pg] Where clause need escape, otherwise will request postgre use lowwer case](https://github.com/apolloconfig/apollo/pull/4780) * [Misc dependency updates](https://github.com/apolloconfig/apollo/pull/4784) +* [Fix the issue of the system permission management page retrieving non-existent users](https://github.com/apolloconfig/apollo/pull/4802) ------------------ All issues and pull requests are [here](https://github.com/apolloconfig/apollo/milestone/13?closed=1) \ No newline at end of file From 1e9aed4c4b8c911d68fcfb28a446cf736e31e4a7 Mon Sep 17 00:00:00 2001 From: kl Date: Thu, 16 Mar 2023 19:58:45 +0800 Subject: [PATCH 7/7] fix(apollo-portal): Fix the test case testQueryUsersWithRole --- .../DefaultRolePermissionService.java | 5 ++++ .../RolePermissionServiceTest.java | 27 ++++++++++--------- .../sql/permission/insert-test-roles.sql | 1 + .../sql/permission/insert-test-userroles.sql | 2 ++ 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/defaultimpl/DefaultRolePermissionService.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/defaultimpl/DefaultRolePermissionService.java index c317645f5d9..e6a46039776 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/defaultimpl/DefaultRolePermissionService.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/defaultimpl/DefaultRolePermissionService.java @@ -155,6 +155,11 @@ public Set queryUsersWithRole(String roleName) { List userRoles = userRoleRepository.findByRoleId(role.getId()); List userInfos = userService.findByUserIds(userRoles.stream().map(UserRole::getUserId).collect(Collectors.toList())); + + if(userInfos == null){ + return Collections.emptySet(); + } + return userInfos.stream() .sorted(Comparator.comparing(UserInfo::getUserId)) .collect(Collectors.toCollection(LinkedHashSet::new)); diff --git a/apollo-portal/src/test/java/com/ctrip/framework/apollo/portal/spi/defaultImpl/RolePermissionServiceTest.java b/apollo-portal/src/test/java/com/ctrip/framework/apollo/portal/spi/defaultImpl/RolePermissionServiceTest.java index 132848a28f1..d617a9055ab 100644 --- a/apollo-portal/src/test/java/com/ctrip/framework/apollo/portal/spi/defaultImpl/RolePermissionServiceTest.java +++ b/apollo-portal/src/test/java/com/ctrip/framework/apollo/portal/spi/defaultImpl/RolePermissionServiceTest.java @@ -16,6 +16,10 @@ */ package com.ctrip.framework.apollo.portal.spi.defaultImpl; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + import com.ctrip.framework.apollo.common.entity.BaseEntity; import com.ctrip.framework.apollo.portal.AbstractIntegrationTest; import com.ctrip.framework.apollo.portal.entity.bo.UserInfo; @@ -29,19 +33,15 @@ import com.ctrip.framework.apollo.portal.repository.UserRoleRepository; import com.ctrip.framework.apollo.portal.service.RolePermissionService; import com.google.common.collect.Sets; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import org.assertj.core.api.Assertions; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.jdbc.Sql; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - /** * @author Jason Song(song_s@ctrip.com) */ @@ -285,13 +285,14 @@ public void testRemoveRoleFromUsersWithRoleNotExisted() throws Exception { @Sql(scripts = "/sql/permission/insert-test-userroles.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD) @Sql(scripts = "/sql/cleanup.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD) public void testQueryUsersWithRole() throws Exception { - String someRoleName = "someRoleName"; - - Set users = rolePermissionService.queryUsersWithRole(someRoleName); + String roleName = "someRoleName"; + Set users = rolePermissionService.queryUsersWithRole(roleName); + Assertions.assertThat(users).isEmpty(); + roleName = "apolloRoleName"; + users = rolePermissionService.queryUsersWithRole(roleName); Set userIds = users.stream().map(UserInfo::getUserId).collect(Collectors.toSet()); - - assertTrue(userIds.containsAll(Sets.newHashSet("someUser", "anotherUser"))); + assertTrue(userIds.containsAll(Sets.newHashSet("apollo"))); } @Test diff --git a/apollo-portal/src/test/resources/sql/permission/insert-test-roles.sql b/apollo-portal/src/test/resources/sql/permission/insert-test-roles.sql index 7ba8f2bdeec..53c61eef8be 100644 --- a/apollo-portal/src/test/resources/sql/permission/insert-test-roles.sql +++ b/apollo-portal/src/test/resources/sql/permission/insert-test-roles.sql @@ -15,3 +15,4 @@ -- INSERT INTO "Role" (`Id`, `RoleName`) VALUES (990, 'someRoleName'); INSERT INTO "Role" (`Id`, `RoleName`) VALUES (991, 'anotherRoleName'); +INSERT INTO "Role" (`Id`, `RoleName`) VALUES (992, 'apolloRoleName'); diff --git a/apollo-portal/src/test/resources/sql/permission/insert-test-userroles.sql b/apollo-portal/src/test/resources/sql/permission/insert-test-userroles.sql index 0c3917f4798..04a66840b80 100644 --- a/apollo-portal/src/test/resources/sql/permission/insert-test-userroles.sql +++ b/apollo-portal/src/test/resources/sql/permission/insert-test-userroles.sql @@ -17,3 +17,5 @@ INSERT INTO "UserRole" (`Id`, `UserId`, `RoleId`, `DataChange_CreatedBy`, `DataC VALUES (990, 'someUser', 990, 'someOperator', 'someOperator'); INSERT INTO "UserRole" (`Id`, `UserId`, `RoleId`, `DataChange_CreatedBy`, `DataChange_LastModifiedBy`) VALUES (991, 'anotherUser', 990, 'someOperator', 'someOperator'); +INSERT INTO "UserRole" (`Id`, `UserId`, `RoleId`, `DataChange_CreatedBy`, `DataChange_LastModifiedBy`) +VALUES (992, 'apollo', 992, 'someOperator', 'someOperator');
Apollo配置中心技术支持③群
群号:742035428
Apollo配置中心技术支持④群
群号:516773934
Apollo配置中心技术支持③群
群号:742035428(已满)
Apollo配置中心技术支持②群
群号:904287263(已满)
Apollo配置中心技术支持①群
群号:375526581(已满)
tech-support-qq-4 tech-support-qq-3 tech-support-qq-2 tech-support-qq-1