diff --git a/java/com.sap.sailing.xrr.resultimport.test/.classpath b/java/com.sap.sailing.xrr.resultimport.test/.classpath
index b1dabee3829..1228533181d 100755
--- a/java/com.sap.sailing.xrr.resultimport.test/.classpath
+++ b/java/com.sap.sailing.xrr.resultimport.test/.classpath
@@ -3,5 +3,6 @@
+
diff --git a/java/com.sap.sailing.xrr.resultimport.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.xrr.resultimport.test/META-INF/MANIFEST.MF
index edf2d51f008..529fba44c60 100755
--- a/java/com.sap.sailing.xrr.resultimport.test/META-INF/MANIFEST.MF
+++ b/java/com.sap.sailing.xrr.resultimport.test/META-INF/MANIFEST.MF
@@ -6,3 +6,4 @@ Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: SAP
Fragment-Host: com.sap.sailing.xrr.resultimport
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Require-Bundle: org.junit4;bundle-version="4.8.2"
diff --git a/java/com.sap.sailing.xrr.resultimport.test/resources/ISAF XRR Data Format.docx b/java/com.sap.sailing.xrr.resultimport.test/resources/ISAF XRR Data Format.docx
new file mode 100755
index 00000000000..991b957f914
Binary files /dev/null and b/java/com.sap.sailing.xrr.resultimport.test/resources/ISAF XRR Data Format.docx differ
diff --git a/java/com.sap.sailing.xrr.resultimport.test/resources/laser.xml b/java/com.sap.sailing.xrr.resultimport.test/resources/laser.xml
new file mode 100755
index 00000000000..85e348a50ef
--- /dev/null
+++ b/java/com.sap.sailing.xrr.resultimport.test/resources/laser.xml
@@ -0,0 +1,802 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/java/com.sap.sailing.xrr.resultimport.test/resources/melbourne_results_actual.xml b/java/com.sap.sailing.xrr.resultimport.test/resources/melbourne_results_actual.xml
new file mode 100755
index 00000000000..041551af619
--- /dev/null
+++ b/java/com.sap.sailing.xrr.resultimport.test/resources/melbourne_results_actual.xml
@@ -0,0 +1,1848 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/com.sap.sailing.xrr.resultimport.test/resources/sailingXRR_isafextend.xsd b/java/com.sap.sailing.xrr.resultimport.test/resources/sailingXRR_isafextend.xsd
new file mode 100755
index 00000000000..aa6a4ce5bf4
--- /dev/null
+++ b/java/com.sap.sailing.xrr.resultimport.test/resources/sailingXRR_isafextend.xsd
@@ -0,0 +1,2382 @@
+
+
+
+
+
+
+ IOR - Quarter Ton
+
+
+
+
+ IOR - Half Ton
+
+
+
+
+ IOR - Three-Quarter Ton
+
+
+
+
+ 10 Metre
+
+
+
+
+ 10 Metre (rating 1907)
+
+
+
+
+ 10 Metre (rating 1919)
+
+
+
+
+ IRSA - Ten Rater
+
+
+
+
+ 11 Metre
+
+
+
+
+ 12 Foot Dinghy
+
+
+
+
+ 12 Metre
+
+
+
+
+ 12 Metre (rating 1907)
+
+
+
+
+ 12 Metre (rating 1919)
+
+
+
+
+ 12 Square Metre Sharpie
+
+
+
+
+ International 14
+
+
+
+
+ 18 Foot Dinghy
+
+
+
+
+ IOR - 1 Ton
+
+
+
+
+ 2.4 Metre
+
+
+
+
+ 29er
+
+
+
+
+ 29er XX
+
+
+
+
+ IOR - 2 Ton
+
+
+
+
+ 30 Square Metre
+
+
+
+
+ 40 Square Metre
+
+
+
+
+ 420
+
+
+
+
+ 470
+
+
+
+
+ 49er
+
+
+
+
+ 49erFX
+
+
+
+
+ 5.5 Metre
+
+
+
+
+ 505
+
+
+
+
+ Open 50 Monohull
+
+
+
+
+ 6.5 Metre
+
+
+
+
+ Open 60 Monohull
+
+
+
+
+ ORMA 60 Multihull
+
+
+
+
+ 6 Metre
+
+
+
+
+ 6 Metre (rating 1907)
+
+
+
+
+ 6 Metre (rating 1919)
+
+
+
+
+ 7 Metre
+
+
+
+
+ 8 Metre
+
+
+
+
+ 8 Metre (rating 1907)
+
+
+
+
+ 8 Metre (rating 1919)
+
+
+
+
+ Access 2.3
+
+
+
+
+ Access 303
+
+
+
+
+ 1 - 2 Ton Under the Thames Measurement Rule
+
+
+
+
+ AC45 Cat
+
+
+
+
+ AC72 Cat (2012 - )
+
+
+
+
+ Access Liberty
+
+
+
+
+ B14
+
+
+
+
+ 0.5 Ton Under the Thames Measurement Rule
+
+
+
+
+ Byte CII (USE BYTE)
+
+
+
+
+ O'pen BIC
+
+
+
+
+ Buzz
+
+
+
+
+ Byte
+
+
+
+
+ Class 40
+
+
+
+
+ Corel 45 / IC 45 / now Farr 45
+
+
+
+
+ 10 - 20 Ton Under the Thames Measurement Rule
+
+
+
+
+ Cadet
+
+
+
+
+ CHS
+
+
+
+
+ Contender
+
+
+
+
+ A-Catamaran
+
+
+
+
+ Dart 18
+
+
+
+
+ 2 - 3 Ton Under the Thames Measurement Rule
+
+
+
+
+ DN-Ice Yacht
+
+
+
+
+ AC - Dead of Gift
+
+
+
+
+ Dragon
+
+
+
+
+ Extreme 40
+
+
+
+
+ Elliott 6m
+
+
+
+
+ 3 - 10 Ton Under the Thames Measurement Rule
+
+
+
+
+ Emperical Handicap (Unspecified)
+
+
+
+
+ Enterprise
+
+
+
+
+ Etchells
+
+
+
+
+ Europe
+
+
+
+
+ Flying Fifteen
+
+
+
+
+ Formula 16
+
+
+
+
+ Formula 18
+
+
+
+
+ Farr 30
+
+
+
+
+ Farr 40
+
+
+
+
+ Fireball
+
+
+
+
+ Flying Dutchman
+
+
+
+
+ RS Feva
+
+
+
+
+ Formula Experience
+
+
+
+
+ 0.5 - 1 Ton Under the Thames Measurement Rule
+
+
+
+
+ Finn
+
+
+
+
+ Firefly
+
+
+
+
+ Flying Junior
+
+
+
+
+ Flipper
+
+
+
+
+ Funboard
+
+
+
+
+ Formula Windsurfing
+
+
+
+
+ GP14
+
+
+
+
+ Hobie 14
+
+
+
+
+ Hobie 16
+
+
+
+
+ Hobie 16 (with Spinnaker)
+
+
+
+
+ Hobie 17
+
+
+
+
+ Hobie 18
+
+
+
+
+ H-Boat
+
+
+
+
+ Hobie Dragoon
+
+
+
+
+ Hobie Tiger
+
+
+
+
+ Hobie Wildcat
+
+
+
+
+ IMS 500
+
+
+
+
+ IMS 670
+
+
+
+
+ AC - IACC (1992 - 2007)
+
+
+
+
+ International Division I of Sailboards (Flat Board)
+
+
+
+
+ International Division II of Sailboards (Displacement)
+
+
+
+
+ International Division III of Sailboards (Tandem)
+
+
+
+
+ Kiteboarding (IKA)
+
+
+
+
+ IMA (International Maxi Association)
+
+
+
+
+ IMS
+
+
+
+
+ Nacra Infusion
+
+
+
+
+ International One Design (IOD)
+
+
+
+
+ IRSA - One Metre (IOM)
+
+
+
+
+ IOR
+
+
+
+
+ IRC
+
+
+
+
+ IRM
+
+
+
+
+ IRSA (International Radio Sailing Association)
+
+
+
+
+ ISO Dinghy
+
+
+
+
+ Speed Windsurfing
+
+
+
+
+ J/22
+
+
+
+
+ J/24
+
+
+
+
+ J/80
+
+
+
+
+ J/111
+
+
+
+
+ Kona
+
+
+
+
+ Laser 4.7
+
+
+
+
+ Laser II
+
+
+
+
+ Laser Radial
+
+
+
+
+ Lechner
+
+
+
+
+ Lightning
+
+
+
+
+ Laser
+
+
+
+
+ Martin 16
+
+
+
+
+ Melges 20
+
+
+
+
+ Melges 24
+
+
+
+
+ Melges 32
+
+
+
+
+ Mumm 36
+
+
+
+
+ IRSA - Marblehead
+
+
+
+
+ IMA - Maxi Fleet
+
+
+
+
+ Micro
+
+
+
+
+ Mirror
+
+
+
+
+ Mistral
+
+
+
+
+ Mistral Junior
+
+
+
+
+ IMA - Mini Maxi Fleet
+
+
+
+
+ Musto Performance Skiff
+
+
+
+
+ Moth
+
+
+
+
+ Nacra 17
+
+
+
+
+ Nacra F18
+
+
+
+
+ Open Class
+
+
+
+
+ 1924 Olympic Class Monotype
+
+
+
+
+ 1932 Olympic Class Monotype
+
+
+
+
+ 1936 Olympic Monotype (O-Jolle Class)
+
+
+
+
+ OK Dinghy
+
+
+
+
+ Optimist
+
+
+
+
+ Offshore Racing Congress
+
+
+
+
+ ORC Club
+
+
+
+
+ ORCi
+
+
+
+
+ Pirat
+
+
+
+
+ Platu 25
+
+
+
+
+ Raceboard
+
+
+
+
+ RC 44
+
+
+
+
+ IRSA - A Class
+
+
+
+
+ RS:One
+
+
+
+
+ RS100
+
+
+
+
+ RS 500
+
+
+
+
+ RS Tera
+
+
+
+
+ RS:X
+
+
+
+
+ Soto 40
+
+
+
+
+ Swan 45
+
+
+
+
+ Swan 60
+
+
+
+
+ SB20
+
+
+
+
+ Shark
+
+
+
+
+ SKUD 18
+
+
+
+
+ Sirena SL16
+
+
+
+
+ IMA - Supermaxi Fleet
+
+
+
+
+ Snipe
+
+
+
+
+ Soling
+
+
+
+
+ Sonar
+
+
+
+
+ Splash
+
+
+
+
+ Star
+
+
+
+
+ Sunfish
+
+
+
+
+ Swallow
+
+
+
+
+ Sydney 40
+
+
+
+
+ Techno 293
+
+
+
+
+ Topcat K1
+
+
+
+
+ Tempest
+
+
+
+
+ Topper
+
+
+
+
+ TP52
+
+
+
+
+ Tornado
+
+
+
+
+ Tasar
+
+
+
+
+ Ultimate 20
+
+
+
+
+ Volvo 60
+
+
+
+
+ Volvo 70
+
+
+
+
+ Laser Vago
+
+
+
+
+ Vaurien
+
+
+
+
+ Viper
+
+
+
+
+ Windglider
+
+
+
+
+ X-35
+
+
+
+
+ X-41
+
+
+
+
+ X99
+
+
+
+
+ Yngling
+
+
+
+
+ Zoom 8
+
+
+
+
+ 2.4 Metre
+
+
+
+
+ SKUD 18
+
+
+
+
+ Sonar
+
+
+
+
+
+
+
+
+ Afghanistan
+
+
+
+
+ Netherlands Antilles
+
+
+
+
+ Albania
+
+
+
+
+ Algeria
+
+
+
+
+ Anguilla
+
+
+
+
+ Andorra
+
+
+
+
+ Angola
+
+
+
+
+ Antigua
+
+
+
+
+ Argentina
+
+
+
+
+ Armenia
+
+
+
+
+ Aruba
+
+
+
+
+ American Samoa
+
+
+
+
+ Australia
+
+
+
+
+ Austria
+
+
+
+
+ Azerbaijan
+
+
+
+
+ Bahamas
+
+
+
+
+ Bangladesh
+
+
+
+
+ Barbados
+
+
+
+
+ Burundi
+
+
+
+
+ Belgium
+
+
+
+
+ Benin
+
+
+
+
+ Bermuda
+
+
+
+
+ Bhutan
+
+
+
+
+ Bosnia & Herzegovina
+
+
+
+
+ BURMA
+
+
+
+
+ Belize
+
+
+
+
+ Belarus
+
+
+
+
+ Bolivia
+
+
+
+
+ Botswana
+
+
+
+
+ Brazil
+
+
+
+
+ Bahrain
+
+
+
+
+ Brunei
+
+
+
+
+ Bulgaria
+
+
+
+
+ Burkina Faso
+
+
+
+
+ BRITISH WEST INDIES
+
+
+
+
+ Central Africa
+
+
+
+
+ New Caledonia
+
+
+
+
+ Cambodia
+
+
+
+
+ Canada
+
+
+
+
+ Cayman Islands
+
+
+
+
+ Congo
+
+
+
+
+ Chad
+
+
+
+
+ Chile
+
+
+
+
+ China, PR
+
+
+
+
+ Ivory Coast
+
+
+
+
+ Cameroon
+
+
+
+
+ DR Congo
+
+
+
+
+ Cook Islands
+
+
+
+
+ Colombia
+
+
+
+
+ Comoros
+
+
+
+
+ Cape Verde
+
+
+
+
+ Costa Rica
+
+
+
+
+ Croatia
+
+
+
+
+ Cuba
+
+
+
+
+ Curacao
+
+
+
+
+ Cyprus
+
+
+
+
+ Czech Republic
+
+
+
+
+ Denmark
+
+
+
+
+ Djibouti
+
+
+
+
+ Dominica
+
+
+
+
+ Dominican Republic
+
+
+
+
+ Ecuador
+
+
+
+
+ Egypt
+
+
+
+
+ Eritrea
+
+
+
+
+ El Salvador
+
+
+
+
+ Spain
+
+
+
+
+ Estonia
+
+
+
+
+ Ethiopia
+
+
+
+
+ EQUIPE UNIFIÉE ALLEMANDE
+
+
+
+
+ Unified Team
+
+
+
+
+ Faroe Islands
+
+
+
+
+ French Guiana
+
+
+
+
+ Fiji
+
+
+
+
+ Finland
+
+
+
+
+ France
+
+
+
+
+ Federal Republic of Germany (1950)
+
+
+
+
+ Micronesia
+
+
+
+
+ Gabon
+
+
+
+
+ Gambia
+
+
+
+
+ Great Britain
+
+
+
+
+ Guinea-bissau
+
+
+
+
+ German Democratic Republic (1955)
+
+
+
+
+ Georgia
+
+
+
+
+ Equatorial Guinea
+
+
+
+
+ Germany
+
+
+
+
+ Ghana
+
+
+
+
+ Gibraltar
+
+
+
+
+ Greece
+
+
+
+
+ Grenada
+
+
+
+
+ Guatemala
+
+
+
+
+ Guadeloupe
+
+
+
+
+ Guinea
+
+
+
+
+ Guam
+
+
+
+
+ Guyana
+
+
+
+
+ Haiti
+
+
+
+
+ Hong Kong
+
+
+
+
+ Honduras
+
+
+
+
+ Hungary
+
+
+
+
+ Indonesia
+
+
+
+
+ India
+
+
+
+
+ Independent Olympic Athlete
+
+
+
+
+ I.R. Iran
+
+
+
+
+ Ireland
+
+
+
+
+ Iraq
+
+
+
+
+ Iceland
+
+
+
+
+ Israel
+
+
+
+
+ US Virgin Islands
+
+
+
+
+ Italy
+
+
+
+
+ British Virgin Islands
+
+
+
+
+ Jamaica
+
+
+
+
+ Jordan
+
+
+
+
+ Japan
+
+
+
+
+ Kazakhstan
+
+
+
+
+ Kenya
+
+
+
+
+ Kyrgyzstan
+
+
+
+
+ Kiribati
+
+
+
+
+ Korea
+
+
+
+
+ Kosovo
+
+
+
+
+ Saudi Arabia
+
+
+
+
+ Kuwait
+
+
+
+
+ Lao P.d.r.
+
+
+
+
+ Latvia
+
+
+
+
+ Libya
+
+
+
+
+ Liberia
+
+
+
+
+ St Lucia
+
+
+
+
+ Lesotho
+
+
+
+
+ Lebanon
+
+
+
+
+ Liechtenstein
+
+
+
+
+ Lithuania
+
+
+
+
+ Luxembourg
+
+
+
+
+ Macau
+
+
+
+
+ Madagascar
+
+
+
+
+ Morocco
+
+
+
+
+ Malaysia
+
+
+
+
+ Malawi
+
+
+
+
+ Moldova
+
+
+
+
+ Maldives
+
+
+
+
+ Mexico
+
+
+
+
+ Mongolia
+
+
+
+
+ Marshall Islands
+
+
+
+
+ Macedonia (FYRO)
+
+
+
+
+ Mali
+
+
+
+
+ Malta
+
+
+
+
+ Montenegro
+
+
+
+
+ Montserrat
+
+
+
+
+ Monaco
+
+
+
+
+ Mozambique
+
+
+
+
+ Mauritius
+
+
+
+
+ Martinique
+
+
+
+
+ Mauritania
+
+
+
+
+ Myanmar
+
+
+
+
+ Namibia
+
+
+
+
+ Nicaragua
+
+
+
+
+ Netherlands
+
+
+
+
+ Nepal
+
+
+
+
+ Nigeria
+
+
+
+
+ Niger
+
+
+
+
+ Northern Mariana Islands
+
+
+
+
+ Norway
+
+
+
+
+ Nauru
+
+
+
+
+ New Zealand
+
+
+
+
+ Oman
+
+
+
+
+ Pakistan
+
+
+
+
+ Panama
+
+
+
+
+ Paraguay
+
+
+
+
+ Peru
+
+
+
+
+ Philippines
+
+
+
+
+ Palestine
+
+
+
+
+ Palau
+
+
+
+
+ Papua New Guinea
+
+
+
+
+ Poland
+
+
+
+
+ Portugal
+
+
+
+
+ Dpr Korea
+
+
+
+
+ Puerto Rico
+
+
+
+
+ Qatar
+
+
+
+
+ Reunion
+
+
+
+
+ RHODÉSIE
+
+
+
+
+ ROMANIA
+
+
+
+
+ Romania
+
+
+
+
+ South Africa
+
+
+
+
+ Russia
+
+
+
+
+ Rwanda
+
+
+
+
+ Samoa
+
+
+
+
+ Senegal
+
+
+
+
+ Seychelles
+
+
+
+
+ Singapore
+
+
+
+
+ St Kitts
+
+
+
+
+ Sierra Leone
+
+
+
+
+ Slovenia
+
+
+
+
+ San Marino
+
+
+
+
+ Solomon Islands
+
+
+
+
+ Somalia
+
+
+
+
+ Serbia
+
+
+
+
+ Sri Lanka
+
+
+
+
+ Sao Tome And Principe
+
+
+
+
+ Sudan
+
+
+
+
+ Switzerland
+
+
+
+
+ Suriname
+
+
+
+
+ Slovakia
+
+
+
+
+ Sweden
+
+
+
+
+ Swaziland
+
+
+
+
+ Syria
+
+
+
+
+ Tahiti
+
+
+
+
+ Taiwan
+
+
+
+
+ Tanzania
+
+
+
+
+ CZECHOSLOVAKIA
+
+
+
+
+ Tonga
+
+
+
+
+ Thailand
+
+
+
+
+ Tajikistan
+
+
+
+
+ Turkmenistan
+
+
+
+
+ Turks & Caicos Islands
+
+
+
+
+ Timor Leste
+
+
+
+
+ Togo
+
+
+
+
+ Chinese Taipei
+
+
+
+
+ Trinidad And Tobago
+
+
+
+
+ Tunisia
+
+
+
+
+ Turkey
+
+
+
+
+ Tuvalu
+
+
+
+
+ United Arab Emirates
+
+
+
+
+ Uganda
+
+
+
+
+ Ukraine
+
+
+
+
+ USSR
+
+
+
+
+ Uruguay
+
+
+
+
+ USA
+
+
+
+
+ Uzbekistan
+
+
+
+
+ Vanuatu
+
+
+
+
+ Venezuela
+
+
+
+
+ Vietnam
+
+
+
+
+ St Vincent
+
+
+
+
+ Yemen
+
+
+
+
+ Yugoslavia
+
+
+
+
+ Zaire
+
+
+
+
+ Zambia
+
+
+
+
+ Zimbabwe
+
+
+
+
+
+
+
+
+ Scoring penalty after arbitration
+
+
+
+
+ Disqualification under rule 30.3
+
+
+
+
+ Disqualification for gross misconduct not excludable under rule 90.3(b)
+
+
+
+
+ Did not start; did not come to the starting area
+
+
+
+
+ Disqualification (other than DGM) not excludable under rule 90.3(b)
+
+
+
+
+ Did not finish
+
+
+
+
+ Did not start (other than DNC and OCS)
+
+
+
+
+ Discretionary penalty imposed
+
+
+
+
+ Disqualification
+
+
+
+
+ Did not start; on the course side of the starting line at her starting signal and failed to start, or broke rule 30.1
+
+
+
+
+ Scoring penalty for a yellow flag after the finish
+
+
+
+
+ Retired after finishing
+
+
+
+
+ Redress given
+
+
+
+
+ Retired
+
+
+
+
+ Took a Scoring Penalty under rule 44.3(a)
+
+
+
+
+ 20% penalty under rule 30.2
+
+
+
+
+ Retired
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ 2
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+ Current
+
+
+
+
+ Pending
+
+
+
+
+ Expired
+
+
+
+
+ None
+
+
+
+
+
+
+
+
+ planned
+
+
+
+
+ scheduled
+
+
+
+
+ startseq
+
+
+
+
+ inprogress
+
+
+
+
+ recall
+
+
+
+
+ finished
+
+
+
+
+ final
+
+
+
+
+ result
+
+
+
+
+ delayed
+
+
+
+
+ cancelled
+
+
+
+
+ protested
+
+
+
+
+ postponed
+
+
+
+
+ abandoned
+
+
+
+
+ rescheduled
+
+
+
+
+ provisional
+
+
+
+
+
diff --git a/java/com.sap.sailing.xrr.resultimport.test/resources/sailingXRR_v1.3.xsd b/java/com.sap.sailing.xrr.resultimport.test/resources/sailingXRR_v1.3.xsd
new file mode 100755
index 00000000000..33d5767b353
--- /dev/null
+++ b/java/com.sap.sailing.xrr.resultimport.test/resources/sailingXRR_v1.3.xsd
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+ Skipper
+
+
+
+
+ Crew
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Male
+
+
+
+
+ Female
+
+
+
+
+
+
+
+
+ Men
+
+
+
+
+ Women
+
+
+
+
+ Open
+
+
+
+
+ Mixed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ very preliminary, info about a single race within a regatta
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/java/com.sap.sailing.xrr.resultimport.test/resources/star.xml b/java/com.sap.sailing.xrr.resultimport.test/resources/star.xml
new file mode 100755
index 00000000000..2f56242bb89
--- /dev/null
+++ b/java/com.sap.sailing.xrr.resultimport.test/resources/star.xml
@@ -0,0 +1,306 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/java/com.sap.sailing.xrr.resultimport.test/src/com/sap/sailing/xrr/resultimport/test/ParserTest.java b/java/com.sap.sailing.xrr.resultimport.test/src/com/sap/sailing/xrr/resultimport/test/ParserTest.java
new file mode 100755
index 00000000000..611c3eb5952
--- /dev/null
+++ b/java/com.sap.sailing.xrr.resultimport.test/src/com/sap/sailing/xrr/resultimport/test/ParserTest.java
@@ -0,0 +1,42 @@
+package com.sap.sailing.xrr.resultimport.test;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.bind.JAXBException;
+
+import org.junit.Test;
+
+import com.sap.sailing.xrr.resultimport.ParserImpl;
+import com.sap.sailing.xrr.resultimport.schema.RegattaResults;
+
+public class ParserTest {
+ private static final String SAMPLE_INPUT_NAME_LASER = "laser.xml";
+ private static final String SAMPLE_INPUT_NAME_STAR = "star.xml";
+ private static final String RESOURCES = "resources/";
+
+ private InputStream getInputStream(String filename) throws FileNotFoundException, IOException {
+ return new FileInputStream(getFile(filename));
+ }
+
+ private File getFile(String filename) {
+ return new File(RESOURCES + filename);
+ }
+
+ @Test
+ public void testSimpleParsingSomeLaserDocument() throws JAXBException, IOException {
+ RegattaResults o = new ParserImpl().parse(getInputStream(SAMPLE_INPUT_NAME_LASER));
+ assertNotNull(o);
+ }
+
+ @Test
+ public void testSimpleParsingSomeStarDocument() throws JAXBException, IOException {
+ RegattaResults o = new ParserImpl().parse(getInputStream(SAMPLE_INPUT_NAME_STAR));
+ assertNotNull(o);
+ }
+}
diff --git a/java/com.sap.sailing.xrr.resultimport/META-INF/MANIFEST.MF b/java/com.sap.sailing.xrr.resultimport/META-INF/MANIFEST.MF
index d128eb4de5b..1dab9efb820 100755
--- a/java/com.sap.sailing.xrr.resultimport/META-INF/MANIFEST.MF
+++ b/java/com.sap.sailing.xrr.resultimport/META-INF/MANIFEST.MF
@@ -5,3 +5,5 @@ Bundle-SymbolicName: com.sap.sailing.xrr.resultimport
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: SAP
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: com.sap.sailing.xrr.resultimport,
+ com.sap.sailing.xrr.resultimport.schema
diff --git a/java/com.sap.sailing.xrr.resultimport/src/com/sap/sailing/xrr/resultimport/schema/Boat.java b/java/com.sap.sailing.xrr.resultimport/src/com/sap/sailing/xrr/resultimport/schema/Boat.java
new file mode 100755
index 00000000000..f9a18cc7da9
--- /dev/null
+++ b/java/com.sap.sailing.xrr.resultimport/src/com/sap/sailing/xrr/resultimport/schema/Boat.java
@@ -0,0 +1,119 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4
+// See http://java.sun.com/xml/jaxb
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.03.14 at 03:41:40 PM CET
+//
+
+
+package com.sap.sailing.xrr.resultimport.schema;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
The following schema fragment specifies the expected content contained within this class.
+ *
+ *