diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/DomainObjectFactory.java deleted file mode 100755 index e7e90c36e33..00000000000 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/DomainObjectFactory.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.sap.sailing.domain.swisstimingadapter.persistence; - -import java.util.List; - -import com.sap.sailing.domain.swisstimingadapter.Race; -import com.sap.sailing.domain.swisstimingadapter.RaceSpecificMessageLoader; -import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage; -import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; -import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; -import com.sap.sailing.domain.swisstimingadapter.persistence.impl.DomainObjectFactoryImpl; -import com.sap.sailing.mongodb.Activator; - -/** - * Offers methods to load domain objects from a Mongo DB - * - * @author Axel Uhl (d043530) - * - */ -public interface DomainObjectFactory extends RaceSpecificMessageLoader { - DomainObjectFactory INSTANCE = new DomainObjectFactoryImpl(Activator.getDefaultInstance().getDB(), SwissTimingFactory.INSTANCE); - - Iterable getSwissTimingConfigurations(); - - /** - * Loads all messages received and stored to the DB starting with sequence number firstSequenceNumber. - * If firstSequenceNumber is -1, all messages are loaded. - * - * @return messages in ascending sequence number order; always a valid but perhaps empty list - */ - List loadMessages(int firstSequenceNumber); - - /** - * Loads all messages received and stored to the DB for a specific race. - * @return messages of the specified race; null if the race does not exist - */ - List loadRaceMessages(String raceID); - - /** - * Loads all command messages (not race specific) received and stored to the DB. - * @return command messages; always a valid but perhaps empty list - */ - List loadCommandMessages(); - - /** - * Gets all races stored in the DB - * @return the list of races - */ - Iterable getRaces(); - - /** - * Gets the race masterdata for a given raceID - * @return the race or null if the race does not exist - */ - Race getRace(String raceID); -} diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/MongoObjectFactory.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/MongoObjectFactory.java deleted file mode 100755 index 168e0d54f2d..00000000000 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/MongoObjectFactory.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.sap.sailing.domain.swisstimingadapter.persistence; - -import com.mongodb.DBObject; -import com.sap.sailing.domain.swisstimingadapter.Race; -import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage; -import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; -import com.sap.sailing.domain.swisstimingadapter.persistence.impl.MongoObjectFactoryImpl; -import com.sap.sailing.mongodb.Activator; - -/** - * Offers methods to construct {@link DBObject MongoDB objects} from domain objects. - * - * @author Axel Uhl (d043530) - * - */ -public interface MongoObjectFactory { - MongoObjectFactory INSTANCE = new MongoObjectFactoryImpl(Activator.getDefaultInstance().getDB()); - - void storeSwissTimingConfiguration(SwissTimingConfiguration swissTimingConfiguration); - - void storeRawSailMasterMessage(SailMasterMessage message); - - void storeSailMasterMessage(SailMasterMessage message); - - void storeRace(Race race); -} diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/DomainObjectFactoryImpl.java deleted file mode 100755 index fbb7ac010cd..00000000000 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/DomainObjectFactoryImpl.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.sap.sailing.domain.swisstimingadapter.persistence.impl; - -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import com.mongodb.BasicDBObject; -import com.mongodb.DB; -import com.mongodb.DBCollection; -import com.mongodb.DBCursor; -import com.mongodb.DBObject; -import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; -import com.sap.sailing.domain.swisstimingadapter.Race; -import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage; -import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; -import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; -import com.sap.sailing.domain.swisstimingadapter.persistence.DomainObjectFactory; - -public class DomainObjectFactoryImpl implements DomainObjectFactory { - private static final Logger logger = Logger.getLogger(DomainObjectFactoryImpl.class.getName()); - - private final DB database; - - private final SwissTimingFactory swissTimingFactory; - - public DomainObjectFactoryImpl(DB db, SwissTimingFactory swissTimingFactory) { - super(); - this.database = db; - this.swissTimingFactory = swissTimingFactory; - DBCollection rawMessages = database.getCollection(CollectionNames.RAW_MESSAGES.name()); - rawMessages.ensureIndex(new BasicDBObject().append(FieldNames.MESSAGE_SEQUENCE_NUMBER.name(), 1)); - } - - @Override - public Iterable getSwissTimingConfigurations() { - List result = new ArrayList(); - try { - DBCollection stConfigs = database.getCollection(CollectionNames.SWISSTIMING_CONFIGURATIONS.name()); - for (DBObject o : stConfigs.find()) { - SwissTimingConfiguration stConfig = loadSwissTimingConfiguration(o); - result.add(stConfig); - } - } catch (Throwable t) { - // something went wrong during DB access; report, then use empty new wind track - logger.log(Level.SEVERE, "Error connecting to MongoDB, unable to load recorded TracTrac configurations. Check MongoDB settings."); - logger.throwing(DomainObjectFactoryImpl.class.getName(), "getTracTracConfigurations", t); - } - return result; - } - - private SwissTimingConfiguration loadSwissTimingConfiguration(DBObject object) { - return swissTimingFactory.createSwissTimingConfiguration((String) object.get(FieldNames.ST_CONFIG_NAME.name()), - (String) object.get(FieldNames.ST_CONFIG_HOSTNAME.name()), - (Integer) object.get(FieldNames.ST_CONFIG_PORT.name())); - } - - @Override - public List loadMessages(int firstSequenceNumber) { - DBCollection rawMessages = database.getCollection(CollectionNames.RAW_MESSAGES.name()); - BasicDBObject query = new BasicDBObject(); - if (firstSequenceNumber != -1) { - query.append(FieldNames.MESSAGE_SEQUENCE_NUMBER.name(), new BasicDBObject("$gte", firstSequenceNumber)); - } - DBCursor results = rawMessages.find(query); - List result = new ArrayList(); - for (DBObject o : results) { - result.add(swissTimingFactory.createMessage((String) o.get(FieldNames.MESSAGE_CONTENT.name()), - (Long) o.get(FieldNames.MESSAGE_SEQUENCE_NUMBER.name()))); - } - return result; - } - - @Override - public List loadRaceMessages(String raceID) { - - DBCollection racesMessagesCollection = database.getCollection(CollectionNames.RACES_MESSAGES.name()); - - BasicDBObject query = new BasicDBObject(); - query.append(FieldNames.RACE_ID.name(), raceID); - - DBCursor results = racesMessagesCollection.find(query); - List result = new ArrayList(); - - for (DBObject o : results) { - SailMasterMessage msg = swissTimingFactory.createMessage((String) o.get(FieldNames.MESSAGE_CONTENT.name()), - (Long) o.get(FieldNames.MESSAGE_SEQUENCE_NUMBER.name())); - result.add(msg); - } - return result; - } - - @Override - public List loadCommandMessages() { - DBCollection cmdMessagesCollection = database.getCollection(CollectionNames.COMMAND_MESSAGES.name()); - - DBCursor results = cmdMessagesCollection.find(); - List result = new ArrayList(); - - for (DBObject o : results) { - SailMasterMessage msg = swissTimingFactory.createMessage((String) o.get(FieldNames.MESSAGE_CONTENT.name()), - (Long) o.get(FieldNames.MESSAGE_SEQUENCE_NUMBER.name())); - result.add(msg); - } - return result; - } - - - public Race getRace(String raceID) { - DBCollection races = database.getCollection(CollectionNames.RACES_MASTERDATA.name()); - - BasicDBObject query = new BasicDBObject(); - query.append(FieldNames.RACE_ID.name(), raceID); - - DBObject o = races.findOne(query); - - if(o != null) { - Race race = swissTimingFactory.createRace((String) o.get(FieldNames.RACE_ID.name()), - (String) o.get(FieldNames.RACE_DESCRIPTION.name()), new MillisecondsTimePoint((Long) o.get(FieldNames.RACE_STARTTIME.name()))); - - return race; - } - return null; - } - - public Iterable getRaces() { - DBCollection races = database.getCollection(CollectionNames.RACES_MASTERDATA.name()); - - DBCursor results = races.find(); - List result = new ArrayList(); - - for (DBObject o : results) { - Race race = swissTimingFactory.createRace((String) o.get(FieldNames.RACE_ID.name()), - (String) o.get(FieldNames.RACE_DESCRIPTION.name()), - new MillisecondsTimePoint((Long) o.get(FieldNames.RACE_STARTTIME.name()))); - result.add(race); - } - return result; - } - -} diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/MongoObjectFactoryImpl.java deleted file mode 100755 index a3685344028..00000000000 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/MongoObjectFactoryImpl.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.sap.sailing.domain.swisstimingadapter.persistence.impl; - -import com.mongodb.BasicDBObject; -import com.mongodb.DB; -import com.mongodb.DBCollection; -import com.mongodb.DBObject; -import com.sap.sailing.domain.swisstimingadapter.MessageType; -import com.sap.sailing.domain.swisstimingadapter.Race; -import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage; -import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; -import com.sap.sailing.domain.swisstimingadapter.persistence.MongoObjectFactory; - -public class MongoObjectFactoryImpl implements MongoObjectFactory { - private final DB database; - - public MongoObjectFactoryImpl(DB database) { - super(); - this.database = database; - - // ensure the required indexes for the collection of race specific messages - DBCollection racesMessageCollection = database.getCollection(CollectionNames.RACES_MESSAGES.name()); - - BasicDBObject indexKeysRaceMsgs = new BasicDBObject(); - indexKeysRaceMsgs.put(FieldNames.MESSAGE_SEQUENCE_NUMBER.name(), 1); - indexKeysRaceMsgs.put(FieldNames.RACE_ID.name(), 1); - - racesMessageCollection.ensureIndex(indexKeysRaceMsgs, IndexNames.INDEX_RACES_MESSAGES.name(), true); - - // ensure the required indexes for the collection of command messages - DBCollection cmdMessagesCollection = database.getCollection(CollectionNames.COMMAND_MESSAGES.name()); - - BasicDBObject indexKeysCmdMsgs = new BasicDBObject(); - indexKeysCmdMsgs.put(FieldNames.MESSAGE_SEQUENCE_NUMBER.name(), 1); - - cmdMessagesCollection.ensureIndex(indexKeysCmdMsgs, IndexNames.INDEX_COMMAND_MESSAGES.name(), true); - } - - @Override - public void storeSwissTimingConfiguration(SwissTimingConfiguration swissTimingConfiguration) { - DBCollection stConfigCollection = database.getCollection(CollectionNames.SWISSTIMING_CONFIGURATIONS.name()); - stConfigCollection.ensureIndex(CollectionNames.SWISSTIMING_CONFIGURATIONS.name()); - BasicDBObject result = new BasicDBObject(); - result.put(FieldNames.ST_CONFIG_NAME.name(), swissTimingConfiguration.getName()); - for (DBObject equallyNamedConfig : stConfigCollection.find(result)) { - stConfigCollection.remove(equallyNamedConfig); - } - result.put(FieldNames.ST_CONFIG_HOSTNAME.name(), swissTimingConfiguration.getHostname()); - result.put(FieldNames.ST_CONFIG_PORT.name(), swissTimingConfiguration.getPort()); - stConfigCollection.insert(result); - } - - @Override - public void storeRawSailMasterMessage(SailMasterMessage message) { - DBCollection rawMessageCollection = database.getCollection(CollectionNames.RAW_MESSAGES.name()); - rawMessageCollection.insert(new BasicDBObject().append(FieldNames.MESSAGE_SEQUENCE_NUMBER.name(), message.getSequenceNumber()). - append(FieldNames.MESSAGE_CONTENT.name(), message.getMessage())); - } - - @Override - public void storeSailMasterMessage(SailMasterMessage message) { - - DBCollection messageCollection = null; - MessageType type = message.getType(); - - BasicDBObject objToInsert = new BasicDBObject(); - - objToInsert.put(FieldNames.MESSAGE_COMMAND.name(), message.getType().name()); - objToInsert.put(FieldNames.MESSAGE_SEQUENCE_NUMBER.name(), message.getSequenceNumber()); - objToInsert.put(FieldNames.MESSAGE_CONTENT.name(), message.getMessage()); - - if(type.isRaceSpecific()) { - objToInsert.put(FieldNames.RACE_ID.name(), message.getRaceID()); - messageCollection = database.getCollection(CollectionNames.RACES_MESSAGES.name()); - } - else { - messageCollection = database.getCollection(CollectionNames.COMMAND_MESSAGES.name()); - } - - messageCollection.insert(objToInsert); - } - - @Override - public void storeRace(Race race) { - DBCollection racesCollection = database.getCollection(CollectionNames.RACES_MASTERDATA.name()); - - BasicDBObject query = new BasicDBObject(); - query.append(FieldNames.RACE_ID.name(), race.getRaceID()); - - BasicDBObject result = new BasicDBObject(); - - result.put(FieldNames.RACE_ID.name(), race.getRaceID()); - result.put(FieldNames.RACE_DESCRIPTION.name(), race.getDescription()); - result.put(FieldNames.RACE_STARTTIME.name(), new Long(race.getStartTime().asMillis())); - - racesCollection.update(query,result); - } - -} diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java index 04d79915f91..65f9e42eb97 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java @@ -79,7 +79,7 @@ public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPers } catch (Throwable t) { // something went wrong during DB access; report, then use empty new wind track logger.log(Level.SEVERE, "Error connecting to MongoDB, unable to load recorded TracTrac configurations. Check MongoDB settings."); - logger.throwing(DomainObjectFactoryImpl.class.getName(), "getTracTracConfigurations", t); + logger.throwing(SwissTimingAdapterPersistenceImpl.class.getName(), "getTracTracConfigurations", t); } return result; } diff --git a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SailMasterConnectivityTest.java b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SailMasterConnectivityTest.java index 9d10c7eb08b..aed2eb9ab1e 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SailMasterConnectivityTest.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SailMasterConnectivityTest.java @@ -33,7 +33,7 @@ import com.sap.sailing.domain.swisstimingadapter.SailMasterListener; import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage; import com.sap.sailing.domain.swisstimingadapter.StartList; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; -import com.sap.sailing.domain.swisstimingadapter.persistence.DomainObjectFactory; +import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence; import com.sap.sailing.util.Util; import com.sap.sailing.util.Util.Triple; @@ -47,7 +47,7 @@ public class SailMasterConnectivityTest { @Before public void setUp() throws InterruptedException, ParseException { startSailMasterDummy(); - connector = SwissTimingFactory.INSTANCE.createSailMasterConnector("localhost", port, DomainObjectFactory.INSTANCE); + connector = SwissTimingFactory.INSTANCE.createSailMasterConnector("localhost", port, SwissTimingAdapterPersistence.INSTANCE); connector.trackRace("W4702"); connector.trackRace("4711"); connector.trackRace("4712"); diff --git a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/StoreAndForwardTest.java b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/StoreAndForwardTest.java index c1c118d59b8..b9dcdc8f71b 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/StoreAndForwardTest.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/StoreAndForwardTest.java @@ -24,8 +24,6 @@ import com.sap.sailing.domain.swisstimingadapter.SailMasterConnector; import com.sap.sailing.domain.swisstimingadapter.SailMasterMessage; import com.sap.sailing.domain.swisstimingadapter.SailMasterTransceiver; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; -import com.sap.sailing.domain.swisstimingadapter.persistence.DomainObjectFactory; -import com.sap.sailing.domain.swisstimingadapter.persistence.MongoObjectFactory; import com.sap.sailing.domain.swisstimingadapter.persistence.StoreAndForward; import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence; import com.sap.sailing.domain.swisstimingadapter.persistence.impl.CollectionNames; @@ -44,7 +42,7 @@ public class StoreAndForwardTest { private OutputStream sendingStream; private SailMasterTransceiver transceiver; private SailMasterConnector connector; - private DomainObjectFactory domainObjectFactory; + private SwissTimingAdapterPersistence swissTimingAdapterPersistence; private SwissTimingFactory swissTimingFactory; @Before @@ -61,7 +59,7 @@ public class StoreAndForwardTest { /* upsert */ true, /* multi */ false); DBCollection rawMessages = db.getCollection(CollectionNames.RAW_MESSAGES.name()); rawMessages.drop(); - domainObjectFactory = DomainObjectFactory.INSTANCE; + swissTimingAdapterPersistence = SwissTimingAdapterPersistence.INSTANCE; } @After @@ -99,7 +97,7 @@ public class StoreAndForwardTest { DBCollection lastMessageCountCollection = db.getCollection(CollectionNames.LAST_MESSAGE_COUNT.name()); Long lastMessageCount = (Long) lastMessageCountCollection.findOne().get(FieldNames.LAST_MESSAGE_COUNT.name()); assertEquals((Long) 1l, lastMessageCount); - List rawMessages = domainObjectFactory.loadMessages(0); + List rawMessages = swissTimingAdapterPersistence.loadMessages(0); assertEquals(1, rawMessages.size()); assertEquals(rawMessage, rawMessages.get(0).getMessage()); assertEquals(0l, (long) rawMessages.get(0).getSequenceNumber()); diff --git a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SwissTimingSailMasterLiveTest.java b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SwissTimingSailMasterLiveTest.java index 708113f9c03..97e69a3eb29 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SwissTimingSailMasterLiveTest.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SwissTimingSailMasterLiveTest.java @@ -31,7 +31,7 @@ import com.sap.sailing.domain.swisstimingadapter.SailMasterConnector; import com.sap.sailing.domain.swisstimingadapter.SailMasterListener; import com.sap.sailing.domain.swisstimingadapter.StartList; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; -import com.sap.sailing.domain.swisstimingadapter.persistence.DomainObjectFactory; +import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence; import com.sap.sailing.util.Util; import com.sap.sailing.util.Util.Pair; import com.sap.sailing.util.Util.Triple; @@ -43,7 +43,7 @@ public class SwissTimingSailMasterLiveTest implements SailMasterListener { @Before public void connect() throws InterruptedException { - connector = SwissTimingFactory.INSTANCE.createSailMasterConnector("gps.sportresult.com", 40300, DomainObjectFactory.INSTANCE); + connector = SwissTimingFactory.INSTANCE.createSailMasterConnector("gps.sportresult.com", 40300, SwissTimingAdapterPersistence.INSTANCE); } @After diff --git a/java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF index ae2fb8ad405..1e437456ae8 100644 --- a/java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.gwt.ui.test/META-INF/MANIFEST.MF @@ -10,5 +10,6 @@ Require-Bundle: com.sap.sailing.gwt.ui, javax.servlet;bundle-version="2.5.0", com.sap.sailing.domain, org.json.simple, - com.sap.sailing.server, - org.eclipse.osgi;bundle-version="3.7.1" + com.sap.sailing.server +Import-Package: org.osgi.framework, + org.osgi.util.tracker;version="1.5.0" diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 1164657e7ea..f143d697906 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -53,6 +53,7 @@ import com.sap.sailing.domain.swisstimingadapter.Race; import com.sap.sailing.domain.swisstimingadapter.SailMasterConnector; import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; +import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence; import com.sap.sailing.domain.tracking.GPSFix; import com.sap.sailing.domain.tracking.GPSFixMoving; import com.sap.sailing.domain.tracking.GPSFixTrack; @@ -106,7 +107,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS private final MongoObjectFactory mongoObjectFactory; - private final com.sap.sailing.domain.swisstimingadapter.persistence.MongoObjectFactory swissTimingMongoObjectFactory; + private final SwissTimingAdapterPersistence swissTimingAdapterPersistence; private final com.sap.sailing.domain.tractracadapter.persistence.MongoObjectFactory tractracMongoObjectFactory; @@ -114,8 +115,6 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS private final SwissTimingFactory swissTimingFactory; - private final com.sap.sailing.domain.swisstimingadapter.persistence.DomainObjectFactory swissTimingDomainObjectFactory; - private final com.sap.sailing.domain.tractracadapter.persistence.DomainObjectFactory tractracDomainObjectFactory; public SailingServiceImpl() { @@ -123,9 +122,8 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS racingEventServiceTracker = createAndOpenRacingEventServiceTracker(context); mongoObjectFactory = MongoObjectFactory.INSTANCE; domainObjectFactory = DomainObjectFactory.INSTANCE; - swissTimingDomainObjectFactory = com.sap.sailing.domain.swisstimingadapter.persistence.DomainObjectFactory.INSTANCE; + swissTimingAdapterPersistence = SwissTimingAdapterPersistence.INSTANCE; tractracDomainObjectFactory = com.sap.sailing.domain.tractracadapter.persistence.DomainObjectFactory.INSTANCE; - swissTimingMongoObjectFactory = com.sap.sailing.domain.swisstimingadapter.persistence.MongoObjectFactory.INSTANCE; tractracMongoObjectFactory = com.sap.sailing.domain.tractracadapter.persistence.MongoObjectFactory.INSTANCE; swissTimingFactory = SwissTimingFactory.INSTANCE; } @@ -1014,7 +1012,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS @Override public List getPreviousSwissTimingConfigurations() { - Iterable configs = swissTimingDomainObjectFactory.getSwissTimingConfigurations(); + Iterable configs = swissTimingAdapterPersistence.getSwissTimingConfigurations(); List result = new ArrayList(); for (SwissTimingConfiguration stConfig : configs) { result.add(new SwissTimingConfigurationDAO(stConfig.getName(), stConfig.getHostname(), stConfig.getPort())); @@ -1027,7 +1025,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS throws UnknownHostException, IOException, InterruptedException, ParseException { List result = new ArrayList(); // FIXME can't rely on the connector being able to send a request; perhaps need to extract from SwissTiming persistence - SailMasterConnector swissTimingConnector = swissTimingFactory.createSailMasterConnector(hostname, port, swissTimingDomainObjectFactory); + SailMasterConnector swissTimingConnector = swissTimingFactory.createSailMasterConnector(hostname, port, swissTimingAdapterPersistence); for (Race race : swissTimingConnector.getRaces()) { TimePoint startTime = swissTimingConnector.getStartTime(race.getRaceID()); result.add(new SwissTimingRaceRecordDAO(race.getRaceID(), race.getDescription(), startTime.asDate())); @@ -1037,7 +1035,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS @Override public void storeSwissTimingConfiguration(String configName, String hostname, int port) { - swissTimingMongoObjectFactory.storeSwissTimingConfiguration(swissTimingFactory.createSwissTimingConfiguration(configName, hostname, port)); + swissTimingAdapterPersistence.storeSwissTimingConfiguration(swissTimingFactory.createSwissTimingConfiguration(configName, hostname, port)); } @Override diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventServiceImpl.java index 4c095bb781f..7a86cd2292a 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventServiceImpl.java @@ -33,6 +33,7 @@ import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; +import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence; import com.sap.sailing.domain.tracking.DynamicTrackedEvent; import com.sap.sailing.domain.tracking.RaceHandle; import com.sap.sailing.domain.tracking.RaceListener; @@ -92,14 +93,14 @@ public class RacingEventServiceImpl implements RacingEventService { private final SwissTimingFactory swissTimingFactory; - private final com.sap.sailing.domain.swisstimingadapter.persistence.DomainObjectFactory swissTimingDomainObjectFactory; + private final SwissTimingAdapterPersistence swissTimingAdapterPersistence; public RacingEventServiceImpl() { domainFactory = DomainFactory.INSTANCE; domainObjectFactory = DomainObjectFactory.INSTANCE; mongoObjectFactory = MongoObjectFactory.INSTANCE; swissTimingFactory = SwissTimingFactory.INSTANCE; - swissTimingDomainObjectFactory = com.sap.sailing.domain.swisstimingadapter.persistence.DomainObjectFactory.INSTANCE; + swissTimingAdapterPersistence = SwissTimingAdapterPersistence.INSTANCE; windTrackerFactory = ExpeditionWindTrackerFactory.getInstance(); eventsByName = new HashMap(); raceTrackersByEvent = new HashMap>(); @@ -228,7 +229,7 @@ public class RacingEventServiceImpl implements RacingEventService { Triple key = new Triple(raceID, hostname, port); RaceTracker tracker = raceTrackersByID.get(key); if (tracker == null) { - tracker = getSwissTimingFactory().createRaceTracker(raceID, hostname, port, windStore, swissTimingDomainObjectFactory); + tracker = getSwissTimingFactory().createRaceTracker(raceID, hostname, port, windStore, swissTimingAdapterPersistence); raceTrackersByID.put(tracker.getID(), tracker); Set trackers = raceTrackersByEvent.get(tracker.getEvent()); if (trackers == null) {