first attempt to load and store a TracTrac connectivity params object with service finder approach

Change-Id: I8a42e772a31ab074b561154ec42fa1ac28e79bb9
This commit is contained in:
Axel Uhl
2016-12-28 11:49:22 +01:00
parent 48ffb76e11
commit c949c21450
13 changed files with 238 additions and 39 deletions
@@ -28,7 +28,8 @@ Require-Bundle: com.sap.sailing.domain,
com.sap.sse.replication,
com.sap.sse,
com.sap.sse.filestorage,
com.sap.sse.shared.android
com.sap.sse.shared.android,
com.sap.sailing.domain.tractracadapter.persistence
Import-Package: com.sap.sailing.domain.common,
com.sap.sailing.domain.common.impl,
com.sap.sailing.domain.common.racelog,
@@ -4,15 +4,23 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import com.sap.sailing.domain.base.DomainFactory;
import com.sap.sailing.domain.persistence.DomainObjectFactory;
import com.sap.sailing.domain.persistence.MongoObjectFactory;
import com.sap.sailing.domain.persistence.MongoRaceLogStoreFactory;
import com.sap.sailing.domain.persistence.MongoRegattaLogStoreFactory;
import com.sap.sailing.domain.persistence.PersistenceFactory;
import com.sap.sailing.domain.persistence.racelog.tracking.DeviceIdentifierMongoHandler;
import com.sap.sailing.domain.persistence.racelog.tracking.impl.PlaceHolderDeviceIdentifierMongoHandler;
import com.sap.sailing.domain.racelog.tracking.test.mock.SmartphoneImeiIdentifier;
import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParametersHandler;
import com.sap.sailing.domain.tractracadapter.TracTracAdapterFactory;
import com.sap.sailing.domain.tractracadapter.impl.ConnectivityParamsHandler;
import com.sap.sailing.domain.tractracadapter.impl.RaceTrackingConnectivityParametersImpl;
import com.sap.sailing.domain.tractracadapter.persistence.impl.ConnectivityParamsHandler;
import com.sap.sse.common.NoCorrespondingServiceRegisteredException;
import com.sap.sse.common.TypeBasedServiceFinder;
import com.sap.sse.common.TypeBasedServiceFinderFactory;
import com.sap.sse.mongodb.MongoDBService;
/**
* A simplified implementation of the {@link TypeBasedServiceFinder} interface that, when the device type
@@ -32,7 +40,12 @@ public class MockConnectivityParamsServiceFinderFactory implements TypeBasedServ
throws NoCorrespondingServiceRegisteredException {
switch (type) {
case RaceTrackingConnectivityParametersImpl.TYPE:
return new ConnectivityParamsHandler();
final MongoObjectFactory mongoObjectFactory = PersistenceFactory.INSTANCE.getDefaultMongoObjectFactory(MockConnectivityParamsServiceFinderFactory.this);
final DomainObjectFactory domainObjectFactory = PersistenceFactory.INSTANCE.getDomainObjectFactory(MongoDBService.INSTANCE, DomainFactory.INSTANCE, MockConnectivityParamsServiceFinderFactory.this);
return new ConnectivityParamsHandler(
MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(mongoObjectFactory, domainObjectFactory),
MongoRegattaLogStoreFactory.INSTANCE.getMongoRegattaLogStore(mongoObjectFactory, domainObjectFactory),
TracTracAdapterFactory.INSTANCE.getOrCreateTracTracAdapter(domainObjectFactory.getBaseDomainFactory()).getTracTracDomainFactory());
default:
return null;
}