mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-03 17:49:40 +00:00
added ping mark functionality to adminConsole
This commit is contained in:
1 parent
335e090ebc
commit
9cffd20913
53 files changed
+440
-109
No files matched your search
@@ -22,7 +22,11 @@ Export-Package: com.sap.sailing.domain.persistence,
|
||||
com.sap.sailing.domain.racelogtrackingadapter.test",
|
||||
com.sap.sailing.domain.persistence.media,
|
||||
com.sap.sailing.domain.persistence.racelog.tracking,
|
||||
com.sap.sailing.domain.persistence.racelog.tracking.impl;x-friends:="com.sap.sailing.domain.racelogtrackingadapter.testsupport,com.sap.sailing.mongodb.test,com.sap.sailing.domain.racelogtrackingadapter.test"
|
||||
com.sap.sailing.domain.persistence.racelog.tracking.impl;
|
||||
x-friends:="com.sap.sailing.domain.racelogtrackingadapter.testsupport,
|
||||
com.sap.sailing.mongodb.test,
|
||||
com.sap.sailing.domain.racelogtrackingadapter.test,
|
||||
com.sap.sailing.server"
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: org.json.simple,
|
||||
org.json.simple.parser,
|
||||
|
||||
+6
-24
@@ -1,46 +1,28 @@
|
||||
package com.sap.sailing.domain.persistence.impl;
|
||||
|
||||
import java.util.Dictionary;
|
||||
import java.util.HashSet;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Set;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.ServiceRegistration;
|
||||
|
||||
import com.sap.sailing.domain.common.racelog.tracking.TypeBasedServiceFinder;
|
||||
import com.sap.sailing.domain.persistence.racelog.tracking.GPSFixMongoHandler;
|
||||
import com.sap.sailing.domain.persistence.racelog.tracking.impl.GPSFixMovingMongoHandlerImpl;
|
||||
import com.sap.sailing.domain.persistence.racelog.tracking.impl.GPSFixMongoHandlerImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.GPSFixImpl;
|
||||
import com.sap.sailing.domain.tracking.impl.GPSFixMovingImpl;
|
||||
import com.sap.sailing.mongodb.MongoDBService;
|
||||
|
||||
public class Activator implements BundleActivator {
|
||||
private Set<ServiceRegistration<?>> registrations = new HashSet<>();
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
for (CollectionNames name : CollectionNames.values())
|
||||
MongoDBService.INSTANCE.registerExclusively(CollectionNames.class, name.name());
|
||||
|
||||
MongoObjectFactoryImpl mof = new MongoObjectFactoryImpl(null);
|
||||
DomainObjectFactoryImpl dof = new DomainObjectFactoryImpl(null, null);
|
||||
Dictionary<String, String> properties = new Hashtable<String, String>();
|
||||
properties.put(TypeBasedServiceFinder.TYPE, GPSFixImpl.class.getName());
|
||||
registrations.add(context.registerService(GPSFixMongoHandler.class,
|
||||
new GPSFixMongoHandlerImpl(mof, dof), properties));
|
||||
properties.put(TypeBasedServiceFinder.TYPE, GPSFixMovingImpl.class.getName());
|
||||
registrations.add(context.registerService(GPSFixMongoHandler.class,
|
||||
new GPSFixMovingMongoHandlerImpl(mof, dof), properties));
|
||||
for (CollectionNames name : CollectionNames.values())
|
||||
MongoDBService.INSTANCE.registerExclusively(CollectionNames.class, name.name());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
for (ServiceRegistration<?> reg : registrations) {
|
||||
reg.unregister();
|
||||
}
|
||||
registrations.clear();
|
||||
for (ServiceRegistration<?> reg : registrations) {
|
||||
reg.unregister();
|
||||
}
|
||||
registrations.clear();
|
||||
}
|
||||
|
||||
}
|
||||
+4
-2
@@ -156,6 +156,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
private RaceLogEventRestoreFactory raceLogEventFactory;
|
||||
private final DomainFactory baseDomainFactory;
|
||||
private final TypeBasedServiceFinder<DeviceIdentifierMongoHandler> deviceIdentifierServiceFinder;
|
||||
private final TypeBasedServiceFinderFactory serviceFinderFactory;
|
||||
|
||||
/**
|
||||
* Uses <code>null</code> as the {@link TypeBasedServiceFinder}, meaning that no {@link DeviceIdentifier}s can be loaded
|
||||
@@ -167,6 +168,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
|
||||
public DomainObjectFactoryImpl(DB db, DomainFactory baseDomainFactory, TypeBasedServiceFinderFactory serviceFinderFactory) {
|
||||
super();
|
||||
this.serviceFinderFactory = serviceFinderFactory;
|
||||
if (serviceFinderFactory != null) {
|
||||
this.deviceIdentifierServiceFinder = serviceFinderFactory.createServiceFinder(DeviceIdentifierMongoHandler.class);
|
||||
} else {
|
||||
@@ -924,7 +926,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
BasicDBList dbSeries = (BasicDBList) dbRegatta.get(FieldNames.REGATTA_SERIES.name());
|
||||
Iterable<Series> series = loadSeries(dbSeries, trackedRegattaRegistry);
|
||||
RaceLogStore raceLogStore = MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(
|
||||
new MongoObjectFactoryImpl(database),
|
||||
new MongoObjectFactoryImpl(database, serviceFinderFactory),
|
||||
this);
|
||||
|
||||
Serializable courseAreaId = (Serializable) dbRegatta.get(FieldNames.COURSE_AREA_ID.name());
|
||||
@@ -1087,7 +1089,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
List<RaceLogEvent> eventsToMigrate = loadRaceLogEvents(result, query);
|
||||
if (!eventsToMigrate.isEmpty()) {
|
||||
// ... migrate them...
|
||||
MongoRaceLogStoreVisitor storeVisitor = new MongoRaceLogStoreVisitor(identifier, new MongoObjectFactoryImpl(database));
|
||||
MongoRaceLogStoreVisitor storeVisitor = new MongoRaceLogStoreVisitor(identifier, new MongoObjectFactoryImpl(database, serviceFinderFactory));
|
||||
for (RaceLogEvent event : eventsToMigrate) {
|
||||
event.accept(storeVisitor);
|
||||
}
|
||||
|
||||
+4
-2
@@ -1143,8 +1143,10 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory {
|
||||
|
||||
public static DBObject storeDeviceId(
|
||||
TypeBasedServiceFinder<DeviceIdentifierMongoHandler> deviceIdentifierServiceFinder, DeviceIdentifier device)
|
||||
throws TransformationException, NoCorrespondingServiceRegisteredException{
|
||||
Object deviceTypeId = deviceIdentifierServiceFinder.findService(device.getIdentifierType()).transformForth(device);
|
||||
throws TransformationException, NoCorrespondingServiceRegisteredException {
|
||||
String type = device.getIdentifierType();
|
||||
DeviceIdentifierMongoHandler handler = deviceIdentifierServiceFinder.findService(type);
|
||||
Object deviceTypeId = handler.transformForth(device);
|
||||
return new BasicDBObjectBuilder()
|
||||
.add(FieldNames.DEVICE_TYPE.name(), device.getIdentifierType())
|
||||
.add(FieldNames.DEVICE_TYPE_ID.name(), deviceTypeId).get();
|
||||
|
||||
+5
-3
@@ -4,6 +4,8 @@ import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.DBObject;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.persistence.DomainObjectFactory;
|
||||
import com.sap.sailing.domain.persistence.MongoObjectFactory;
|
||||
import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl;
|
||||
import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl;
|
||||
import com.sap.sailing.domain.persistence.racelog.tracking.GPSFixMongoHandler;
|
||||
@@ -14,9 +16,9 @@ public class GPSFixMongoHandlerImpl implements GPSFixMongoHandler {
|
||||
MongoObjectFactoryImpl mof;
|
||||
DomainObjectFactoryImpl dof;
|
||||
|
||||
public GPSFixMongoHandlerImpl(MongoObjectFactoryImpl mof, DomainObjectFactoryImpl dof) {
|
||||
this.mof = mof;
|
||||
this.dof = dof;
|
||||
public GPSFixMongoHandlerImpl(MongoObjectFactory mof, DomainObjectFactory dof) {
|
||||
this.mof = (MongoObjectFactoryImpl) mof;
|
||||
this.dof = (DomainObjectFactoryImpl) dof;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-3
@@ -5,6 +5,8 @@ import com.mongodb.DBObject;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
import com.sap.sailing.domain.common.SpeedWithBearing;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.persistence.DomainObjectFactory;
|
||||
import com.sap.sailing.domain.persistence.MongoObjectFactory;
|
||||
import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl;
|
||||
import com.sap.sailing.domain.persistence.impl.MongoObjectFactoryImpl;
|
||||
import com.sap.sailing.domain.persistence.racelog.tracking.GPSFixMongoHandler;
|
||||
@@ -16,9 +18,9 @@ public class GPSFixMovingMongoHandlerImpl implements GPSFixMongoHandler {
|
||||
MongoObjectFactoryImpl mof;
|
||||
DomainObjectFactoryImpl dof;
|
||||
|
||||
public GPSFixMovingMongoHandlerImpl(MongoObjectFactoryImpl mof, DomainObjectFactoryImpl dof) {
|
||||
this.mof = mof;
|
||||
this.dof = dof;
|
||||
public GPSFixMovingMongoHandlerImpl(MongoObjectFactory mof, DomainObjectFactory dof) {
|
||||
this.mof = (MongoObjectFactoryImpl) mof;
|
||||
this.dof = (DomainObjectFactoryImpl) dof;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user