Merge remote-tracking branch 'server/master'

This commit is contained in:
Axel Uhl
2012-11-28 21:34:28 +01:00
5 changed files with 40 additions and 25 deletions
@@ -145,26 +145,27 @@ public class DomainFactoryImpl implements DomainFactory {
if (domainControlPoint == null) {
String controlPointName = controlPoint.getName();
Map<String, String> 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<String, String> 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<String, String> parseControlPointMetadata(ControlPoint controlPoint) {
@@ -24,8 +24,8 @@ public class ColorMap<T> {
baseColors[0] = new HSVColor(0.0f, 1.0f, 1.0f); // Red
baseColors[1] = new HSVColor(30.0f, 1.0f, 1.0f); // Orange
baseColors[2] = new HSVColor(45.f, 1.0f, 1.0f);
baseColors[3] = new HSVColor(120.0f, 1.0f, 1.0f); // Green
baseColors[4] = new HSVColor(180.0f, 1.0f, 1.0f); // Cyan
baseColors[3] = new HSVColor(120.0f, 1.0f, 0.8f); // Green
baseColors[4] = new HSVColor(200.0f, 1.0f, 1.0f); // Cyan
baseColors[5] = new HSVColor(240.0f, 1.0f, 1.0f); // Blue
baseColors[6] = new HSVColor(270.0f, 1.0f, 1.0f); // Pink
baseColors[7] = new HSVColor(285.0f, 1.0f, 1.0f);
@@ -63,7 +63,7 @@ public class ColorMap<T> {
int baseColorCount = baseColors.length;
int baseColorsIndex = index % baseColorCount;
int factor = index / (baseColorCount*3);
float decreaseStepSize = 0.1f;
float decreaseStepSize = 0.075f;
float brightnessDecrease = 0;
float saturationDecrease = 0;
@@ -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);
@@ -38,7 +38,7 @@ interface RaceMapResources extends ClientBundle {
@Source("com/sap/sailing/gwt/ui/client/images/buoys/buoy_green.png")
ImageResource buoyGreenIcon();
@Source("com/sap/sailing/gwt/ui/client/images/reddiamond.png")
@Source("com/sap/sailing/gwt/ui/client/images/buoys/landmark.png")
ImageResource landmarkIcon();
@Source("com/sap/sailing/gwt/ui/client/images/cameraBoat.png")
@@ -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")
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB