mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-09 13:50:57 +00:00
Started changing master data export to use java binary object serializ.
This commit is contained in:
1 parent
426ed738ed
commit
12c6451c8b
30 files changed
+662
-467
No files matched your search
+1
@@ -91,6 +91,7 @@ import com.sap.sailing.domain.leaderboard.RegattaLeaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.ScoringScheme;
|
||||
import com.sap.sailing.domain.leaderboard.SettableScoreCorrection;
|
||||
import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule;
|
||||
import com.sap.sailing.domain.leaderboard.impl.DelayedLeaderboardCorrectionsImpl;
|
||||
import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl;
|
||||
import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl;
|
||||
import com.sap.sailing.domain.leaderboard.impl.RegattaLeaderboardImpl;
|
||||
|
||||
+33
@@ -2,6 +2,7 @@ package com.sap.sailing.domain.base.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
@@ -37,6 +38,16 @@ public abstract class AbstractRaceColumn extends SimpleAbstractRaceColumn implem
|
||||
private transient RaceLogInformation raceLogInformation;
|
||||
private RaceLogIdentifierTemplate raceLogIdentifierTemplate;
|
||||
|
||||
/**
|
||||
* we don't want the TrackedRaces to be serialized during a master data export. Thus, we need this thread flag which
|
||||
* is true only during master data export
|
||||
*/
|
||||
private transient ThreadLocal<Boolean> ongoingMasterDataExport = new ThreadLocal<Boolean>() {
|
||||
protected Boolean initialValue() {
|
||||
return false;
|
||||
};
|
||||
};
|
||||
|
||||
public AbstractRaceColumn() {
|
||||
this.trackedRaces = new HashMap<Fleet, TrackedRace>();
|
||||
this.raceIdentifiers = new HashMap<Fleet, RaceIdentifier>();
|
||||
@@ -197,4 +208,26 @@ public abstract class AbstractRaceColumn extends SimpleAbstractRaceColumn implem
|
||||
raceLog.addListener(new RaceColumnRaceLogReplicator(this, raceLogIdentifierTemplate.compileRaceLogIdentifier(fleet)));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* While set to true, any serialization in the current thread will not include the tracked races. Make sure to set
|
||||
* back to false, after serialization. (in finally block)
|
||||
*
|
||||
* @param flagValue
|
||||
* set to false for default behavior, set to true to exclude tracked races
|
||||
*/
|
||||
public void setMasterDataExportOngoingThreadFlag(boolean flagValue) {
|
||||
ongoingMasterDataExport.set(flagValue);
|
||||
}
|
||||
|
||||
private void writeObject(ObjectOutputStream stream) throws IOException {
|
||||
if (ongoingMasterDataExport.get()) {
|
||||
stream.writeObject(new HashMap<Fleet, TrackedRace>());
|
||||
stream.writeObject(raceIdentifiers);
|
||||
stream.writeObject(raceLogs);
|
||||
stream.writeObject(raceLogIdentifierTemplate);
|
||||
} else {
|
||||
stream.defaultWriteObject();
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.domain.persistence.impl;
|
||||
package com.sap.sailing.domain.leaderboard.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
-11
@@ -5,7 +5,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.LeaderboardMasterData;
|
||||
import com.sap.sailing.domain.leaderboard.ScoringScheme;
|
||||
import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule;
|
||||
@@ -48,16 +47,6 @@ public class LeaderboardGroupMasterData {
|
||||
this.events = events;
|
||||
this.regattas = regattas;
|
||||
}
|
||||
|
||||
public Competitor getCompetitorById(Serializable id) {
|
||||
for (LeaderboardMasterData leaderboard : leaderboards) {
|
||||
Competitor c = leaderboard.getCompetitorsById().get(id);
|
||||
if (c != null) {
|
||||
return c;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
|
||||
+9
-9
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.domain.masterdataimport;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.domain.common.WindSourceType;
|
||||
@@ -9,34 +8,36 @@ import com.sap.sailing.domain.common.impl.WindSourceImpl;
|
||||
import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID;
|
||||
import com.sap.sailing.domain.tracking.Wind;
|
||||
|
||||
public class WindTrackMasterData {
|
||||
public class WindTrackMasterData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -2047209715118386803L;
|
||||
|
||||
private final WindSourceType windSourceType;
|
||||
private final Serializable windSourceId;
|
||||
private final Set<Wind> fixes;
|
||||
private final Object windSourceId;
|
||||
private final Iterable<Wind> fixes;
|
||||
private final String regattaName;
|
||||
private final String raceName;
|
||||
private final Serializable raceId;
|
||||
|
||||
public WindTrackMasterData(String windSourceTypeName, Serializable windSourceId, Set<Wind> fixes,
|
||||
public WindTrackMasterData(WindSourceType windSourceType, Object windSourceId, Iterable<Wind> fixes,
|
||||
String regattaName, String raceName, Serializable raceId) {
|
||||
this.windSourceId = windSourceId;
|
||||
this.fixes = fixes;
|
||||
this.regattaName = regattaName;
|
||||
this.raceName = raceName;
|
||||
this.raceId = raceId;
|
||||
this.windSourceType = WindSourceType.valueOf(windSourceTypeName);
|
||||
this.windSourceType = windSourceType;
|
||||
}
|
||||
|
||||
public WindSourceType getWindSourceType() {
|
||||
return windSourceType;
|
||||
}
|
||||
|
||||
public Serializable getWindSourceId() {
|
||||
public Object getWindSourceId() {
|
||||
return windSourceId;
|
||||
}
|
||||
|
||||
public Set<Wind> getFixes() {
|
||||
public Iterable<Wind> getFixes() {
|
||||
return fixes;
|
||||
}
|
||||
|
||||
@@ -52,7 +53,6 @@ public class WindTrackMasterData {
|
||||
return raceId;
|
||||
}
|
||||
|
||||
|
||||
public WindSource getWindSource() {
|
||||
WindSource source;
|
||||
if (windSourceId != null) {
|
||||
|
||||
@@ -32,10 +32,11 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sse.gwt;bundle-version="1.0.0"
|
||||
Bundle-Activator: com.sap.sailing.gwt.ui.server.Activator
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: javax.jms;version="1.1.0",
|
||||
Import-Package: com.sap.sailing.server.gateway.masterdata,
|
||||
javax.jms;version="1.1.0",
|
||||
javax.servlet;version="2.6.0",
|
||||
javax.servlet.http;version="2.6.0",
|
||||
javax.servlet.descriptor;version="2.6.0",
|
||||
javax.servlet.http;version="2.6.0",
|
||||
org.json.simple,
|
||||
org.json.simple.parser,
|
||||
org.osgi.framework,
|
||||
|
||||
+12
-16
@@ -1,10 +1,9 @@
|
||||
package com.sap.sailing.gwt.ui.server;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FilterInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
@@ -15,7 +14,6 @@ import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.net.UnknownHostException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
@@ -240,6 +238,7 @@ import com.sap.sailing.gwt.ui.shared.RaceInfoDTO.GateStartInfoDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceInfoDTO.RRS26InfoDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceInfoDTO.RaceInfoExtensionDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogEventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogSetStartTimeDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceTimesInfoDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceWithCompetitorsDTO;
|
||||
@@ -247,7 +246,6 @@ import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaScoreCorrectionDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaScoreCorrectionDTO.ScoreCorrectionEntryDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogEventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.ReplicaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.ReplicationMasterDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.ReplicationStateDTO;
|
||||
@@ -271,6 +269,7 @@ import com.sap.sailing.resultimport.ResultUrlProvider;
|
||||
import com.sap.sailing.resultimport.ResultUrlRegistry;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sailing.server.RacingEventServiceOperation;
|
||||
import com.sap.sailing.server.gateway.masterdata.TopLevelMasterData;
|
||||
import com.sap.sailing.server.masterdata.MasterDataImporter;
|
||||
import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard;
|
||||
import com.sap.sailing.server.operationaltransformation.AddColumnToSeries;
|
||||
@@ -3363,7 +3362,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
|
||||
URL serverAddress = null;
|
||||
InputStream inputStream = null;
|
||||
BufferedReader rd = null;
|
||||
ObjectInputStream objectInputStream = null;
|
||||
try {
|
||||
serverAddress = createUrl(hostname, port, query);
|
||||
//set up out communications stuff
|
||||
@@ -3385,13 +3384,9 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
inputStream = new TimeoutExtendingInputStream(connection.getInputStream(), connection);
|
||||
}
|
||||
|
||||
rd = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String line;
|
||||
while ((line = rd.readLine()) != null) {
|
||||
sb.append(line);
|
||||
}
|
||||
return importFromHttpResponse(sb.toString(), override);
|
||||
objectInputStream = new ObjectInputStream(inputStream);
|
||||
TopLevelMasterData topLevelMasterData = (TopLevelMasterData) objectInputStream.readObject();
|
||||
return importFromHttpResponse(topLevelMasterData, override);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
@@ -3404,8 +3399,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
if (inputStream != null) {
|
||||
inputStream.close();
|
||||
}
|
||||
if (rd != null) {
|
||||
rd.close();
|
||||
if (objectInputStream != null) {
|
||||
objectInputStream.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
}
|
||||
@@ -3416,9 +3411,10 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
return new URL("http://" + host + ":" + port + "/sailingserver/api/v1/masterdata/leaderboardgroups?" + query);
|
||||
}
|
||||
|
||||
protected MasterDataImportObjectCreationCount importFromHttpResponse(String string, boolean override) {
|
||||
protected MasterDataImportObjectCreationCount importFromHttpResponse(TopLevelMasterData topLevelMasterData,
|
||||
boolean override) {
|
||||
MasterDataImporter importer = new MasterDataImporter(baseDomainFactory, getService());
|
||||
return importer.importMasterData(string, override);
|
||||
return importer.importMasterData(topLevelMasterData, override);
|
||||
}
|
||||
|
||||
private String createLeaderboardQuery(String[] groupNames, boolean compress) throws UnsupportedEncodingException {
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
@@ -0,0 +1 @@
|
||||
bin/
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.sap.sailing.server.gateway.masterdata</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,7 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -0,0 +1,3 @@
|
||||
eclipse.preferences.version=1
|
||||
pluginProject.extensions=false
|
||||
resolve.requirebundle=false
|
||||
@@ -0,0 +1,11 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Sailing Server Gateway Master-Data
|
||||
Bundle-SymbolicName: com.sap.sailing.server.gateway.masterdata
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sailing.domain.common
|
||||
Bundle-ClassPath: .
|
||||
Export-Package: com.sap.sailing.server.gateway.masterdata
|
||||
@@ -0,0 +1,4 @@
|
||||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>root</artifactId>
|
||||
<groupId>com.sap.sailing</groupId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.sap.sailing.server.gateway.masterdata</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
package com.sap.sailing.server.gateway.masterdata;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.sap.sailing.domain.base.Event;
|
||||
import com.sap.sailing.domain.base.Fleet;
|
||||
import com.sap.sailing.domain.base.RaceColumn;
|
||||
import com.sap.sailing.domain.base.Regatta;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.domain.common.media.MediaTrack;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.domain.masterdataimport.WindTrackMasterData;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.domain.tracking.WindTrack;
|
||||
|
||||
/**
|
||||
* Holds all information needed for a master data import.
|
||||
*
|
||||
* @author Frederik Petersen (D054528)
|
||||
*
|
||||
*/
|
||||
public class TopLevelMasterData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4820893865792553281L;
|
||||
private final Map<String, Regatta> regattaForRaceIdStrings;
|
||||
private final Set<MediaTrack> allMediaTracks;
|
||||
private final Set<LeaderboardGroup> leaderboardGroups;
|
||||
private final Set<WindTrackMasterData> windTrackMasterData;
|
||||
|
||||
public TopLevelMasterData(final Set<LeaderboardGroup> groupsToExport, final Iterable<Event> allEvents,
|
||||
final Map<String, Regatta> regattaForRaceIdString, final Collection<MediaTrack> allMediaTracks) {
|
||||
this.regattaForRaceIdStrings = regattaForRaceIdString;
|
||||
this.allMediaTracks = new HashSet<MediaTrack>();
|
||||
this.allMediaTracks.addAll(allMediaTracks);
|
||||
this.leaderboardGroups = groupsToExport;
|
||||
this.windTrackMasterData = fillWindMap(groupsToExport);
|
||||
}
|
||||
|
||||
private Set<WindTrackMasterData> fillWindMap(Set<LeaderboardGroup> groupsToExport) {
|
||||
Set<WindTrackMasterData> windTrackMasterDataSet = new HashSet<WindTrackMasterData>();
|
||||
for (LeaderboardGroup group : groupsToExport) {
|
||||
for (Leaderboard leaderboard : group.getLeaderboards()) {
|
||||
for (RaceColumn raceColumn : leaderboard.getRaceColumns()) {
|
||||
for (Fleet fleet : raceColumn.getFleets()) {
|
||||
addWindTracksToSetIfExistantAndSourceCanBeStored(windTrackMasterDataSet, raceColumn, fleet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return windTrackMasterDataSet;
|
||||
}
|
||||
|
||||
private void addWindTracksToSetIfExistantAndSourceCanBeStored(Set<WindTrackMasterData> windTrackMasterDataSet,
|
||||
RaceColumn raceColumn, Fleet fleet) {
|
||||
TrackedRace trackedRace = raceColumn.getTrackedRace(fleet);
|
||||
if (trackedRace != null) {
|
||||
Iterable<WindSource> windSources = trackedRace.getWindSources();
|
||||
String raceName = trackedRace.getRace().getName();
|
||||
Serializable raceId = trackedRace.getRace().getId();
|
||||
String regattaName = trackedRace.getTrackedRegatta().getRegatta().getName();
|
||||
if (windSources != null) {
|
||||
for (WindSource source : windSources) {
|
||||
if (source.canBeStored()) {
|
||||
WindTrack track = trackedRace.getOrCreateWindTrack(source);
|
||||
track.lockForRead();
|
||||
try {
|
||||
windTrackMasterDataSet.add(new WindTrackMasterData(source.getType(), source.getId(), track
|
||||
.getFixes(), regattaName, raceName, raceId));
|
||||
} finally {
|
||||
track.unlockAfterRead();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, Regatta> getRegattaForRaceIdStrings() {
|
||||
return regattaForRaceIdStrings;
|
||||
}
|
||||
|
||||
public Collection<MediaTrack> getAllMediaTracks() {
|
||||
return allMediaTracks;
|
||||
}
|
||||
|
||||
public Collection<LeaderboardGroup> getLeaderboardGroups() {
|
||||
return leaderboardGroups;
|
||||
}
|
||||
|
||||
public Set<WindTrackMasterData> getWindTrackMasterData() {
|
||||
return windTrackMasterData;
|
||||
}
|
||||
|
||||
}
|
||||
+2
-1
@@ -65,7 +65,8 @@ public class WindTrackMasterDataJsonDeserializer implements JsonDeserializer<Win
|
||||
Wind wind = windDeserializer.deserialize(json);
|
||||
fixes.add(wind);
|
||||
}
|
||||
return new WindTrackMasterData(windSourceTypeName, windSourceId, fixes, regattaName, raceName, id);
|
||||
// return new WindTrackMasterData(windSourceTypeName, windSourceId, fixes, regattaName, raceName, id);
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Import-Package: com.sap.sailing.server,
|
||||
com.sap.sailing.server.gateway.masterdata,
|
||||
com.sap.sailing.server.operationaltransformation,
|
||||
javax.ws.rs;version="1.1.1",
|
||||
javax.ws.rs.core;version="1.1.1",
|
||||
|
||||
+83
-24
@@ -1,6 +1,8 @@
|
||||
package com.sap.sailing.server.gateway.jaxrs.api;
|
||||
|
||||
import java.io.FilterOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.HashSet;
|
||||
@@ -15,16 +17,13 @@ import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.WebApplicationException;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.ResponseBuilder;
|
||||
import javax.ws.rs.core.StreamingOutput;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.leaderboard.LeaderboardGroup;
|
||||
import com.sap.sailing.server.gateway.jaxrs.AbstractSailingServerResource;
|
||||
import com.sap.sailing.server.gateway.serialization.masterdata.impl.TopLevelMasterDataSerializer;
|
||||
import com.sap.sailing.server.gateway.masterdata.TopLevelMasterData;
|
||||
|
||||
@Path("/v1/masterdata")
|
||||
public class MasterDataResource extends AbstractSailingServerResource {
|
||||
@@ -32,58 +31,118 @@ public class MasterDataResource extends AbstractSailingServerResource {
|
||||
private static final Logger logger = Logger.getLogger(MasterDataResource.class.getName());
|
||||
|
||||
@GET
|
||||
@Produces("application/json;charset=UTF-8")
|
||||
@Produces("application/x-java-serialized-object")
|
||||
@Path("leaderboardgroups")
|
||||
public Response getMasterDataByLeaderboardGroups(@QueryParam("names[]") List<String> leaderboardGroupNames,
|
||||
@QueryParam("compress") Boolean compress) throws UnsupportedEncodingException {
|
||||
long startTime = System.currentTimeMillis();
|
||||
final long startTime = System.currentTimeMillis();
|
||||
logger.info("Masterdataexport has started");
|
||||
if (compress == null) {
|
||||
compress = false;
|
||||
}
|
||||
Map<String, LeaderboardGroup> leaderboardGroups = getService().getLeaderboardGroups();
|
||||
Set<String> requestedLeaderboardGroupNames = new HashSet<String>();
|
||||
logger.info(String.format("Masterdataexport gzip compression is turned %s", compress ? "on" : "off"));
|
||||
Map<String, LeaderboardGroup> allLeaderboardGroups = getService().getLeaderboardGroups();
|
||||
|
||||
Set<LeaderboardGroup> groupsToExport = new HashSet<LeaderboardGroup>();
|
||||
|
||||
if (leaderboardGroupNames.size() > 0) {
|
||||
for (String name : leaderboardGroupNames) {
|
||||
requestedLeaderboardGroupNames.add(name);
|
||||
LeaderboardGroup group = allLeaderboardGroups.get(name);
|
||||
if (group != null) {
|
||||
groupsToExport.add(group);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// No range supplied. Export all for now
|
||||
requestedLeaderboardGroupNames.addAll(leaderboardGroups.keySet());
|
||||
groupsToExport = new HashSet<LeaderboardGroup>();
|
||||
groupsToExport.addAll(allLeaderboardGroups.values());
|
||||
}
|
||||
|
||||
TopLevelMasterDataSerializer masterSerializer = new TopLevelMasterDataSerializer(leaderboardGroups,
|
||||
final TopLevelMasterData masterData = new TopLevelMasterData(groupsToExport,
|
||||
getService().getAllEvents(), getService().getPersistentRegattasForRaceIDs(), getService()
|
||||
.getAllMediaTracks());
|
||||
|
||||
JSONObject masterData = masterSerializer.serialize(requestedLeaderboardGroupNames);
|
||||
ResponseBuilder resp;
|
||||
if (compress) {
|
||||
final byte[] uncompressedResult = masterData.toJSONString().getBytes("UTF-8");
|
||||
|
||||
StreamingOutput streamingOutput = new StreamingOutput() {
|
||||
|
||||
@Override
|
||||
public void write(OutputStream output) throws IOException, WebApplicationException {
|
||||
GZIPOutputStream gzip = null;
|
||||
ObjectOutputStream objectOutputStream = null;
|
||||
try {
|
||||
gzip = new GZIPOutputStream(output);
|
||||
gzip.write(uncompressedResult);
|
||||
GZIPOutputStream gzip = new GZIPOutputStream(output);
|
||||
OutputStream outputStreamWithByteCounter = new ByteCountOutputStreamDecorator(gzip);
|
||||
objectOutputStream = new ObjectOutputStream(outputStreamWithByteCounter);
|
||||
|
||||
// Actual start of streaming
|
||||
objectOutputStream.writeObject(masterData);
|
||||
} finally {
|
||||
gzip.close();
|
||||
objectOutputStream.close();
|
||||
}
|
||||
long timeToExport = System.currentTimeMillis() - startTime;
|
||||
logger.info(String.format("Took %s ms to finish masterdataexport", timeToExport));
|
||||
}
|
||||
};
|
||||
resp = Response.ok(streamingOutput).header("Content-Encoding", "gzip");
|
||||
} else {
|
||||
StreamingOutput streamingOutput = new StreamingOutput() {
|
||||
|
||||
@Override
|
||||
public void write(OutputStream output) throws IOException, WebApplicationException {
|
||||
ObjectOutputStream objectOutputStream = null;
|
||||
try {
|
||||
OutputStream outputStreamWithByteCounter = new ByteCountOutputStreamDecorator(output);
|
||||
objectOutputStream = new ObjectOutputStream(outputStreamWithByteCounter);
|
||||
|
||||
// Actual start of streaming
|
||||
objectOutputStream.writeObject(masterData);
|
||||
} finally {
|
||||
objectOutputStream.close();
|
||||
long timeToExport = System.currentTimeMillis() - startTime;
|
||||
logger.info(String.format("Took %s ms to finish masterdataexport", timeToExport));
|
||||
}
|
||||
}
|
||||
};
|
||||
resp = Response.ok(streamingOutput, MediaType.APPLICATION_JSON).header("Content-Encoding", "gzip");
|
||||
} else {
|
||||
String result = masterData.toJSONString();
|
||||
resp = Response.ok(result, MediaType.APPLICATION_JSON);
|
||||
resp = Response.ok(streamingOutput);
|
||||
}
|
||||
|
||||
Response builtResponse = resp.build();
|
||||
long timeToExport = System.currentTimeMillis() - startTime;
|
||||
logger.info(String.format("Took %s ms to export master data.", timeToExport));
|
||||
logger.info(String.format("Took %s ms to start masterdataexport-streaming.", timeToExport));
|
||||
return builtResponse;
|
||||
}
|
||||
|
||||
private class ByteCountOutputStreamDecorator extends FilterOutputStream {
|
||||
|
||||
private long byteCount = 0;
|
||||
|
||||
public ByteCountOutputStreamDecorator(OutputStream out) {
|
||||
super(out);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(byte[] b) throws IOException {
|
||||
byteCount++;
|
||||
super.write(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(byte[] b, int off, int len) throws IOException {
|
||||
byteCount = byteCount + len;
|
||||
super.write(b, off, len);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(int b) throws IOException {
|
||||
byteCount++;
|
||||
super.write(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
logger.info(String.format("Uncompressed data size of masterdataexport: %s bytes", byteCount));
|
||||
super.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+291
-336
File diff suppressed because it is too large.
Load diff
@@ -8,6 +8,7 @@ Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Import-Package: com.sap.sailing.server.gateway.deserialization,
|
||||
com.sap.sailing.server.gateway.deserialization.masterdata.impl,
|
||||
com.sap.sailing.server.gateway.masterdata,
|
||||
com.sap.sailing.server.gateway.serialization.masterdata.impl,
|
||||
org.json.simple,
|
||||
org.json.simple.parser,
|
||||
|
||||
@@ -32,5 +32,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@5:true,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@4:true,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5:true,com.sap.sailing.server.replication@4:true,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@4:true,com.sap.sailing.www@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@5:true,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@4:true,com.sap.sailing.server.gateway.masterdata*1.0.0.qualifier@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5:true,com.sap.sailing.server.replication@4:true,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@4:true,com.sap.sailing.www@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -26,6 +26,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils.test@default:false,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination.test@default:false,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.test@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter.test@default:false,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport.test@default:false,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector.test@default:false,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport.test@default:false,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding.test@default:false,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui.test@default:false,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport.test@default:false,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb.test@default:false,com.sap.sailing.mongodb@default:default,com.sap.sailing.operationaltransformation.test@default:false,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway.test@default:false,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication.test@default:false,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.test@default:false,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xmlexport@default:default,com.sap.sailing.xrr.resultimport.test@default:false,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils.test@default:false,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination.test@default:false,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.test@default:default,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter.test@default:false,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport.test@default:false,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector.test@default:false,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport.test@default:false,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding.test@default:false,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui.test@default:false,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport.test@default:false,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb.test@default:false,com.sap.sailing.mongodb@default:default,com.sap.sailing.operationaltransformation.test@default:false,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.masterdata*1.0.0.qualifier@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway.test@default:false,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication.test@default:false,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.test@default:false,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xmlexport@default:default,com.sap.sailing.xrr.resultimport.test@default:false,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="yk-options" value=" additional-options2=onexit\=snapshot "/>
|
||||
</launchConfiguration>
|
||||
+1
-1
@@ -26,6 +26,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.monitoring@5:true,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.monitoring@5:true,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.masterdata*1.0.0.qualifier@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="yk-options" value=" additional-options2=onexit\=snapshot "/>
|
||||
</launchConfiguration>
|
||||
@@ -25,5 +25,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.monitoring@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.monitoring@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.masterdata*1.0.0.qualifier@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -26,6 +26,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@5:true,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@4:true,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5:true,com.sap.sailing.server.replication@4:true,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@4:true,com.sap.sailing.www@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@5:true,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@4:true,com.sap.sailing.server.gateway.masterdata*1.0.0.qualifier@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5:true,com.sap.sailing.server.replication@4:true,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@4:true,com.sap.sailing.www@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="yk-options" value=" additional-options2=onexit\=snapshot "/>
|
||||
</launchConfiguration>
|
||||
@@ -26,6 +26,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.masterdata*1.0.0.qualifier@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="yk-options" value=" additional-options2=onexit\=snapshot "/>
|
||||
</launchConfiguration>
|
||||
@@ -26,5 +26,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="true"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.masterdata*1.0.0.qualifier@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
+1
-1
@@ -25,5 +25,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.osgi@default:default,com.googlecode.java-diff-utils@default:default,com.mongodb.driver@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@5:true,com.sap.sailing.domain.tractracadapter.persistence@default:default,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@default:default,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@default:default,com.sap.sailing.geocoding@default:default,com.sap.sailing.gwt.ui@default:default,com.sap.sailing.kiworesultimport@default:default,com.sap.sailing.manage2sail.resultimport@default:default,com.sap.sailing.mongodb@default:default,com.sap.sailing.operationaltransformation@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.ess40@default:default,com.sap.sailing.server.gateway.masterdata*1.0.0.qualifier@default:default,com.sap.sailing.server.gateway@default:default,com.sap.sailing.server.replication@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@default:default,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@default:default,com.sap.sailing.www.events@default:default,com.sap.sailing.www@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sse.gwt@default:default,com.tractrac.clientmodule@default:default,de.csenk.gwt.ws@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
+45
-59
@@ -1,27 +1,10 @@
|
||||
package com.sap.sailing.server.masterdata;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
|
||||
import com.sap.sailing.domain.base.DomainFactory;
|
||||
import com.sap.sailing.domain.common.MasterDataImportObjectCreationCount;
|
||||
import com.sap.sailing.domain.common.impl.MasterDataImportObjectCreationCountImpl;
|
||||
import com.sap.sailing.domain.common.media.MediaTrack;
|
||||
import com.sap.sailing.domain.masterdataimport.LeaderboardGroupMasterData;
|
||||
import com.sap.sailing.server.RacingEventService;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.masterdata.impl.LeaderboardGroupMasterDataJsonDeserializer;
|
||||
import com.sap.sailing.server.gateway.deserialization.masterdata.impl.MediaTrackJsonDeserializer;
|
||||
import com.sap.sailing.server.gateway.serialization.masterdata.impl.TopLevelMasterDataSerializer;
|
||||
import com.sap.sailing.server.operationaltransformation.ImportMasterDataOperation;
|
||||
import com.sap.sailing.server.gateway.masterdata.TopLevelMasterData;
|
||||
|
||||
public class MasterDataImporter {
|
||||
private final DomainFactory baseDomainFactory;
|
||||
@@ -33,48 +16,51 @@ public class MasterDataImporter {
|
||||
this.racingEventService = racingEventService;
|
||||
}
|
||||
|
||||
public MasterDataImportObjectCreationCount importMasterData(String string, boolean override) {
|
||||
public MasterDataImportObjectCreationCount importMasterData(TopLevelMasterData topLevelMasterData, boolean override) {
|
||||
MasterDataImportObjectCreationCountImpl creationCount = new MasterDataImportObjectCreationCountImpl();
|
||||
JsonDeserializer<LeaderboardGroupMasterData> leaderboardGroupMasterDataDeserializer = LeaderboardGroupMasterDataJsonDeserializer.create(baseDomainFactory);
|
||||
JSONParser parser = new JSONParser();
|
||||
try {
|
||||
JSONObject masterDataOverall = (JSONObject) parser.parse(string);
|
||||
JSONArray leaderboardGroupsMasterDataJsonArray = (JSONArray) masterDataOverall.get(TopLevelMasterDataSerializer.FIELD_PER_LG);
|
||||
for (Object leaderBoardGroupMasterData : leaderboardGroupsMasterDataJsonArray) {
|
||||
JSONObject leaderBoardGroupMasterDataJson = (JSONObject) leaderBoardGroupMasterData;
|
||||
LeaderboardGroupMasterData masterData = leaderboardGroupMasterDataDeserializer
|
||||
.deserialize(leaderBoardGroupMasterDataJson);
|
||||
ImportMasterDataOperation op = new ImportMasterDataOperation(masterData, override, creationCount, baseDomainFactory);
|
||||
creationCount = racingEventService.apply(op);
|
||||
}
|
||||
JsonDeserializer<MediaTrack> mediaTrackDeserializer = new MediaTrackJsonDeserializer();
|
||||
JSONArray mediaTracks = (JSONArray) masterDataOverall.get(TopLevelMasterDataSerializer.FIELD_MEDIA);
|
||||
List<MediaTrack> tracks = new ArrayList<MediaTrack>();
|
||||
for (Object obj : mediaTracks) {
|
||||
tracks.add(mediaTrackDeserializer.deserialize((JSONObject) obj));
|
||||
}
|
||||
Collection<MediaTrack> existingMediaTracks = racingEventService.getAllMediaTracks();
|
||||
Map<String, MediaTrack> existingMap = new HashMap<String, MediaTrack>();
|
||||
|
||||
for (MediaTrack oneTrack : existingMediaTracks) {
|
||||
existingMap.put(oneTrack.dbId, oneTrack);
|
||||
}
|
||||
|
||||
for (MediaTrack oneNewTrack : tracks) {
|
||||
if (existingMap.containsKey(oneNewTrack.dbId)) {
|
||||
if (override) {
|
||||
racingEventService.mediaTrackDeleted(existingMap.get(oneNewTrack.dbId));
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
racingEventService.mediaTrackAdded(oneNewTrack);
|
||||
}
|
||||
} catch (org.json.simple.parser.ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (JsonDeserializationException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
// JsonDeserializer<LeaderboardGroupMasterData> leaderboardGroupMasterDataDeserializer =
|
||||
// LeaderboardGroupMasterDataJsonDeserializer.create(baseDomainFactory);
|
||||
// JSONParser parser = new JSONParser();
|
||||
// try {
|
||||
// JSONObject masterDataOverall = (JSONObject) parser.parse(topLevelMasterData);
|
||||
// JSONArray leaderboardGroupsMasterDataJsonArray = (JSONArray)
|
||||
// masterDataOverall.get(TopLevelMasterDataSerializer.FIELD_PER_LG);
|
||||
// for (Object leaderBoardGroupMasterData : leaderboardGroupsMasterDataJsonArray) {
|
||||
// JSONObject leaderBoardGroupMasterDataJson = (JSONObject) leaderBoardGroupMasterData;
|
||||
// LeaderboardGroupMasterData masterData = leaderboardGroupMasterDataDeserializer
|
||||
// .deserialize(leaderBoardGroupMasterDataJson);
|
||||
// ImportMasterDataOperation op = new ImportMasterDataOperation(masterData, override, creationCount,
|
||||
// baseDomainFactory);
|
||||
// creationCount = racingEventService.apply(op);
|
||||
// }
|
||||
// JsonDeserializer<MediaTrack> mediaTrackDeserializer = new MediaTrackJsonDeserializer();
|
||||
// JSONArray mediaTracks = (JSONArray) masterDataOverall.get(TopLevelMasterDataSerializer.FIELD_MEDIA);
|
||||
// List<MediaTrack> tracks = new ArrayList<MediaTrack>();
|
||||
// for (Object obj : mediaTracks) {
|
||||
// tracks.add(mediaTrackDeserializer.deserialize((JSONObject) obj));
|
||||
// }
|
||||
// Collection<MediaTrack> existingMediaTracks = racingEventService.getAllMediaTracks();
|
||||
// Map<String, MediaTrack> existingMap = new HashMap<String, MediaTrack>();
|
||||
//
|
||||
// for (MediaTrack oneTrack : existingMediaTracks) {
|
||||
// existingMap.put(oneTrack.dbId, oneTrack);
|
||||
// }
|
||||
//
|
||||
// for (MediaTrack oneNewTrack : tracks) {
|
||||
// if (existingMap.containsKey(oneNewTrack.dbId)) {
|
||||
// if (override) {
|
||||
// racingEventService.mediaTrackDeleted(existingMap.get(oneNewTrack.dbId));
|
||||
// } else {
|
||||
// continue;
|
||||
// }
|
||||
// }
|
||||
// racingEventService.mediaTrackAdded(oneNewTrack);
|
||||
// }
|
||||
// } catch (org.json.simple.parser.ParseException e) {
|
||||
// throw new RuntimeException(e);
|
||||
// } catch (JsonDeserializationException e) {
|
||||
// throw new RuntimeException(e);
|
||||
// }
|
||||
return creationCount;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user