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
}