From 2b4809a9cddfd4e6c24d578b1dc7ac10893cb252 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 14 Nov 2012 14:05:35 +0100 Subject: [PATCH] fixed bug 1040: null BoatClass in SwissTiming connector --- .../swisstimingadapter/persistence/StoreAndForward.java | 3 ++- .../domain/swisstimingadapter/impl/DomainFactoryImpl.java | 4 ++-- .../com/sap/sailing/server/impl/RacingEventServiceImpl.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/StoreAndForward.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/StoreAndForward.java index f4aae46fa6f..004d7adf08b 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/StoreAndForward.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/StoreAndForward.java @@ -275,7 +275,8 @@ public class StoreAndForward implements Runnable { while (!stopped && messageAndOptionalSequenceNumber != null) { logger.fine("Received message: "+messageAndOptionalSequenceNumber.getA()); DBObject newCountRecord = lastMessageCountCollection.findAndModify(emptyQuery, incrementLastMessageCountQuery); - lastMessageCount = (Long) ((newCountRecord == null) ? 0 : newCountRecord.get(FieldNames.LAST_MESSAGE_COUNT.name())); + lastMessageCount = ((newCountRecord == null) ? 0l : + ((Number) newCountRecord.get(FieldNames.LAST_MESSAGE_COUNT.name())).longValue()); SailMasterMessage message = swissTimingFactory.createMessage(messageAndOptionalSequenceNumber.getA(), lastMessageCount); swissTimingAdapterPersistence.storeSailMasterMessage(message); synchronized (this) { diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java index a874a3847b8..13561f8f336 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java @@ -104,7 +104,7 @@ public class DomainFactoryImpl implements DomainFactory { result = raceIDToRegattaCache.get(raceID); } if (result == null) { - result = new RegattaImpl(raceID, null, trackedRegattaRegistry, + result = new RegattaImpl(raceID, getOrCreateBoatClassFromRaceID(raceID), trackedRegattaRegistry, com.sap.sailing.domain.base.DomainFactory.INSTANCE.createScoringScheme(ScoringSchemeType.LOW_POINT)); logger.info("Created regatta "+result.getName()+" ("+result.hashCode()+")"); raceIDToRegattaCache.put(raceID, result); @@ -128,7 +128,7 @@ public class DomainFactoryImpl implements DomainFactory { /* dateOfBirth */ null, teamMemberName.trim())); } Team team = new TeamImpl(competitor.getName(), teamMembers, /* coach */ null); - result = baseDomainFactory.createCompetitor(competitor.getBoatID(), competitor.getName(), team, boat); + result = baseDomainFactory.getOrCreateCompetitor(competitor.getBoatID(), competitor.getName(), team, boat); } return result; } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index e01349c38e6..4f337606a40 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -609,7 +609,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen public List getSwissTimingRaceRecords(String hostname, int port, boolean canSendRequests) throws InterruptedException, UnknownHostException, IOException, ParseException { List result = new ArrayList(); - SailMasterConnector swissTimingConnector = swissTimingFactory.getOrCreateSailMasterLiveSimulatorConnector(hostname, port, swissTimingAdapterPersistence, + SailMasterConnector swissTimingConnector = swissTimingFactory.getOrCreateSailMasterConnector(hostname, port, swissTimingAdapterPersistence, canSendRequests); // for (Race race : swissTimingConnector.getRaces()) {