diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index f2ddac23af8..424b73d2f20 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -145,26 +145,27 @@ public class DomainFactoryImpl implements DomainFactory { if (domainControlPoint == null) { String controlPointName = controlPoint.getName(); Map controlPointMetadata = parseControlPointMetadata(controlPoint); - MarkType type = MarkType.BUOY; - String markType = controlPointMetadata.get("Type"); - if(markType != null && !markType.isEmpty()) { - for(MarkType m: MarkType.values()) { - if(m.name().equalsIgnoreCase(markType)) { - type = m; - break; - } - } - } - String markColor = controlPointMetadata.get("Color"); - String markShape = controlPointMetadata.get("Shape"); - String markPattern = controlPointMetadata.get("Pattern"); if (controlPoint.getHasTwoPoints()) { // it's a gate - Mark leftMark = baseDomainFactory.getOrCreateMark(controlPointName + " (left)", type, markColor, markShape, markPattern); - Mark rightMark = baseDomainFactory.getOrCreateMark(controlPointName + " (right)", type, markColor, markShape, markPattern); - domainControlPoint = baseDomainFactory.createGate(leftMark, rightMark, controlPointName); + MarkType type1 = resolveMarkTypeFromMetadata(controlPointMetadata, "P1.Type"); + MarkType type2 = resolveMarkTypeFromMetadata(controlPointMetadata, "P2.Type"); + String color1 = controlPointMetadata.get("P1.Color"); + String color2 = controlPointMetadata.get("P2.Color"); + String shape1 = controlPointMetadata.get("P1.Shape"); + String shape2 = controlPointMetadata.get("P2.Shape"); + String pattern1 = controlPointMetadata.get("P1.Pattern"); + String pattern2 = controlPointMetadata.get("P2.Pattern"); + + Mark mark1 = baseDomainFactory.getOrCreateMark(controlPointName + " (1)", type1, color1, shape1, pattern1); + Mark mark2 = baseDomainFactory.getOrCreateMark(controlPointName + " (2)", type2, color2, shape2, pattern2); + domainControlPoint = baseDomainFactory.createGate(mark1, mark2, controlPointName); } else { - Mark mark = baseDomainFactory.getOrCreateMark(controlPointName, type, markColor, markShape, markPattern); + MarkType type = resolveMarkTypeFromMetadata(controlPointMetadata, "Type"); + String color = controlPointMetadata.get("Color"); + String shape = controlPointMetadata.get("Shape"); + String pattern = controlPointMetadata.get("Pattern"); + + Mark mark = baseDomainFactory.getOrCreateMark(controlPointName, type, color, shape, pattern); domainControlPoint = mark; } controlPointCache.put(controlPoint, domainControlPoint); @@ -172,6 +173,20 @@ public class DomainFactoryImpl implements DomainFactory { return domainControlPoint; } } + + private MarkType resolveMarkTypeFromMetadata(Map controlPointMetadata, String typePropertyName) { + MarkType result = MarkType.BUOY; + String markType = controlPointMetadata.get(typePropertyName); + if(markType != null && !markType.isEmpty()) { + for(MarkType m: MarkType.values()) { + if(m.name().equalsIgnoreCase(markType)) { + result = m; + break; + } + } + } + return result; + } @SuppressWarnings({ "rawtypes", "unchecked" }) private Map parseControlPointMetadata(ControlPoint controlPoint) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMapImageManager.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMapImageManager.java index c28f2d41613..e5b278bf1c9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMapImageManager.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMapImageManager.java @@ -82,9 +82,9 @@ public class RaceMapImageManager { createMarkIconDescriptor(resources.buoyDarkOrangeIcon(), MarkType.BUOY, "orange", null, null, 6, 20); createMarkIconDescriptor(resources.buoyBlackFinishIcon(), MarkType.BUOY, "black", "cylinder", "checkered", 6, 20); - createMarkIconDescriptor(resources.cameraBoatIcon(), MarkType.CAMERABOAT, null, null, null, 6, 15); - createMarkIconDescriptor(resources.umpireBoatIcon(), MarkType.UMPIREBOAT, null, null, null, 6, 15); - createMarkIconDescriptor(resources.startBoatIcon(), MarkType.STARTBOAT, null, null, null, 6, 15); + createMarkIconDescriptor(resources.cameraBoatIcon(), MarkType.CAMERABOAT, null, null, null, 35, 20); + createMarkIconDescriptor(resources.umpireBoatIcon(), MarkType.UMPIREBOAT, null, null, null, 35, 20); + createMarkIconDescriptor(resources.startBoatIcon(), MarkType.STARTBOAT, null, null, null, 35, 20); createMarkIconDescriptor(resources.landmarkIcon(), MarkType.LANDMARK, null, null, null, 6, 15); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMapResources.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMapResources.java index b98a391f2c9..1b989d17dca 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMapResources.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/racemap/RaceMapResources.java @@ -47,7 +47,7 @@ interface RaceMapResources extends ClientBundle { @Source("com/sap/sailing/gwt/ui/client/images/umpireBoat.png") ImageResource umpireBoatIcon(); - @Source("com/sap/sailing/gwt/ui/client/images/umpireBoat.png") + @Source("com/sap/sailing/gwt/ui/client/images/startBoat.png") ImageResource startBoatIcon(); @Source("com/sap/sailing/gwt/ui/client/images/wind_combined.png")