remove gpsfixes servlet from racelogtrackingadapter

This commit is contained in:
Fredrik Teschke committed 2014-11-16 20:10:50 +01:00
1 parent 17ba799017
commit ebf4cc5fed
5 files changed
+1 -225

No files matched your search

@@ -1,64 +0,0 @@
package com.sap.sailing.domain.racelogtracking.test.impl;
import static com.sap.sse.common.Util.size;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.racelog.tracking.NoCorrespondingServiceRegisteredException;
import com.sap.sailing.domain.common.racelog.tracking.TransformationException;
import com.sap.sailing.domain.racelog.tracking.DeviceIdentifier;
import com.sap.sailing.domain.racelog.tracking.test.mock.MockDeviceAndSessioinIdentifierWithGPSFixesDeserializer;
import com.sap.sailing.domain.racelog.tracking.test.mock.SmartphoneImeiIdentifier;
import com.sap.sailing.domain.racelogtracking.servlet.RecordFixesPostServlet;
import com.sap.sailing.domain.racelogtracking.test.AbstractGPSFixStoreTest;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.domain.tracking.impl.DynamicGPSFixMovingTrackImpl;
import com.sap.sailing.server.gateway.deserialization.impl.DeviceAndSessionIdentifierWithGPSFixesDeserializer;
import com.sap.sse.common.Util;
public class RecordFixesTest extends AbstractGPSFixStoreTest {
private RecordFixesPostServlet servlet;
private final DeviceAndSessionIdentifierWithGPSFixesDeserializer deserializer =
new MockDeviceAndSessioinIdentifierWithGPSFixesDeserializer();
private final DeviceIdentifier device = new SmartphoneImeiIdentifier("a");
@Before
public void setupServlet() {
servlet = new RecordFixesPostServlet();
servlet = spy(servlet);
when(servlet.getRequestDeserializer()).thenReturn(deserializer);
doReturn(service).when(servlet).getService();
}
@Test
public void areFixesStoredInDb() throws TransformationException, NoCorrespondingServiceRegisteredException {
map(comp, device, 0, 600);
int timepoint = 343;
List<GPSFix> fixes = new ArrayList<>();
fixes.add(createFix(timepoint, 0, 0, 0, 0));
fixes.add(createFix(timepoint+1, 0, 0, 0, 0));
Util.Triple<DeviceIdentifier, Serializable, List<GPSFix>> data = new Util.Triple<>(device, null, fixes);
servlet.process(null, data);
DynamicGPSFixMovingTrackImpl<Competitor> track = new DynamicGPSFixMovingTrackImpl<>(comp, 0);
store.loadCompetitorTrack(track, raceLog, comp);
track.lockForRead();
assertEquals(2, size(track.getRawFixes()));
assertEquals(timepoint, track.getFirstRawFix().getTimePoint().asMillis());
assertTrue(track.getFirstRawFix() instanceof GPSFixMoving);
track.unlockAfterRead();
}
}
@@ -22,7 +22,5 @@ Import-Package: com.mongodb,
org.json.simple.parser,
org.osgi.framework;version="1.6.0"
Export-Package: com.sap.sailing.domain.racelogtracking,
com.sap.sailing.domain.racelogtracking.impl;x-friends:="com.sap.sailing.domain.racelogtrackingadapter.testsupport,com.sap.sailing.gwt.ui.test",
com.sap.sailing.domain.racelogtracking.servlet;x-friends:="com.sap.sailing.domain.racelogtrackingadapter.test"
Web-ContextPath: /tracking
com.sap.sailing.domain.racelogtracking.impl;x-friends:="com.sap.sailing.domain.racelogtrackingadapter.testsupport,com.sap.sailing.gwt.ui.test"
Bundle-Activator: com.sap.sailing.domain.racelogtracking.impl.Activator
@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<!-- Disable directory listing: -->
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet
</servlet-class>
<init-param>
<param-name>dirAllowed</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>RecordFixesPostServlet</servlet-name>
<servlet-class>com.sap.sailing.domain.racelogtracking.servlet.RecordFixesPostServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RecordFixesPostServlet</servlet-name>
<url-pattern>/recordFixes</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RecordFixesFlatJsonPostServlet</servlet-name>
<servlet-class>com.sap.sailing.domain.racelogtracking.servlet.RecordFixesFlatJsonPostServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RecordFixesFlatJsonPostServlet</servlet-name>
<url-pattern>/recordFixesFlatJson</url-pattern>
</servlet-mapping>
</web-app>
@@ -1,51 +0,0 @@
package com.sap.sailing.domain.racelogtracking.servlet;
import java.util.Map;
import java.util.UUID;
import java.util.logging.Level;
import com.sap.sailing.domain.common.racelog.tracking.NoCorrespondingServiceRegisteredException;
import com.sap.sailing.domain.common.racelog.tracking.TransformationException;
import com.sap.sailing.domain.racelog.tracking.DeviceIdentifier;
import com.sap.sailing.domain.racelog.tracking.impl.SmartphoneUUIDIdentifierImpl;
import com.sap.sailing.domain.tracking.GPSFixMoving;
import com.sap.sailing.server.gateway.AbstractJsonPostServlet;
import com.sap.sailing.server.gateway.HttpExceptionWithMessage;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
import com.sap.sailing.server.gateway.deserialization.impl.FlatSmartphoneUuidAndGPSFixMovingJsonDeserializer;
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
import com.sap.sse.common.Util.Pair;
public class RecordFixesFlatJsonPostServlet extends AbstractJsonPostServlet<Pair<UUID, GPSFixMoving>, Void> {
private static final long serialVersionUID = -4618399862031700634L;
private final JsonDeserializer<Pair<UUID, GPSFixMoving>> deserializer =
new FlatSmartphoneUuidAndGPSFixMovingJsonDeserializer();
@Override
public JsonDeserializer<Pair<UUID, GPSFixMoving>> getRequestDeserializer() {
return deserializer;
}
@Override
public JsonSerializer<Void> getResponseSerializer() {
return null;
}
@Override
public Void process(Map<String, String> parameterValues, Pair<UUID, GPSFixMoving> domainObject)
throws HttpExceptionWithMessage {
DeviceIdentifier device = new SmartphoneUUIDIdentifierImpl(domainObject.getA());
GPSFixMoving fix = domainObject.getB();
try {
getService().getGPSFixStore().storeFix(device, fix);
logger.log(Level.INFO, "Added fix for device " + device.toString() + " to store");
} catch (TransformationException | NoCorrespondingServiceRegisteredException e) {
logger.log(Level.WARNING, "Could not load store fix from device " + device);
}
return null;
}
}
@@ -1,70 +0,0 @@
package com.sap.sailing.domain.racelogtracking.servlet;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import com.sap.sailing.domain.common.racelog.tracking.NoCorrespondingServiceRegisteredException;
import com.sap.sailing.domain.common.racelog.tracking.TransformationException;
import com.sap.sailing.domain.common.racelog.tracking.TypeBasedServiceFinder;
import com.sap.sailing.domain.racelog.tracking.DeviceIdentifier;
import com.sap.sailing.domain.tracking.GPSFix;
import com.sap.sailing.server.gateway.AbstractJsonPostServlet;
import com.sap.sailing.server.gateway.HttpExceptionWithMessage;
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
import com.sap.sailing.server.gateway.deserialization.impl.DeviceAndSessionIdentifierWithGPSFixesDeserializer;
import com.sap.sailing.server.gateway.deserialization.impl.DeviceIdentifierJsonDeserializer;
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
import com.sap.sailing.server.gateway.serialization.racelog.tracking.DeviceIdentifierJsonHandler;
import com.sap.sailing.server.gateway.serialization.racelog.tracking.GPSFixJsonHandler;
import com.sap.sse.common.Util;
public class RecordFixesPostServlet extends
AbstractJsonPostServlet<Util.Triple<DeviceIdentifier, Serializable, List<GPSFix>>, Void> {
private static final long serialVersionUID = 2778739335260621119L;
private DeviceAndSessionIdentifierWithGPSFixesDeserializer deserializer;
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
TypeBasedServiceFinder<GPSFixJsonHandler> fixServiceFinder = getServiceFinderFactory().createServiceFinder(
GPSFixJsonHandler.class);
TypeBasedServiceFinder<DeviceIdentifierJsonHandler> deviceServiceFinder = getServiceFinderFactory()
.createServiceFinder(DeviceIdentifierJsonHandler.class);
deserializer = new DeviceAndSessionIdentifierWithGPSFixesDeserializer(fixServiceFinder,
new DeviceIdentifierJsonDeserializer(deviceServiceFinder));
}
@Override
public JsonDeserializer<Util.Triple<DeviceIdentifier, Serializable, List<GPSFix>>> getRequestDeserializer() {
return deserializer;
}
@Override
public JsonSerializer<Void> getResponseSerializer() {
return null;
}
@Override
public Void process(Map<String, String> parameterValues,
Util.Triple<DeviceIdentifier, Serializable, List<GPSFix>> domainObject) throws HttpExceptionWithMessage {
DeviceIdentifier device = domainObject.getA();
// might use the session id in the future
// Serializable sessionId = domainObject.getB();
List<GPSFix> fixes = domainObject.getC();
for (GPSFix fix : fixes) {
try {
getService().getGPSFixStore().storeFix(device, fix);
} catch (TransformationException | NoCorrespondingServiceRegisteredException e) {
logger.log(Level.WARNING, "Could not load store fix from device " + device);
}
}
return null;
}
}