303cca97d023551a8ebcb6bf53a1dce6a97ecd04
java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeagueEventHierarchyOwnershipChangeTest.java
| ... | ... | @@ -176,8 +176,11 @@ public class LeagueEventHierarchyOwnershipChangeTest { |
| 176 | 176 | .updateGroupOwnershipForEventHierarchy(event)); |
| 177 | 177 | final OwnershipAnnotation eventOwnership = securityService.getOwnership(event.getIdentifier()); |
| 178 | 178 | final OwnershipAnnotation otherEventOwnership = securityService.getOwnership(otherEvent.getIdentifier()); |
| 179 | - assertSame(eventOwnership.getAnnotation().getTenantOwner(), |
|
| 180 | - otherEventOwnership.getAnnotation().getTenantOwner()); |
|
| 179 | + assertSame(eventOwnership.getAnnotation().getTenantOwner(), otherEventOwnership.getAnnotation().getTenantOwner()); |
|
| 180 | + final OwnershipAnnotation overallLeaderboardOwnership = securityService.getOwnership(overallLeaderboard.getIdentifier()); |
|
| 181 | + assertSame(eventOwnership.getAnnotation().getTenantOwner(), overallLeaderboardOwnership.getAnnotation().getTenantOwner()); |
|
| 182 | + final OwnershipAnnotation sharedOverallLeaderboardOwnership = securityService.getOwnership(sharedOverallLeaderboard.getIdentifier()); |
|
| 183 | + assertSame(eventOwnership.getAnnotation().getTenantOwner(), sharedOverallLeaderboardOwnership.getAnnotation().getTenantOwner()); |
|
| 181 | 184 | } finally { |
| 182 | 185 | service.removeEvent(otherEvent.getId()); |
| 183 | 186 | } |
java/com.sap.sailing.server/src/com/sap/sailing/server/hierarchy/SailingHierarchyOwnershipUpdater.java
| ... | ... | @@ -102,18 +102,18 @@ public class SailingHierarchyOwnershipUpdater { |
| 102 | 102 | // leaderboard groups with overall leaderboard may be visited if all their leaderboards belong |
| 103 | 103 | // to the "event", but the process won't recurse back into "event" as we pass it explicitly as |
| 104 | 104 | // an event not to visit |
| 105 | - updateGroupOwnershipForLeaderboardGroupHierarchyInternal(leaderboardGroup, /* exclude */ event); |
|
| 105 | + updateGroupOwnershipForLeaderboardGroupHierarchyInternal(leaderboardGroup); |
|
| 106 | 106 | } |
| 107 | 107 | }); |
| 108 | 108 | } |
| 109 | 109 | } |
| 110 | 110 | |
| 111 | 111 | public void updateGroupOwnershipForLeaderboardGroupHierarchy(LeaderboardGroup leaderboardGroup) { |
| 112 | - updateGroupOwnershipForLeaderboardGroupHierarchyInternal(leaderboardGroup, /* eventToExclude */ null); |
|
| 112 | + updateGroupOwnershipForLeaderboardGroupHierarchyInternal(leaderboardGroup); |
|
| 113 | 113 | commitChanges(); |
| 114 | 114 | } |
| 115 | 115 | |
| 116 | - private void updateGroupOwnershipForLeaderboardGroupHierarchyInternal(LeaderboardGroup leaderboardGroup, Event eventToExclude) { |
|
| 116 | + private void updateGroupOwnershipForLeaderboardGroupHierarchyInternal(LeaderboardGroup leaderboardGroup) { |
|
| 117 | 117 | if (visitedLeaderboardGroups.add(leaderboardGroup)) { |
| 118 | 118 | updateGroupOwner(leaderboardGroup.getIdentifier()); |
| 119 | 119 | SailingHierarchyWalker.walkFromLeaderboardGroup(service, leaderboardGroup, |
| ... | ... | @@ -126,11 +126,7 @@ public class SailingHierarchyOwnershipUpdater { |
| 126 | 126 | |
| 127 | 127 | @Override |
| 128 | 128 | public void visit(Event event) { |
| 129 | - if (event != eventToExclude) { |
|
| 130 | - // Only events of LeaderboardGroups with overall leaderboard are visited -> no infinite |
|
| 131 | - // recursion occurs |
|
| 132 | - updateGroupOwnershipForEventHierarchyInternal(event); |
|
| 133 | - } |
|
| 129 | + updateGroupOwnershipForEventHierarchyInternal(event); |
|
| 134 | 130 | } |
| 135 | 131 | }); |
| 136 | 132 | } |