mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 21:25:38 +00:00
bug6069: interims commit; made SailorProfilePreferences available through com.sap.sailing.server.interfaces
This commit is contained in:
@@ -7,6 +7,9 @@ Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Import-Package: com.sap.sailing.geocoding,
|
||||
com.sap.sailing.server.interfaces,
|
||||
com.sap.sailing.server.preferences,
|
||||
com.sap.sse.replication,
|
||||
com.sap.sse.security,
|
||||
org.osgi.framework;version="1.7.0"
|
||||
Export-Package: com.sap.sailing.datamining,
|
||||
com.sap.sailing.datamining.data,
|
||||
|
||||
+5
@@ -4,6 +4,7 @@ import com.sap.sailing.domain.base.DomainFactory;
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.domain.polars.PolarDataService;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.security.SecurityService;
|
||||
|
||||
public interface HasLeaderboardGroupContext {
|
||||
@Connector(messageKey="LeaderboardGroup", ordinal=0)
|
||||
@@ -12,4 +13,8 @@ public interface HasLeaderboardGroupContext {
|
||||
PolarDataService getPolarDataService();
|
||||
|
||||
DomainFactory getBaseDomainFactory();
|
||||
|
||||
SecurityService getSecurityService();
|
||||
|
||||
SailorProfiles getSailorProfiles();
|
||||
}
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.sap.sailing.datamining.data;
|
||||
|
||||
/**
|
||||
* A "data mining" view on the current user's sailor profiles as define in the user preferences.
|
||||
* When constructed, it collects all of the user's sailor profiles and builds a map from the
|
||||
* {@link Competitor} objects to the {@link SailorProfile} objects that refer to that competitor.
|
||||
*
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
public interface SailorProfiles {
|
||||
|
||||
}
|
||||
+1
-2
@@ -30,9 +30,8 @@ public class LeaderboardGroupRetrievalProcessor extends AbstractRetrievalProcess
|
||||
if (isAborted()) {
|
||||
break;
|
||||
}
|
||||
data.add(new LeaderboardGroupWithContext(leaderboardGroup, polarDataService, element.getBaseDomainFactory()));
|
||||
data.add(new LeaderboardGroupWithContext(leaderboardGroup, polarDataService, element.getBaseDomainFactory(), element.getSecurityService()));
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+28
-1
@@ -1,19 +1,30 @@
|
||||
package com.sap.sailing.datamining.impl.data;
|
||||
|
||||
import com.sap.sailing.datamining.data.HasLeaderboardGroupContext;
|
||||
import com.sap.sailing.datamining.data.SailorProfiles;
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.domain.polars.PolarDataService;
|
||||
import com.sap.sailing.server.preferences.SailorProfilePreference;
|
||||
import com.sap.sailing.server.preferences.SailorProfilePreferences;
|
||||
import com.sap.sse.security.SecurityService;
|
||||
|
||||
public class LeaderboardGroupWithContext implements HasLeaderboardGroupContext {
|
||||
private final LeaderboardGroup leaderboardGroup;
|
||||
private final PolarDataService polarDataService;
|
||||
private final DomainFactory baseDomainFactory;
|
||||
private final SecurityService securityService;
|
||||
|
||||
/**
|
||||
* Access has to be synchronized; it is constructed lazily by the {@link #getSailorProfiles()} method.
|
||||
*/
|
||||
private SailorProfiles sailorProfiles;
|
||||
|
||||
public LeaderboardGroupWithContext(LeaderboardGroup leaderboardGroup, PolarDataService polarDataService, DomainFactory baseDomainFactory) {
|
||||
public LeaderboardGroupWithContext(LeaderboardGroup leaderboardGroup, PolarDataService polarDataService, DomainFactory baseDomainFactory, SecurityService securityService) {
|
||||
this.leaderboardGroup = leaderboardGroup;
|
||||
this.polarDataService = polarDataService;
|
||||
this.baseDomainFactory = baseDomainFactory;
|
||||
this.securityService = securityService;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,4 +41,20 @@ public class LeaderboardGroupWithContext implements HasLeaderboardGroupContext {
|
||||
public DomainFactory getBaseDomainFactory() {
|
||||
return baseDomainFactory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SecurityService getSecurityService() {
|
||||
return securityService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized SailorProfiles getSailorProfiles() {
|
||||
if (sailorProfiles == null) {
|
||||
final SailorProfilePreferences sailorProfilePreferences = getSecurityService().getPreferenceObject(getSecurityService().getCurrentUser().getName(), SailorProfilePreferences.PREF_NAME);
|
||||
for (final SailorProfilePreference sailorProfilePreference : sailorProfilePreferences.getSailorProfiles()) {
|
||||
|
||||
}
|
||||
}
|
||||
return sailorProfiles;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user