mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-15 06:49:56 +00:00
Merge branch 'master' into bug4232
This commit is contained in:
commit
afd34e1825
119 files changed
+1278
-684
No files matched your search
@@ -41,5 +41,5 @@
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-incremental -war "${project_loc:com.sap.sailing.dashboards.gwt}" -startupUrl /dashboards/RibDashboard.html -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9874 com.sap.sailing.dashboards.gwt.RibDashboard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.dashboards.gwt"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -Dgwt.watchFileChanges=false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread -Xmx2048m -Dgwt.watchFileChanges=false"/>
|
||||
</launchConfiguration>
|
||||
@@ -38,7 +38,7 @@
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -incremental -war "${project_loc:com.sap.sailing.dashboards.gwt}" -startupUrl /dashboards/RibDashboard.html -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9874 com.sap.sailing.dashboards.gwt.RibDashboard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-incremental -war "${project_loc:com.sap.sailing.dashboards.gwt}" -startupUrl /dashboards/RibDashboard.html -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort auto com.sap.sailing.dashboards.gwt.RibDashboard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.dashboards.gwt"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -Dgwt.watchFileChanges=false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread -Xmx2048m -Dgwt.watchFileChanges=false"/>
|
||||
</launchConfiguration>
|
||||
+1
-1
@@ -13,7 +13,7 @@ import java.util.Objects;
|
||||
*
|
||||
* The first columns need to be consistent with {@link BravoSensorDataMetadata}.
|
||||
*/
|
||||
public enum BravoExtendedSensorDataMetadata {
|
||||
public enum BravoExtendedSensorDataMetadata implements ColumnMetadata {
|
||||
RIDE_HEIGHT_PORT_HULL("RideHeightPort"), //
|
||||
RIDE_HEIGHT_STBD_HULL("RideHeightStbd"), //
|
||||
HEEL("Heel"), //
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import java.util.Objects;
|
||||
*
|
||||
* The current implementation only stores a subset of the information available during the import.
|
||||
*/
|
||||
public enum BravoSensorDataMetadata {
|
||||
public enum BravoSensorDataMetadata implements ColumnMetadata {
|
||||
|
||||
RIDE_HEIGHT_PORT_HULL("RideHeightPortHull"), //
|
||||
RIDE_HEIGHT_STBD_HULL("RideHeightStbdHull"), //
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.sap.sailing.domain.common.sensordata;
|
||||
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
import com.sap.sailing.domain.common.tracking.SensorFix;
|
||||
|
||||
/**
|
||||
* Definition of column metadata used by {@link SensorFix} implementations to resolve columns in underlying
|
||||
* {@link DoubleVectorFix DoubleVectorFixes}.
|
||||
*/
|
||||
public interface ColumnMetadata {
|
||||
int getColumnIndex();
|
||||
}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
package com.sap.sailing.domain.common.sensordata;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
|
||||
/**
|
||||
* Metadata that defines the column structure of BravoExtended fixes when imported as {@link com.sap.sailing.domain.common.tracking.DoubleVectorFix}.
|
||||
*
|
||||
* The current implementation only stores a subset of the information available during the import.
|
||||
*
|
||||
* The first columns need to be consistent with {@link BravoSensorDataMetadata}.
|
||||
*/
|
||||
public enum ExpeditionExtendedSensorDataMetadata {
|
||||
HEEL("Heel", BravoExtendedSensorDataMetadata.HEEL);
|
||||
|
||||
private String columnName;
|
||||
|
||||
/**
|
||||
* Expedition extended fixes are mapped to Bravo extended fixes whose metadata is described
|
||||
* in {@link BravoExtendedSensorDataMetadata}. When parsing an Expedition file, the columns
|
||||
* in the resulting {@link DoubleVectorFix} must be chosen such that they match up with the
|
||||
* corresponding fields as described by {@link BravoExtendedSensorDataMetadata}. This turns
|
||||
* the ordinals of this enum's literals insignificant; the position is taken solely from
|
||||
* the Bravo metadata.
|
||||
*/
|
||||
private BravoExtendedSensorDataMetadata mappedToBravoField;
|
||||
|
||||
private ExpeditionExtendedSensorDataMetadata(String columnName, BravoExtendedSensorDataMetadata mappedToBravoField) {
|
||||
this.columnName = columnName;
|
||||
this.mappedToBravoField = mappedToBravoField;
|
||||
}
|
||||
|
||||
public String getColumnName() {
|
||||
return columnName;
|
||||
}
|
||||
|
||||
public int getColumnIndex() {
|
||||
return mappedToBravoField.getColumnIndex();
|
||||
}
|
||||
|
||||
public static ExpeditionExtendedSensorDataMetadata byColumnName(String valueName) {
|
||||
ExpeditionExtendedSensorDataMetadata[] values = ExpeditionExtendedSensorDataMetadata.values();
|
||||
for (ExpeditionExtendedSensorDataMetadata item : values) {
|
||||
if (Objects.equals(item.getColumnName(), valueName)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static int getTrackColumnCount() {
|
||||
return ExpeditionExtendedSensorDataMetadata.values().length;
|
||||
}
|
||||
|
||||
public static List<String> getTrackColumnNames() {
|
||||
ArrayList<String> colNames = new ArrayList<>(getTrackColumnCount());
|
||||
for (ExpeditionExtendedSensorDataMetadata item : ExpeditionExtendedSensorDataMetadata.values()) {
|
||||
colNames.add(item.getColumnName());
|
||||
}
|
||||
return colNames;
|
||||
}
|
||||
|
||||
public static Map<String, Integer> getColumnNamesToIndexInDoubleFix() {
|
||||
final Map<String, Integer> columnNamesToIndexInDoubleFix = new HashMap<>();
|
||||
for (final ExpeditionExtendedSensorDataMetadata column : ExpeditionExtendedSensorDataMetadata.values()) {
|
||||
columnNamesToIndexInDoubleFix.put(column.getColumnName(), column.getColumnIndex());
|
||||
}
|
||||
return columnNamesToIndexInDoubleFix;
|
||||
}
|
||||
}
|
||||
+10
@@ -3,9 +3,14 @@ package com.sap.sailing.domain.common.tracking.impl;
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
import com.sap.sailing.domain.common.sensordata.BravoExtendedSensorDataMetadata;
|
||||
import com.sap.sailing.domain.common.sensordata.ColumnMetadata;
|
||||
import com.sap.sailing.domain.common.tracking.BravoExtendedFix;
|
||||
import com.sap.sailing.domain.common.tracking.BravoFix;
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
|
||||
/**
|
||||
* Implementation of {@link BravoExtendedFix}. {@link BravoExtendedFix} adds more measures compared to {@link BravoFix}.
|
||||
*/
|
||||
public class BravoExtendedFixImpl extends BravoFixImpl implements BravoExtendedFix {
|
||||
private static final long serialVersionUID = 5622321493028301922L;
|
||||
|
||||
@@ -13,6 +18,11 @@ public class BravoExtendedFixImpl extends BravoFixImpl implements BravoExtendedF
|
||||
super(fix);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ColumnMetadata resolveMetadataFromValueName(String valueName) {
|
||||
return BravoExtendedSensorDataMetadata.byColumnName(valueName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getPortDaggerboardRake() {
|
||||
return fix.get(BravoExtendedSensorDataMetadata.DB_RAKE_PORT.getColumnIndex());
|
||||
|
||||
+6
-17
@@ -5,35 +5,24 @@ import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.MeterDistance;
|
||||
import com.sap.sailing.domain.common.sensordata.BravoSensorDataMetadata;
|
||||
import com.sap.sailing.domain.common.sensordata.ColumnMetadata;
|
||||
import com.sap.sailing.domain.common.tracking.BravoFix;
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
/**
|
||||
* Implementation of {@link BravoFix} that wraps a {@link DoubleVectorFix} which holds the actual sensor data. The
|
||||
* mapping metadata is stored in the {@link BravoSensorDataMetadata} enum.
|
||||
*/
|
||||
public class BravoFixImpl implements BravoFix {
|
||||
public class BravoFixImpl extends SensorFixImpl implements BravoFix {
|
||||
private static final long serialVersionUID = 2033254212013221160L;
|
||||
protected final DoubleVectorFix fix;
|
||||
|
||||
public BravoFixImpl(DoubleVectorFix fix) {
|
||||
this.fix = fix;
|
||||
super(fix);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public double get(String valueName) {
|
||||
BravoSensorDataMetadata colDefEnum = BravoSensorDataMetadata.byColumnName(valueName);
|
||||
if (colDefEnum == null) {
|
||||
throw new IllegalArgumentException("Unknown value \"" + valueName + "\" for " + getClass().getSimpleName());
|
||||
}
|
||||
int index = colDefEnum.getColumnIndex();
|
||||
return fix.get(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TimePoint getTimePoint() {
|
||||
return fix.getTimePoint();
|
||||
protected ColumnMetadata resolveMetadataFromValueName(String valueName) {
|
||||
return BravoSensorDataMetadata.byColumnName(valueName);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package com.sap.sailing.domain.common.tracking.impl;
|
||||
|
||||
import com.sap.sailing.domain.common.sensordata.ColumnMetadata;
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
import com.sap.sailing.domain.common.tracking.SensorFix;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
/**
|
||||
* Abstract implementation of {@link SensorFix} that implements the generic value access through
|
||||
* {@link SensorFixImpl#get(String)} by resolving a {@link ColumnMetadata} instance for a given valueName. The data is
|
||||
* taken from the underlying {@link DoubleVectorFix} by using the column index taken from the resolved
|
||||
* {@link ColumnMetadata} instance.
|
||||
*/
|
||||
public abstract class SensorFixImpl implements SensorFix {
|
||||
private static final long serialVersionUID = -5815764620564953478L;
|
||||
protected final DoubleVectorFix fix;
|
||||
|
||||
public SensorFixImpl(DoubleVectorFix fix) {
|
||||
super();
|
||||
assert fix != null;
|
||||
this.fix = fix;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TimePoint getTimePoint() {
|
||||
return fix.getTimePoint();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double get(String valueName) {
|
||||
final ColumnMetadata columnMetadata = resolveMetadataFromValueName(valueName);
|
||||
if (columnMetadata == null) {
|
||||
throw new IllegalArgumentException("Unknown value \"" + valueName + "\" for " + getClass().getSimpleName());
|
||||
}
|
||||
int index = columnMetadata.getColumnIndex();
|
||||
return fix.get(index);
|
||||
}
|
||||
|
||||
/**
|
||||
* To be implemented by subclasses to resolve the associated {@link ColumnMetadata} for a given valueName. The
|
||||
* result may be null if the given valueName is unknown for the fix implementation.
|
||||
*/
|
||||
protected abstract ColumnMetadata resolveMetadataFromValueName(String valueName);
|
||||
}
|
||||
-2
@@ -6,7 +6,6 @@ import org.osgi.framework.BundleContext;
|
||||
import com.sap.sailing.server.trackfiles.common.GPSFixImporterRegistration;
|
||||
|
||||
public class Activator implements BundleActivator {
|
||||
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
GPSFixImporterRegistration.register(new DeckmanGPSFixImporter(), context);
|
||||
@@ -15,5 +14,4 @@ public class Activator implements BundleActivator {
|
||||
@Override
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
}
|
||||
|
||||
}
|
||||
-1
@@ -11,5 +11,4 @@ public class DeckmanAdapterImpl implements DeckmanAdapter {
|
||||
public LogFile parseLogFile(Reader r) throws IOException {
|
||||
return new LogFileImpl(r);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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.8"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.sap.sailing.domain.expeditionadapter</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>
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
eclipse.preferences.version=1
|
||||
pluginProject.extensions=false
|
||||
resolve.requirebundle=false
|
||||
@@ -0,0 +1,13 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Expeditionadapter
|
||||
Bundle-SymbolicName: com.sap.sailing.domain.expeditionadapter
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: SAP
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Import-Package: org.osgi.framework
|
||||
Require-Bundle: com.sap.sailing.server.trackfiles,
|
||||
com.sap.sailing.domain,
|
||||
com.sap.sse.common,
|
||||
com.sap.sailing.domain.common
|
||||
Bundle-Activator: com.sap.sailing.domain.expeditionadapter.impl.Activator
|
||||
@@ -0,0 +1,4 @@
|
||||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.
|
||||
+12
@@ -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.domain.expeditionadapter</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.sap.sailing.domain.expeditionadapter.impl;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
import com.sap.sailing.server.trackfiles.common.GPSFixImporterRegistration;
|
||||
|
||||
public class Activator implements BundleActivator {
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
GPSFixImporterRegistration.register(new ExpeditionGPSFixImporter(), context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
}
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
package com.sap.sailing.domain.expeditionadapter.impl;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.common.tracking.impl.GPSFixMovingImpl;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifierImpl;
|
||||
import com.sap.sailing.domain.trackimport.FormatNotSupportedException;
|
||||
import com.sap.sailing.domain.trackimport.GPSFixImporter;
|
||||
import com.sap.sailing.server.trackfiles.impl.ExpeditionExtendedDataImporterImpl;
|
||||
|
||||
public class ExpeditionGPSFixImporter implements GPSFixImporter {
|
||||
private static final String LAT_COLUMN_HEADING = ExpeditionExtendedDataImporterImpl.COL_NAME_LAT;
|
||||
private static final String LON_COLUMN_HEADING = ExpeditionExtendedDataImporterImpl.COL_NAME_LON;
|
||||
private static final String COG_COLUMN_HEADING = "Ext_COG";
|
||||
private static final String SOG_COLUMN_HEADING = "Ext_SOG";
|
||||
@Override
|
||||
public void importFixes(InputStream inputStream, Callback callback, boolean inferSpeedAndBearing, final String sourceName)
|
||||
throws FormatNotSupportedException, IOException {
|
||||
TrackFileImportDeviceIdentifier device = new TrackFileImportDeviceIdentifierImpl(sourceName, getType() + "@" + new Date());
|
||||
final BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
|
||||
final String headerLine = br.readLine();
|
||||
final Map<String, Integer> columnDefinitions = ExpeditionExtendedDataImporterImpl.parseHeader(headerLine);
|
||||
final AtomicInteger lineNr = new AtomicInteger(0);
|
||||
br.lines().forEach(line->{
|
||||
if (!line.trim().isEmpty()) {
|
||||
ExpeditionExtendedDataImporterImpl.parseLine(lineNr.incrementAndGet(), sourceName, line, columnDefinitions,
|
||||
(timePoint, columnValues, columns)->{
|
||||
final double latDeg = Double.parseDouble(columnValues[columns.get(LAT_COLUMN_HEADING)]);
|
||||
final double lonDeg = Double.parseDouble(columnValues[columns.get(LON_COLUMN_HEADING)]);
|
||||
final double cogDeg = Double.parseDouble(columnValues[columns.get(COG_COLUMN_HEADING)]);
|
||||
final double sogKnots = Double.parseDouble(columnValues[columns.get(SOG_COLUMN_HEADING)]);
|
||||
final GPSFixMoving fix = new GPSFixMovingImpl(new DegreePosition(latDeg, lonDeg), timePoint,
|
||||
new KnotSpeedWithBearingImpl(sogKnots, new DegreeBearingImpl(cogDeg)));
|
||||
callback.addFix(fix, device);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<String> getSupportedFileExtensions() {
|
||||
return Arrays.asList(new String[] { "csv", "log", "txt" });
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType() {
|
||||
return "Expedition";
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.sap.sailing.domain.expeditionadapter.impl;
|
||||
|
||||
public enum FieldType {
|
||||
date, race_name, leg_name, leg_score, boat_speed, heel, leeway, rudder, heading, course, depth,
|
||||
tws, twa, twd, aws, awa, latitude, longitude, sog, cog, abstwa, absawa, absheel, absleeway, absrudder,
|
||||
foresail, staysail, mainsail, forestay, rake, vmg, status, starboard_port, rudder2, keelang, absrudder2, abskeelang;
|
||||
}
|
||||
+11
@@ -112,6 +112,7 @@ import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogCloseOpe
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDefineMarkEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceCompetitorBravoExtendedMappingEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceCompetitorBravoMappingEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceCompetitorMappingEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceMarkMappingEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogRegisterCompetitorEventImpl;
|
||||
@@ -1713,6 +1714,9 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
} else if (eventClass.equals(RegattaLogDeviceCompetitorBravoExtendedMappingEventImpl.class.getSimpleName())) {
|
||||
return loadRegattaLogDeviceCompetitorBravoExtendedMappingEvent(createdAt, author, logicalTimePoint, id, dbObject,
|
||||
regattaLogIdentifier, o);
|
||||
} else if (eventClass.equals(RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl.class.getSimpleName())) {
|
||||
return loadRegattaLogDeviceCompetitorExpeditionExtendedMappingEvent(createdAt, author, logicalTimePoint, id, dbObject,
|
||||
regattaLogIdentifier, o);
|
||||
} else if (eventClass.equals(RegattaLogDeviceMarkMappingEvent.class.getSimpleName())) {
|
||||
return loadRegattaLogDeviceMarkMappingEvent(createdAt, author, logicalTimePoint, id, dbObject, regattaLogIdentifier, o);
|
||||
} else if (eventClass.equals(RegattaLogCloseOpenEndedDeviceMappingEvent.class.getSimpleName())) {
|
||||
@@ -1911,6 +1915,13 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
regattaLogIdentifier, outerDBObject, RegattaLogDeviceCompetitorBravoExtendedMappingEventImpl::new);
|
||||
}
|
||||
|
||||
private RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl loadRegattaLogDeviceCompetitorExpeditionExtendedMappingEvent(
|
||||
TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id,
|
||||
final DBObject dbObject, RegattaLikeIdentifier regattaLogIdentifier, DBObject outerDBObject) {
|
||||
return loadRegattaLogDeviceCompetitorSensorDataMappingEvent(createdAt, author, logicalTimePoint, id, dbObject,
|
||||
regattaLogIdentifier, outerDBObject, RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl::new);
|
||||
}
|
||||
|
||||
private <MappingT extends RegattaLogDeviceCompetitorSensorDataMappingEvent> MappingT loadRegattaLogDeviceCompetitorSensorDataMappingEvent(
|
||||
TimePoint createdAt, AbstractLogEventAuthor author, TimePoint logicalTimePoint, Serializable id,
|
||||
final DBObject dbObject, RegattaLikeIdentifier regattaLogIdentifier, DBObject outerDBObject,
|
||||
|
||||
+1
@@ -89,6 +89,7 @@ public class Activator implements BundleActivator {
|
||||
new MasterDataImportClassLoaderServiceImpl(), null));
|
||||
registrations.add(context.registerService(SensorFixMapper.class, new BravoDataFixMapper(), null));
|
||||
registrations.add(context.registerService(SensorFixMapper.class, new BravoExtendedDataFixMapper(), null));
|
||||
registrations.add(context.registerService(SensorFixMapper.class, new ExpeditionExtendedDataFixMapper(), null));
|
||||
|
||||
sensorFixMapperTracker = createSensorFixMapperServiceTracker(context);
|
||||
racingEventServiceTracker = ServiceTrackerFactory.createAndOpen(context, RacingEventService.class);
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ public class BravoDataFixMapper implements SensorFixMapper<BravoFix, DynamicSens
|
||||
@Override
|
||||
public DynamicSensorFixTrack<Competitor, BravoFix> getTrack(DynamicTrackedRace race, Competitor key) {
|
||||
return race.getOrCreateSensorTrack(key, BravoFixTrack.TRACK_NAME,
|
||||
() -> new BravoFixTrackImpl<Competitor>(key, BravoFixTrack.TRACK_NAME, false));
|
||||
() -> new BravoFixTrackImpl<Competitor>(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ false));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ public class BravoExtendedDataFixMapper implements SensorFixMapper<BravoFix, Dyn
|
||||
@Override
|
||||
public DynamicSensorFixTrack<Competitor, BravoFix> getTrack(DynamicTrackedRace race, Competitor key) {
|
||||
return race.getOrCreateSensorTrack(key, BravoFixTrack.TRACK_NAME,
|
||||
() -> new BravoFixTrackImpl<Competitor>(key, BravoFixTrack.TRACK_NAME, true));
|
||||
() -> new BravoFixTrackImpl<Competitor>(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ true));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
package com.sap.sailing.domain.racelogtracking.impl;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogDeviceMappingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.tracking.BravoExtendedFix;
|
||||
import com.sap.sailing.domain.common.tracking.BravoFix;
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
import com.sap.sailing.domain.common.tracking.impl.BravoExtendedFixImpl;
|
||||
import com.sap.sailing.domain.racelog.tracking.SensorFixMapper;
|
||||
import com.sap.sailing.domain.tracking.BravoFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicSensorFixTrack;
|
||||
import com.sap.sailing.domain.tracking.DynamicTrackedRace;
|
||||
import com.sap.sailing.domain.tracking.impl.BravoFixTrackImpl;
|
||||
|
||||
/**
|
||||
* {@link SensorFixMapper} implementation to product {@link BravoExtendedFix}es from {@link DoubleVectorFix}es
|
||||
* interpreted as "Expedition" data. The data has significant overlap with what we typically receive from the
|
||||
* "Bravo" devices. Ultimately, the naming may need to be adjusted, better reflecting that the "Bravo" extended
|
||||
* tracks now assume general responsibility for a broader set of sensor values that may be assigned to a
|
||||
* competitor, beyond just GPS tracking data.
|
||||
*/
|
||||
public class ExpeditionExtendedDataFixMapper implements SensorFixMapper<BravoFix, DynamicSensorFixTrack<Competitor, BravoFix>, Competitor> {
|
||||
|
||||
@Override
|
||||
public DynamicSensorFixTrack<Competitor, BravoFix> getTrack(DynamicTrackedRace race, Competitor key) {
|
||||
return race.getOrCreateSensorTrack(key, BravoFixTrack.TRACK_NAME,
|
||||
() -> new BravoFixTrackImpl<Competitor>(key, BravoFixTrack.TRACK_NAME, /* hasExtendedFixes */ true));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BravoExtendedFix map(DoubleVectorFix fix) {
|
||||
return new BravoExtendedFixImpl(fix);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isResponsibleFor(Class<? extends RegattaLogDeviceMappingEvent<?>> eventType) {
|
||||
return RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl.class.isAssignableFrom(eventType);
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.sap.sailing.domain.abstractlog.regatta.events.impl;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.racelogtracking.DeviceIdentifier;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
/**
|
||||
* Mapping event for devices mapped for "Expedition" extended type fixes, coming from the
|
||||
* "Expedition" software that was originally used in the context of this solution only for
|
||||
* handling wind data but now is also used to forward sensor data into competitor tracks.
|
||||
*/
|
||||
public class RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl extends AbstractRegattaLogDeviceCompetitorSensorDataMappingEventImpl {
|
||||
private static final long serialVersionUID = -7865925670153838864L;
|
||||
|
||||
public RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl(TimePoint createdAt, TimePoint logicalTimePoint,
|
||||
AbstractLogEventAuthor author, Serializable pId, Competitor mappedTo, DeviceIdentifier device,
|
||||
TimePoint from, TimePoint to) {
|
||||
super(createdAt, logicalTimePoint, author, pId, mappedTo, device, from, to);
|
||||
}
|
||||
|
||||
public RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl(TimePoint logicalTimePoint, AbstractLogEventAuthor author,
|
||||
Competitor mappedTo, DeviceIdentifier device, TimePoint from, TimePoint to) {
|
||||
super(logicalTimePoint, author, mappedTo, device, from, to);
|
||||
}
|
||||
}
|
||||
+5
@@ -1150,4 +1150,9 @@ public class MockedTrackedRace implements DynamicTrackedRace {
|
||||
String trackName) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Speed getAverageSpeedOverGround(Competitor competitor, TimePoint timePoint) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+5
@@ -702,4 +702,9 @@ public class MockedTrackedRaceWithStartTimeAndRanks implements TrackedRace {
|
||||
String trackName) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Speed getAverageSpeedOverGround(Competitor competitor, TimePoint timePoint) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+9
-25
@@ -25,9 +25,11 @@ import com.sap.sailing.domain.base.RaceColumn;
|
||||
import com.sap.sailing.domain.base.RaceColumnListener;
|
||||
import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.common.MaxPointsReason;
|
||||
import com.sap.sailing.domain.common.Mile;
|
||||
import com.sap.sailing.domain.common.NoWindError;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.Speed;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedImpl;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.leaderboard.Leaderboard;
|
||||
import com.sap.sailing.domain.leaderboard.NumberOfCompetitorsInLeaderboardFetcher;
|
||||
@@ -40,6 +42,7 @@ import com.sap.sailing.domain.racelog.RaceLogIdentifier;
|
||||
import com.sap.sailing.domain.tracking.MarkPassing;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sailing.util.impl.RaceColumnListeners;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.ObscuringIterable;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
@@ -789,31 +792,12 @@ public abstract class AbstractSimpleLeaderboardImpl extends AbstractLeaderboardW
|
||||
|
||||
@Override
|
||||
public Speed getAverageSpeedOverGround(Competitor competitor, TimePoint timePoint) {
|
||||
Speed result = null;
|
||||
for (TrackedRace trackedRace : getTrackedRaces()) {
|
||||
if (Util.contains(trackedRace.getRace().getCompetitors(), competitor)) {
|
||||
NavigableSet<MarkPassing> markPassings = trackedRace.getMarkPassings(competitor);
|
||||
if (!markPassings.isEmpty()) {
|
||||
TimePoint from = markPassings.first().getTimePoint();
|
||||
TimePoint to;
|
||||
if (timePoint.after(markPassings.last().getTimePoint()) &&
|
||||
markPassings.last().getWaypoint() == trackedRace.getRace().getCourse().getLastWaypoint()) {
|
||||
// stop counting when competitor finished the race
|
||||
to = markPassings.last().getTimePoint();
|
||||
} else {
|
||||
if (markPassings.last().getWaypoint() != trackedRace.getRace().getCourse().getLastWaypoint() &&
|
||||
timePoint.after(markPassings.last().getTimePoint())) {
|
||||
result = null;
|
||||
break;
|
||||
}
|
||||
to = timePoint;
|
||||
}
|
||||
Distance distanceTraveled = trackedRace.getDistanceTraveled(competitor, timePoint);
|
||||
if (distanceTraveled != null) {
|
||||
result = distanceTraveled.inTime(to.asMillis()-from.asMillis());
|
||||
}
|
||||
}
|
||||
}
|
||||
Speed result = null;
|
||||
final Duration totalTimeSailed = this.getTotalTimeSailed(competitor, timePoint);
|
||||
final Distance totalDistanceSailed = this.getTotalDistanceTraveled(competitor, timePoint);
|
||||
if (totalDistanceSailed != null && totalTimeSailed != null) {
|
||||
result = new KnotSpeedImpl(totalDistanceSailed.getMeters() /
|
||||
totalTimeSailed.asSeconds() / Mile.METERS_PER_NAUTICAL_MILE * 3600.0);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
package com.sap.sailing.domain.trackimport;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier;
|
||||
|
||||
/**
|
||||
* Definition of importers used by SensorDataImportServlet to do the import of a specific file type.
|
||||
*/
|
||||
public interface BaseDoubleVectorFixImporter {
|
||||
public interface Callback {
|
||||
void addFixes(Iterable<DoubleVectorFix> fixes, TrackFileImportDeviceIdentifier device);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the uploaded file and calls the callback for every fix that's contained in the input.
|
||||
*
|
||||
* @param inputStream
|
||||
* the uploaded file as {@link InputStream}
|
||||
* @param callback
|
||||
* the callback to call for every new fix
|
||||
* @param sourceName
|
||||
* the uploaded file's name. This can be used to identify the file type if the importer can import
|
||||
* different formats.
|
||||
* @param downsample
|
||||
* whether or not the importer shall reduce the sampling frequency during import; if {@code false}, all
|
||||
* fixes read from the {@code inputStream} will be forwarded to the {@code callback}; otherwise, multiple
|
||||
* fixes may be averaged, smoothened and then forwarded as only one combined fix to the {@code callback}.
|
||||
* @throws FormatNotSupportedException
|
||||
* if the uploaded file can't be parsed by the importer
|
||||
* @throws IOException
|
||||
* if there is a problem while reading the file
|
||||
*/
|
||||
void importFixes(InputStream inputStream, Callback callback, String filename, String sourceName, boolean downsample)
|
||||
throws FormatNotSupportedException, IOException;
|
||||
|
||||
/**
|
||||
* The type is a String that's presented to the user for selection of the type when doing an import.
|
||||
* The type is used on import to identify the importer to use depending on the user's selection.
|
||||
*
|
||||
* @return name of the file type to be imported by the importer
|
||||
*/
|
||||
String getType();
|
||||
}
|
||||
Regular → Executable
+1
-38
@@ -1,59 +1,22 @@
|
||||
package com.sap.sailing.domain.trackimport;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.RegattaLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogDeviceCompetitorSensorDataMappingEvent;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
import com.sap.sailing.domain.racelogtracking.DeviceIdentifier;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
/**
|
||||
* Definition of importers used by SensorDataImportServlet to do the import of a specific file type.
|
||||
*/
|
||||
public interface DoubleVectorFixImporter {
|
||||
|
||||
public interface Callback {
|
||||
void addFixes(Iterable<DoubleVectorFix> fixes, TrackFileImportDeviceIdentifier device);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the uploaded file and calls the callback for every fix that's contained in the input.
|
||||
*
|
||||
* @param inputStream
|
||||
* the uploaded file as {@link InputStream}
|
||||
* @param callback
|
||||
* the callback to call for every new fix
|
||||
* @param sourceName
|
||||
* the uploaded file's name. This can be used to identify the file type if the importer can import
|
||||
* different formats.
|
||||
* @param downsample TODO
|
||||
* @throws FormatNotSupportedException
|
||||
* if the uploaded file can't be parsed by the importer
|
||||
* @throws IOException
|
||||
* if there is a problem while reading the file
|
||||
*/
|
||||
void importFixes(InputStream inputStream, Callback callback, String filename, String sourceName, boolean downsample)
|
||||
throws FormatNotSupportedException, IOException;
|
||||
|
||||
/**
|
||||
* The type is a String that's presented to the user for selection of the type when doing an import.
|
||||
* The type is used on import to identify the importer to use depending on the user's selection.
|
||||
*
|
||||
* @return name of the file type to be imported by the importer
|
||||
*/
|
||||
String getType();
|
||||
|
||||
public interface DoubleVectorFixImporter extends BaseDoubleVectorFixImporter {
|
||||
/**
|
||||
* Creates the {@link RegattaLogEvent} for the DeviceMapping.
|
||||
*/
|
||||
RegattaLogDeviceCompetitorSensorDataMappingEvent createEvent(TimePoint createdAt, TimePoint logicalTimePoint,
|
||||
AbstractLogEventAuthor author, Serializable id, Competitor mappedTo, DeviceIdentifier device,
|
||||
TimePoint from, TimePoint to);
|
||||
|
||||
}
|
||||
@@ -1012,4 +1012,12 @@ public interface TrackedRace extends Serializable, IsManagedByCache<SharedDomain
|
||||
*/
|
||||
Iterable<RaceLog> getAttachedRaceLogs();
|
||||
|
||||
/**
|
||||
* Computes the average speed over ground for a {@link Competitor} based on times and distances
|
||||
* for all finished {@link TrackedLegOfCompetitor}s.
|
||||
*
|
||||
* @param timePoint time point up and until to compute the speed
|
||||
*/
|
||||
Speed getAverageSpeedOverGround(Competitor competitor, TimePoint timePoint);
|
||||
|
||||
}
|
||||
+20
@@ -74,6 +74,7 @@ import com.sap.sailing.domain.common.CourseChange;
|
||||
import com.sap.sailing.domain.common.Distance;
|
||||
import com.sap.sailing.domain.common.LegType;
|
||||
import com.sap.sailing.domain.common.ManeuverType;
|
||||
import com.sap.sailing.domain.common.Mile;
|
||||
import com.sap.sailing.domain.common.NauticalSide;
|
||||
import com.sap.sailing.domain.common.NoWindException;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
@@ -4189,4 +4190,23 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl
|
||||
public Iterable<RaceLog> getAttachedRaceLogs() {
|
||||
return new HashSet<>(attachedRaceLogs.values());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Speed getAverageSpeedOverGround(Competitor competitor, TimePoint timePoint) {
|
||||
Speed result = null;
|
||||
Duration totalTimeSailedInRace = Duration.NULL;
|
||||
Distance totalDistanceSailedInRace = Distance.NULL;
|
||||
for (TrackedLeg legGeneral : getTrackedLegs()) {
|
||||
TrackedLegOfCompetitor leg = legGeneral.getTrackedLeg(competitor);
|
||||
if (leg != null && leg.getTime(timePoint) != null) {
|
||||
totalDistanceSailedInRace.add(leg.getDistanceTraveled(timePoint));
|
||||
totalTimeSailedInRace.plus(leg.getTime(timePoint));
|
||||
}
|
||||
}
|
||||
if (!totalTimeSailedInRace.equals(Duration.NULL) && !totalDistanceSailedInRace.equals(Distance.NULL)) {
|
||||
result = new KnotSpeedImpl(totalDistanceSailedInRace.getMeters() /
|
||||
totalTimeSailedInRace.asSeconds() / Mile.METERS_PER_NAUTICAL_MILE * 3600.0);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -38,6 +38,7 @@
|
||||
<plugin id="com.sap.sailing.dashboards.gwt" autoStart="true" startLevel="5" />
|
||||
<plugin id="com.sap.sailing.datamining" autoStart="true" startLevel="4" />
|
||||
<plugin id="com.sap.sailing.domain.deckmanadapter" autoStart="true" startLevel="4" />
|
||||
<plugin id="com.sap.sailing.domain.expeditionadapter" autoStart="true" startLevel="4" />
|
||||
<plugin id="com.sap.sailing.domain.igtimiadapter" autoStart="true" startLevel="3" />
|
||||
<plugin id="com.sap.sailing.domain.racelogtrackingadapter" autoStart="true" startLevel="3" />
|
||||
<plugin id="com.sap.sailing.domain.swisstimingadapter" autoStart="false" startLevel="4" />
|
||||
@@ -90,4 +91,11 @@
|
||||
<property name="osgi.noShutdown" value="true" />
|
||||
</configurations>
|
||||
|
||||
<preferencesInfo>
|
||||
<targetfile overwrite="false"/>
|
||||
</preferencesInfo>
|
||||
|
||||
<cssInfo>
|
||||
</cssInfo>
|
||||
|
||||
</product>
|
||||
@@ -395,4 +395,11 @@ Computes leaderboard information for sailing races and offers RESTful APIs to al
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.sap.sailing.domain.expeditionadapter"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
||||
+5
-1
@@ -720,7 +720,6 @@ public class MockedTrackedRace implements DynamicTrackedRace {
|
||||
|
||||
@Override
|
||||
public boolean isUsingMarkPassingCalculator() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -881,4 +880,9 @@ public class MockedTrackedRace implements DynamicTrackedRace {
|
||||
String trackName) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Speed getAverageSpeedOverGround(Competitor competitor, TimePoint timePoint) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -257,4 +257,4 @@ input.magnifier {
|
||||
.queryDefinitionViewerContent {
|
||||
background-color: white;
|
||||
padding: 5px;
|
||||
}
|
||||
}
|
||||
@@ -62,5 +62,5 @@
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-style PRETTY -incremental -workDir "${project_loc:com.sap.sailing.gwt.ui}/.tmp/gwt-work" -war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9876 -startupUrl /gwt/Home.html com.sap.sailing.gwt.home.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/EmbeddedMapAndWindChart com.sap.sailing.gwt.ui.EmbeddedMapAndWindChart -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.regattaoverview.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /gwt/YoutubePopup.html com.sap.sailing.gwt.ui.YoutubePopup -startupUrl /gwt/AutoPlay.html com.sap.sailing.gwt.autoplay.AutoPlay"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms1024m -Xmx3072m -Dgwt.watchFileChanges=false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread -Xms1024m -Xmx3072m -Dgwt.watchFileChanges=false"/>
|
||||
</launchConfiguration>
|
||||
@@ -58,7 +58,7 @@
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -incremental -war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9876 -startupUrl /gwt/Home.html com.sap.sailing.gwt.home.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.regattaoverview.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /gwt/AutoPlay.html com.sap.sailing.gwt.autoplay.AutoPlay"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-incremental -war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort auto -startupUrl /gwt/Home.html com.sap.sailing.gwt.home.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.regattaoverview.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /gwt/AutoPlay.html com.sap.sailing.gwt.autoplay.AutoPlay"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false -Dgwt.watchFileChanges=false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread -Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false -Dgwt.watchFileChanges=false"/>
|
||||
</launchConfiguration>
|
||||
+1
-1
@@ -3,7 +3,6 @@ package com.sap.sailing.gwt.home.desktop.app;
|
||||
import com.google.gwt.activity.shared.Activity;
|
||||
import com.google.gwt.activity.shared.ActivityMapper;
|
||||
import com.google.gwt.place.shared.Place;
|
||||
import com.sap.sailing.gwt.common.client.formfactor.DeviceDetector;
|
||||
import com.sap.sailing.gwt.home.desktop.places.aboutus.AboutUsActivityProxy;
|
||||
import com.sap.sailing.gwt.home.desktop.places.aboutus.AboutUsPlace;
|
||||
import com.sap.sailing.gwt.home.desktop.places.contact.ContactActivityProxy;
|
||||
@@ -37,6 +36,7 @@ import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationPlac
|
||||
import com.sap.sailing.gwt.home.shared.places.user.passwordreset.PasswordResetActivityProxy;
|
||||
import com.sap.sailing.gwt.home.shared.places.user.passwordreset.PasswordResetPlace;
|
||||
import com.sap.sailing.gwt.home.shared.places.user.profile.AbstractUserProfilePlace;
|
||||
import com.sap.sse.gwt.client.formfactor.DeviceDetector;
|
||||
|
||||
public class DesktopActivityMapper implements ActivityMapper {
|
||||
private final DesktopClientFactory clientFactory;
|
||||
|
||||
-6
@@ -48,9 +48,3 @@
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
.sitefooter_language_link {
|
||||
color: #efaa00;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
margin-left: 0.666666666666667em;
|
||||
}
|
||||
-97
@@ -1,28 +1,13 @@
|
||||
package com.sap.sailing.gwt.home.desktop.partials.footer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.AnchorElement;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||
import com.google.gwt.http.client.UrlBuilder;
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
import com.google.gwt.text.shared.Renderer;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.uibinder.client.UiHandler;
|
||||
import com.google.gwt.user.client.DOM;
|
||||
import com.google.gwt.user.client.Event;
|
||||
import com.google.gwt.user.client.EventListener;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.Window.Location;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.ValueListBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.web.bindery.event.shared.EventBus;
|
||||
import com.sap.sailing.gwt.home.desktop.app.DesktopPlacesNavigator;
|
||||
@@ -30,9 +15,6 @@ import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewPlace;
|
||||
import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewPlace.WhatsNewNavigationTabs;
|
||||
import com.sap.sailing.gwt.home.shared.SwitchingEntryPoint;
|
||||
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.gwt.client.GWTLocaleUtil;
|
||||
|
||||
public class Footer extends Composite {
|
||||
private static FooterPanelUiBinder uiBinder = GWT.create(FooterPanelUiBinder.class);
|
||||
@@ -40,32 +22,8 @@ public class Footer extends Composite {
|
||||
interface FooterPanelUiBinder extends UiBinder<Widget, Footer> {
|
||||
}
|
||||
|
||||
@UiField Anchor changeLanguageLink;
|
||||
@UiField AnchorElement imprintAnchorLink;
|
||||
@UiField DivElement languageSelectionDiv;
|
||||
@UiField(provided = true) ValueListBox<Pair<String, String>> changeLanguageList = new ValueListBox<Pair<String,String>>(new Renderer<Pair<String, String>>() {
|
||||
@Override
|
||||
public String render(Pair<String, String> object) {
|
||||
if(object == null) {
|
||||
return "";
|
||||
}
|
||||
if(object.getB() != null) {
|
||||
return object.getB();
|
||||
}
|
||||
return object.getA();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Pair<String, String> object, Appendable appendable) throws IOException {
|
||||
appendable.append(render(object));
|
||||
}
|
||||
});
|
||||
|
||||
@UiField AnchorElement mobileUi;
|
||||
private String otherLanguage;
|
||||
private final LocaleInfo currentLocale = LocaleInfo.getCurrentLocale();
|
||||
|
||||
|
||||
@UiField(provided = true)
|
||||
final PlaceNavigation<WhatsNewPlace> releaseNotesNavigation;
|
||||
|
||||
@@ -76,7 +34,6 @@ public class Footer extends Composite {
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
navigator.getImprintNavigation().configureAnchorElement(imprintAnchorLink);
|
||||
|
||||
updateUI();
|
||||
DOM.sinkEvents(mobileUi, Event.ONCLICK);
|
||||
DOM.setEventListener(mobileUi, new EventListener() {
|
||||
@Override
|
||||
@@ -89,58 +46,4 @@ public class Footer extends Composite {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@UiHandler("changeLanguageLink")
|
||||
public void changeLanguage(ClickEvent e) {
|
||||
if(otherLanguage != null) {
|
||||
UrlBuilder builder = Location.createUrlBuilder().setParameter("locale", otherLanguage);
|
||||
Window.Location.replace(builder.buildString());
|
||||
}
|
||||
}
|
||||
|
||||
@UiHandler("changeLanguageList")
|
||||
void onListSelection(ValueChangeEvent<Pair<String, String>> event) {
|
||||
String selectedLocaleName = event.getValue().getA();
|
||||
if(!currentLocale.getLocaleName().equals(selectedLocaleName)) {
|
||||
UrlBuilder builder = Location.createUrlBuilder().setParameter("locale", selectedLocaleName);
|
||||
Window.Location.replace(builder.buildString());
|
||||
}
|
||||
}
|
||||
|
||||
private void updateUI() {
|
||||
final Iterable<String> availableLocales = GWTLocaleUtil.getAvailableLocales();
|
||||
final int localeCount = Util.size(availableLocales);
|
||||
|
||||
if (localeCount <= 1) {
|
||||
// only current language (or removed default) available
|
||||
changeLanguageLink.removeFromParent();
|
||||
changeLanguageList.removeFromParent();
|
||||
languageSelectionDiv.removeFromParent();
|
||||
return;
|
||||
}
|
||||
if (Util.size(availableLocales) == 2) {
|
||||
changeLanguageList.removeFromParent();
|
||||
// current language + one we can switch to
|
||||
for (String localeName : availableLocales) {
|
||||
if (!currentLocale.getLocaleName().equals(localeName)) {
|
||||
otherLanguage = localeName;
|
||||
changeLanguageLink.setText(LocaleInfo.getLocaleNativeDisplayName(otherLanguage));
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
changeLanguageLink.removeFromParent();
|
||||
Collection<Pair<String, String>> values = new ArrayList<>();
|
||||
Pair<String, String> selectedValue = null;
|
||||
for (String localeName : availableLocales) {
|
||||
Pair<String, String> value = new Pair<String, String>(localeName, LocaleInfo.getLocaleNativeDisplayName(localeName));
|
||||
values.add(value);
|
||||
if (currentLocale.getLocaleName().equals(localeName)) {
|
||||
selectedValue = value;
|
||||
}
|
||||
}
|
||||
changeLanguageList.setValue(selectedValue);
|
||||
changeLanguageList.setAcceptableValues(values);
|
||||
}
|
||||
}
|
||||
+3
-32
@@ -1,37 +1,11 @@
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui"
|
||||
xmlns:l="urn:import:com.sap.sse.gwt.client.controls.languageselect"
|
||||
xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared">
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.desktop.partials.footer.FooterResources" />
|
||||
<ui:with field="releaseNotesNavigation" type="com.sap.sailing.gwt.home.shared.app.PlaceNavigation" />
|
||||
<ui:style gss="true">
|
||||
.languageSelect::-ms-expand {
|
||||
display: none;
|
||||
}
|
||||
.languageSelect {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
-ms-appearance: none;
|
||||
appearance: none;
|
||||
|
||||
margin-top: 25px;
|
||||
color: #efaa00;
|
||||
line-height: 1.5em;
|
||||
height: 1.5em;
|
||||
display: inline-block;
|
||||
border: transparent;
|
||||
cursor: pointer;
|
||||
padding-right: 1.2em;
|
||||
background: #333;
|
||||
cursor: pointer;
|
||||
|
||||
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgaGVpZ2h0PScxOHB4JyB3aWR0aD0nMTZweCc+PHRleHQgeD0nMCcgeT0nMTUnIGZpbGw9JyNlZmFhMDAnIGZvbnQtc2l6ZT0nMTYnPiYjOTY2MDs8L3RleHQ+PC9zdmc+");
|
||||
background-position: right center;
|
||||
background-repeat: no-repeat;
|
||||
|
||||
}
|
||||
</ui:style>
|
||||
<g:HTMLPanel tag="footer" addStyleNames="{local_res.css.sitefooter}">
|
||||
<!-- Website footer-->
|
||||
<div class="{res.mediaCss.grid}">
|
||||
@@ -61,11 +35,8 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div ui:field="languageSelectionDiv" class="{res.mediaCss.small12} {res.mediaCss.medium3} {res.mediaCss.columns} {local_res.css.sitefooter_language}">
|
||||
<span><ui:text from='{i18n.footerLanguage}' />:</span>
|
||||
<g:Anchor ui:field="changeLanguageLink" styleName="{local_res.css.sitefooter_language_link}" />
|
||||
<g:ValueListBox addStyleNames="{style.languageSelect}" ui:field="changeLanguageList" />
|
||||
</div>
|
||||
<l:LanguageSelector labelText="{i18n.footerLanguage}" addStyleNames="{res.mediaCss.small12}
|
||||
{res.mediaCss.medium3} {res.mediaCss.columns} {local_res.css.sitefooter_language}" />
|
||||
</div>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
-1
@@ -16,6 +16,5 @@ public interface FooterResources extends ClientBundle {
|
||||
String sitefooter_links();
|
||||
String sitefooter_links_link();
|
||||
String sitefooter_language();
|
||||
String sitefooter_language_link();
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -238,7 +238,7 @@
|
||||
}
|
||||
.letItScroll {
|
||||
overflow-x: auto;
|
||||
margin: 10px 0px;
|
||||
padding: 10px 30px 10px 10px;
|
||||
}
|
||||
.regattaleaderboard_meta_fullscreen_button {
|
||||
background-color: #9f9f9f;
|
||||
|
||||
Executable → Regular
+2
-1
@@ -232,7 +232,8 @@ public abstract class AbstractEventActivity<PLACE extends AbstractEventPlace> ex
|
||||
regattaRaceStatesSettings.getVisibleRegattaSettings().addValue(getRegattaId());
|
||||
}
|
||||
}
|
||||
return EntryPointWithSettingsLinkFactory.createRegattaOverviewLink(new RegattaOverviewContextDefinition(getCtx().getEventId()), regattaRaceStatesSettings);
|
||||
return EntryPointWithSettingsLinkFactory.createRegattaOverviewLink(
|
||||
new RegattaOverviewContextDefinition(getCtx().getEventId()), regattaRaceStatesSettings, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-5
@@ -14,11 +14,8 @@
|
||||
.sitefooter_language {
|
||||
display: block;
|
||||
}
|
||||
a.sitefooter_language_link {
|
||||
color: #fff;
|
||||
}
|
||||
a.sitefooter_language_linkactive {
|
||||
color: #efaa00;
|
||||
.sitefooter_language select {
|
||||
font-size: 110%;
|
||||
}
|
||||
.sitefooter_links {
|
||||
font-weight: 600;
|
||||
|
||||
+1
-92
@@ -1,34 +1,19 @@
|
||||
package com.sap.sailing.gwt.home.mobile.partials.footer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.AnchorElement;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||
import com.google.gwt.http.client.UrlBuilder;
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
import com.google.gwt.text.shared.Renderer;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.uibinder.client.UiHandler;
|
||||
import com.google.gwt.user.client.DOM;
|
||||
import com.google.gwt.user.client.Event;
|
||||
import com.google.gwt.user.client.EventListener;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.Window.Location;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.ValueListBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewPlace;
|
||||
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
|
||||
import com.sap.sailing.gwt.home.shared.SwitchingEntryPoint;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
|
||||
/**
|
||||
* Mobile page footer with several links and the ability to switch the language.
|
||||
@@ -39,32 +24,10 @@ public class Footer extends Composite {
|
||||
interface FooterPanelUiBinder extends UiBinder<Widget, Footer> {
|
||||
}
|
||||
|
||||
private String otherLanguage;
|
||||
private final LocaleInfo currentLocale = LocaleInfo.getCurrentLocale();
|
||||
private MobilePlacesNavigator placeNavigator;
|
||||
|
||||
@UiField Anchor changeLanguageLink;
|
||||
@UiField AnchorElement imprintAnchorLink;
|
||||
@UiField DivElement languageSelectionDiv;
|
||||
@UiField AnchorElement desktopUi;
|
||||
|
||||
@UiField(provided = true) ValueListBox<Pair<String, String>> changeLanguageList = new ValueListBox<Pair<String,String>>(new Renderer<Pair<String, String>>() {
|
||||
@Override
|
||||
public String render(Pair<String, String> object) {
|
||||
if(object == null) {
|
||||
return "";
|
||||
}
|
||||
if(object.getB() != null) {
|
||||
return object.getB();
|
||||
}
|
||||
return object.getA();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Pair<String, String> object, Appendable appendable) throws IOException {
|
||||
appendable.append(render(object));
|
||||
}
|
||||
});
|
||||
private final MobilePlacesNavigator placeNavigator;
|
||||
|
||||
public Footer(MobilePlacesNavigator placeNavigator) {
|
||||
this.placeNavigator = placeNavigator;
|
||||
@@ -73,7 +36,6 @@ public class Footer extends Composite {
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
placeNavigator.getImprintNavigation().configureAnchorElement(imprintAnchorLink);
|
||||
|
||||
updateUI();
|
||||
DOM.sinkEvents(desktopUi, Event.ONCLICK);
|
||||
DOM.setEventListener(desktopUi, new EventListener() {
|
||||
@Override
|
||||
@@ -86,62 +48,9 @@ public class Footer extends Composite {
|
||||
});
|
||||
}
|
||||
|
||||
@UiHandler("changeLanguageLink")
|
||||
public void changeLanguage(ClickEvent e) {
|
||||
if(otherLanguage != null) {
|
||||
UrlBuilder builder = Location.createUrlBuilder().setParameter("locale", otherLanguage);
|
||||
Window.Location.replace(builder.buildString());
|
||||
}
|
||||
}
|
||||
|
||||
@UiHandler("changeLanguageList")
|
||||
void onListSelection(ValueChangeEvent<Pair<String, String>> event) {
|
||||
String selectedLocaleName = event.getValue().getA();
|
||||
if(!currentLocale.getLocaleName().equals(selectedLocaleName)) {
|
||||
UrlBuilder builder = Location.createUrlBuilder().setParameter("locale", selectedLocaleName);
|
||||
Window.Location.replace(builder.buildString());
|
||||
}
|
||||
}
|
||||
|
||||
@UiHandler("whatsNewLinkUi")
|
||||
void onWhatsNew(ClickEvent e) {
|
||||
placeNavigator.getWhatsNewNavigation(WhatsNewPlace.WhatsNewNavigationTabs.SailingAnalytics).goToPlace();
|
||||
}
|
||||
|
||||
private void updateUI() {
|
||||
Set<String> availableLocales = new HashSet<String>(Arrays.asList(LocaleInfo.getAvailableLocaleNames()));
|
||||
availableLocales.remove("default");
|
||||
|
||||
if(availableLocales.size() <= 1) {
|
||||
// only current language (or removed default) available
|
||||
changeLanguageLink.removeFromParent();
|
||||
changeLanguageList.removeFromParent();
|
||||
languageSelectionDiv.removeFromParent();
|
||||
return;
|
||||
}
|
||||
if(availableLocales.size() == 2) {
|
||||
changeLanguageList.removeFromParent();
|
||||
// current language + one we can switch to
|
||||
for(String localeName : availableLocales) {
|
||||
if(!currentLocale.getLocaleName().equals(localeName)) {
|
||||
otherLanguage = localeName;
|
||||
changeLanguageLink.setText(LocaleInfo.getLocaleNativeDisplayName(otherLanguage));
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
changeLanguageLink.removeFromParent();
|
||||
Set<Pair<String, String>> values = new HashSet<>();
|
||||
Pair<String, String> selectedValue = null;
|
||||
for(String localeName : availableLocales) {
|
||||
Pair<String, String> value = new Pair<String, String>(localeName, LocaleInfo.getLocaleNativeDisplayName(localeName));
|
||||
values.add(value);
|
||||
if(currentLocale.getLocaleName().equals(localeName)) {
|
||||
selectedValue = value;
|
||||
}
|
||||
}
|
||||
changeLanguageList.setValue(selectedValue);
|
||||
changeLanguageList.setAcceptableValues(values);
|
||||
}
|
||||
}
|
||||
+11
-56
@@ -1,60 +1,17 @@
|
||||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared">
|
||||
<ui:with field="i18n"
|
||||
type="com.sap.sailing.gwt.ui.client.StringMessages" />
|
||||
<ui:with field="res"
|
||||
type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<ui:with field="local_res"
|
||||
type="com.sap.sailing.gwt.home.mobile.partials.footer.FooterResources" />
|
||||
|
||||
<ui:style gss="true">
|
||||
.languageSelect::-ms-expand {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.languageSelect {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
-ms-appearance: none;
|
||||
appearance: none;
|
||||
margin-top: 25px;
|
||||
color: #efaa00;
|
||||
line-height: 1.5em;
|
||||
height: 1.5em;
|
||||
display: inline-block;
|
||||
border: transparent;
|
||||
cursor: pointer;
|
||||
padding-right: 1.2em;
|
||||
background: #333;
|
||||
cursor: pointer;
|
||||
background-image:
|
||||
url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgaGVpZ2h0PScxOHB4JyB3aWR0aD0nMTZweCc+PHRleHQgeD0nMCcgeT0nMTUnIGZpbGw9JyNlZmFhMDAnIGZvbnQtc2l6ZT0nMTYnPiYjOTY2MDs8L3RleHQ+PC9zdmc+");
|
||||
background-position: right center;
|
||||
background-repeat: no-repeat;
|
||||
font-size: 110%;
|
||||
}
|
||||
</ui:style>
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"
|
||||
xmlns:l="urn:import:com.sap.sse.gwt.client.controls.languageselect"
|
||||
xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared">
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.mobile.partials.footer.FooterResources" />
|
||||
<g:HTMLPanel>
|
||||
<!-- Footer mobile -->
|
||||
<footer class="{local_res.css.sitefooter}">
|
||||
<div class="{res.mediaCss.grid}">
|
||||
<div ui:field="languageSelectionDiv"
|
||||
class="{local_res.css.sitefooter_language} {res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
|
||||
<span>
|
||||
<ui:text from='{i18n.footerLanguage}' />
|
||||
:
|
||||
</span>
|
||||
<g:Anchor ui:field="changeLanguageLink"
|
||||
styleName="{local_res.css.sitefooter_language_link}" />
|
||||
<g:ValueListBox addStyleNames="{style.languageSelect}"
|
||||
ui:field="changeLanguageList" />
|
||||
|
||||
|
||||
</div>
|
||||
<div
|
||||
class="{local_res.css.sitefooter_links} {res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<l:LanguageSelector labelText="{i18n.footerLanguage}"
|
||||
addStyleNames="{local_res.css.sitefooter_language} {res.mediaCss.small12} {res.mediaCss.columns}"/>
|
||||
<div class="{local_res.css.sitefooter_links} {res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<a ui:field="imprintAnchorLink">
|
||||
<ui:text from='{i18n.footerLegal}' />
|
||||
</a>
|
||||
@@ -72,14 +29,12 @@
|
||||
<ui:text from='{i18n.footerJobs}'/>
|
||||
</a>
|
||||
<br></br>
|
||||
<a
|
||||
href="mailto:sailing_analytics%40sap.com?subject=[SAP Sailing] Feedback"
|
||||
<a href="mailto:sailing_analytics%40sap.com?subject=[SAP Sailing] Feedback"
|
||||
title="{i18n.footerFeedback}">
|
||||
<ui:text from='{i18n.footerFeedback}' />
|
||||
</a>
|
||||
|
|
||||
<a ui:field="desktopUi" href="HomeDesktop.html"
|
||||
title="Desktop">
|
||||
<a ui:field="desktopUi" href="HomeDesktop.html" title="Desktop">
|
||||
Desktop
|
||||
</a>
|
||||
|
|
||||
|
||||
-2
@@ -13,8 +13,6 @@ public interface FooterResources extends ClientBundle {
|
||||
public interface LocalCss extends CssResource {
|
||||
String sitefooter();
|
||||
String sitefooter_language();
|
||||
String sitefooter_language_link();
|
||||
String sitefooter_language_linkactive();
|
||||
String sitefooter_links();
|
||||
|
||||
}
|
||||
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
package com.sap.sailing.gwt.home.shared;
|
||||
|
||||
import static com.sap.sailing.gwt.common.client.formfactor.MetaTagUtil.SCALE_VALUE_LARGE;
|
||||
import static com.sap.sailing.gwt.common.client.formfactor.MetaTagUtil.SCALE_VALUE_NORMAL;
|
||||
import static com.sap.sailing.gwt.common.client.formfactor.MetaTagUtil.SCALE_VALUE_SMALL;
|
||||
import static com.sap.sailing.gwt.common.client.formfactor.MetaTagUtil.SCALE_VALUE_SMALLER;
|
||||
import static com.sap.sailing.gwt.common.client.formfactor.MetaTagUtil.setViewportToDeviceWidth;
|
||||
import static com.sap.sse.gwt.client.formfactor.MetaTagUtil.SCALE_VALUE_LARGE;
|
||||
import static com.sap.sse.gwt.client.formfactor.MetaTagUtil.SCALE_VALUE_NORMAL;
|
||||
import static com.sap.sse.gwt.client.formfactor.MetaTagUtil.SCALE_VALUE_SMALL;
|
||||
import static com.sap.sse.gwt.client.formfactor.MetaTagUtil.SCALE_VALUE_SMALLER;
|
||||
import static com.sap.sse.gwt.client.formfactor.MetaTagUtil.setViewportToDeviceWidth;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -21,13 +21,13 @@ import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.RootPanel;
|
||||
import com.sap.sailing.gwt.common.client.SharedResources;
|
||||
import com.sap.sailing.gwt.common.client.formfactor.DeviceDetector;
|
||||
import com.sap.sailing.gwt.home.desktop.DesktopEntryPoint;
|
||||
import com.sap.sailing.gwt.home.mobile.MobileEntryPoint;
|
||||
import com.sap.sailing.gwt.home.shared.app.ApplicationHistoryMapper;
|
||||
import com.sap.sailing.gwt.home.shared.app.ApplicationPlaceUpdater;
|
||||
import com.sap.sailing.gwt.home.shared.app.HasMobileVersion;
|
||||
import com.sap.sailing.gwt.home.shared.app.MobileSupport;
|
||||
import com.sap.sse.gwt.client.formfactor.DeviceDetector;
|
||||
|
||||
/**
|
||||
* Wrapper EntryPoint for the Home module that decides if the desktop or mobile page will be shown and internally starts
|
||||
|
||||
+3
@@ -7,6 +7,9 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
/**
|
||||
* {@link AbstractStoreBadge} implementation for Apple's App Store.
|
||||
*
|
||||
* The badge images is delived from within the application. The suffix is stored in the i18n bundle and points to the
|
||||
* localized badge images. English is used for all badges, unless there is an localized (actually only german) version.
|
||||
*/
|
||||
public class AppStoreBadge extends AbstractStoreBadge {
|
||||
|
||||
|
||||
+4
@@ -7,6 +7,10 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
/**
|
||||
* {@link AbstractStoreBadge} implementation for Google's Play Store / Google Play.
|
||||
*
|
||||
* The badge link is stored in the i18n bundle. English is used for all badges, unless there is an localized (actually
|
||||
* only german) version.
|
||||
*
|
||||
*/
|
||||
public class PlayStoreBadge extends AbstractStoreBadge {
|
||||
|
||||
|
||||
+4
-14
@@ -182,11 +182,9 @@ public class RegattaRaceStatesComponent extends AbstractCompositeComponent<Regat
|
||||
boolean canRemoveBoatClass = true;
|
||||
boolean canRemoveLastUpdate = true;
|
||||
boolean canRemoveProtestTime = true;
|
||||
|
||||
boolean first = true;
|
||||
for (RegattaOverviewEntryDTO loopEntryDTO : allEntries) {
|
||||
final RaceInfoDTO loopRaceInfo = loopEntryDTO.raceInfo;
|
||||
|
||||
if (canRemoveLastUpdate && timePassedInSeconds(loopRaceInfo.lastUpdateTime) <= HIDE_COL_TIME_THRESHOLD) {
|
||||
canRemoveLastUpdate = false;
|
||||
}
|
||||
@@ -194,42 +192,34 @@ public class RegattaRaceStatesComponent extends AbstractCompositeComponent<Regat
|
||||
&& timePassedInSeconds(loopRaceInfo.protestFinishTime) <= HIDE_COL_TIME_THRESHOLD) {
|
||||
canRemoveProtestTime = false;
|
||||
}
|
||||
|
||||
if (first) {
|
||||
firstRegattaName = loopEntryDTO.regattaDisplayName;
|
||||
firstRegattaNameEntry = loopEntryDTO;
|
||||
|
||||
firstCourseAreaName = loopEntryDTO.courseAreaName;
|
||||
|
||||
firstCourseName = loopRaceInfo.lastCourseName;
|
||||
firstCourseRegattaOverviewEntry = loopRaceInfo;
|
||||
|
||||
lastBoatClass = loopEntryDTO.boatClassName;
|
||||
} else {
|
||||
if (canRemoveRegatta && !Util.equalsWithNull(firstRegattaName, loopEntryDTO.regattaDisplayName)) {
|
||||
canRemoveRegatta = false;
|
||||
}
|
||||
|
||||
if (canRemoveCourseArea && !Util.equalsWithNull(firstCourseAreaName, loopEntryDTO.courseAreaName)) {
|
||||
canRemoveCourseArea = false;
|
||||
}
|
||||
|
||||
if (canRemoveCourse && !Util.equalsWithNull(firstCourseName, loopRaceInfo.lastCourseName)
|
||||
&& !Util.equalsWithNull(firstCourseRegattaOverviewEntry.lastCourseDesign,
|
||||
loopRaceInfo.lastCourseDesign)) {
|
||||
// a course must be shown individually for a race if its name or its course design differs
|
||||
if (canRemoveCourse && (!Util.equalsWithNull(firstCourseName, loopRaceInfo.lastCourseName)
|
||||
|| !Util.equalsWithNull(firstCourseRegattaOverviewEntry.lastCourseDesign,
|
||||
loopRaceInfo.lastCourseDesign))) {
|
||||
canRemoveCourse = false;
|
||||
}
|
||||
|
||||
if (canRemoveBoatClass && !Util.equalsWithNull(lastBoatClass, loopEntryDTO.boatClassName)) {
|
||||
canRemoveBoatClass = false;
|
||||
}
|
||||
}
|
||||
|
||||
first = false;
|
||||
}
|
||||
// final RegattaOverviewEntryDTO entryForRepeatedInfos = firstEntry;
|
||||
repeatedInfoLabel.clear();
|
||||
|
||||
boolean isAppending = false;
|
||||
RegattaOverviewEntryDTO _firstRegattaNameEntry = firstRegattaNameEntry;
|
||||
isAppending |= collectRepeatedInfos(stringMessages.regatta(), firstRegattaName, canRemoveRegatta,
|
||||
|
||||
+3
-3
@@ -28,13 +28,13 @@ public class EntryPointWithSettingsLinkFactory extends AbstractEntryPointWithSet
|
||||
private static final String REGATTA_OVERVIEW_PATH = "/gwt/RegattaOverview.html";
|
||||
|
||||
public static String createRegattaOverviewLink(RegattaOverviewContextDefinition regattaOverviewSettings) {
|
||||
return createRegattaOverviewLink(regattaOverviewSettings, new RegattaRaceStatesSettings());
|
||||
return createRegattaOverviewLink(regattaOverviewSettings, new RegattaRaceStatesSettings(), true);
|
||||
}
|
||||
|
||||
public static String createRegattaOverviewLink(RegattaOverviewContextDefinition regattaOverviewSettings,
|
||||
RegattaRaceStatesSettings regattaRaceStatesSettings) {
|
||||
RegattaRaceStatesSettings regattaRaceStatesSettings, boolean ignoreLocalSettings) {
|
||||
return new LinkWithSettingsGenerator<>(REGATTA_OVERVIEW_PATH, regattaOverviewSettings,
|
||||
new IgnoreLocalSettings(true)).createUrl(regattaRaceStatesSettings);
|
||||
new IgnoreLocalSettings(ignoreLocalSettings)).createUrl(regattaRaceStatesSettings);
|
||||
}
|
||||
|
||||
public static String createLeaderboardLink(LeaderboardContextDefinition contextDefinition, LeaderboardPerspectiveOwnSettings perspectiveOwnSettings) {
|
||||
|
||||
+2
-3
@@ -53,9 +53,8 @@ public class RegattaLogImportSensorDataAndAddMappingsDialog extends DataEntryDia
|
||||
}
|
||||
}
|
||||
});
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */
|
||||
false, true);
|
||||
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
/* multiSelection */ false, /* enablePager */ true);
|
||||
competitorTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
|
||||
+2
-2
@@ -1549,8 +1549,8 @@ playstoreCampaign=utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02
|
||||
playstoreInsightApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app
|
||||
playstoreRacecommitteeApp=https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app
|
||||
playStoreBuoyPingerApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app
|
||||
playstoreBadge=https://play.google.com/intl/en/badges/images/badge_new.png
|
||||
appstoreSapSailInsight=http://appstore.com/sapsailinsight
|
||||
playstoreBadge=https://developer.android.com/images/brand/en_generic_rgb_wo_60.png
|
||||
appstoreSapSailInsight=https://itunes.apple.com/us/app/sap-sail-insight/id1087154208
|
||||
appstoreBadgeSuffix=_en
|
||||
distanceFromAveragePosition=Distance from average position
|
||||
useATouchOptimizedUI=Use a touch optimized UI to move the fix
|
||||
|
||||
+2
-1
@@ -1527,7 +1527,8 @@ raceManagerDeviceName=Gerätename
|
||||
serverURLInvalid=Bitte gültige Server-URL eingeben
|
||||
serverURLEmpty=Server URL darf nicht leer sein
|
||||
marks=Bahnmarken
|
||||
playstoreBadge=https://play.google.com/intl/de-de/badges/images/badge_new.png
|
||||
playstoreBadge=https://developer.android.com/images/brand/de_generic_rgb_wo_60.png
|
||||
appstoreSapSailInsight=https://itunes.apple.com/de/app/sap-sail-insight/id1087154208
|
||||
appstoreBadgeSuffix=_de
|
||||
addNewFix=Neuen Fix hinzufügen
|
||||
pleaseSelectOtherTimepoint=Bitte wählen Sie einen anderen Zeitpunkt. Am gewählten Zeitpunkt ist bereits ein Fix.
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package com.sap.sailing.gwt.ui.client.media;
|
||||
|
||||
import com.sap.sailing.gwt.common.client.formfactor.DeviceDetector;
|
||||
import com.sap.sse.common.settings.AbstractSettings;
|
||||
import com.sap.sse.gwt.client.formfactor.DeviceDetector;
|
||||
import com.sap.sse.gwt.shared.GwtHttpRequestUtils;
|
||||
|
||||
public class MediaPlayerSettings extends AbstractSettings {
|
||||
|
||||
+2
-2
@@ -12,6 +12,7 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.security.Permission;
|
||||
import com.sap.sailing.domain.common.security.SailingPermissionsForRoleProvider;
|
||||
import com.sap.sailing.gwt.common.authentication.FixedSailingAuthentication;
|
||||
import com.sap.sailing.gwt.common.authentication.SAPSailingHeaderWithAuthentication;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.RemoteServiceMappingConstants;
|
||||
import com.sap.sailing.gwt.ui.datamining.execution.SimpleQueryRunner;
|
||||
@@ -48,7 +49,7 @@ public class DataMiningEntryPoint extends AbstractSailingEntryPoint {
|
||||
}
|
||||
|
||||
private void createDataminingPanel() {
|
||||
SAPHeaderWithAuthentication header = new SAPHeaderWithAuthentication(getStringMessages().sapSailingAnalytics(), getStringMessages().dataMining());
|
||||
SAPHeaderWithAuthentication header = new SAPSailingHeaderWithAuthentication(getStringMessages().dataMining());
|
||||
GenericAuthentication genericSailingAuthentication = new FixedSailingAuthentication(getUserService(), header.getAuthenticationMenuView());
|
||||
AuthorizedContentDecorator authorizedContentDecorator = new GenericAuthorizedContentDecorator(genericSailingAuthentication);
|
||||
authorizedContentDecorator.setPermissionToCheck(Permission.DATA_MINING, SailingPermissionsForRoleProvider.INSTANCE);
|
||||
@@ -78,7 +79,6 @@ public class DataMiningEntryPoint extends AbstractSailingEntryPoint {
|
||||
* Re-enable this, when this functionality is desired again.
|
||||
*/
|
||||
// settingsControl.addSettingsComponent(queryRunner);
|
||||
|
||||
SplitLayoutPanel splitPanel = new SplitLayoutPanel(15);
|
||||
splitPanel.addSouth(resultsPresenter.getEntryWidget(), 350);
|
||||
splitPanel.add(selectionDockPanel);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.raceboard;
|
||||
|
||||
import com.sap.sailing.gwt.common.client.formfactor.DeviceDetector;
|
||||
import com.sap.sse.gwt.client.formfactor.DeviceDetector;
|
||||
import com.sap.sse.security.ui.authentication.view.AbstractFlyoutAuthenticationView;
|
||||
|
||||
public class RaceBoardAuthenticationView extends AbstractFlyoutAuthenticationView {
|
||||
|
||||
+1
-1
@@ -13,7 +13,6 @@ import com.google.gwt.user.client.ui.DockLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.RootLayoutPanel;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.gwt.common.client.formfactor.DeviceDetector;
|
||||
import com.sap.sailing.gwt.settings.client.raceboard.RaceBoardPerspectiveOwnSettings;
|
||||
import com.sap.sailing.gwt.settings.client.raceboard.RaceboardContextDefinition;
|
||||
import com.sap.sailing.gwt.settings.client.utils.StoredSettingsLocationFactory;
|
||||
@@ -28,6 +27,7 @@ import com.sap.sailing.gwt.ui.shared.RaceWithCompetitorsDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceboardDataDTO;
|
||||
import com.sap.sse.gwt.client.EntryPointHelper;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.formfactor.DeviceDetector;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
import com.sap.sse.gwt.client.player.Timer.PlayModes;
|
||||
import com.sap.sse.gwt.client.shared.components.Component;
|
||||
|
||||
+1
-1
@@ -1,8 +1,8 @@
|
||||
package com.sap.sailing.gwt.ui.raceboard;
|
||||
|
||||
import com.sap.sailing.gwt.common.authentication.SailingAuthenticationEntryPointLinkFactory;
|
||||
import com.sap.sailing.gwt.common.client.formfactor.DeviceDetector;
|
||||
import com.sap.sailing.gwt.ui.raceboard.RaceBoardResources.RaceBoardMainCss;
|
||||
import com.sap.sse.gwt.client.formfactor.DeviceDetector;
|
||||
import com.sap.sse.security.ui.authentication.AuthenticationManager;
|
||||
import com.sap.sse.security.ui.authentication.generic.sapheader.GenericLoginHintPopup;
|
||||
|
||||
|
||||
+9
-5
@@ -2961,8 +2961,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
final Bearing bearing = bravoFixTrack.getHeel(timePoint);
|
||||
result = bearing == null ? null : bearing.getDegrees();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CURRENT_PITCH_IN_DEGREES: {
|
||||
final BravoFixTrack<Competitor> bravoFixTrack = trackedRace
|
||||
.<BravoFix, BravoFixTrack<Competitor>> getSensorTrack(competitor, BravoFixTrack.TRACK_NAME);
|
||||
@@ -2970,16 +2970,16 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
final Bearing bearing = bravoFixTrack.getPitch(timePoint);
|
||||
result = bearing == null ? null : bearing.getDegrees();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RACE_CURRENT_RIDE_HEIGHT_IN_METERS:
|
||||
{
|
||||
}
|
||||
case RACE_CURRENT_RIDE_HEIGHT_IN_METERS: {
|
||||
final BravoFixTrack<Competitor> bravoFixTrack = trackedRace
|
||||
.<BravoFix, BravoFixTrack<Competitor>> getSensorTrack(competitor, BravoFixTrack.TRACK_NAME);
|
||||
if (bravoFixTrack != null) {
|
||||
final Distance rideHeight = bravoFixTrack.getRideHeight(timePoint);
|
||||
result = rideHeight == null ? null : rideHeight.getMeters();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CURRENT_PORT_DAGGERBOARD_RAKE: {
|
||||
final BravoFixTrack<Competitor> bravoFixTrack = trackedRace
|
||||
@@ -2987,6 +2987,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
if (bravoFixTrack != null) {
|
||||
result = bravoFixTrack.getPortDaggerboardRakeIfAvailable(timePoint);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CURRENT_STBD_DAGGERBOARD_RAKE: {
|
||||
final BravoFixTrack<Competitor> bravoFixTrack = trackedRace
|
||||
@@ -2994,6 +2995,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
if (bravoFixTrack != null) {
|
||||
result = bravoFixTrack.getStbdDaggerboardRakeStbdIfAvailable(timePoint);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CURRENT_PORT_RUDDER_RAKE: {
|
||||
final BravoFixTrack<Competitor> bravoFixTrack = trackedRace
|
||||
@@ -3001,6 +3003,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
if (bravoFixTrack != null) {
|
||||
result = bravoFixTrack.getPortRudderRakeIfAvailable(timePoint);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CURRENT_STBD_RUDDER_RAKE: {
|
||||
final BravoFixTrack<Competitor> bravoFixTrack = trackedRace
|
||||
@@ -3008,6 +3011,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
if (bravoFixTrack != null) {
|
||||
result = bravoFixTrack.getStbdRudderRakeIfAvailable(timePoint);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CURRENT_MAST_ROTATION_IN_DEGREES: {
|
||||
final BravoFixTrack<Competitor> bravoFixTrack = trackedRace
|
||||
@@ -3016,8 +3020,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
final Bearing bearing = bravoFixTrack.getMastRotationIfAvailable(timePoint);
|
||||
result = bearing == null ? null : bearing.getDegrees();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
throw new UnsupportedOperationException("There is currently no support for the enum value '" + dataType
|
||||
+ "' in this method.");
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
Pos[ddd.dd],dd/mm/yy,mm/dd/yy,hhmmss,Heel,Boatspeed,AW_angle,AW_speed,Leeway,Course,Heading,TW_Dirn,TW_angle,TW_speed,GW_Dirn,GW_speed,Orig_TWS,Orig_TWA,Orig_TWD,TWD_Off,VMG,Ext_SOG,Ext_COG,Vs_target,Vs_targ%,TWA_targ,Vs_perf,Vs_perf%,Vs_nav,Vs_nav%,Curr_Rate,Curr_Dir,MCur_Rate,MCur_Dir,Depth,TRIM,RAKE,RUDDER
|
||||
|
||||
41.521689,-71.338883,01/06/16,06/01/16,12:52:31, -4.5, 9.46, -85, 5.8, -0.6, 198, 197, 051, -147, 10.5, 051, 10.8, 10.5, -146, 051, 0, 8.1, 9.97, 188, 9.96, 95, -146, 9.86, 96, 9.86, 96, 0.00, 000, 0.81, 251, 29.7, 0.7, 2.1, 0.7
|
||||
|
+11
-1
@@ -2,6 +2,7 @@ package com.sap.sailing.server.gateway.expeditionimport;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.number.IsCloseTo.closeTo;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
import org.junit.Test;
|
||||
@@ -14,7 +15,16 @@ public class TestWindLogParser {
|
||||
|
||||
private static final double DOUBLE_TOLERANCE = 1e-7;
|
||||
|
||||
@Test
|
||||
@Test
|
||||
public void testPhoenixRows() throws Exception {
|
||||
assertEquals(51., Double.valueOf("051"), 0.000001);
|
||||
Iterable<Wind> windImport = WindLogParser.importWind(getClass().getResourceAsStream("PhoenixRowWithWind.csv"));
|
||||
assertThat(Util.size(windImport), is(1));
|
||||
Wind wind = windImport.iterator().next();
|
||||
assertWind(wind, 10.5, 51, 41.521689, -71.338883);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCompleteRow() throws Exception {
|
||||
Iterable<Wind> windImport = WindLogParser.importWind(getClass().getResourceAsStream("CompleteRow.csv"));
|
||||
assertThat(Util.size(windImport), is(1));
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ import com.sap.sailing.domain.common.impl.WindImpl;
|
||||
import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID;
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier;
|
||||
import com.sap.sailing.domain.trackimport.DoubleVectorFixImporter.Callback;
|
||||
import com.sap.sailing.domain.trackimport.BaseDoubleVectorFixImporter.Callback;
|
||||
import com.sap.sailing.domain.trackimport.FormatNotSupportedException;
|
||||
import com.sap.sailing.server.gateway.windimport.AbstractWindImportServlet;
|
||||
import com.sap.sailing.server.trackfiles.impl.BaseBravoDataImporterImpl;
|
||||
@@ -74,7 +74,7 @@ public class BravoWindImportServlet extends AbstractWindImportServlet {
|
||||
for (final Fields field : Fields.values()) {
|
||||
columnsMap.put(field.name(), field.ordinal());
|
||||
}
|
||||
final BaseBravoDataImporterImpl importer = new BaseBravoDataImporterImpl(columnsMap);
|
||||
final BaseBravoDataImporterImpl importer = new BaseBravoDataImporterImpl(columnsMap, "BRAVO_WIND");
|
||||
final Callback callback = new Callback() {
|
||||
@Override
|
||||
public void addFixes(Iterable<DoubleVectorFix> fixes, TrackFileImportDeviceIdentifier device) {
|
||||
|
||||
+35
-96
@@ -4,14 +4,10 @@ import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.TimeZone;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import com.sap.sailing.domain.common.Bearing;
|
||||
import com.sap.sailing.domain.common.Position;
|
||||
@@ -21,8 +17,8 @@ import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.WindImpl;
|
||||
import com.sap.sailing.server.trackfiles.impl.ExpeditionExtendedDataImporterImpl;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
public class WindLogParser {
|
||||
/**
|
||||
@@ -32,26 +28,14 @@ public class WindLogParser {
|
||||
*
|
||||
*/
|
||||
private static class WindBuffer {
|
||||
/**
|
||||
* The 1900 Date System http://support.microsoft.com/kb/180162/en-us
|
||||
*/
|
||||
private static final Calendar EXCEL_EPOCH_START = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
|
||||
static {
|
||||
EXCEL_EPOCH_START.set(1899, Calendar.DECEMBER, 30, 0, 0, 0);
|
||||
EXCEL_EPOCH_START.set(Calendar.MILLISECOND, 0);
|
||||
}
|
||||
private static final BigDecimal MILLISECONDS_PER_DAY = BigDecimal.valueOf(24 * 60 * 60 * 1000);
|
||||
|
||||
private TimePoint timePoint;
|
||||
private Position position;
|
||||
private SpeedWithBearing trueWindSpeedWithBearing;
|
||||
|
||||
public void updateTime(String time_ExcelEpoch) {
|
||||
if (!time_ExcelEpoch.trim().isEmpty()) {
|
||||
BigDecimal timeStamp = new BigDecimal(time_ExcelEpoch);
|
||||
long millisecondsSinceExcelEpochStart = timeStamp.multiply(MILLISECONDS_PER_DAY).longValue();
|
||||
this.timePoint = new MillisecondsTimePoint(
|
||||
EXCEL_EPOCH_START.getTimeInMillis() + millisecondsSinceExcelEpochStart);
|
||||
public void updateTime(TimePoint timePoint) {
|
||||
if (timePoint != null) {
|
||||
this.timePoint = timePoint;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,91 +73,46 @@ public class WindLogParser {
|
||||
}
|
||||
}
|
||||
|
||||
private static final String COL_NAME_TIME_STAMP = "GPS Time";
|
||||
private static final String COL_NAME_TRUE_WIND_SPEED = "Tws";
|
||||
private static final String COL_NAME_TRUE_WIND_SPEED2 = "TW_speed";
|
||||
private static final String COL_NAME_TRUE_WIND_DIRECTION = "Twd";
|
||||
private static final String COL_NAME_LAT = "Lat";
|
||||
private static final String COL_NAME_LONG = "Lon";
|
||||
private static final String COL_NAME_TRUE_WIND_DIRECTION2 = "TW_Dirn";
|
||||
private static final String COL_NAME_LAT = ExpeditionExtendedDataImporterImpl.COL_NAME_LAT;
|
||||
private static final String COL_NAME_LON = ExpeditionExtendedDataImporterImpl.COL_NAME_LON;
|
||||
|
||||
private static class ColumnNumbers {
|
||||
Integer gpsTime;
|
||||
Integer trueWindSpeed;
|
||||
Integer trueWindDirection;
|
||||
Integer lat;
|
||||
Integer lon;
|
||||
final int max;
|
||||
|
||||
ColumnNumbers(String headerLine) {
|
||||
if (headerLine == null) {
|
||||
throw new NullPointerException("Empty header line.");
|
||||
}
|
||||
//supposed to be like Utc,Bsp,Awa,Aws,Twa,Tws,Twd,Rudder2,Leeway,Set,Drift,Hdg,AirTmp,SeaTmp,Baro,Depth,Heel,Trim,Rudder,Tab,Forestay,Downhaul,MastAng,FrstyLen,MastButt,LoadStbd,LoadPort,Rake,Volts,ROT,GpsQual,GpsPDOP,GpsNum,GpsAge,GpsAltitude,GpsGeoSep,GpsMode,Lat,Lon,Cog,Sog,DiffStn,Error,StbRunner,PrtRunner,Vang,Traveller,MainSheet,KeelAng,KeelHt,CanardH,OilPres,RPM1,RPM2,Dagger Bd,Boom Pos,DistToLn,RchTmToLn,RchDtToLn,GPS Time,Downhaul2,MkLat,MkLon,PortLat,PortLon,StbdLat,StbdLon,GPS HPE,RH,LeadPt,LeadSb,BkStay,User 0,User 1,User 2,User 3,User 4,User 5,User 6,User 7,User 8,User 9,User 10,User 11,User 12,User 13,User 14,User 15,User 16,User 17,User 18,User 19,User 20,User 21,User 22,User 23,User 24,User 25,User 26,User 27,User 28,User 29,User 30,User 31,TmToGun,TmToLn,TmToBurn,BelowLn,GunBlwLn,WvSigHt,WvSigPd,WvMaxHt,WvMaxPd,Slam,Motion
|
||||
//there may be slight difference from one Expedition version to another, but so far not in the wind-related columns
|
||||
String[] columns = LINE_PATTERN.split(headerLine);
|
||||
for (int i = 0; i < columns.length; i++) {
|
||||
switch (columns[i]) {
|
||||
case COL_NAME_TIME_STAMP:
|
||||
gpsTime = i;
|
||||
break;
|
||||
case COL_NAME_TRUE_WIND_SPEED:
|
||||
trueWindSpeed = i;
|
||||
break;
|
||||
case COL_NAME_TRUE_WIND_DIRECTION:
|
||||
trueWindDirection = i;
|
||||
break;
|
||||
case COL_NAME_LAT:
|
||||
lat = i;
|
||||
break;
|
||||
case COL_NAME_LONG:
|
||||
lon = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (gpsTime == null || trueWindSpeed == null || trueWindDirection == null || lat == null || lon == null) {
|
||||
throw new RuntimeException("Unexpected csv header for Expedition wind import: " + headerLine);
|
||||
} else {
|
||||
max = Collections.max(Arrays.asList(gpsTime, trueWindSpeed, trueWindDirection, lat, lon));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static final Pattern LINE_PATTERN = Pattern.compile(",");
|
||||
|
||||
/**
|
||||
* See ExpeditionMessage, UDPExpeditionReceiver
|
||||
*
|
||||
* @param windStream
|
||||
* @return
|
||||
* @throws IOException
|
||||
* Reads an Expedition log file passed as the {@code windStream} input stream.
|
||||
*/
|
||||
public static Iterable<Wind> importWind(InputStream windStream) throws IOException {
|
||||
BufferedReader csvReader = new BufferedReader(new InputStreamReader(windStream));
|
||||
String headerLine = csvReader.readLine();
|
||||
ColumnNumbers columnNumbers = new ColumnNumbers(headerLine);
|
||||
final Map<String, Integer> headers = ExpeditionExtendedDataImporterImpl.parseHeader(headerLine);
|
||||
List<Wind> result = new ArrayList<Wind>();
|
||||
String dataLine;
|
||||
WindBuffer windBuffer = new WindBuffer();
|
||||
while ((dataLine = csvReader.readLine()) != null) {
|
||||
String[] data = parseDataLine(dataLine, columnNumbers.max);
|
||||
if (data != null) {
|
||||
windBuffer.updateTime(data[columnNumbers.gpsTime]);
|
||||
windBuffer.updateWindData(data[columnNumbers.trueWindSpeed], data[columnNumbers.trueWindDirection]);
|
||||
windBuffer.updatePosition(data[columnNumbers.lat], data[columnNumbers.lon]);
|
||||
Wind wind = windBuffer.createWindIfReady();
|
||||
if (wind != null) {
|
||||
result.add(wind);
|
||||
}
|
||||
final AtomicInteger lineNr = new AtomicInteger(1);
|
||||
csvReader.lines().forEach(line->{
|
||||
if (!line.trim().isEmpty()) {
|
||||
ExpeditionExtendedDataImporterImpl.parseLine(lineNr.incrementAndGet(), "Expedition Wind Import",
|
||||
line, headers, (timePoint, columnValues, headerDefinitions)->{
|
||||
windBuffer.updateTime(timePoint);
|
||||
final String trueWindSpeedData = headerDefinitions.containsKey(COL_NAME_TRUE_WIND_SPEED) &&
|
||||
columnValues[headerDefinitions.get(COL_NAME_TRUE_WIND_SPEED)] != null ? columnValues[headerDefinitions.get(COL_NAME_TRUE_WIND_SPEED)]
|
||||
: headerDefinitions.containsKey(COL_NAME_TRUE_WIND_SPEED2) ? columnValues[headerDefinitions.get(COL_NAME_TRUE_WIND_SPEED2)]
|
||||
: null;
|
||||
final String trueWindDirectionData = headerDefinitions.containsKey(COL_NAME_TRUE_WIND_DIRECTION) &&
|
||||
columnValues[headerDefinitions.get(COL_NAME_TRUE_WIND_DIRECTION)] != null ? columnValues[headerDefinitions.get(COL_NAME_TRUE_WIND_DIRECTION)]
|
||||
: headerDefinitions.containsKey(COL_NAME_TRUE_WIND_DIRECTION2) ? columnValues[headerDefinitions.get(COL_NAME_TRUE_WIND_DIRECTION2)]
|
||||
: null;
|
||||
windBuffer.updateWindData(trueWindSpeedData, trueWindDirectionData);
|
||||
windBuffer.updatePosition(columnValues[headerDefinitions.get(COL_NAME_LAT)],
|
||||
columnValues[headerDefinitions.get(COL_NAME_LON)]);
|
||||
Wind wind = windBuffer.createWindIfReady();
|
||||
if (wind != null) {
|
||||
result.add(wind);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
private static String[] parseDataLine(String dataLine, int minLength) {
|
||||
String[] data = LINE_PATTERN.split(dataLine);
|
||||
if (data.length >= minLength) {
|
||||
return data;
|
||||
}
|
||||
// else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -13,6 +13,7 @@ import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier;
|
||||
import com.sap.sailing.domain.trackimport.DoubleVectorFixImporter;
|
||||
import com.sap.sailing.domain.trackimport.FormatNotSupportedException;
|
||||
import com.sap.sailing.server.trackfiles.impl.BaseBravoDataImporterImpl;
|
||||
import com.sap.sailing.server.trackfiles.impl.BravoDataImporterImpl;
|
||||
import com.sap.sailing.server.trackfiles.impl.doublefix.DownsamplerTo1HzProcessor;
|
||||
import com.sap.sailing.server.trackfiles.impl.doublefix.LearningBatchProcessor;
|
||||
|
||||
@@ -38,14 +39,14 @@ public abstract class AbstractBravoDataImportTest {
|
||||
public void setUp() {
|
||||
this.callbackCallCount = 0;
|
||||
this.sumRideHeightInMeters = 0.0;
|
||||
bravoDataImporter = new BaseBravoDataImporterImpl(getColumnData()) {
|
||||
bravoDataImporter = new BaseBravoDataImporterImpl(getColumnData(), BravoDataImporterImpl.BRAVO_TYPE) {
|
||||
protected com.sap.sailing.server.trackfiles.impl.doublefix.DoubleFixProcessor createDownsamplingProcessor(
|
||||
DoubleVectorFixImporter.Callback callback,
|
||||
TrackFileImportDeviceIdentifier trackIdentifier) {
|
||||
final LearningBatchProcessor batchProcessor = new LearningBatchProcessor(5000, 5000, callback, trackIdentifier);
|
||||
downsampler = new DownsamplerTo1HzProcessor(getTrackColumnCount(), batchProcessor);
|
||||
return downsampler;
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
+1
-9
@@ -11,15 +11,7 @@ import com.sap.sailing.domain.trackimport.DoubleVectorFixImporter;
|
||||
*
|
||||
*/
|
||||
public abstract class AbstractBravoDataImporterImpl extends BaseBravoDataImporterImpl implements DoubleVectorFixImporter {
|
||||
private final String type;
|
||||
|
||||
public AbstractBravoDataImporterImpl(String type, Map<String, Integer> columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix) {
|
||||
super(columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix);
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType() {
|
||||
return type;
|
||||
super(columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix, type);
|
||||
}
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.sap.sailing.server.trackfiles.impl;
|
||||
|
||||
import com.sap.sailing.domain.trackimport.BaseDoubleVectorFixImporter;
|
||||
|
||||
/**
|
||||
* Abstract implementation of DoubleVectorFixImporter to import CSV data files from Bravo units.
|
||||
*
|
||||
* @see BaseBravoDataImporterImpl
|
||||
*
|
||||
*/
|
||||
public abstract class AbstractDoubleVectorFixImporter implements BaseDoubleVectorFixImporter {
|
||||
private final String type;
|
||||
|
||||
public AbstractDoubleVectorFixImporter(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
+2
@@ -20,6 +20,8 @@ public class Activator implements BundleActivator {
|
||||
new BravoDataImporterImpl(), context));
|
||||
registrations.addAll(SensorDataImporterRegistration
|
||||
.register(new BravoExtendedDataImporterImpl(), context));
|
||||
registrations.addAll(SensorDataImporterRegistration
|
||||
.register(new ExpeditionExtendedDataImporterImpl(), context));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-3
@@ -21,7 +21,6 @@ import com.sap.sailing.domain.common.tracking.impl.DoubleVectorFixImpl;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifierImpl;
|
||||
import com.sap.sailing.domain.trackimport.DoubleVectorFixImporter;
|
||||
import com.sap.sailing.domain.trackimport.DoubleVectorFixImporter.Callback;
|
||||
import com.sap.sailing.domain.trackimport.FormatNotSupportedException;
|
||||
import com.sap.sailing.server.trackfiles.impl.doublefix.DoubleFixProcessor;
|
||||
import com.sap.sailing.server.trackfiles.impl.doublefix.DoubleVectorFixData;
|
||||
@@ -44,12 +43,13 @@ import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
* TODO: access to columns enum actually by public static enum. Col definition should belong to instance, so we can have
|
||||
* different col definitions.
|
||||
*/
|
||||
public class BaseBravoDataImporterImpl {
|
||||
public class BaseBravoDataImporterImpl extends AbstractDoubleVectorFixImporter {
|
||||
private final Logger LOG = Logger.getLogger(DoubleVectorFixImporter.class.getName());
|
||||
private final String BOF = "jjlDATE\tjjlTIME\tEpoch";
|
||||
private final Map<String, Integer> columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix;
|
||||
|
||||
public BaseBravoDataImporterImpl(Map<String, Integer> columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix) {
|
||||
public BaseBravoDataImporterImpl(Map<String, Integer> columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix, String type) {
|
||||
super(type);
|
||||
this.columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix = columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix;
|
||||
}
|
||||
|
||||
|
||||
+238
@@ -0,0 +1,238 @@
|
||||
package com.sap.sailing.server.trackfiles.impl;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.TimeZone;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.RegattaLogDeviceCompetitorSensorDataMappingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.regatta.events.impl.RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.common.sensordata.ExpeditionExtendedSensorDataMetadata;
|
||||
import com.sap.sailing.domain.common.tracking.impl.DoubleVectorFixImpl;
|
||||
import com.sap.sailing.domain.racelogtracking.DeviceIdentifier;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifierImpl;
|
||||
import com.sap.sailing.domain.trackimport.DoubleVectorFixImporter;
|
||||
import com.sap.sailing.domain.trackimport.FormatNotSupportedException;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
/**
|
||||
* Importer for CSV data files from Bravo units used by the SAP Extreme Sailing Team.
|
||||
*/
|
||||
public class ExpeditionExtendedDataImporterImpl extends AbstractDoubleVectorFixImporter implements DoubleVectorFixImporter {
|
||||
public static final String EXPEDITION_EXTENDED_TYPE = "EXPEDITION_EXTENDED";
|
||||
private static final Logger logger = Logger.getLogger(ExpeditionExtendedDataImporterImpl.class.getName());
|
||||
private static final String ORIGINAL_POSITION_HEADER = "Pos[ddd.dd]";
|
||||
public static final String COL_NAME_LAT = "Lat";
|
||||
public static final String COL_NAME_LON = "Lon";
|
||||
private static final String DATE_COLUMN_1 = "dd/mm/yy";
|
||||
private static final String DATE_COLUMN_1_PATTERN = "dd/MM/yy";
|
||||
private static final String DATE_COLUMN_2 = "mm/dd/yy";
|
||||
private static final String DATE_COLUMN_2_PATTERN = "MM/dd/yy";
|
||||
private static final String TIME_COLUMN = "hhmmss";
|
||||
private static final String GPS_TIME_COLUMN = "GPS Time";
|
||||
private final Map<String, Integer> columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix;
|
||||
|
||||
/**
|
||||
* The maximum index into the double vector fix from the
|
||||
* {@link #columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix} values
|
||||
*/
|
||||
private final int trackColumnCount;
|
||||
|
||||
public ExpeditionExtendedDataImporterImpl() {
|
||||
super(EXPEDITION_EXTENDED_TYPE);
|
||||
columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix = ExpeditionExtendedSensorDataMetadata.getColumnNamesToIndexInDoubleFix();
|
||||
trackColumnCount = columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix.values().stream().max((x,y)->Integer.compare(x, y)).get()+1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RegattaLogDeviceCompetitorSensorDataMappingEvent createEvent(TimePoint createdAt, TimePoint logicalTimePoint,
|
||||
AbstractLogEventAuthor author, Serializable id, Competitor mappedTo, DeviceIdentifier device,
|
||||
TimePoint from, TimePoint to) {
|
||||
return new RegattaLogDeviceCompetitorExpeditionExtendedMappingEventImpl(createdAt, logicalTimePoint, author, id, mappedTo,
|
||||
device, from, to);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void importFixes(InputStream inputStream, final Callback callback, String filename, String sourceName,
|
||||
boolean downsample) throws FormatNotSupportedException, IOException {
|
||||
final TrackFileImportDeviceIdentifier trackIdentifier = new TrackFileImportDeviceIdentifierImpl(
|
||||
UUID.randomUUID(), filename, sourceName, MillisecondsTimePoint.now());
|
||||
try {
|
||||
logger.fine("Import Expedition CSV from " + filename);
|
||||
final InputStreamReader isr;
|
||||
if (sourceName.endsWith("gz")) {
|
||||
logger.fine("Using gzip stream reader " + filename);
|
||||
isr = new InputStreamReader(new GZIPInputStream(inputStream));
|
||||
} else {
|
||||
isr = new InputStreamReader(inputStream);
|
||||
}
|
||||
logger.fine("Start parsing Expedition file");
|
||||
AtomicLong lineNr = new AtomicLong();
|
||||
try (BufferedReader buffer = new BufferedReader(isr)) {
|
||||
String headerLine = buffer.readLine();
|
||||
lineNr.incrementAndGet();
|
||||
logger.fine("Validate and parse header columns");
|
||||
final Map<String, Integer> colIndices = parseHeader(headerLine);
|
||||
validateHeader(colIndices);
|
||||
buffer.lines().forEach(line -> {
|
||||
lineNr.incrementAndGet();
|
||||
if (!line.trim().isEmpty()) {
|
||||
parseLine(lineNr.get(), filename, line, colIndices, (timePoint, fileContentTokens, columnsInFileFromHeader)->{
|
||||
double[] trackFixData = new double[trackColumnCount];
|
||||
for (final Entry<String, Integer> columnNameToSearchForInFile : columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix.entrySet()) {
|
||||
Integer columnsInFileIdx = columnsInFileFromHeader.get(columnNameToSearchForInFile.getKey());
|
||||
trackFixData[columnNameToSearchForInFile.getValue()] = Double.parseDouble(fileContentTokens[columnsInFileIdx]);
|
||||
}
|
||||
callback.addFixes(Collections.singleton(new DoubleVectorFixImpl(
|
||||
timePoint, trackFixData)), trackIdentifier);
|
||||
});
|
||||
}
|
||||
});
|
||||
buffer.close();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.SEVERE, "Exception parsing bravo CSV file " + filename, e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* When the header contains one or more occurrences of {@link #ORIGINAL_POSITION_HEADER}, it is substituted
|
||||
* by the two header columns {@link #COL_NAME_LAT} and {@link #COL_NAME_LON} because that's
|
||||
* how positions are stored in Expedition files: as two comma-separated values, one for latitude, another
|
||||
* for longitude, although there is only one header field.
|
||||
*/
|
||||
public static Map<String, Integer> parseHeader(String headerLine) {
|
||||
final String[] headerTokens = split(headerLine);
|
||||
Map<String, Integer> colIndicesInFile = new HashMap<>();
|
||||
int columnInResultingHeader = 0;
|
||||
for (int columnInHeader = 0; columnInHeader < headerTokens.length; columnInHeader++) {
|
||||
String header = headerTokens[columnInHeader];
|
||||
if (header.equals(ORIGINAL_POSITION_HEADER)) {
|
||||
colIndicesInFile.put(COL_NAME_LAT, columnInResultingHeader++);
|
||||
colIndicesInFile.put(COL_NAME_LON, columnInResultingHeader++);
|
||||
} else {
|
||||
colIndicesInFile.put(header, columnInResultingHeader++);
|
||||
}
|
||||
}
|
||||
return colIndicesInFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensures that all columns in {@link #columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix}'s key set
|
||||
* are present in {@code colIndicesInFile}'s key set. If not, an exception is thrown that reports the columns
|
||||
* missing.
|
||||
*/
|
||||
private void validateHeader(Map<String, Integer> colIndicesInFile) {
|
||||
Iterable<String> requiredColumnsInFix = columnNamesInFileAndTheirValueIndexInResultingDoubleVectorFix.keySet();
|
||||
if (!Util.containsAll(colIndicesInFile.keySet(), requiredColumnsInFix)) {
|
||||
final Set<String> missingColumns = new HashSet<>();
|
||||
Util.addAll(requiredColumnsInFix, missingColumns);
|
||||
missingColumns.removeAll(colIndicesInFile.keySet());
|
||||
logger.log(Level.SEVERE, "Missing headers: "+missingColumns);
|
||||
throw new RuntimeException("Missing headers "+missingColumns+" in import files");
|
||||
}
|
||||
}
|
||||
|
||||
public static String[] split(String line) {
|
||||
return line.split("\\s*,\\s*");
|
||||
}
|
||||
|
||||
/**
|
||||
* Consumes a line split by the rules of the CSV format handled here; the first argument to
|
||||
* {@link #accept(TimePoint, String[], Map) is the time stamp parsed from the line, the second is the tokenized
|
||||
* array, each element representing one column in the current line; the third argument maps column names as found
|
||||
* in the header line to their 0-based index in the array.
|
||||
*
|
||||
* @author Axel Uhl (d043530)
|
||||
*
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public static interface LineParserCallback {
|
||||
void accept(TimePoint timePoint, String[] columns, Map<String, Integer> header);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the CSV line and reads the double data values in the order defined by the col enums.
|
||||
*/
|
||||
public static void parseLine(long lineNr, String filename, String line, Map<String, Integer> columnsInFileFromHeader,
|
||||
LineParserCallback callback) {
|
||||
try {
|
||||
String[] fileContentTokens = split(line);
|
||||
final TimePoint timePoint;
|
||||
final String date;
|
||||
final String dateFormatPattern;
|
||||
if (columnsInFileFromHeader.containsKey(DATE_COLUMN_1) || columnsInFileFromHeader.containsKey(DATE_COLUMN_2)) {
|
||||
if (columnsInFileFromHeader.containsKey(DATE_COLUMN_1)) {
|
||||
date = fileContentTokens[columnsInFileFromHeader.get(DATE_COLUMN_1)];
|
||||
dateFormatPattern = DATE_COLUMN_1_PATTERN;
|
||||
} else {
|
||||
date = fileContentTokens[columnsInFileFromHeader.get(DATE_COLUMN_2)];
|
||||
dateFormatPattern = DATE_COLUMN_2_PATTERN;
|
||||
}
|
||||
final String time = fileContentTokens[columnsInFileFromHeader.get(TIME_COLUMN)];
|
||||
final DateFormat df = new SimpleDateFormat(dateFormatPattern+"'T'HH:mm:ssX");
|
||||
final Date timestamp = df.parse(date+"T"+time+"+00:00"); // assuming UTC
|
||||
timePoint = new MillisecondsTimePoint(timestamp);
|
||||
} else {
|
||||
// assume that "GPS Time" is present:
|
||||
timePoint = getTimePoint(fileContentTokens[columnsInFileFromHeader.get(GPS_TIME_COLUMN)]);
|
||||
}
|
||||
callback.accept(timePoint, fileContentTokens, columnsInFileFromHeader);
|
||||
} catch (Exception e) {
|
||||
logger.warning(
|
||||
"Error parsing line nr " + lineNr + " in file " + filename + " with exception: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The 1900 Date System http://support.microsoft.com/kb/180162/en-us
|
||||
*/
|
||||
private static final Calendar EXCEL_EPOCH_START = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
|
||||
static {
|
||||
EXCEL_EPOCH_START.set(1899, Calendar.DECEMBER, 30, 0, 0, 0);
|
||||
EXCEL_EPOCH_START.set(Calendar.MILLISECOND, 0);
|
||||
}
|
||||
private static final BigDecimal MILLISECONDS_PER_DAY = BigDecimal.valueOf(24 * 60 * 60 * 1000);
|
||||
/**
|
||||
* Converts a value from a column such as "GPS Time" to a {@link TimePoint}. The value is expected to be provided
|
||||
* in decimal format, representing the days since the {@link #EXCEL_EPOCH_START "Excel Epoch Start"}.
|
||||
* @param time_ExcelEpoch
|
||||
* @return
|
||||
*/
|
||||
public static TimePoint getTimePoint(String time_ExcelEpoch) {
|
||||
final TimePoint timePoint;
|
||||
if (!time_ExcelEpoch.trim().isEmpty()) {
|
||||
BigDecimal timeStamp = new BigDecimal(time_ExcelEpoch);
|
||||
long millisecondsSinceExcelEpochStart = timeStamp.multiply(MILLISECONDS_PER_DAY).longValue();
|
||||
timePoint = new MillisecondsTimePoint(
|
||||
EXCEL_EPOCH_START.getTimeInMillis() + millisecondsSinceExcelEpochStart);
|
||||
} else {
|
||||
timePoint = null;
|
||||
}
|
||||
return timePoint;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -5,7 +5,7 @@ import java.util.ArrayList;
|
||||
import com.sap.sailing.domain.common.tracking.DoubleVectorFix;
|
||||
import com.sap.sailing.domain.common.tracking.impl.DoubleVectorFixImpl;
|
||||
import com.sap.sailing.domain.trackfiles.TrackFileImportDeviceIdentifier;
|
||||
import com.sap.sailing.domain.trackimport.DoubleVectorFixImporter.Callback;
|
||||
import com.sap.sailing.domain.trackimport.BaseDoubleVectorFixImporter.Callback;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
public final class LearningBatchProcessor implements DoubleFixProcessor {
|
||||
|
||||
@@ -34,5 +34,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -36,5 +36,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.monitoring@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.monitoring@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -33,5 +33,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -27,6 +27,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xmlexport@default:default,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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>
|
||||
+1
-1
@@ -27,6 +27,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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>
|
||||
+1
-1
@@ -27,6 +27,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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>
|
||||
+1
-1
@@ -29,6 +29,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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>
|
||||
@@ -27,6 +27,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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>
|
||||
@@ -27,5 +27,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -33,5 +33,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway.test.support@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway.test.support@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -36,6 +36,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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>
|
||||
@@ -27,6 +27,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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>
|
||||
@@ -27,5 +27,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="true"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
+1
-1
@@ -26,5 +26,5 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@default:default,net.sf.marineapi@default:default,org.json.simple@default:default,org.moxieapps.gwt.highcharts@default:default"/>
|
||||
</launchConfiguration>
|
||||
@@ -28,6 +28,6 @@
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway.test.support@5:true,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.googlecode.mgwt@default:default,com.sap.sailing.barbados.resultimport@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@5:true,com.sap.sailing.datamining.provider@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.deckmanadapter@4:true,com.sap.sailing.domain.expeditionadapter@4:true,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.racelogtrackingadapter@3: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.grib@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.manage2sail@default:default,com.sap.sailing.news@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@default:default,com.sap.sailing.polars@4:true,com.sap.sailing.resultimport@default:default,com.sap.sailing.sailwave.resultimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.server.gateway.test.support@5:true,com.sap.sailing.server.gateway@5: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@4:true,com.sap.sailing.xrr.resultimport@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.mail@4:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@4:true,com.sap.sse.security.common@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@5:true,com.sap.sse.shared.android@default:default,com.sap.sse@default:default,com.tractrac.clientmodule@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>
|
||||
+5
@@ -683,4 +683,9 @@ public class DummyTrackedRace extends TrackedRaceWithWindEssentials {
|
||||
String trackName) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Speed getAverageSpeedOverGround(Competitor competitor, TimePoint timePoint) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+5
-9
@@ -18,7 +18,6 @@ import com.sap.sailing.velum.resultimport.CsvParser;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
public class CsvParserImpl implements CsvParser {
|
||||
|
||||
private final InputStream inputStream;
|
||||
private final String filename;
|
||||
private final TimePoint lastModified;
|
||||
@@ -45,7 +44,6 @@ public class CsvParserImpl implements CsvParser {
|
||||
if(underScoreIndex > 0) {
|
||||
result = filename.substring(0, underScoreIndex);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -63,11 +61,11 @@ public class CsvParserImpl implements CsvParser {
|
||||
int endIndexForRacePoints = -1;
|
||||
while (line != null) {
|
||||
int firstSeparator = line.indexOf(SEPARATOR);
|
||||
if(line.startsWith("Wettfahrten")) {
|
||||
if (line.startsWith("Wettfahrten")) {
|
||||
// ignore line
|
||||
} else if (firstSeparator > 0) {
|
||||
String firstEntry = line.substring(0, firstSeparator);
|
||||
if(firstEntry.startsWith("G-PL") || firstEntry.startsWith("G-Pl")) {
|
||||
if (firstEntry.startsWith("G-PL") || firstEntry.startsWith("G-Pl")) {
|
||||
// header line
|
||||
// scan the number of races
|
||||
String[] splittedHeadline = line.split(SEPARATOR);
|
||||
@@ -95,7 +93,7 @@ public class CsvParserImpl implements CsvParser {
|
||||
List<CompetitorEntry> rankAndMaxPointsReasonAndPointsAndDiscarded = new ArrayList<>();
|
||||
|
||||
int index = startIndexForRacePoints;
|
||||
while(index <= endIndexForRacePoints) {
|
||||
while (index <= endIndexForRacePoints) {
|
||||
Integer rank;
|
||||
String maxPointsReason;
|
||||
Double points;
|
||||
@@ -103,7 +101,7 @@ public class CsvParserImpl implements CsvParser {
|
||||
|
||||
String rankOrMaxPointsReason = splittedRow[index++];
|
||||
String pointsAsText = splittedRow[index++];
|
||||
if(rankOrMaxPointsReason.startsWith("[") && rankOrMaxPointsReason.endsWith("]")) {
|
||||
if (rankOrMaxPointsReason.startsWith("[") && rankOrMaxPointsReason.endsWith("]")) {
|
||||
rankOrMaxPointsReason = rankOrMaxPointsReason.substring(1, rankOrMaxPointsReason.length() - 1);
|
||||
discarded = true;
|
||||
}
|
||||
@@ -115,12 +113,11 @@ public class CsvParserImpl implements CsvParser {
|
||||
rank = null;
|
||||
maxPointsReason = rankOrMaxPointsReason;
|
||||
}
|
||||
if(pointsAsText.startsWith("[") && pointsAsText.endsWith("]")) {
|
||||
if (pointsAsText.startsWith("[") && pointsAsText.endsWith("]")) {
|
||||
pointsAsText = pointsAsText.substring(1, pointsAsText.length() - 1);
|
||||
}
|
||||
pointsAsText = pointsAsText.replaceAll(",",".");
|
||||
points = Double.valueOf(pointsAsText);
|
||||
|
||||
if (points != 0.0) {
|
||||
CompetitorEntry entry = new DefaultCompetitorEntryImpl(rank,
|
||||
maxPointsReason, points, discarded);
|
||||
@@ -135,7 +132,6 @@ public class CsvParserImpl implements CsvParser {
|
||||
} catch (NumberFormatException e) {
|
||||
// no idea
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
// probably last line
|
||||
|
||||
@@ -591,7 +591,7 @@ public class LeaderboardData extends ExportAction {
|
||||
}
|
||||
addNamedElementWithValue(competitorRaceDataElement, "distance_traveled_in_meters", distanceTraveledInThisRace == null ? 0.0 : distanceTraveledInThisRace.getMeters());
|
||||
addNamedElementWithValue(competitorRaceDataElement, "distance_traveled_including_non_finished_legs_in_meters", getDistanceTraveled(race, competitor, race.getEndOfRace(), /*alsoReturnDistanceIfCompetitorHasNotFinishedRace*/ true).getMeters());
|
||||
Speed averageSpeedOverGround = leaderboard.getAverageSpeedOverGround(competitor, race.getEndOfRace());
|
||||
Speed averageSpeedOverGround = race.getAverageSpeedOverGround(competitor, race.getEndOfRace());
|
||||
addNamedElementWithValue(competitorRaceDataElement, "average_speed_over_ground_in_knots", averageSpeedOverGround == null ? 0.0 : averageSpeedOverGround.getKnots());
|
||||
addNamedElementWithValue(competitorRaceDataElement, "final_race_rank", ++raceRank);
|
||||
TrackedLegOfCompetitor trackedLegOfCompetitor = race.getTrackedLeg(competitor, race.getRace().getCourse().getFirstLeg());
|
||||
|
||||
+7
-7
@@ -12,9 +12,9 @@ import com.google.gwt.event.logical.shared.SelectionEvent;
|
||||
import com.google.gwt.event.logical.shared.SelectionHandler;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.DockLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.DockPanel;
|
||||
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
||||
import com.google.gwt.user.client.ui.HeaderPanel;
|
||||
import com.google.gwt.user.client.ui.ScrollPanel;
|
||||
import com.google.gwt.user.client.ui.TabLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
@@ -67,7 +67,7 @@ import com.sap.sse.security.ui.shared.UserDTO;
|
||||
* @author Axel Uhl (D043530)
|
||||
*
|
||||
*/
|
||||
public class AdminConsolePanel extends DockLayoutPanel implements HandleTabSelectable{
|
||||
public class AdminConsolePanel extends HeaderPanel implements HandleTabSelectable {
|
||||
private final UserService userService;
|
||||
|
||||
/**
|
||||
@@ -153,7 +153,6 @@ public class AdminConsolePanel extends DockLayoutPanel implements HandleTabSelec
|
||||
public AdminConsolePanel(UserService userService, PermissionsForRoleProvider permissionsForRoleProvider,
|
||||
ServerInfoRetriever buildVersionRetriever, String releaseNotesAnchorLabel,
|
||||
String releaseNotesURL, ErrorReporter errorReporter, LoginPanelCss loginPanelCss, StringMessages stringMessages) {
|
||||
super(Unit.EM);
|
||||
this.permissionsForRoleProvider = permissionsForRoleProvider;
|
||||
this.permissionsAnyOfWhichIsRequiredToSeeWidget = new HashMap<>();
|
||||
this.userService = userService;
|
||||
@@ -203,7 +202,7 @@ public class AdminConsolePanel extends DockLayoutPanel implements HandleTabSelec
|
||||
}
|
||||
};
|
||||
final DockPanel informationPanel = new DockPanel();
|
||||
informationPanel.setSize("100%", "95%");
|
||||
informationPanel.setWidth("100%");
|
||||
informationPanel.setSpacing(10);
|
||||
informationPanel.add(errorReporter.getPersistentInformationWidget(), DockPanel.CENTER);
|
||||
SystemInformationPanel sysinfoPanel = new SystemInformationPanel(buildVersionRetriever, errorReporter, stringMessages);
|
||||
@@ -211,9 +210,10 @@ public class AdminConsolePanel extends DockLayoutPanel implements HandleTabSelec
|
||||
final Anchor releaseNotesLink = new Anchor(new SafeHtmlBuilder().appendEscaped(releaseNotesAnchorLabel).toSafeHtml(), releaseNotesURL);
|
||||
sysinfoPanel.add(releaseNotesLink);
|
||||
informationPanel.add(sysinfoPanel, DockPanel.EAST);
|
||||
informationPanel.setCellHorizontalAlignment(sysinfoPanel, HasHorizontalAlignment.ALIGN_RIGHT);
|
||||
this.addSouth(informationPanel, 2.5);
|
||||
this.add(topLevelTabPanel);
|
||||
informationPanel.setCellHorizontalAlignment(sysinfoPanel, HasHorizontalAlignment.ALIGN_RIGHT);
|
||||
this.setFooterWidget(informationPanel);
|
||||
topLevelTabPanel.setSize("100%", "100%");
|
||||
this.setContentWidget(topLevelTabPanel);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -29,11 +29,13 @@ Export-Package: com.google.gwt.user.client.rpc.core.java.util,
|
||||
com.sap.sse.gwt.client.controls.busyindicator,
|
||||
com.sap.sse.gwt.client.controls.carousel,
|
||||
com.sap.sse.gwt.client.controls.filestorage,
|
||||
com.sap.sse.gwt.client.controls.languageselect,
|
||||
com.sap.sse.gwt.client.controls.listedit,
|
||||
com.sap.sse.gwt.client.controls.slider,
|
||||
com.sap.sse.gwt.client.dialog,
|
||||
com.sap.sse.gwt.client.event,
|
||||
com.sap.sse.gwt.client.filestorage,
|
||||
com.sap.sse.gwt.client.formfactor,
|
||||
com.sap.sse.gwt.client.media,
|
||||
com.sap.sse.gwt.client.mutationobserver,
|
||||
com.sap.sse.gwt.client.mvp,
|
||||
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
package com.sap.sse.gwt.client.controls.languageselect;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.http.client.UrlBuilder;
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
import com.google.gwt.text.shared.AbstractRenderer;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiConstructor;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.Window.Location;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.InlineLabel;
|
||||
import com.google.gwt.user.client.ui.ValueListBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.gwt.client.GWTLocaleUtil;
|
||||
|
||||
/**
|
||||
* {@link Widget} class which can be used to change the language of the application, based on the languages configured
|
||||
* in the module's <code>*.gwt.xml</code> file. The widget behaves as follows:
|
||||
* <ul>
|
||||
* <li>{@link Widget#removeFromParent() Removing} itself, if there is only one language configured (maybe default)</li>
|
||||
* <li>If two languages are configured, it shows a {@link Anchor link} to switch to the not actually selected one</li>
|
||||
* <li>If multiple languages are configured, it shows a {@link ValueListBox selection} to change to the desired one</li>
|
||||
* </ul>
|
||||
*/
|
||||
public class LanguageSelector extends Composite {
|
||||
|
||||
private static LanguageSelectorUiBinder uiBinder = GWT.create(LanguageSelectorUiBinder.class);
|
||||
|
||||
interface LanguageSelectorUiBinder extends UiBinder<Widget, LanguageSelector> {
|
||||
}
|
||||
|
||||
@UiField
|
||||
InlineLabel labelUi;
|
||||
@UiField
|
||||
Anchor languageSwitchLinkUi;
|
||||
@UiField(provided = true)
|
||||
ValueListBox<String> languageSelectionUi;
|
||||
|
||||
/**
|
||||
* Creates a new {@link LanguageSelector} instance.
|
||||
*/
|
||||
@UiConstructor
|
||||
public LanguageSelector() {
|
||||
this.languageSelectionUi = new ValueListBox<>(new LanguageRenderer());
|
||||
this.initWidget(uiBinder.createAndBindUi(this));
|
||||
this.initLanguages(LocaleInfo.getCurrentLocale());
|
||||
this.labelUi.getElement().getStyle().setDisplay(Display.NONE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the label text to use for this {@link LanguageSelector} instance.
|
||||
*
|
||||
* @param labelText
|
||||
* {@link String text} to show in front of the link / selection
|
||||
*/
|
||||
public void setLabelText(String labelText) {
|
||||
this.labelUi.getElement().getStyle().clearDisplay();
|
||||
this.labelUi.setText(labelText);
|
||||
}
|
||||
|
||||
private void initLanguages(final LocaleInfo currentLocale) {
|
||||
final List<String> availableLocales = Util.asList(GWTLocaleUtil.getAvailableLocales());
|
||||
if (availableLocales.size() <= 1) { // no other language available => remove widget
|
||||
this.removeFromParent();
|
||||
} else if (availableLocales.size() == 2) { // only one other language available => show link
|
||||
this.initLanguageSwitchLink(availableLocales, currentLocale);
|
||||
} else { // multiple languages available => show selection
|
||||
this.initLanguageSelection(availableLocales, currentLocale);
|
||||
}
|
||||
}
|
||||
|
||||
private void initLanguageSwitchLink(final List<String> available, final LocaleInfo current) {
|
||||
this.languageSelectionUi.removeFromParent();
|
||||
final Optional<String> other = available.stream().filter(l -> !current.getLocaleName().equals(l)).findFirst();
|
||||
other.ifPresent(name -> {
|
||||
languageSwitchLinkUi.setText(LocaleInfo.getLocaleNativeDisplayName(name));
|
||||
languageSwitchLinkUi.addClickHandler(e -> switchLanguage(name));
|
||||
});
|
||||
}
|
||||
|
||||
private void initLanguageSelection(final List<String> available, final LocaleInfo current) {
|
||||
this.languageSwitchLinkUi.removeFromParent();
|
||||
this.languageSelectionUi.setValue(current.getLocaleName());
|
||||
this.languageSelectionUi.setAcceptableValues(available);
|
||||
this.languageSelectionUi.addValueChangeHandler(event -> {
|
||||
if (!current.getLocaleName().equals(event.getValue())) {
|
||||
this.switchLanguage(event.getValue());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void switchLanguage(String newLocaleName) {
|
||||
final UrlBuilder builder = Location.createUrlBuilder().setParameter("locale", newLocaleName);
|
||||
Window.Location.replace(builder.buildString());
|
||||
}
|
||||
|
||||
private static class LanguageRenderer extends AbstractRenderer<String> {
|
||||
|
||||
@Override
|
||||
public String render(String object) {
|
||||
final String displayName = LocaleInfo.getLocaleNativeDisplayName(object);
|
||||
return displayName == null ? "" : displayName;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
|
||||
<ui:style>
|
||||
.label {
|
||||
margin-right: .25em;
|
||||
}
|
||||
.label:after {
|
||||
content: ":";
|
||||
}
|
||||
.languageSwichLink, .languageSelection {
|
||||
color: #efaa00;
|
||||
cursor: pointer;
|
||||
font-family: 'Open Sans', Arial, Verdana, sans-serif !important;
|
||||
}
|
||||
.languageSelection:-ms-expand {
|
||||
display: none;
|
||||
}
|
||||
.languageSelection {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
-ms-appearance: none;
|
||||
appearance: none;
|
||||
line-height: 1.5em;
|
||||
height: 1.5em;
|
||||
display: inline-block;
|
||||
border: transparent;
|
||||
padding-right: 1.2em;
|
||||
background-color: #333;
|
||||
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgaGVpZ2h0PScxOHB4JyB3aWR0aD0nMTZweCc+PHRleHQgeD0nMCcgeT0nMTUnIGZpbGw9JyNlZmFhMDAnIGZvbnQtc2l6ZT0nMTYnPiYjOTY2MDs8L3RleHQ+PC9zdmc+");
|
||||
background-position: right center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
</ui:style>
|
||||
<g:FlowPanel tag="span">
|
||||
<g:InlineLabel ui:field="labelUi" addStyleNames="{style.label}"/>
|
||||
<g:Anchor ui:field="languageSwitchLinkUi" styleName="{style.languageSwichLink}"/>
|
||||
<g:ValueListBox ui:field="languageSelectionUi" addStyleNames="{style.languageSelection}"/>
|
||||
</g:FlowPanel>
|
||||
</ui:UiBinder>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.common.client.formfactor;
|
||||
package com.sap.sse.gwt.client.formfactor;
|
||||
|
||||
public enum DeviceCategory {
|
||||
DESKTOP,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.common.client.formfactor;
|
||||
package com.sap.sse.gwt.client.formfactor;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
Loaded 100 of 119 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user