mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-30 09:26:44 +00:00
refactoring of the MongoDBService to be configurable (TEST, PROD, etc.)
apply the new service to all tests
This commit is contained in:
@@ -10,4 +10,4 @@ Require-Bundle: com.sap.sailing.domain.swisstimingadapter,
|
||||
com.sap.sailing.mongodb,
|
||||
com.sap.sailing.domain
|
||||
Export-Package: com.sap.sailing.domain.swisstimingadapter.persistence,
|
||||
com.sap.sailing.domain.swisstimingadapter.persistence.impl;x-friends:="com.sap.sailing.domain.swisstimingadapter.test"
|
||||
com.sap.sailing.domain.swisstimingadapter.persistence.impl; x-friends:="com.sap.sailing.domain.swisstimingadapter.test"
|
||||
|
||||
+12
-6
@@ -19,7 +19,9 @@ import com.sap.sailing.domain.swisstimingadapter.SailMasterTransceiver;
|
||||
import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory;
|
||||
import com.sap.sailing.domain.swisstimingadapter.persistence.impl.CollectionNames;
|
||||
import com.sap.sailing.domain.swisstimingadapter.persistence.impl.FieldNames;
|
||||
import com.sap.sailing.mongodb.Activator;
|
||||
import com.sap.sailing.domain.swisstimingadapter.persistence.impl.SwissTimingAdapterPersistenceImpl;
|
||||
import com.sap.sailing.mongodb.MongoDBConfiguration;
|
||||
import com.sap.sailing.mongodb.MongoDBService;
|
||||
import com.sap.sailing.util.Util.Pair;
|
||||
|
||||
/**
|
||||
@@ -83,8 +85,8 @@ public class StoreAndForward implements Runnable {
|
||||
* SailMaster connections.
|
||||
*/
|
||||
public StoreAndForward(String sailMasterHostname, int sailMasterPort, int portForClients, SwissTimingFactory swissTimingFactory,
|
||||
SwissTimingAdapterPersistence swissTimingAdapterPersistence) throws InterruptedException, IOException {
|
||||
db = Activator.getDefaultInstance().getDB();
|
||||
SwissTimingAdapterPersistence swissTimingAdapterPersistence, MongoDBService mongoDBService) throws InterruptedException, IOException {
|
||||
this.db = mongoDBService.getDB();
|
||||
this.listenPort = -1;
|
||||
this.transceiver = swissTimingFactory.createSailMasterTransceiver();
|
||||
this.portForClients = portForClients;
|
||||
@@ -123,8 +125,8 @@ public class StoreAndForward implements Runnable {
|
||||
* @throws IOException
|
||||
*/
|
||||
public StoreAndForward(final int listenPort, final int portForClients, SwissTimingFactory swissTimingFactory,
|
||||
SwissTimingAdapterPersistence swissTimingAdapterPersistence) throws InterruptedException, IOException {
|
||||
db = Activator.getDefaultInstance().getDB();
|
||||
SwissTimingAdapterPersistence swissTimingAdapterPersistence, MongoDBService mongoDBService) throws InterruptedException, IOException {
|
||||
this.db = mongoDBService.getDB();
|
||||
this.listenPort = listenPort;
|
||||
this.transceiver = swissTimingFactory.createSailMasterTransceiver();
|
||||
this.portForClients = portForClients;
|
||||
@@ -241,7 +243,11 @@ public class StoreAndForward implements Runnable {
|
||||
public static void main(String[] args) throws InterruptedException, IOException {
|
||||
int listenPort = Integer.valueOf(args[0]);
|
||||
int clientPort = Integer.valueOf(args[1]);
|
||||
new StoreAndForward(listenPort, clientPort, SwissTimingFactory.INSTANCE, SwissTimingAdapterPersistence.INSTANCE);
|
||||
|
||||
MongoDBService mongoDBService = MongoDBService.INSTANCE;
|
||||
mongoDBService.setConfiguration(MongoDBConfiguration.getDefaultConfiguration());
|
||||
SwissTimingAdapterPersistence swissTimingAdapterPersistence = new SwissTimingAdapterPersistenceImpl(mongoDBService, SwissTimingFactory.INSTANCE);
|
||||
new StoreAndForward(listenPort, clientPort, SwissTimingFactory.INSTANCE, swissTimingAdapterPersistence, mongoDBService);
|
||||
}
|
||||
|
||||
public void run() {
|
||||
|
||||
+2
-2
@@ -8,11 +8,11 @@ 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.SwissTimingAdapterPersistenceImpl;
|
||||
import com.sap.sailing.mongodb.Activator;
|
||||
import com.sap.sailing.mongodb.MongoDBService;
|
||||
|
||||
public interface SwissTimingAdapterPersistence extends RaceSpecificMessageLoader {
|
||||
|
||||
SwissTimingAdapterPersistence INSTANCE = new SwissTimingAdapterPersistenceImpl(Activator.getDefaultInstance().getDB(), SwissTimingFactory.INSTANCE);
|
||||
SwissTimingAdapterPersistence INSTANCE = new SwissTimingAdapterPersistenceImpl(MongoDBService.INSTANCE, SwissTimingFactory.INSTANCE);
|
||||
|
||||
Iterable<SwissTimingConfiguration> getSwissTimingConfigurations();
|
||||
|
||||
|
||||
+3
-2
@@ -18,6 +18,7 @@ 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.SwissTimingAdapterPersistence;
|
||||
import com.sap.sailing.mongodb.MongoDBService;
|
||||
|
||||
public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPersistence {
|
||||
|
||||
@@ -32,9 +33,9 @@ public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPers
|
||||
*/
|
||||
private HashMap<String, Race> cachedRaces = new HashMap<String, Race>();
|
||||
|
||||
public SwissTimingAdapterPersistenceImpl(DB db, SwissTimingFactory swissTimingFactory) {
|
||||
public SwissTimingAdapterPersistenceImpl(MongoDBService mongoDB, SwissTimingFactory swissTimingFactory) {
|
||||
super();
|
||||
this.database = db;
|
||||
this.database = mongoDB.getDB();
|
||||
this.swissTimingFactory = swissTimingFactory;
|
||||
init();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user