mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 06:17:27 +00:00
removed startanalysiscache
This commit is contained in:
1 parent
deb5dbc2e5
commit
d44588ae9c
3 files changed
+13
-72
No files matched your search
+5
-3
@@ -227,14 +227,16 @@ public class RibDashboardServiceImpl extends RemoteServiceServlet implements Rib
|
||||
@Override
|
||||
public List<StartAnalysisDTO> getStartAnalysisListForCompetitorIDAndLeaderboardName(String competitorIdAsString,
|
||||
String leaderboardName) {
|
||||
logger.log(Level.INFO, "Recevied getStartAnalysisListForCompetitorIDAndLeaderboardName(...) Request.");
|
||||
List<StartAnalysisDTO> startAnalysisDTOs = new ArrayList<StartAnalysisDTO>();
|
||||
Competitor competitor = baseDomainFactory.getCompetitorStore().getExistingCompetitorByIdAsString(
|
||||
competitorIdAsString);
|
||||
List<TrackedRace> trackedRacesForLeaderBoardName = getTrackedRacesFromLeaderboard(leaderboardName);
|
||||
for (TrackedRace trackedRace : trackedRacesForLeaderBoardName) {
|
||||
startAnalysisCreationController.checkForNewStartAnalysisForCompetitorInTrackedRace(competitor, trackedRace);
|
||||
StartAnalysisDTO startAnalysisDTO = startAnalysisCreationController.checkStartAnalysisForCompetitorInTrackedRace(competitor, trackedRace);
|
||||
if (startAnalysisDTO != null)
|
||||
startAnalysisDTOs.add(startAnalysisDTO);
|
||||
}
|
||||
return startAnalysisCreationController.getStartAnalysisCache().getStartAnalysisDTOsForCompetitor(competitor);
|
||||
return startAnalysisDTOs;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
-54
@@ -1,54 +0,0 @@
|
||||
package com.sap.sailing.dashboards.gwt.server.startanalysis;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.sap.sailing.dashboards.gwt.shared.dto.startanalysis.StartAnalysisDTO;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
|
||||
public class StartAnalysisCache {
|
||||
|
||||
private Map<TrackedRace, Map<Competitor, StartAnalysisDTO>> startAnalyisisDTOForTrackedRacesAndCompetitors;
|
||||
|
||||
public StartAnalysisCache(){
|
||||
startAnalyisisDTOForTrackedRacesAndCompetitors = new HashMap<TrackedRace, Map<Competitor,StartAnalysisDTO>>();
|
||||
}
|
||||
public void addStartAnalysisDTOFor(StartAnalysisDTO startAnalysisDTO, Competitor competitor, TrackedRace trackedRace) {
|
||||
Map<Competitor, StartAnalysisDTO> startAnalysisListForCompetitor = startAnalyisisDTOForTrackedRacesAndCompetitors
|
||||
.get(trackedRace);
|
||||
if (startAnalysisListForCompetitor == null) {
|
||||
startAnalysisListForCompetitor = new HashMap<Competitor, StartAnalysisDTO>();
|
||||
startAnalyisisDTOForTrackedRacesAndCompetitors.put(trackedRace, startAnalysisListForCompetitor);
|
||||
}
|
||||
if (startAnalysisListForCompetitor.get(competitor) == null) {
|
||||
startAnalysisListForCompetitor.put(competitor, startAnalysisDTO);
|
||||
} else {
|
||||
startAnalysisListForCompetitor.remove(competitor);
|
||||
}
|
||||
}
|
||||
|
||||
public List<StartAnalysisDTO> getStartAnalysisDTOsForCompetitor(Competitor competitor) {
|
||||
List<StartAnalysisDTO> startAnalysisList = new ArrayList<StartAnalysisDTO>();
|
||||
for (Map<Competitor, StartAnalysisDTO> competitorStartAnalysisMap : startAnalyisisDTOForTrackedRacesAndCompetitors
|
||||
.values()) {
|
||||
StartAnalysisDTO startAnalysisDTO = competitorStartAnalysisMap.get(competitor);
|
||||
if (startAnalysisDTO != null)
|
||||
startAnalysisList.add(startAnalysisDTO);
|
||||
}
|
||||
java.util.Collections.sort(startAnalysisList);
|
||||
return startAnalysisList;
|
||||
}
|
||||
|
||||
public boolean containsStartAnalysisForCompetitorAndTrackedRace(Competitor competitor, TrackedRace trackedRace) {
|
||||
if (startAnalyisisDTOForTrackedRacesAndCompetitors.containsKey(trackedRace)) {
|
||||
Map<Competitor, StartAnalysisDTO> competitorStartAnalysisMap = startAnalyisisDTOForTrackedRacesAndCompetitors
|
||||
.get(trackedRace);
|
||||
if (competitorStartAnalysisMap.containsKey(competitor))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+8
-15
@@ -11,30 +11,23 @@ import com.sap.sailing.server.RacingEventService;
|
||||
public class StartAnalysisCreationController extends AbstractStartAnalysisCreationValidator {
|
||||
|
||||
private StartAnalysisDTOFactory startAnalysisDTOFactory;
|
||||
private StartAnalysisCache startAnalysisCache;
|
||||
|
||||
private static final Logger logger = Logger.getLogger(StartAnalysisCache.class.getName());
|
||||
private static final Logger logger = Logger.getLogger(StartAnalysisCreationController.class.getName());
|
||||
|
||||
public StartAnalysisCreationController(RacingEventService racingEventService) {
|
||||
startAnalysisDTOFactory = new StartAnalysisDTOFactory(racingEventService);
|
||||
startAnalysisCache = new StartAnalysisCache();
|
||||
}
|
||||
|
||||
public void checkForNewStartAnalysisForCompetitorInTrackedRace(Competitor competitor, TrackedRace trackedRace) {
|
||||
if (startAnalysisCache.containsStartAnalysisForCompetitorAndTrackedRace(competitor, trackedRace) == false &&
|
||||
threeCompetitorsPassedSecondWayPoint(trackedRace) &&
|
||||
public StartAnalysisDTO checkStartAnalysisForCompetitorInTrackedRace(Competitor competitor, TrackedRace trackedRace) {
|
||||
StartAnalysisDTO startAnalysisDTO;
|
||||
if (threeCompetitorsPassedSecondWayPoint(trackedRace) &&
|
||||
competitorPassedSecondWayPoint(competitor, trackedRace))
|
||||
{
|
||||
logger.log(Level.INFO, "Trigger StartAnalysisDTO creation");
|
||||
if(competitor == null){
|
||||
logger.log(Level.INFO, "COMPETITOR NULL");
|
||||
}
|
||||
StartAnalysisDTO startAnalysisDTO = startAnalysisDTOFactory.createStartAnalysisForCompetitorAndTrackedRace(competitor, trackedRace);
|
||||
startAnalysisCache.addStartAnalysisDTOFor(startAnalysisDTO, competitor, trackedRace);
|
||||
startAnalysisDTO = startAnalysisDTOFactory.createStartAnalysisForCompetitorAndTrackedRace(competitor, trackedRace);
|
||||
return startAnalysisDTO;
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public StartAnalysisCache getStartAnalysisCache() {
|
||||
return startAnalysisCache;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user