.gitignore
... ...
@@ -1,36 +1,37 @@
1
-/target
2
-www-test
3
-war
4
-build.log
5
-reporting.log
6
-.metadata
7
-*.class
8
-*.swp
9
-*~
10
-manifest.txt
11
-java/com.sap.sailing.gwt.ui/gwt-unitCache/*
12
-java/com.sap.sailing.gwt.ui/war/WEB-INF/deploy/*
13
-java/com.sap.sse.security.ui/WEB-INF/deploy/*
14
-sailing_debug0*
15
-dist
16
-build
17
-.DS_Store
18
-java/com.sap.sailing.simulator/bin/com/sap/sailing/simulator/Simulator.gwt.xml
19
-/mobile/com.sap.sailing.racecommittee.app/res/values/keys.xml
20
-java/com.sap.sailing.gwt.ui/SailingGWT Remote Profiling (Run-Mode only).launch
21
-java/com.sap.sailing.gwt.ui/SailingGWT.launch
22
-
23
-## Android Studio and Intellij and Android in general
24
-gen/
25
-.idea/
26
-*.ipr
27
-*.iws
28
-*.iml
29
-out/
30
-.gradle
31
-local.properties
32
-git.xml
33
-mobile/github-advrecyclerview_lib/bin
34
-captures
35
-/.recommenders/
36
-/java/.recommenders/
... ...
\ No newline at end of file
0
+/target
1
+www-test
2
+war
3
+build.log
4
+reporting.log
5
+.metadata
6
+*.class
7
+*.swp
8
+*~
9
+manifest.txt
10
+java/com.sap.sailing.gwt.ui/gwt-unitCache/*
11
+java/com.sap.sailing.gwt.ui/war/WEB-INF/deploy/*
12
+java/com.sap.sse.security.ui/WEB-INF/deploy/*
13
+sailing_debug0*
14
+dist
15
+build
16
+.DS_Store
17
+java/com.sap.sailing.simulator/bin/com/sap/sailing/simulator/Simulator.gwt.xml
18
+/mobile/com.sap.sailing.racecommittee.app/res/values/keys.xml
19
+java/com.sap.sailing.gwt.ui/SailingGWT Remote Profiling (Run-Mode only).launch
20
+java/com.sap.sailing.gwt.ui/SailingGWT.launch
21
+
22
+## Android Studio and Intellij and Android in general
23
+gen/
24
+.idea/
25
+*.ipr
26
+*.iws
27
+*.iml
28
+out/
29
+.gradle
30
+local.properties
31
+git.xml
32
+mobile/github-advrecyclerview_lib/bin
33
+captures
34
+/.recommenders/
35
+/java/.recommenders/
36
+java/com.sap.sailing.selenium.test/com.sap.sailing.selenium.test (No Proxy) individual.launch
configuration/launchhudsonslave
... ...
@@ -1,8 +1,8 @@
1 1
#!/bin/bash
2 2
AWS=/root/.local/bin/aws
3 3
REGION=eu-west-1
4
-#HUDSON_SLAVE_AMI_ID=ami-0812bc35c7464732e
5
-HUDSON_SLAVE_AMI_ID=ami-04956fe5a5293da6f
4
+#HUDSON_SLAVE_AMI_ID=ami-04956fe5a5293da6f
5
+HUDSON_SLAVE_AMI_ID=ami-0251a199f8d4a4729
6 6
echo Launching instance...
7 7
instanceid=`$AWS ec2 run-instances --image-id $HUDSON_SLAVE_AMI_ID --count 1 --instance-type c5d.4xlarge --key-name Axel --security-groups "Sailing Analytics App" --region $REGION --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=Hudson Ubuntu Slave}]' --instance-initiated-shutdown-behavior terminate | tee /tmp/slavelaunch.out | jq .Instances[0].InstanceId | sed -e 's/"//g'`
8 8
if [ "$instanceid" = "" ]; then
java/com.sap.sailing.dashboards.gwt/META-INF/MANIFEST.MF
... ...
@@ -12,6 +12,7 @@ Require-Bundle: com.sap.sailing.domain,
12 12
com.google.gwt.user;bundle-version="2.8.2";resolution:=optional,
13 13
com.google.gwt.servlet;bundle-version="2.8.2",
14 14
com.sap.sse.common,
15
+ com.sap.sse.debranding,
15 16
com.sap.sailing.domain.common,
16 17
com.sap.sailing.domain.shared.android,
17 18
com.sap.sailing.gwt.ui,
java/com.sap.sailing.dashboards.gwt/RibDashboard.html
... ...
@@ -7,44 +7,38 @@
7 7
8 8
<html manifest="com.sap.sailing.dashboards.gwt.RibDashboard/appcache.manifest">
9 9
<head>
10
-
11
-<meta name="apple-mobile-web-app-capable" content="yes">
12
-<meta http-equiv="content-type" content="text/html; charset=UTF-8">
13
-
14
-<link rel="shortcut icon" type="image/x-icon" href="images/dashboardicon.png" />
15
-<link href='images/dashboardicon.png' rel='apple-touch-icon'>
16
-<link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
17
-
18
-<title>Dashboard</title>
19
-
20
-<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
21
-
22
-<script type="text/javascript"
23
- src="com.sap.sailing.dashboards.gwt.RibDashboard/com.sap.sailing.dashboards.gwt.RibDashboard.nocache.js"></script>
24
-
25
-<!-- Disables scrolling whole website vertically over edge on apple browsers -->
26
-<script type="text/javascript">
27
- document.ontouchmove = function(event){
28
- event.preventDefault();
29
-}
30
-</script>
31
-
10
+ <meta name="apple-mobile-web-app-capable" content="yes">
11
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
12
+ <link rel="shortcut icon" type="image/x-icon" href="images/dashboardicon${whitelabeled}.png" />
13
+ <link href='images/dashboardicon${whitelabeled}.png' rel='apple-touch-icon'>
14
+ <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
15
+ <title>Dashboard</title>
16
+ <script>
17
+ document.clientConfigurationContext = {
18
+ debrandingActive: ${debrandingActive}
19
+ };
20
+ </script>
21
+ <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
22
+ <script type="text/javascript"
23
+ src="com.sap.sailing.dashboards.gwt.RibDashboard/com.sap.sailing.dashboards.gwt.RibDashboard.nocache.js"></script>
24
+ <!-- Disables scrolling whole website vertically over edge on apple browsers -->
25
+ <script type="text/javascript">
26
+ document.ontouchmove = function(event){
27
+ event.preventDefault();
28
+ }
29
+ </script>
32 30
</head>
33 31
34 32
<body style="background-color: #d3d3d3; overflow-y: hidden;">
35
-
36
- <!-- OPTIONAL: include this if you want history support -->
37
- <iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1'
38
- style="position: absolute; width: 0; height: 0; border: 0"></iframe>
39
-
40
- <!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
41
-
42
- <noscript>
43
- <div
44
- style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
45
- Your web browser must have JavaScript enabled in order for this
46
- application to display correctly.</div>
47
- </noscript>
48
-
33
+ <!-- OPTIONAL: include this if you want history support -->
34
+ <iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1'
35
+ style="position: absolute; width: 0; height: 0; border: 0"></iframe>
36
+ <!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
37
+ <noscript>
38
+ <div
39
+ style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
40
+ Your web browser must have JavaScript enabled in order for this
41
+ application to display correctly.</div>
42
+ </noscript>
49 43
</body>
50 44
</html>
java/com.sap.sailing.dashboards.gwt/WEB-INF/web.xml
... ...
@@ -1,74 +1,83 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
- xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
4
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
5
- version="2.5">
3
+ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
4
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
5
+ version="2.5">
6 6
7
- <servlet>
8
- <servlet-name>default</servlet-name>
9
- <servlet-class>org.eclipse.jetty.servlet.DefaultServlet
10
- </servlet-class>
11
- <init-param>
12
- <param-name>dirAllowed</param-name>
13
- <param-value>false</param-value>
14
- </init-param>
15
- <init-param>
16
- <param-name>useFileMappedBuffer</param-name>
17
- <param-value>false</param-value>
18
- </init-param>
19
- </servlet>
7
+ <servlet>
8
+ <servlet-name>default</servlet-name>
9
+ <servlet-class>org.eclipse.jetty.servlet.DefaultServlet
10
+ </servlet-class>
11
+ <init-param>
12
+ <param-name>dirAllowed</param-name>
13
+ <param-value>false</param-value>
14
+ </init-param>
15
+ <init-param>
16
+ <param-name>useFileMappedBuffer</param-name>
17
+ <param-value>false</param-value>
18
+ </init-param>
19
+ </servlet>
20 20
21
- <servlet>
22
- <display-name>Sailing Service</display-name>
23
- <servlet-name>SailingService</servlet-name>
24
- <servlet-class>com.sap.sailing.gwt.ui.server.SailingServiceImpl</servlet-class>
25
- </servlet>
26
- <servlet-mapping>
27
- <servlet-name>SailingService</servlet-name>
28
- <url-pattern>/service/sailing</url-pattern>
29
- </servlet-mapping>
21
+ <servlet>
22
+ <display-name>Sailing Service</display-name>
23
+ <servlet-name>SailingService</servlet-name>
24
+ <servlet-class>com.sap.sailing.gwt.ui.server.SailingServiceImpl</servlet-class>
25
+ </servlet>
26
+ <servlet-mapping>
27
+ <servlet-name>SailingService</servlet-name>
28
+ <url-pattern>/service/sailing</url-pattern>
29
+ </servlet-mapping>
30 30
31
- <filter>
32
- <filter-name>LocaleInjectionFilter</filter-name>
33
- <filter-class>com.sap.sse.security.ui.server.LocaleInjectionFilter</filter-class>
34
- </filter>
35
- <filter-mapping>
36
- <filter-name>LocaleInjectionFilter</filter-name>
37
- <url-pattern>*.html</url-pattern>
38
- </filter-mapping>
31
+ <servlet>
32
+ <display-name>ClientConfigurationServlet</display-name>
33
+ <servlet-name>ClientConfigurationServlet</servlet-name>
34
+ <servlet-class>com.sap.sse.debranding.ClientConfigurationServlet</servlet-class>
35
+ </servlet>
36
+ <servlet-mapping>
37
+ <servlet-name>ClientConfigurationServlet</servlet-name>
38
+ <url-pattern>*.html</url-pattern>
39
+ </servlet-mapping>
39 40
40
- <filter>
41
- <filter-name>GWTCacheControlServletFilter</filter-name>
42
- <filter-class>com.sap.sse.gwt.server.GWTCacheControlServletFilter</filter-class>
43
- </filter>
44
- <filter-mapping>
45
- <filter-name>GWTCacheControlServletFilter</filter-name>
46
- <url-pattern>/*</url-pattern>
47
- </filter-mapping>
48
-
49
- <servlet>
50
- <display-name>Dashboard Dispatch Service</display-name>
51
- <servlet-name>dashboardDispatch</servlet-name>
52
- <servlet-class>com.sap.sailing.dashboards.gwt.server.DashboardDispatchServlet</servlet-class>
53
- </servlet>
54
- <servlet-mapping>
55
- <servlet-name>dashboardDispatch</servlet-name>
56
- <url-pattern>/service/dispatch</url-pattern>
57
- </servlet-mapping>
58
-
59
- <!-- enabling remote logging -->
60
- <servlet>
61
- <servlet-name>remoteLoggingServlet</servlet-name>
62
- <servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class>
63
- </servlet>
64
- <servlet-mapping>
65
- <servlet-name>remoteLoggingServlet</servlet-name>
66
- <url-pattern>/com.sap.sailing.dashboards.gwt.RibDashboard/remote_logging</url-pattern>
67
- </servlet-mapping>
41
+ <filter>
42
+ <filter-name>LocaleInjectionFilter</filter-name>
43
+ <filter-class>com.sap.sse.security.ui.server.LocaleInjectionFilter</filter-class>
44
+ </filter>
45
+ <filter-mapping>
46
+ <filter-name>LocaleInjectionFilter</filter-name>
47
+ <url-pattern>*.html</url-pattern>
48
+ </filter-mapping>
68 49
69
- <mime-mapping>
70
- <extension>manifest</extension>
71
- <mime-type>text/cache-manifest</mime-type>
72
- </mime-mapping>
50
+ <filter>
51
+ <filter-name>GWTCacheControlServletFilter</filter-name>
52
+ <filter-class>com.sap.sse.gwt.server.GWTCacheControlServletFilter</filter-class>
53
+ </filter>
54
+ <filter-mapping>
55
+ <filter-name>GWTCacheControlServletFilter</filter-name>
56
+ <url-pattern>/*</url-pattern>
57
+ </filter-mapping>
73 58
59
+ <servlet>
60
+ <display-name>Dashboard Dispatch Service</display-name>
61
+ <servlet-name>dashboardDispatch</servlet-name>
62
+ <servlet-class>com.sap.sailing.dashboards.gwt.server.DashboardDispatchServlet</servlet-class>
63
+ </servlet>
64
+ <servlet-mapping>
65
+ <servlet-name>dashboardDispatch</servlet-name>
66
+ <url-pattern>/service/dispatch</url-pattern>
67
+ </servlet-mapping>
68
+
69
+ <!-- enabling remote logging -->
70
+ <servlet>
71
+ <servlet-name>remoteLoggingServlet</servlet-name>
72
+ <servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class>
73
+ </servlet>
74
+ <servlet-mapping>
75
+ <servlet-name>remoteLoggingServlet</servlet-name>
76
+ <url-pattern>/com.sap.sailing.dashboards.gwt.RibDashboard/remote_logging</url-pattern>
77
+ </servlet-mapping>
78
+
79
+ <mime-mapping>
80
+ <extension>manifest</extension>
81
+ <mime-type>text/cache-manifest</mime-type>
82
+ </mime-mapping>
74 83
</web-app>
java/com.sap.sailing.dashboards.gwt/images/dashboardicon-whitelabeled.png
... ...
Binary files /dev/null and b/java/com.sap.sailing.dashboards.gwt/images/dashboardicon-whitelabeled.png differ
java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/header/DashboardHeader.java
... ...
@@ -12,6 +12,7 @@ import com.google.gwt.user.client.ui.HasWidgets;
12 12
import com.google.gwt.user.client.ui.Image;
13 13
import com.google.gwt.user.client.ui.Widget;
14 14
import com.sap.sailing.gwt.ui.client.StringMessages;
15
+import com.sap.sse.gwt.shared.ClientConfiguration;
15 16
16 17
public class DashboardHeader extends Composite implements HasWidgets {
17 18
... ...
@@ -37,7 +38,9 @@ public class DashboardHeader extends Composite implements HasWidgets {
37 38
public DashboardHeader() {
38 39
dashboardHeaderResources.gss().ensureInjected();
39 40
initWidget(uiBinder.createAndBindUi(this));
40
- sapLogo.setResource(DashboardHeaderResources.INSTANCE.sapLogo());
41
+ if (ClientConfiguration.getInstance().isBrandingActive()) {
42
+ sapLogo.setResource(DashboardHeaderResources.INSTANCE.sapLogo());
43
+ }
41 44
event.setInnerHTML(StringMessages.INSTANCE.dashboardHeader());
42 45
}
43 46
java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/client/linker/DashboardManifestLinker.java
... ...
@@ -16,6 +16,7 @@ public class DashboardManifestLinker extends ManifestLinker {
16 16
return new String[] { "/dashboards/RibDashboard.html",
17 17
"/dashboards/RibDashboard.css",
18 18
"/dashboards/images/dashboardicon.png",
19
+ "/dashboards/images/dashboardicon-whitelabeled.png",
19 20
"/dashboards/js/jquery-3.3.1.min.js",
20 21
"/sailing-fontface-1.0.cache.css"};
21 22
}
java/com.sap.sailing.feature/feature.xml
... ...
@@ -494,4 +494,11 @@ Computes leaderboard information for sailing races and offers RESTful APIs to al
494 494
version="0.0.0"
495 495
unpack="false"/>
496 496
497
+ <plugin
498
+ id="com.sap.sse.debranding"
499
+ download-size="0"
500
+ install-size="0"
501
+ version="0.0.0"
502
+ unpack="false"/>
503
+
497 504
</feature>
java/com.sap.sailing.gwt.ui/AdminConsole.html
... ...
@@ -12,13 +12,13 @@
12 12
<!-- -->
13 13
<!-- Consider inlining CSS to reduce the number of requested files -->
14 14
<!-- -->
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
18 18
<!-- -->
19 19
<!-- Any title is fine -->
20 20
<!-- -->
21
- <title>SAP Sailing Analytics Administration Console</title>
21
+ <title>${SAP}Sailing Analytics Administration Console</title>
22 22
23 23
<!-- AdminConsole is not prepared to work with nomalize. -->
24 24
<!-- <link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css"> -->
... ...
@@ -27,12 +27,16 @@
27 27
<link rel="stylesheet" type="text/css" href="SettingsDialog.css">
28 28
<link rel="stylesheet" type="text/css" href="AdminConsole.css">
29 29
30
- <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
30
+ <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
31 31
32 32
33
- <!-- Client-side QR code generation -->
34
- <script type="text/javascript" src="qrcode/qrcode.min.js"></script>
35
-
33
+ <!-- Client-side QR code generation -->
34
+ <script type="text/javascript" src="qrcode/qrcode.min.js"></script>
35
+ <script>
36
+ document.clientConfigurationContext = {
37
+ debrandingActive: ${debrandingActive}
38
+ };
39
+ </script>
36 40
<!-- -->
37 41
<!-- This script loads your compiled module. -->
38 42
<!-- If you add any GWT meta tags, they must -->
... ...
@@ -40,72 +44,72 @@
40 44
<!-- -->
41 45
<script type="text/javascript" language="javascript" src="com.sap.sailing.gwt.ui.AdminConsole/com.sap.sailing.gwt.ui.AdminConsole.nocache.js"></script>
42 46
43
- <!-- Loading Indicator -->
44
- <style type="text/css">
45
- .loading {
46
- position: absolute;
47
- top: 80px;
48
- bottom: 0;
49
- left: 0;
50
- right: 0;
51
- font-size: 120%;
52
- }
53
- .loading > .sapsailing {
54
- margin: 40px;
55
- color: #008fcc;
56
- font-weight: bold;
57
- }
58
- .loading > .waitmessage {
59
- margin: 60px 40px;
60
- }
61
-
62
- .signal {
63
- border:3px solid #6a6a6a;
64
- border-radius: 50%;
65
- position: relative;
66
- height:300px;
67
- width:300px;
68
- margin: 0px auto;
69
- opacity:0;
70
- -webkit-animation: pulsate 2s ease-out;
71
- animation: pulsate 2s ease-out;
72
- -webkit-animation-iteration-count:infinite;
73
- animation-iteration-count:infinite;
74
- -webkit-transform: translate(-50%, -50%);
75
- }
47
+ <!-- Loading Indicator -->
48
+ <style type="text/css">
49
+ .loading {
50
+ position: absolute;
51
+ top: 80px;
52
+ bottom: 0;
53
+ left: 0;
54
+ right: 0;
55
+ font-size: 120%;
56
+ }
57
+ .loading > .sapsailing {
58
+ margin: 40px;
59
+ color: #008fcc;
60
+ font-weight: bold;
61
+ }
62
+ .loading > .waitmessage {
63
+ margin: 60px 40px;
64
+ }
65
+
66
+ .signal {
67
+ border:3px solid #6a6a6a;
68
+ border-radius: 50%;
69
+ position: relative;
70
+ height:300px;
71
+ width:300px;
72
+ margin: 0px auto;
73
+ opacity:0;
74
+ -webkit-animation: pulsate 2s ease-out;
75
+ animation: pulsate 2s ease-out;
76
+ -webkit-animation-iteration-count:infinite;
77
+ animation-iteration-count:infinite;
78
+ -webkit-transform: translate(-50%, -50%);
79
+ }
76 80
77
- @-webkit-keyframes pulsate {
78
- 0% {
79
- -webkit-transform:scale(.1);
80
- transform:scale(.1);
81
- opacity: 0.0;
82
- }
83
- 50% {
84
- opacity:1;
85
- }
86
- 100% {
87
- -webkit-transform:scale(1.2);
88
- transform:scale(1.2);
89
- opacity:0;
90
- }
91
- }
92
-
93
- @keyframes pulsate {
94
- 0% {
95
- -webkit-transform:scale(.1);
96
- transform:scale(.1);
97
- opacity: 0.0;
98
- }
99
- 50% {
100
- opacity:1;
101
- }
102
- 100% {
103
- -webkit-transform:scale(1.2);
104
- transform:scale(1.2);
105
- opacity:0;
106
- }
107
- }
108
- </style>
81
+ @-webkit-keyframes pulsate {
82
+ 0% {
83
+ -webkit-transform:scale(.1);
84
+ transform:scale(.1);
85
+ opacity: 0.0;
86
+ }
87
+ 50% {
88
+ opacity:1;
89
+ }
90
+ 100% {
91
+ -webkit-transform:scale(1.2);
92
+ transform:scale(1.2);
93
+ opacity:0;
94
+ }
95
+ }
96
+
97
+ @keyframes pulsate {
98
+ 0% {
99
+ -webkit-transform:scale(.1);
100
+ transform:scale(.1);
101
+ opacity: 0.0;
102
+ }
103
+ 50% {
104
+ opacity:1;
105
+ }
106
+ 100% {
107
+ -webkit-transform:scale(1.2);
108
+ transform:scale(1.2);
109
+ opacity:0;
110
+ }
111
+ }
112
+ </style>
109 113
</head>
110 114
111 115
<!-- -->
... ...
@@ -126,10 +130,10 @@
126 130
</div>
127 131
</noscript>
128 132
129
- <div id="loading" class="loading">
130
- <p class="sapsailing">SAP Sailing Analytics</p>
131
- <p class="waitmessage">Loading, please wait...</p>
132
- <div class="signal"></div>
133
- </div>
133
+ <div id="loading" class="loading">
134
+ <p class="sapsailing">${SAP}Sailing Analytics</p>
135
+ <p class="waitmessage">Loading, please wait...</p>
136
+ <div class="signal"></div>
137
+ </div>
134 138
</body>
135 139
</html>
java/com.sap.sailing.gwt.ui/AutoPlay.html
... ...
@@ -13,13 +13,13 @@
13 13
<!-- -->
14 14
<!-- Consider inlining CSS to reduce the number of requested files -->
15 15
<!-- -->
16
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
17
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
16
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
17
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
18 18
19 19
<!-- -->
20 20
<!-- Any title is fine -->
21 21
<!-- -->
22
- <title>SAP Sailing Analytics AutoPlay</title>
22
+ <title>${SAP}Sailing Analytics AutoPlay</title>
23 23
24 24
<link rel="stylesheet" type="text/css" href="/sailing-reset-2.0.cache.css">
25 25
<link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
... ...
@@ -39,7 +39,11 @@
39 39
<script>
40 40
videojs.options.techOrder = ['vimeo', 'youtube', 'html5'];
41 41
</script>
42
-
42
+ <script>
43
+ document.clientConfigurationContext = {
44
+ debrandingActive: ${debrandingActive}
45
+ };
46
+ </script>
43 47
<script type="text/javascript" src="com.sap.sailing.gwt.autoplay.AutoPlay/com.sap.sailing.gwt.autoplay.AutoPlay.nocache.js"></script>
44 48
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
45 49
java/com.sap.sailing.gwt.ui/BrowserUnsupported.html
... ...
@@ -2,7 +2,7 @@
2 2
<html>
3 3
<head>
4 4
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
5
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
6 6
<title>Your browser is unsupported</title>
7 7
8 8
</head>
java/com.sap.sailing.gwt.ui/DataMining.html
... ...
@@ -8,18 +8,22 @@
8 8
<meta content='yes' name='apple-mobile-web-app-capable'>
9 9
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
10 10
<!-- <link href='iphone-splash-screen.png' rel='apple-touch-startup-image'> -->
11
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
12
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
11
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
12
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
13 13
14 14
<!-- This module isn't compatible with normalize. -->
15 15
<!-- <link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css"> -->
16 16
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
17 17
<link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
18 18
<link rel="stylesheet" type="text/css" href="DataMining.css">
19
-
20
- <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
21
-
22
- <script type="text/javascript" language="javascript" src="com.sap.sailing.gwt.ui.DataMining/com.sap.sailing.gwt.ui.DataMining.nocache.js"></script>
19
+ <script>
20
+ document.clientConfigurationContext = {
21
+ debrandingActive: ${debrandingActive}
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
25
+
26
+ <script type="text/javascript" language="javascript" src="com.sap.sailing.gwt.ui.DataMining/com.sap.sailing.gwt.ui.DataMining.nocache.js"></script>
23 27
24 28
</head>
25 29
<body>
java/com.sap.sailing.gwt.ui/EmbeddedMapAndWindChart.html
... ...
@@ -2,94 +2,98 @@
2 2
3 3
<html>
4 4
<head>
5
- <!--[if lt IE 9]>
6
- <meta http-equiv="REFRESH" content="0; url=http://www.sapsailing.com/browser-info.html">
7
- <![endif]-->
5
+ <!--[if lt IE 9]>
6
+ <meta http-equiv="REFRESH" content="0; url=/browser-info.html">
7
+ <![endif]-->
8 8
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
9
- <title>SAP Sailing Analytics Race Board</title>
9
+ <title>${SAP}Sailing Analytics Race Board</title>
10 10
<meta content='width = device-width, initial-scale = 1.0, user-scalable = yes' name='viewport'>
11 11
<meta content='yes' name='apple-mobile-web-app-capable'>
12 12
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
13 13
<!-- <link href='iphone-splash-screen.png' rel='apple-touch-startup-image'> -->
14
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
16
- <!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
17
- <!-- <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700,300,300italic' rel='stylesheet' type='text/css'>-->
18
-
19
- <link rel="stylesheet" type="text/css" href="/sailing-reset-2.0.cache.css">
20
- <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
21
- <link rel="stylesheet" type="text/css" href="EmbeddedMapAndWindChart.css">
22
-
23
- <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
14
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16
+ <!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
17
+ <!-- <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700,300,300italic' rel='stylesheet' type='text/css'>-->
24 18
19
+ <link rel="stylesheet" type="text/css" href="/sailing-reset-2.0.cache.css">
20
+ <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
21
+ <link rel="stylesheet" type="text/css" href="EmbeddedMapAndWindChart.css">
22
+
23
+ <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
24
+ <script>
25
+ document.clientConfigurationContext = {
26
+ debrandingActive: ${debrandingActive}
27
+ };
28
+ </script>
25 29
<script type="text/javascript" language="javascript" src="com.sap.sailing.gwt.ui.EmbeddedMapAndWindChart/com.sap.sailing.gwt.ui.EmbeddedMapAndWindChart.nocache.js"></script>
26 30
27
- <!-- Loading Indicator -->
28
- <style type="text/css">
29
- .loading {
30
- position: absolute;
31
- top: 80px;
32
- bottom: 0;
33
- left: 0;
34
- right: 0;
35
- font-size: 120%;
36
- }
37
- .loading > .sapsailing {
38
- margin: 40px;
39
- color: #008fcc;
40
- font-weight: bold;
41
- }
42
- .loading > .waitmessage {
43
- margin: 60px 40px;
44
- }
45
-
46
- .signal {
47
- border:3px solid #6a6a6a;
48
- border-radius: 50%;
49
- position: relative;
50
- height:300px;
51
- width:300px;
52
- margin: 0px auto;
53
- opacity:0;
54
- -webkit-animation: pulsate 2s ease-out;
55
- animation: pulsate 2s ease-out;
56
- -webkit-animation-iteration-count:infinite;
57
- animation-iteration-count:infinite;
58
- -webkit-transform: translate(-50%, -50%);
59
- }
31
+ <!-- Loading Indicator -->
32
+ <style type="text/css">
33
+ .loading {
34
+ position: absolute;
35
+ top: 80px;
36
+ bottom: 0;
37
+ left: 0;
38
+ right: 0;
39
+ font-size: 120%;
40
+ }
41
+ .loading > .sapsailing {
42
+ margin: 40px;
43
+ color: #008fcc;
44
+ font-weight: bold;
45
+ }
46
+ .loading > .waitmessage {
47
+ margin: 60px 40px;
48
+ }
49
+
50
+ .signal {
51
+ border:3px solid #6a6a6a;
52
+ border-radius: 50%;
53
+ position: relative;
54
+ height:300px;
55
+ width:300px;
56
+ margin: 0px auto;
57
+ opacity:0;
58
+ -webkit-animation: pulsate 2s ease-out;
59
+ animation: pulsate 2s ease-out;
60
+ -webkit-animation-iteration-count:infinite;
61
+ animation-iteration-count:infinite;
62
+ -webkit-transform: translate(-50%, -50%);
63
+ }
60 64
61
- @-webkit-keyframes pulsate {
62
- 0% {
63
- -webkit-transform:scale(.1);
64
- transform:scale(.1);
65
- opacity: 0.0;
66
- }
67
- 50% {
68
- opacity:1;
69
- }
70
- 100% {
71
- -webkit-transform:scale(1.2);
72
- transform:scale(1.2);
73
- opacity:0;
74
- }
75
- }
76
-
77
- @keyframes pulsate {
78
- 0% {
79
- -webkit-transform:scale(.1);
80
- transform:scale(.1);
81
- opacity: 0.0;
82
- }
83
- 50% {
84
- opacity:1;
85
- }
86
- 100% {
87
- -webkit-transform:scale(1.2);
88
- transform:scale(1.2);
89
- opacity:0;
90
- }
91
- }
92
- </style>
65
+ @-webkit-keyframes pulsate {
66
+ 0% {
67
+ -webkit-transform:scale(.1);
68
+ transform:scale(.1);
69
+ opacity: 0.0;
70
+ }
71
+ 50% {
72
+ opacity:1;
73
+ }
74
+ 100% {
75
+ -webkit-transform:scale(1.2);
76
+ transform:scale(1.2);
77
+ opacity:0;
78
+ }
79
+ }
80
+
81
+ @keyframes pulsate {
82
+ 0% {
83
+ -webkit-transform:scale(.1);
84
+ transform:scale(.1);
85
+ opacity: 0.0;
86
+ }
87
+ 50% {
88
+ opacity:1;
89
+ }
90
+ 100% {
91
+ -webkit-transform:scale(1.2);
92
+ transform:scale(1.2);
93
+ opacity:0;
94
+ }
95
+ }
96
+ </style>
93 97
94 98
</head>
95 99
<body>
... ...
@@ -104,10 +108,10 @@
104 108
</div>
105 109
</noscript>
106 110
107
- <div id="loading" class="loading">
108
- <p class="sapsailing">SAP Sailing Analytics</p>
109
- <p class="waitmessage">Loading, please wait...</p>
110
- <div class="signal"></div>
111
- </div>
111
+ <div id="loading" class="loading">
112
+ <p class="sapsailing">${SAP}Sailing Analytics</p>
113
+ <p class="waitmessage">Loading, please wait...</p>
114
+ <div class="signal"></div>
115
+ </div>
112 116
</body>
113 117
</html>
java/com.sap.sailing.gwt.ui/Home.html
... ...
@@ -1,111 +1,115 @@
1 1
<!doctype html>
2 2
<html>
3 3
<head>
4
- <meta name="apple-mobile-web-app-capable" content="yes" />
5
- <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
6
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
7
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
4
+ <meta name="apple-mobile-web-app-capable" content="yes" />
5
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
6
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" selenium-id="shortcutIcon"/>
7
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon' selenium-id="appIcon">
8 8
9
- <title>SAP Sailing - Homepage</title>
9
+ <title>${SAP}Sailing - Homepage</title>
10 10
11
- <link rel="stylesheet" type="text/css"
12
- href="/sailing-normalize-3.0.2.cache.css">
13
- <link rel="stylesheet" type="text/css"
14
- href="/sailing-fontface-1.0.cache.css">
15
- <script src="js/jquery-3.3.1.min.js"></script>
16
- <link rel="stylesheet" type="text/css" href="js/jquery.slick/slick-1.8.1.css"/>
17
- <script type="text/javascript" src="js/jquery.slick/slick-1.8.1.min.js"></script>
11
+ <link rel="stylesheet" type="text/css"
12
+ href="/sailing-normalize-3.0.2.cache.css">
13
+ <link rel="stylesheet" type="text/css"
14
+ href="/sailing-fontface-1.0.cache.css">
15
+ <script src="js/jquery-3.3.1.min.js"></script>
16
+ <link rel="stylesheet" type="text/css" href="js/jquery.slick/slick-1.8.1.css"/>
17
+ <script type="text/javascript" src="js/jquery.slick/slick-1.8.1.min.js"></script>
18 18
19 19
<link href="js/video-js/video-js.min.css" rel="stylesheet">
20 20
<link href="js/video-js/video-js-sapsailing.css" rel="stylesheet">
21 21
<script src="js/video-js/video.min.js"></script>
22 22
<link rel="stylesheet" type="text/css" href="js/videojs-panorama.min.css"/>
23
- <script src="js/videojs-panorama.v5.min.js"></script>
23
+ <script src="js/videojs-panorama.v5.min.js"></script>
24 24
<script src="js/Youtube.min.js"></script>
25
- <script src="js/Vimeo.js"></script>
26
- <script>
27
- videojs.options.techOrder = ['vimeo', 'youtube', 'html5'];
28
- </script>
29
-
30
- <script src="com.sap.sailing.gwt.home.Home/com.sap.sailing.gwt.home.Home.nocache.js"></script>
31
- <style type="text/css">
32
- .loading {
33
- position: absolute;
34
- top: 80px;
35
- bottom: 0;
36
- left: 0;
37
- right: 0;
38
- font-size: 120%;
39
- }
40
- .loading > .sapsailing {
41
- margin: 40px;
42
- color: #008fcc;
43
- font-weight: bold;
44
- }
45
- .loading > .waitmessage {
46
- margin: 60px 40px;
47
- }
48
-
49
- .signal {
50
- border:3px solid #6a6a6a;
51
- border-radius: 50%;
52
- position: relative;
53
- height:300px;
54
- width:300px;
55
- margin: 0px auto;
56
- opacity:0;
57
- -webkit-animation: pulsate 2s ease-out;
58
- animation: pulsate 2s ease-out;
59
- -webkit-animation-iteration-count:infinite;
60
- animation-iteration-count:infinite;
61
- -webkit-transform: translate(-50%, -50%);
62
- }
25
+ <script src="js/Vimeo.js"></script>
26
+ <script>
27
+ videojs.options.techOrder = ['vimeo', 'youtube', 'html5'];
28
+ </script>
29
+ <script>
30
+ document.clientConfigurationContext = {
31
+ debrandingActive: ${debrandingActive}
32
+ };
33
+ </script>
34
+ <script src="com.sap.sailing.gwt.home.Home/com.sap.sailing.gwt.home.Home.nocache.js"></script>
35
+ <style type="text/css">
36
+ .loading {
37
+ position: absolute;
38
+ top: 80px;
39
+ bottom: 0;
40
+ left: 0;
41
+ right: 0;
42
+ font-size: 120%;
43
+ }
44
+ .loading > .sapsailing {
45
+ margin: 40px;
46
+ color: #008fcc;
47
+ font-weight: bold;
48
+ }
49
+ .loading > .waitmessage {
50
+ margin: 60px 40px;
51
+ }
52
+
53
+ .signal {
54
+ border:3px solid #6a6a6a;
55
+ border-radius: 50%;
56
+ position: relative;
57
+ height:300px;
58
+ width:300px;
59
+ margin: 0px auto;
60
+ opacity:0;
61
+ -webkit-animation: pulsate 2s ease-out;
62
+ animation: pulsate 2s ease-out;
63
+ -webkit-animation-iteration-count:infinite;
64
+ animation-iteration-count:infinite;
65
+ -webkit-transform: translate(-50%, -50%);
66
+ }
63 67
64
- @-webkit-keyframes pulsate {
65
- 0% {
66
- -webkit-transform:scale(.1);
67
- transform:scale(.1);
68
- opacity: 0.0;
69
- }
70
- 50% {
71
- opacity:1;
72
- }
73
- 100% {
74
- -webkit-transform:scale(1.2);
75
- transform:scale(1.2);
76
- opacity:0;
77
- }
78
- }
79
-
80
- @keyframes pulsate {
81
- 0% {
82
- -webkit-transform:scale(.1);
83
- transform:scale(.1);
84
- opacity: 0.0;
85
- }
86
- 50% {
87
- opacity:1;
88
- }
89
- 100% {
90
- -webkit-transform:scale(1.2);
91
- transform:scale(1.2);
92
- opacity:0;
93
- }
94
- }
95
- </style>
68
+ @-webkit-keyframes pulsate {
69
+ 0% {
70
+ -webkit-transform:scale(.1);
71
+ transform:scale(.1);
72
+ opacity: 0.0;
73
+ }
74
+ 50% {
75
+ opacity:1;
76
+ }
77
+ 100% {
78
+ -webkit-transform:scale(1.2);
79
+ transform:scale(1.2);
80
+ opacity:0;
81
+ }
82
+ }
83
+
84
+ @keyframes pulsate {
85
+ 0% {
86
+ -webkit-transform:scale(.1);
87
+ transform:scale(.1);
88
+ opacity: 0.0;
89
+ }
90
+ 50% {
91
+ opacity:1;
92
+ }
93
+ 100% {
94
+ -webkit-transform:scale(1.2);
95
+ transform:scale(1.2);
96
+ opacity:0;
97
+ }
98
+ }
99
+ </style>
96 100
</head>
97 101
<body>
98
- <iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
99
- <noscript>
100
- <div
101
- style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
102
- Your web browser must have JavaScript enabled in order for this
103
- application to display correctly.</div>
104
- </noscript>
105
- <div id="loading" class="loading">
106
- <p class="sapsailing">SAP Sailing Analytics</p>
107
- <p class="waitmessage">Loading, please wait...</p>
108
- <div class="signal"></div>
109
- </div>
102
+ <iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
103
+ <noscript>
104
+ <div
105
+ style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
106
+ Your web browser must have JavaScript enabled in order for this
107
+ application to display correctly.</div>
108
+ </noscript>
109
+ <div id="loading" class="loading">
110
+ <p class="sapsailing">${SAP}Sailing Analytics</p>
111
+ <p class="waitmessage">Loading, please wait...</p>
112
+ <div class="signal"></div>
113
+ </div>
110 114
</body>
111 115
</html>
java/com.sap.sailing.gwt.ui/HomeDesktop.html
... ...
@@ -2,9 +2,9 @@
2 2
<html>
3 3
<head>
4 4
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
6
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
7
- <title>SAP Sailing - Homepage</title>
5
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
6
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
7
+ <title>${SAP}Sailing - Homepage</title>
8 8
</head>
9 9
<body>
10 10
<script>
java/com.sap.sailing.gwt.ui/HomeMobile.html
... ...
@@ -2,9 +2,9 @@
2 2
<html>
3 3
<head>
4 4
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
6
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
7
- <title>SAP Sailing - Homepage</title>
5
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
6
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
7
+ <title>${SAP}Sailing - Homepage</title>
8 8
</head>
9 9
<body>
10 10
<script>
java/com.sap.sailing.gwt.ui/Leaderboard.html
... ...
@@ -6,20 +6,24 @@
6 6
<meta http-equiv="REFRESH" content="0; url=http://www.sapsailing.com/browser-info.html">
7 7
<![endif]-->
8 8
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
9
- <title>SAP Sailing Analytics Leaderboard</title>
9
+ <title>${SAP}Sailing Analytics Leaderboard</title>
10 10
<meta content='width = device-width, initial-scale = 1.0, user-scalable = yes' name='viewport'>
11 11
<meta content='yes' name='apple-mobile-web-app-capable'>
12 12
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
13 13
<!-- <link href='iphone-splash-screen.png' rel='apple-touch-startup-image'> -->
14
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
16
-
17
- <link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
18
- <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
14
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16
+
17
+ <link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
18
+ <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
19 19
<link rel="stylesheet" type="text/css" href="Leaderboard.css">
20 20
21 21
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
22
-
22
+ <script>
23
+ document.clientConfigurationContext = {
24
+ debrandingActive: ${debrandingActive}
25
+ };
26
+ </script>
23 27
<script type="text/javascript" src="com.sap.sailing.gwt.ui.Leaderboard/com.sap.sailing.gwt.ui.Leaderboard.nocache.js"></script>
24 28
25 29
</head>
java/com.sap.sailing.gwt.ui/LeaderboardEditing.html
... ...
@@ -8,7 +8,7 @@
8 8
<html>
9 9
<head>
10 10
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
11
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
11
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
12 12
13 13
<!-- -->
14 14
<!-- Consider inlining CSS to reduce the number of requested files -->
... ...
@@ -17,13 +17,17 @@
17 17
<!-- -->
18 18
<!-- Any title is fine -->
19 19
<!-- -->
20
- <title>SAP Sailing Analytics Leaderboard Editing</title>
20
+ <title>${SAP}Sailing Analytics Leaderboard Editing</title>
21 21
22 22
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
23 23
<link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
24 24
<link rel="stylesheet" type="text/css" href="SettingsDialog.css">
25 25
<link rel="stylesheet" type="text/css" href="Leaderboard.css">
26
-
26
+ <script>
27
+ document.clientConfigurationContext = {
28
+ debrandingActive: ${debrandingActive}
29
+ };
30
+ </script>
27 31
<!-- -->
28 32
<!-- This script loads your compiled module. -->
29 33
<!-- If you add any GWT meta tags, they must -->
java/com.sap.sailing.gwt.ui/META-INF/MANIFEST.MF
... ...
@@ -55,6 +55,7 @@ Require-Bundle: com.sap.sailing.domain,
55 55
com.sap.sse.datamining.annotations,
56 56
com.sap.sse.shared.android,
57 57
com.sap.sailing.competitorimport,
58
+ com.sap.sse.debranding,
58 59
com.sap.sailing.expeditionconnector,
59 60
com.sap.sailing.expeditionconnector.common,
60 61
org.mp4parser.isoparser;bundle-version="1.9.37",
java/com.sap.sailing.gwt.ui/PairingList.html
... ...
@@ -6,20 +6,24 @@
6 6
<meta http-equiv="REFRESH" content="0; url=http://www.sapsailing.com/browser-info.html">
7 7
<![endif]-->
8 8
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
9
- <title>SAP Sailing Analytics PairingList</title>
9
+ <title>${SAP}Sailing Analytics PairingList</title>
10 10
<meta content='width = device-width, initial-scale = 1.0, user-scalable = yes' name='viewport'>
11 11
<meta content='yes' name='apple-mobile-web-app-capable'>
12 12
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
13 13
<!-- <link href='iphone-splash-screen.png' rel='apple-touch-startup-image'> -->
14
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
14
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
<link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
18 18
<link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
19 19
<link rel="stylesheet" type="text/css" href="PairingList.css">
20 20
21 21
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
22
-
22
+ <script>
23
+ document.clientConfigurationContext = {
24
+ debrandingActive: ${debrandingActive}
25
+ };
26
+ </script>
23 27
<script type="text/javascript" src="com.sap.sailing.gwt.ui.PairingList/com.sap.sailing.gwt.ui.PairingList.nocache.js"></script>
24 28
25 29
</head>
java/com.sap.sailing.gwt.ui/RaceBoard.html
... ...
@@ -2,25 +2,25 @@
2 2
3 3
<html>
4 4
<head>
5
- <!--[if lt IE 9]>
6
- <meta http-equiv="REFRESH" content="0; url=http://www.sapsailing.com/browser-info.html">
7
- <![endif]-->
5
+ <!--[if lt IE 9]>
6
+ <meta http-equiv="REFRESH" content="0; url=http://www.sapsailing.com/browser-info.html">
7
+ <![endif]-->
8 8
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
9
- <title>SAP Sailing Analytics Race Board</title>
9
+ <title>${SAP}Sailing Analytics Race Board</title>
10 10
<meta content='width = device-width, initial-scale = 1.0, user-scalable = yes' name='viewport'>
11 11
<meta content='yes' name='apple-mobile-web-app-capable'>
12 12
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
13 13
<!-- <link href='iphone-splash-screen.png' rel='apple-touch-startup-image'> -->
14
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
16
- <!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
17
- <!-- <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700,300,300italic' rel='stylesheet' type='text/css'>-->
18
-
19
- <link rel="stylesheet" type="text/css" href="/sailing-reset-2.0.cache.css">
20
- <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
21
- <link rel="stylesheet" type="text/css" href="RaceBoard.css">
22
-
23
- <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
14
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16
+ <!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
17
+ <!-- <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700,300,300italic' rel='stylesheet' type='text/css'>-->
18
+
19
+ <link rel="stylesheet" type="text/css" href="/sailing-reset-2.0.cache.css">
20
+ <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
21
+ <link rel="stylesheet" type="text/css" href="RaceBoard.css">
22
+
23
+ <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
24 24
25 25
<link href="js/video-js/video-js.min.css" rel="stylesheet">
26 26
<link href="js/video-js/video-js-sapsailing.css" rel="stylesheet">
... ...
@@ -32,7 +32,11 @@
32 32
<script>
33 33
videojs.options.techOrder = [ 'vimeo', 'html5' ];
34 34
</script>
35
-
35
+ <script>
36
+ document.clientConfigurationContext = {
37
+ debrandingActive: ${debrandingActive}
38
+ };
39
+ </script>
36 40
<script type="text/javascript" language="javascript" src="com.sap.sailing.gwt.ui.RaceBoard/com.sap.sailing.gwt.ui.RaceBoard.nocache.js"></script>
37 41
38 42
</head>
java/com.sap.sailing.gwt.ui/RegattaOverview.html
... ...
@@ -9,18 +9,22 @@
9 9
<meta content='yes' name='apple-mobile-web-app-capable'>
10 10
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
11 11
12
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
13
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
12
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
13
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
14 14
15
- <title>SAP Sailing Analytics Regatta Overview</title>
15
+ <title>${SAP}Sailing Analytics Regatta Overview</title>
16 16
17 17
<link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
18
-
18
+ <script>
19
+ document.clientConfigurationContext = {
20
+ debrandingActive: ${debrandingActive}
21
+ };
22
+ </script>
19 23
<script
20
- type="text/javascript"
21
- language="javascript"
22
- src="com.sap.sailing.gwt.regattaoverview.RegattaOverview/com.sap.sailing.gwt.regattaoverview.RegattaOverview.nocache.js"
23
- ></script>
24
+ type="text/javascript"
25
+ language="javascript"
26
+ src="com.sap.sailing.gwt.regattaoverview.RegattaOverview/com.sap.sailing.gwt.regattaoverview.RegattaOverview.nocache.js"
27
+ ></script>
24 28
</head>
25 29
<body>
26 30
<!-- OPTIONAL: include this if you want history support -->
java/com.sap.sailing.gwt.ui/Simulator.html
... ...
@@ -3,23 +3,26 @@
3 3
<html>
4 4
<head>
5 5
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
6
- <title>SAP Sailing Analytics Race Simulator</title>
6
+ <title>${SAP}Sailing Analytics Race Simulator</title>
7 7
<meta content='width = device-width, initial-scale = 1.0, user-scalable = yes' name='viewport'>
8 8
<meta content='yes' name='apple-mobile-web-app-capable'>
9 9
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
10 10
<!-- <link href='iphone-splash-screen.png' rel='apple-touch-startup-image'> -->
11
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
12
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
13
- <!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
14
- <!-- <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700,300,300italic' rel='stylesheet' type='text/css'>-->
15
-
16
- <link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
17
- <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
18
- <link rel="stylesheet" type="text/css" href="Simulator.css">
11
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
12
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
13
+ <!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
14
+ <!-- <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700,300,300italic' rel='stylesheet' type='text/css'>-->
15
+
16
+ <link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
17
+ <link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
18
+ <link rel="stylesheet" type="text/css" href="Simulator.css">
19 19
20
-
21 20
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
22
-
21
+ <script>
22
+ document.clientConfigurationContext = {
23
+ debrandingActive: ${debrandingActive}
24
+ };
25
+ </script>
23 26
<script type="text/javascript" src="com.sap.sailing.gwt.ui.Simulator/com.sap.sailing.gwt.ui.Simulator.nocache.js"></script>
24 27
25 28
</head>
java/com.sap.sailing.gwt.ui/Spectator.html
... ...
@@ -13,10 +13,10 @@
13 13
<meta content='yes' name='apple-mobile-web-app-capable'>
14 14
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
15 15
<!-- <link href='iphone-splash-screen.png' rel='apple-touch-startup-image'> -->
16
- <link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
17
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
16
+ <link href='sap-sailing-app-icon${whitelabeled}.png' rel='apple-touch-icon'>
17
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
18 18
19
- <!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
19
+ <!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
20 20
<!-- -->
21 21
<!-- Consider inlining CSS to reduce the number of requested files -->
22 22
<!-- -->
... ...
@@ -24,13 +24,17 @@
24 24
<!-- -->
25 25
<!-- Any title is fine -->
26 26
<!-- -->
27
- <title>SAP Sailing Analytics Spectator Vision</title>
27
+ <title>${SAP}Sailing Analytics Spectator Vision</title>
28 28
29 29
<link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
30 30
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
31 31
<link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
32 32
<link rel="stylesheet" type="text/css" href="Spectator.css">
33
-
33
+ <script>
34
+ document.clientConfigurationContext = {
35
+ debrandingActive: ${debrandingActive}
36
+ };
37
+ </script>
34 38
<!-- -->
35 39
<!-- This script loads your compiled module. -->
36 40
<!-- If you add any GWT meta tags, they must -->
java/com.sap.sailing.gwt.ui/VideoPopup.html
... ...
@@ -2,8 +2,13 @@
2 2
<html>
3 3
<head>
4 4
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
- <title>SAP Sailing Video</title>
6
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
5
+ <title>${SAP}Sailing Video</title>
6
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
7
+ <script>
8
+ document.clientConfigurationContext = {
9
+ debrandingActive: ${debrandingActive}
10
+ };
11
+ </script>
7 12
<script type="text/javascript" language="javascript" src="com.sap.sailing.gwt.ui.VideoPopup/com.sap.sailing.gwt.ui.VideoPopup.nocache.js"></script>
8 13
9 14
<link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
java/com.sap.sailing.gwt.ui/WEB-INF/web.xml
... ...
@@ -61,6 +61,15 @@
61 61
<url-pattern>*.html</url-pattern>
62 62
</filter-mapping>
63 63
64
+ <servlet>
65
+ <display-name>ClientConfigurationServlet</display-name>
66
+ <servlet-name>ClientConfigurationServlet</servlet-name>
67
+ <servlet-class>com.sap.sse.debranding.ClientConfigurationServlet</servlet-class>
68
+ </servlet>
69
+ <servlet-mapping>
70
+ <servlet-name>ClientConfigurationServlet</servlet-name>
71
+ <url-pattern>*.html</url-pattern>
72
+ </servlet-mapping>
64 73
<servlet>
65 74
<display-name>Status</display-name>
66 75
<servlet-name>Status</servlet-name>
java/com.sap.sailing.gwt.ui/YoutubePopup.html
... ...
@@ -2,8 +2,13 @@
2 2
<html>
3 3
<head>
4 4
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
5
- <title>SAP Sailing Video</title>
6
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
5
+ <title>${SAP}Sailing Video</title>
6
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
7
+ <script>
8
+ document.clientConfigurationContext = {
9
+ debrandingActive: ${debrandingActive}
10
+ };
11
+ </script>
7 12
<script type="text/javascript" language="javascript" src="com.sap.sailing.gwt.ui.YoutubePopup/com.sap.sailing.gwt.ui.YoutubePopup.nocache.js"></script>
8 13
<style type="text/css">
9 14
html {overflow: auto;}
java/com.sap.sailing.gwt.ui/images/sap-sailing-app-icon-whitelabeled.png
... ...
Binary files /dev/null and b/java/com.sap.sailing.gwt.ui/images/sap-sailing-app-icon-whitelabeled.png differ
java/com.sap.sailing.gwt.ui/images/sap-whitelabeled.ico
... ...
Binary files /dev/null and b/java/com.sap.sailing.gwt.ui/images/sap-whitelabeled.ico differ
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/legacy/EventPlace.java
... ...
@@ -3,6 +3,7 @@ package com.sap.sailing.gwt.home.client.place.event.legacy;
3 3
import com.google.gwt.place.shared.PlaceTokenizer;
4 4
import com.sap.sailing.gwt.common.client.AbstractBasePlace;
5 5
import com.sap.sailing.gwt.ui.client.StringMessages;
6
+import com.sap.sse.gwt.shared.ClientConfiguration;
6 7
7 8
public class EventPlace extends AbstractBasePlace {
8 9
private final String eventUuidAsString;
... ...
@@ -35,7 +36,8 @@ public class EventPlace extends AbstractBasePlace {
35 36
}
36 37
37 38
public String getTitle(String eventName) {
38
- return StringMessages.INSTANCE.sapSailing() + " - " + eventName;
39
+ return (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
40
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + eventName;
39 41
}
40 42
41 43
public String getEventUuidAsString() {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/legacy/RegattaPlace.java
... ...
@@ -3,6 +3,7 @@ package com.sap.sailing.gwt.home.client.place.event.legacy;
3 3
import com.google.gwt.place.shared.PlaceTokenizer;
4 4
import com.sap.sailing.gwt.common.client.AbstractBasePlace;
5 5
import com.sap.sailing.gwt.ui.client.StringMessages;
6
+import com.sap.sse.gwt.shared.ClientConfiguration;
6 7
7 8
public class RegattaPlace extends AbstractBasePlace {
8 9
private final String eventUuidAsString;
... ...
@@ -44,7 +45,9 @@ public class RegattaPlace extends AbstractBasePlace {
44 45
}
45 46
46 47
public String getTitle(String eventName, String leaderboardName) {
47
- return StringMessages.INSTANCE.sapSailing() + " - " + StringMessages.INSTANCE.leaderboard() + ": " + leaderboardName;
48
+ return (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
49
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + StringMessages.INSTANCE.leaderboard() + ": "
50
+ + leaderboardName;
48 51
}
49 52
50 53
public String getEventUuidAsString() {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/legacy/SeriesPlace.java
... ...
@@ -3,6 +3,7 @@ package com.sap.sailing.gwt.home.client.place.event.legacy;
3 3
import com.google.gwt.place.shared.PlaceTokenizer;
4 4
import com.sap.sailing.gwt.common.client.AbstractBasePlace;
5 5
import com.sap.sailing.gwt.ui.client.StringMessages;
6
+import com.sap.sse.gwt.shared.ClientConfiguration;
6 7
7 8
public class SeriesPlace extends AbstractBasePlace {
8 9
private final String eventUuidAsString;
... ...
@@ -44,7 +45,9 @@ public class SeriesPlace extends AbstractBasePlace {
44 45
}
45 46
46 47
public String getTitle(String eventName, String leaderboardName) {
47
- return StringMessages.INSTANCE.sapSailing() + " - " + StringMessages.INSTANCE.leaderboard() + ": " + leaderboardName;
48
+ return (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
49
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + StringMessages.INSTANCE.leaderboard() + ": "
50
+ + leaderboardName;
48 51
}
49 52
50 53
public String getEventUuidAsString() {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/footer/Footer.java
... ...
@@ -1,7 +1,12 @@
1 1
package com.sap.sailing.gwt.home.desktop.partials.footer;
2 2
3
+import static com.google.gwt.dom.client.Style.Display.NONE;
4
+import static com.sap.sse.gwt.shared.DebugConstants.DEBUG_ID_ATTRIBUTE;
5
+
3 6
import com.google.gwt.core.client.GWT;
4 7
import com.google.gwt.dom.client.AnchorElement;
8
+import com.google.gwt.dom.client.DivElement;
9
+import com.google.gwt.dom.client.Style.Display;
5 10
import com.google.gwt.uibinder.client.UiBinder;
6 11
import com.google.gwt.uibinder.client.UiField;
7 12
import com.google.gwt.user.client.DOM;
... ...
@@ -15,14 +20,24 @@ import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewPlace;
15 20
import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewPlace.WhatsNewNavigationTabs;
16 21
import com.sap.sailing.gwt.home.shared.SwitchingEntryPoint;
17 22
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
23
+import com.sap.sailing.gwt.ui.client.StringMessages;
24
+import com.sap.sse.gwt.client.controls.languageselect.LanguageSelector;
25
+import com.sap.sse.gwt.shared.ClientConfiguration;
26
+import com.sap.sse.gwt.shared.DebugConstants;
18 27
19 28
public class Footer extends Composite {
20 29
private static FooterPanelUiBinder uiBinder = GWT.create(FooterPanelUiBinder.class);
21 30
22 31
interface FooterPanelUiBinder extends UiBinder<Widget, Footer> {
23 32
}
24
-
33
+
34
+ @UiField AnchorElement whatsNewAnchor;
35
+ @UiField AnchorElement sapJobsAnchor;
36
+ @UiField AnchorElement feedbackAnchor;
37
+ @UiField LanguageSelector languageSelector;
38
+ @UiField DivElement copyrightDiv;
25 39
@UiField AnchorElement imprintAnchorLink;
40
+ @UiField AnchorElement privacyAnchorLink;
26 41
@UiField AnchorElement mobileUi;
27 42
@UiField(provided = true)
28 43
final PlaceNavigation<WhatsNewPlace> releaseNotesNavigation;
... ...
@@ -44,6 +59,23 @@ public class Footer extends Composite {
44 59
}
45 60
}
46 61
});
62
+
63
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
64
+ copyrightDiv.getStyle().setDisplay(NONE);
65
+ languageSelector.setLabelText(StringMessages.INSTANCE.whitelabelFooterLanguage());
66
+ sapJobsAnchor.getStyle().setDisplay(Display.NONE);
67
+ feedbackAnchor.getStyle().setDisplay(Display.NONE);
68
+ whatsNewAnchor.getStyle().setDisplay(Display.NONE);
69
+ imprintAnchorLink.getStyle().setDisplay(Display.NONE);
70
+ privacyAnchorLink.getStyle().setDisplay(Display.NONE);
71
+ }
72
+ copyrightDiv.setAttribute(DebugConstants.DEBUG_ID_ATTRIBUTE, "copyrightDiv");
73
+ sapJobsAnchor.setAttribute(DEBUG_ID_ATTRIBUTE, "sapJobsAnchor");
74
+ feedbackAnchor.setAttribute(DEBUG_ID_ATTRIBUTE, "feedbackAnchor");
75
+ whatsNewAnchor.setAttribute(DEBUG_ID_ATTRIBUTE, "whatsNewAnchor");
76
+ imprintAnchorLink.setAttribute(DEBUG_ID_ATTRIBUTE, "imprintAnchorLink");
77
+ privacyAnchorLink.setAttribute(DEBUG_ID_ATTRIBUTE, "privacyAnchorLink");
78
+ languageSelector.getElement().setAttribute(DEBUG_ID_ATTRIBUTE, "languageSelector");
47 79
}
48 80
49 81
}
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/footer/Footer.ui.xml
... ...
@@ -10,32 +10,32 @@
10 10
<!-- Website footer-->
11 11
<div class="{res.mediaCss.grid}">
12 12
<div class="{res.mediaCss.small12} {res.mediaCss.medium9} {res.mediaCss.columns}">
13
- <div class="{local_res.css.sitefooter_copyright}">
13
+ <div ui:field="copyrightDiv" class="{local_res.css.sitefooter_copyright}">
14 14
<ui:text from='{i18n.footerCopyright}' />
15 15
</div>
16 16
<div class="{local_res.css.sitefooter_links}">
17 17
<a ui:field="imprintAnchorLink" target="_blank" class="{local_res.css.sitefooter_links_link}">
18 18
<ui:text from='{i18n.footerLegal}' />
19 19
</a>
20
- <a href="https://www.sap.com/about/legal/privacy.html" target="_blank" class="{local_res.css.sitefooter_links_link}">
20
+ <a ui:field="privacyAnchorLink" href="https://www.sap.com/about/legal/privacy.html" target="_blank" class="{local_res.css.sitefooter_links_link}">
21 21
<ui:text from='{i18n.footerPrivacy}' />
22 22
</a>
23
- <a href="https://jobs.sap.com" target="_blank" class="{local_res.css.sitefooter_links_link}">
23
+ <a ui:field="sapJobsAnchor" href="https://jobs.sap.com" target="_blank" class="{local_res.css.sitefooter_links_link}">
24 24
<ui:text from='{i18n.footerJobs}'/>
25 25
</a>
26
- <a href="mailto:sailing_analytics%40sap.com?subject=[SAP Sailing] Feedback" target="_blank" class="{local_res.css.sitefooter_links_link}">
26
+ <a ui:field="feedbackAnchor" href="mailto:sailing_analytics%40sap.com?subject=[SAP Sailing] Feedback" target="_blank" class="{local_res.css.sitefooter_links_link}">
27 27
<ui:text from='{i18n.footerFeedback}' />
28 28
</a>
29 29
<a ui:field="mobileUi" href="HomeMobile.html"
30 30
class="{local_res.css.sitefooter_links_link} {res.mediaCss.showonsmall} {res.mediaCss.hideonmedium} {res.mediaCss.hideonlarge}">
31 31
Mobile
32 32
</a>
33
- <a href="{releaseNotesNavigation.getSafeTargetUrl}" class="{local_res.css.sitefooter_links_link}">
33
+ <a ui:field="whatsNewAnchor" href="{releaseNotesNavigation.getSafeTargetUrl}" class="{local_res.css.sitefooter_links_link}">
34 34
<ui:text from='{i18n.whatsNew}' />
35 35
</a>
36 36
</div>
37 37
</div>
38
- <l:LanguageSelector labelText="{i18n.footerLanguage}" addStyleNames="{res.mediaCss.small12}
38
+ <l:LanguageSelector ui:field="languageSelector" labelText="{i18n.footerLanguage}" addStyleNames="{res.mediaCss.small12}
39 39
{res.mediaCss.medium3} {res.mediaCss.columns} {local_res.css.sitefooter_language}" />
40 40
</div>
41 41
</g:HTMLPanel>
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/header/Header.java
42 42
index 0e5a421..3917f7e
43
--- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/header/Header.java
43
+++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/header/Header.java
... ...
@@ -1,9 +1,13 @@
1 1
package com.sap.sailing.gwt.home.desktop.partials.header;
2 2
3
+import static com.sap.sse.gwt.shared.DebugConstants.DEBUG_ID_ATTRIBUTE;
4
+
3 5
import java.util.Arrays;
4 6
import java.util.List;
5 7
6 8
import com.google.gwt.core.client.GWT;
9
+import com.google.gwt.dom.client.AnchorElement;
10
+import com.google.gwt.dom.client.ImageElement;
7 11
import com.google.gwt.dom.client.Style.Display;
8 12
import com.google.gwt.event.dom.client.ClickEvent;
9 13
import com.google.gwt.event.dom.client.KeyCodes;
... ...
@@ -36,6 +40,8 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
36 40
import com.sap.sse.gwt.client.mvp.PlaceChangedEvent;
37 41
import com.sap.sse.security.shared.impl.SecuredSecurityTypes.ServerActions;
38 42
import com.sap.sse.security.ui.authentication.AuthenticationContextEvent;
43
+import com.sap.sse.gwt.shared.ClientConfiguration;
44
+import com.sap.sse.gwt.shared.DebugConstants;
39 45
import com.sap.sse.security.ui.authentication.app.AuthenticationContext;
40 46
import com.sap.sse.security.ui.authentication.view.AuthenticationMenuView;
41 47
import com.sap.sse.security.ui.authentication.view.AuthenticationMenuViewImpl;
... ...
@@ -44,6 +50,7 @@ public class Header extends Composite {
44 50
@UiField Anchor startPageLink;
45 51
@UiField Anchor eventsPageLink;
46 52
@UiField Anchor solutionsPageLink;
53
+ @UiField AnchorElement logoAnchor;
47 54
@UiField Anchor adminConsolePageLink;
48 55
// @UiField Anchor sponsoringPageLink;
49 56
... ...
@@ -51,6 +58,8 @@ public class Header extends Composite {
51 58
@UiField Button searchButton;
52 59
53 60
@UiField Anchor usermenu;
61
+
62
+ @UiField ImageElement logoImage;
54 63
55 64
private static final HyperlinkImpl HYPERLINK_IMPL = GWT.create(HyperlinkImpl.class);
56 65
... ...
@@ -117,6 +126,17 @@ public class Header extends Composite {
117 126
});
118 127
119 128
authenticationMenuView = new AuthenticationMenuViewImpl(usermenu, HeaderResources.INSTANCE.css().loggedin(), HeaderResources.INSTANCE.css().open());
129
+
130
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
131
+ logoImage.getStyle().setDisplay(Display.NONE);
132
+ solutionsPageLink.getElement().getStyle().setDisplay(Display.NONE);
133
+ logoAnchor.setHref("");
134
+ }
135
+
136
+ logoImage.setAttribute(DebugConstants.DEBUG_ID_ATTRIBUTE, "logoImage");
137
+ solutionsPageLink.getElement().setAttribute(DEBUG_ID_ATTRIBUTE, "solutionsPageLink");
138
+ logoAnchor.setAttribute(DEBUG_ID_ATTRIBUTE, "logoAnchor");
139
+ eventsPageLink.getElement().setAttribute(DEBUG_ID_ATTRIBUTE, "eventsPage");
120 140
}
121 141
122 142
@UiHandler("startPageLink")
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/header/Header.ui.xml
... ...
@@ -9,8 +9,8 @@
9 9
<!-- Website header-->
10 10
<div class="{res.mediaCss.grid}">
11 11
<div class="{local_res.css.siteheader_logo} {res.mediaCss.small2} {res.mediaCss.medium2} {res.mediaCss.large3} {res.mediaCss.columns}">
12
- <a href="https://www.sap.com/sponsorships">
13
- <img src="images/home/logo-small@2x.png" alt="{i18n.headerLogo}" class="{local_res.css.siteheader_logo_image}"></img>
12
+ <a ui:field="logoAnchor" href="https://www.sap.com/sponsorships">
13
+ <img ui:field="logoImage" src="images/home/logo-small@2x.png" alt="{i18n.headerLogo}" class="{local_res.css.siteheader_logo_image}"></img>
14 14
<p class="{local_res.css.siteheader_logo_title}">
15 15
<ui:text from='{i18n.headerLogo}' />
16 16
</p>
... ...
@@ -21,7 +21,7 @@
21 21
styleName="{local_res.css.sitenavigation_link}" text="{i18n.home}" />
22 22
<g:Anchor ui:field="eventsPageLink"
23 23
styleName="{local_res.css.sitenavigation_link}" text="{i18n.events}" />
24
- <g:Anchor ui:field="solutionsPageLink"
24
+ <g:Anchor ui:field="solutionsPageLink"
25 25
styleName="{local_res.css.sitenavigation_link}" text="{i18n.solutions}" />
26 26
<g:Anchor ui:field="adminConsolePageLink"
27 27
styleName="{local_res.css.sitenavigation_link}" text="{i18n.administration}" />
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/sharing/SharingButtons.java
... ...
@@ -1,5 +1,7 @@
1 1
package com.sap.sailing.gwt.home.desktop.partials.sharing;
2 2
3
+import static com.google.gwt.dom.client.Style.Display.NONE;
4
+
3 5
import com.google.gwt.core.client.GWT;
4 6
import com.google.gwt.dom.client.AnchorElement;
5 7
import com.google.gwt.http.client.UrlBuilder;
... ...
@@ -7,7 +9,9 @@ import com.google.gwt.uibinder.client.UiBinder;
7 9
import com.google.gwt.uibinder.client.UiField;
8 10
import com.google.gwt.user.client.Window;
9 11
import com.google.gwt.user.client.ui.Composite;
12
+import com.google.gwt.user.client.ui.HTMLPanel;
10 13
import com.google.gwt.user.client.ui.Widget;
14
+import com.sap.sse.gwt.shared.ClientConfiguration;
11 15
12 16
public class SharingButtons extends Composite {
13 17
... ...
@@ -16,6 +20,7 @@ public class SharingButtons extends Composite {
16 20
interface SharingButtonsUiBinder extends UiBinder<Widget, SharingButtons> {
17 21
}
18 22
23
+ @UiField HTMLPanel htmlPanel;
19 24
@UiField AnchorElement mail;
20 25
@UiField AnchorElement twitter;
21 26
@UiField AnchorElement facebook;
... ...
@@ -23,9 +28,16 @@ public class SharingButtons extends Composite {
23 28
public SharingButtons() {
24 29
SharingButtonsResources.INSTANCE.css().ensureInjected();
25 30
initWidget(uiBinder.createAndBindUi(this));
31
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
32
+ htmlPanel.getElement().getStyle().setDisplay(NONE);
33
+ }
26 34
}
27 35
28 36
public void setUp(SharingMetadataProvider provider) {
37
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
38
+ return;
39
+ }
40
+
29 41
String shortText = provider.getShortText();
30 42
String longText = provider.getLongText(Window.Location.getHref());
31 43
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/sharing/SharingButtons.ui.xml
... ...
@@ -3,7 +3,7 @@
3 3
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
4 4
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
5 5
<ui:with field="local_res" type="com.sap.sailing.gwt.home.desktop.partials.sharing.SharingButtonsResources" />
6
- <g:HTMLPanel addStyleNames="{local_res.css.eventheader_sharing}">
6
+ <g:HTMLPanel addStyleNames="{local_res.css.eventheader_sharing}" ui:field="htmlPanel">
7 7
<a ui:field="mail" title="{i18n.sharingMailTooltip}"
8 8
class="{local_res.css.eventheader_sharing_item} {local_res.css.eventheader_sharing_itememail}"></a>
9 9
<a ui:field="twitter" title="{i18n.sharingTwitterTooltip}" target="_blank"
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/socialfooter/SocialFooter.java
... ...
@@ -1,20 +1,33 @@
1 1
package com.sap.sailing.gwt.home.desktop.partials.socialfooter;
2 2
3
+import static com.google.gwt.dom.client.Style.Display.NONE;
4
+import static com.sap.sse.gwt.shared.DebugConstants.DEBUG_ID_ATTRIBUTE;
5
+
3 6
import com.google.gwt.core.client.GWT;
4 7
import com.google.gwt.uibinder.client.UiBinder;
8
+import com.google.gwt.uibinder.client.UiField;
5 9
import com.google.gwt.user.client.ui.Composite;
10
+import com.google.gwt.user.client.ui.HTMLPanel;
6 11
import com.google.gwt.user.client.ui.Widget;
12
+import com.sap.sse.gwt.shared.ClientConfiguration;
7 13
8 14
public class SocialFooter extends Composite {
9 15
10 16
interface SocialFooterUiBinder extends UiBinder<Widget, SocialFooter> {
11 17
}
12
-
18
+
13 19
private static SocialFooterUiBinder uiBinder = GWT.create(SocialFooterUiBinder.class);
14 20
21
+ @UiField
22
+ HTMLPanel htmlPanel;
23
+
15 24
public SocialFooter() {
16 25
SocialFooterResources.INSTANCE.css().ensureInjected();
17 26
initWidget(uiBinder.createAndBindUi(this));
27
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
28
+ htmlPanel.getElement().getStyle().setDisplay(NONE);
29
+ }
30
+ htmlPanel.getElement().setAttribute(DEBUG_ID_ATTRIBUTE, "socialFooter");
18 31
}
19 32
20 33
}
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/socialfooter/SocialFooter.ui.xml
... ...
@@ -6,7 +6,7 @@
6 6
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
7 7
<ui:with field="shr" type="com.sap.sailing.gwt.home.shared.resources.SharedHomeResources" />
8 8
<ui:with field="local_res" type="com.sap.sailing.gwt.home.desktop.partials.socialfooter.SocialFooterResources" />
9
- <g:HTMLPanel>
9
+ <g:HTMLPanel ui:field="htmlPanel">
10 10
<!-- The search/social media page footer-->
11 11
<div class="{local_res.css.socialfooter}">
12 12
<div class="{res.mediaCss.grid}">
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/partials/solutions/Solutions.java
... ...
@@ -10,6 +10,7 @@ import com.google.gwt.uibinder.client.UiHandler;
10 10
import com.google.gwt.user.client.Command;
11 11
import com.google.gwt.user.client.Event;
12 12
import com.google.gwt.user.client.History;
13
+import com.google.gwt.user.client.Window;
13 14
import com.google.gwt.user.client.ui.Anchor;
14 15
import com.google.gwt.user.client.ui.Composite;
15 16
import com.google.gwt.user.client.ui.Widget;
... ...
@@ -156,27 +157,29 @@ public class Solutions extends Composite {
156 157
}
157 158
158 159
private void scrollToView(SolutionsNavigationTabs navigationTab) {
160
+ final int actualScrollLeft = Window.getScrollLeft();
159 161
if (navigationTab == null) {
160 162
sapInSailingDiv.scrollIntoView();
163
+ Window.scrollTo(actualScrollLeft, 0);
161 164
} else {
162 165
switch (navigationTab) {
163 166
case BuoyPingerApp:
164
- buoyPingerDiv.scrollIntoView();
167
+ Window.scrollTo(actualScrollLeft, buoyPingerDiv.getAbsoluteTop());
165 168
break;
166 169
case InSightApp:
167
- inSightDiv.scrollIntoView();
170
+ Window.scrollTo(actualScrollLeft, inSightDiv.getAbsoluteTop());
168 171
break;
169 172
case SapInSailing:
170
- sapInSailingDiv.scrollIntoView();
173
+ Window.scrollTo(actualScrollLeft, 0);
171 174
break;
172 175
case SailingAnalytics:
173
- sailingAnalyticsDiv.scrollIntoView();
176
+ Window.scrollTo(actualScrollLeft, sailingAnalyticsDiv.getAbsoluteTop());
174 177
break;
175 178
case RaceManagerApp:
176
- raceDiv.scrollIntoView();
179
+ Window.scrollTo(actualScrollLeft, raceDiv.getAbsoluteTop());
177 180
break;
178 181
case SailingSimulator:
179
- simulatorDiv.scrollIntoView();
182
+ Window.scrollTo(actualScrollLeft, simulatorDiv.getAbsoluteTop());
180 183
break;
181 184
}
182 185
}
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/multiregatta/TabletAndDesktopMultiRegattaEventView.java
... ...
@@ -29,6 +29,7 @@ import com.sap.sailing.gwt.home.shared.places.fakeseries.SeriesDefaultPlace;
29 29
import com.sap.sailing.gwt.ui.client.StringMessages;
30 30
import com.sap.sse.common.Util;
31 31
import com.sap.sse.gwt.client.LinkUtil;
32
+import com.sap.sse.gwt.shared.ClientConfiguration;
32 33
33 34
public class TabletAndDesktopMultiRegattaEventView extends Composite implements EventMultiregattaView {
34 35
... ...
@@ -92,7 +93,9 @@ public class TabletAndDesktopMultiRegattaEventView extends Composite implements
92 93
@Override
93 94
public void navigateTabsTo(AbstractMultiregattaEventPlace place) {
94 95
tabPanelUi.activatePlace(place);
95
- StringBuilder titleBuilder = new StringBuilder(StringMessages.INSTANCE.sapSailing()).append(" - ");
96
+ StringBuilder titleBuilder = new StringBuilder(
97
+ (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
98
+ : StringMessages.INSTANCE.whitelabelSailing())).append(" - ");
96 99
97 100
titleBuilder.append(currentPresenter.showRegattaMetadata() ? currentPresenter.getRegattaMetadata()
98 101
.getDisplayName() : currentPresenter.getEventDTO().getDisplayName());
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/event/regatta/TabletAndDesktopRegattaEventView.java
... ...
@@ -32,6 +32,7 @@ import com.sap.sailing.gwt.ui.client.FlagImageResolver;
32 32
import com.sap.sailing.gwt.ui.client.StringMessages;
33 33
import com.sap.sse.common.Util;
34 34
import com.sap.sse.gwt.client.LinkUtil;
35
+import com.sap.sse.gwt.shared.ClientConfiguration;
35 36
36 37
public class TabletAndDesktopRegattaEventView extends Composite implements EventRegattaView {
37 38
... ...
@@ -102,7 +103,9 @@ public class TabletAndDesktopRegattaEventView extends Composite implements Event
102 103
@Override
103 104
public void navigateTabsTo(AbstractEventRegattaPlace place) {
104 105
tabPanelUi.activatePlace(place);
105
- StringBuilder titleBuilder = new StringBuilder(StringMessages.INSTANCE.sapSailing()).append(" - ");
106
+ StringBuilder titleBuilder = new StringBuilder(
107
+ (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
108
+ : StringMessages.INSTANCE.whitelabelSailing())).append(" - ");
106 109
107 110
titleBuilder.append(currentPresenter.showRegattaMetadata() ? currentPresenter.getRegattaMetadata()
108 111
.getDisplayName() : currentPresenter.getEventDTO().getDisplayName());
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/fakeseries/TabletAndDesktopSeriesView.java
... ...
@@ -14,6 +14,7 @@ import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
14 14
import com.sap.sailing.gwt.home.desktop.partials.seriesheader.SeriesHeader;
15 15
import com.sap.sailing.gwt.home.shared.app.ApplicationHistoryMapper;
16 16
import com.sap.sailing.gwt.ui.client.StringMessages;
17
+import com.sap.sse.gwt.shared.ClientConfiguration;
17 18
18 19
public class TabletAndDesktopSeriesView extends Composite implements SeriesView<AbstractSeriesTabPlace, SeriesView.Presenter> {
19 20
private static final ApplicationHistoryMapper historyMapper = GWT.<ApplicationHistoryMapper> create(ApplicationHistoryMapper.class);
... ...
@@ -49,7 +50,9 @@ public class TabletAndDesktopSeriesView extends Composite implements SeriesView<
49 50
@Override
50 51
public void navigateTabsTo(AbstractSeriesTabPlace place) {
51 52
tabPanelUi.activatePlace(place);
52
- StringBuilder titleBuilder = new StringBuilder(StringMessages.INSTANCE.sapSailing()).append(" - ");
53
+ StringBuilder titleBuilder = new StringBuilder(
54
+ (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
55
+ : StringMessages.INSTANCE.whitelabelSailing())).append(" - ");
53 56
54 57
titleBuilder.append(currentPresenter.getSeriesDTO().getDisplayName());
55 58
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/solutions/SolutionsActivity.java
... ...
@@ -6,11 +6,12 @@ import com.google.gwt.user.client.Window;
6 6
import com.google.gwt.user.client.ui.AcceptsOneWidget;
7 7
import com.sap.sailing.gwt.home.shared.places.solutions.SolutionsPlace;
8 8
import com.sap.sailing.gwt.ui.client.StringMessages;
9
+import com.sap.sse.gwt.shared.ClientConfiguration;
9 10
10 11
public class SolutionsActivity extends AbstractActivity {
11 12
private final SolutionsPlace solutionsPlace;
12 13
private final SolutionsClientFactory clientFactory;
13
-
14
+
14 15
public SolutionsActivity(SolutionsPlace place, SolutionsClientFactory clientFactory) {
15 16
this.solutionsPlace = place;
16 17
this.clientFactory = clientFactory;
... ...
@@ -20,6 +21,7 @@ public class SolutionsActivity extends AbstractActivity {
20 21
public void start(AcceptsOneWidget panel, EventBus eventBus) {
21 22
SolutionsView solutionsView = clientFactory.createSolutionsView(solutionsPlace.getNavigationTab());
22 23
panel.setWidget(solutionsView.asWidget());
23
- Window.setTitle(StringMessages.INSTANCE.sapSailing() + " - " + StringMessages.INSTANCE.solutions());
24
+ Window.setTitle((ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
25
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + StringMessages.INSTANCE.solutions());
24 26
}
25 27
}
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/start/TabletAndDesktopStartView.java
... ...
@@ -33,6 +33,7 @@ public class TabletAndDesktopStartView extends Composite implements StartView {
33 33
mainMedia = new MainMedia(navigator);
34 34
35 35
initWidget(uiBinder.createAndBindUi(this));
36
+
36 37
}
37 38
38 39
@Override
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/start/TabletAndDesktopStartView.ui.xml
... ...
@@ -7,6 +7,6 @@
7 7
<!-- <s:mainsponsors.MainSponsors ui:field='mainSponsors'/> -->
8 8
<dp:mainevents.MainEvents ui:field='mainEvents'/>
9 9
<dp:mainmedia.MainMedia ui:field='mainMedia'/>
10
- <dp:socialfooter.SocialFooter/>
10
+ <dp:socialfooter.SocialFooter ui:field="socialFooter"/>
11 11
</g:HTMLPanel>
12 12
</ui:UiBinder>
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/user/profile/TabletAndDesktopUserProfileView.java
... ...
@@ -18,11 +18,14 @@ import com.sap.sailing.gwt.home.shared.app.ApplicationHistoryMapper;
18 18
import com.sap.sailing.gwt.home.shared.places.user.profile.AbstractUserProfilePlace;
19 19
import com.sap.sailing.gwt.ui.client.FlagImageResolver;
20 20
import com.sap.sailing.gwt.ui.client.StringMessages;
21
+import com.sap.sse.gwt.shared.ClientConfiguration;
21 22
import com.sap.sse.security.ui.authentication.app.AuthenticationContext;
22 23
import com.sap.sse.security.ui.userprofile.desktop.userheader.UserHeader;
23 24
24
-public class TabletAndDesktopUserProfileView extends Composite implements UserProfileView<AbstractUserProfilePlace, UserProfileView.Presenter> {
25
- private static final ApplicationHistoryMapper historyMapper = GWT.<ApplicationHistoryMapper> create(ApplicationHistoryMapper.class);
25
+public class TabletAndDesktopUserProfileView extends Composite
26
+ implements UserProfileView<AbstractUserProfilePlace, UserProfileView.Presenter> {
27
+ private static final ApplicationHistoryMapper historyMapper = GWT
28
+ .<ApplicationHistoryMapper> create(ApplicationHistoryMapper.class);
26 29
27 30
private static MyBinder uiBinder = GWT.create(MyBinder.class);
28 31
... ...
@@ -31,14 +34,15 @@ public class TabletAndDesktopUserProfileView extends Composite implements UserPr
31 34
interface MyBinder extends UiBinder<Widget, TabletAndDesktopUserProfileView> {
32 35
}
33 36
34
- @UiField StringMessages i18n;
35
-
37
+ @UiField
38
+ StringMessages i18n;
39
+
36 40
@UiField(provided = true)
37 41
TabPanel<AbstractUserProfilePlace, UserProfileView.Presenter, UserProfileTabView<AbstractUserProfilePlace>> tabPanelUi;
38
-
42
+
39 43
@UiField(provided = true)
40 44
UserHeader headerUi;
41
-
45
+
42 46
@UiField(provided = true)
43 47
UserProfilePreferencesTabView preferencesTabUi;
44 48
... ...
@@ -55,11 +59,11 @@ public class TabletAndDesktopUserProfileView extends Composite implements UserPr
55 59
public void registerPresenter(final UserProfileView.Presenter currentPresenter) {
56 60
this.currentPresenter = currentPresenter;
57 61
tabPanelUi = new TabPanel<>(currentPresenter, historyMapper);
58
-
62
+
59 63
headerUi = new UserHeader(SharedResources.INSTANCE);
60
-
64
+
61 65
preferencesTabUi = new UserProfilePreferencesTabView(flagImageResolver);
62
-
66
+
63 67
sailorProfileTabUi = new SailorProfileTabView(flagImageResolver);
64 68
65 69
initWidget(uiBinder.createAndBindUi(this));
... ...
@@ -68,7 +72,9 @@ public class TabletAndDesktopUserProfileView extends Composite implements UserPr
68 72
@Override
69 73
public void navigateTabsTo(AbstractUserProfilePlace place) {
70 74
tabPanelUi.activatePlace(place);
71
- StringBuilder titleBuilder = new StringBuilder(StringMessages.INSTANCE.sapSailing()).append(" - ");
75
+ StringBuilder titleBuilder = new StringBuilder(
76
+ (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
77
+ : StringMessages.INSTANCE.whitelabelSailing())).append(" - ");
72 78
73 79
titleBuilder.append(place.getLocationTitle());
74 80
... ...
@@ -78,7 +84,7 @@ public class TabletAndDesktopUserProfileView extends Composite implements UserPr
78 84
}
79 85
Window.setTitle(titleBuilder.toString());
80 86
}
81
-
87
+
82 88
@Override
83 89
public void setAuthenticationContext(AuthenticationContext authenticationContext) {
84 90
headerUi.setAuthenticationContext(authenticationContext);
... ...
@@ -90,7 +96,7 @@ public class TabletAndDesktopUserProfileView extends Composite implements UserPr
90 96
public void onTabSelection(TabPanelPlaceSelectionEvent e) {
91 97
currentPresenter.handleTabPlaceSelection((TabView<?, UserProfileView.Presenter>) e.getSelectedActivity());
92 98
}
93
-
99
+
94 100
@Override
95 101
public void showErrorInCurrentTab(IsWidget errorView) {
96 102
tabPanelUi.overrideCurrentContentInTab(errorView);
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/TabletAndDesktopWhatsNewView.java
... ...
@@ -10,6 +10,7 @@ import com.google.gwt.uibinder.client.UiField;
10 10
import com.google.gwt.uibinder.client.UiHandler;
11 11
import com.google.gwt.user.client.Event;
12 12
import com.google.gwt.user.client.History;
13
+import com.google.gwt.user.client.Window;
13 14
import com.google.gwt.user.client.ui.Anchor;
14 15
import com.google.gwt.user.client.ui.Composite;
15 16
import com.google.gwt.user.client.ui.HTML;
... ...
@@ -113,9 +114,21 @@ public class TabletAndDesktopWhatsNewView extends Composite implements WhatsNewV
113 114
setActiveContent(raceCommitteeAppNotes, raceCommitteeAppNotesAnchor);
114 115
handleClickEventWithLocalNavigation(event, raceCommitteeAppNotesNavigation);
115 116
}
116
-
117
+
118
+ @UiHandler("buoyPingerAppNotesAnchor")
119
+ void buoyPingerClicked(ClickEvent event) {
120
+ setActiveContent(buoyPingerAppNotes, buoyPingerAppNotesAnchor);
121
+ handleClickEventWithLocalNavigation(event, buoyPingerAppNotesNavigation);
122
+ }
123
+
124
+ @UiHandler("inSightAppNotesAnchor")
125
+ void inSightAppClicked(ClickEvent event) {
126
+ setActiveContent(inSightAppNotes, inSightAppNotesAnchor);
127
+ handleClickEventWithLocalNavigation(event, inSightAppNotesNavigation);
128
+ }
129
+
117 130
private void setActiveContent(HTML activeHTML, Anchor activeLink) {
118
- for (HTML html: contentWidgets) {
131
+ for (HTML html : contentWidgets) {
119 132
html.setVisible(html == activeHTML);
120 133
}
121 134
for (Anchor link : links) {
... ...
@@ -125,8 +138,9 @@ public class TabletAndDesktopWhatsNewView extends Composite implements WhatsNewV
125 138
link.removeStyleName(WhatsNewResources.INSTANCE.css().whatsnew_nav_linkactive());
126 139
}
127 140
}
141
+ Window.scrollTo (0 ,0);
128 142
}
129
-
143
+
130 144
private void handleClickEventWithLocalNavigation(ClickEvent e, PlaceNavigation<?> placeNavigation) {
131 145
if (HYPERLINK_IMPL.handleAsClick((Event) e.getNativeEvent())) {
132 146
// don't use the placecontroller for navigation here as we want to avoid a page reload
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/WhatsNewActivity.java
... ...
@@ -5,11 +5,12 @@ import com.google.gwt.event.shared.EventBus;
5 5
import com.google.gwt.user.client.Window;
6 6
import com.google.gwt.user.client.ui.AcceptsOneWidget;
7 7
import com.sap.sailing.gwt.ui.client.StringMessages;
8
+import com.sap.sse.gwt.shared.ClientConfiguration;
8 9
9 10
public class WhatsNewActivity extends AbstractActivity {
10 11
private final WhatsNewPlace place;
11 12
private final WhatsNewClientFactory clientFactory;
12
-
13
+
13 14
public WhatsNewActivity(WhatsNewPlace place, WhatsNewClientFactory clientFactory) {
14 15
this.place = place;
15 16
this.clientFactory = clientFactory;
... ...
@@ -19,6 +20,7 @@ public class WhatsNewActivity extends AbstractActivity {
19 20
public void start(AcceptsOneWidget panel, EventBus eventBus) {
20 21
WhatsNewView whatsNewView = clientFactory.createWhatsNewView(place.getNavigationTab());
21 22
panel.setWidget(whatsNewView.asWidget());
22
- Window.setTitle(StringMessages.INSTANCE.sapSailing() + " - " + StringMessages.INSTANCE.whatsNew());
23
+ Window.setTitle((ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
24
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + StringMessages.INSTANCE.whatsNew());
23 25
}
24 26
}
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/partials/footer/Footer.java
... ...
@@ -1,7 +1,11 @@
1 1
package com.sap.sailing.gwt.home.mobile.partials.footer;
2 2
3
+import static com.google.gwt.dom.client.Style.Display.NONE;
4
+
3 5
import com.google.gwt.core.client.GWT;
4 6
import com.google.gwt.dom.client.AnchorElement;
7
+import com.google.gwt.dom.client.DivElement;
8
+import com.google.gwt.dom.client.Style.Display;
5 9
import com.google.gwt.event.dom.client.ClickEvent;
6 10
import com.google.gwt.uibinder.client.UiBinder;
7 11
import com.google.gwt.uibinder.client.UiField;
... ...
@@ -9,11 +13,15 @@ import com.google.gwt.uibinder.client.UiHandler;
9 13
import com.google.gwt.user.client.DOM;
10 14
import com.google.gwt.user.client.Event;
11 15
import com.google.gwt.user.client.EventListener;
16
+import com.google.gwt.user.client.ui.Anchor;
12 17
import com.google.gwt.user.client.ui.Composite;
13 18
import com.google.gwt.user.client.ui.Widget;
14 19
import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewPlace;
15 20
import com.sap.sailing.gwt.home.mobile.app.MobilePlacesNavigator;
16 21
import com.sap.sailing.gwt.home.shared.SwitchingEntryPoint;
22
+import com.sap.sailing.gwt.ui.client.StringMessages;
23
+import com.sap.sse.gwt.client.controls.languageselect.LanguageSelector;
24
+import com.sap.sse.gwt.shared.ClientConfiguration;
17 25
18 26
/**
19 27
* Mobile page footer with several links and the ability to switch the language.
... ...
@@ -23,7 +31,12 @@ public class Footer extends Composite {
23 31
24 32
interface FooterPanelUiBinder extends UiBinder<Widget, Footer> {
25 33
}
26
-
34
+
35
+ @UiField Anchor whatsNewLinkUi;
36
+ @UiField AnchorElement sapJobsAnchor;
37
+ @UiField AnchorElement feedbackAnchor;
38
+ @UiField LanguageSelector languageSelector;
39
+ @UiField DivElement copyrightDiv;
27 40
@UiField AnchorElement imprintAnchorLink;
28 41
@UiField AnchorElement desktopUi;
29 42
... ...
@@ -46,6 +59,15 @@ public class Footer extends Composite {
46 59
}
47 60
}
48 61
});
62
+
63
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
64
+ copyrightDiv.getStyle().setDisplay(NONE);
65
+ languageSelector.setLabelText(StringMessages.INSTANCE.whitelabelFooterLanguage());
66
+ sapJobsAnchor.getStyle().setDisplay(Display.NONE);
67
+ feedbackAnchor.getStyle().setDisplay(Display.NONE);
68
+ whatsNewLinkUi.getElement().getStyle().setDisplay(Display.NONE);
69
+ imprintAnchorLink.getStyle().setDisplay(Display.NONE);
70
+ }
49 71
}
50 72
51 73
@UiHandler("whatsNewLinkUi")
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/partials/footer/Footer.ui.xml
... ...
@@ -9,7 +9,7 @@
9 9
<!-- Footer mobile -->
10 10
<footer class="{local_res.css.sitefooter}">
11 11
<div class="{res.mediaCss.grid}">
12
- <l:LanguageSelector labelText="{i18n.footerLanguage}"
12
+ <l:LanguageSelector ui:field="languageSelector" labelText="{i18n.footerLanguage}"
13 13
addStyleNames="{local_res.css.sitefooter_language} {res.mediaCss.small12} {res.mediaCss.columns}"/>
14 14
<div class="{local_res.css.sitefooter_links} {res.mediaCss.small12} {res.mediaCss.columns}">
15 15
<a ui:field="imprintAnchorLink">
... ...
@@ -25,11 +25,11 @@
25 25
<ui:text from='{i18n.footerPrivacy}' />
26 26
</a>
27 27
|
28
- <a href="https://jobs.sap.com" target="_blank">
28
+ <a ui:field="sapJobsAnchor" href="https://jobs.sap.com" target="_blank">
29 29
<ui:text from='{i18n.footerJobs}'/>
30 30
</a>
31 31
<br></br>
32
- <a href="mailto:sailing_analytics%40sap.com?subject=[SAP Sailing] Feedback"
32
+ <a ui:field="feedbackAnchor" href="mailto:sailing_analytics%40sap.com?subject=[SAP Sailing] Feedback"
33 33
title="{i18n.footerFeedback}">
34 34
<ui:text from='{i18n.footerFeedback}' />
35 35
</a>
... ...
@@ -42,7 +42,7 @@
42 42
<ui:text from='{i18n.whatsNew}' />
43 43
</g:Anchor>
44 44
</div>
45
- <div class="{res.mediaCss.small12} {res.mediaCss.columns}">
45
+ <div ui:field="copyrightDiv" class="{res.mediaCss.small12} {res.mediaCss.columns}">
46 46
<ui:text from='{i18n.footerCopyright}' />
47 47
</div>
48 48
</div>
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/partials/header/Header.java
... ...
@@ -1,8 +1,10 @@
1 1
package com.sap.sailing.gwt.home.mobile.partials.header;
2 2
3 3
import com.google.gwt.core.client.GWT;
4
+import com.google.gwt.dom.client.AnchorElement;
4 5
import com.google.gwt.dom.client.DivElement;
5 6
import com.google.gwt.dom.client.Element;
7
+import com.google.gwt.dom.client.ImageElement;
6 8
import com.google.gwt.dom.client.Style.Display;
7 9
import com.google.gwt.event.dom.client.ClickEvent;
8 10
import com.google.gwt.event.dom.client.ClickHandler;
... ...
@@ -22,6 +24,7 @@ import com.sap.sailing.gwt.home.shared.places.solutions.SolutionsPlace.Solutions
22 24
import com.sap.sailing.gwt.home.shared.utils.DropdownHandler;
23 25
import com.sap.sailing.gwt.ui.client.StringMessages;
24 26
import com.sap.sse.gwt.client.LinkUtil;
27
+import com.sap.sse.gwt.shared.ClientConfiguration;
25 28
import com.sap.sse.security.ui.authentication.AuthenticationContextEvent;
26 29
import com.sap.sse.security.ui.authentication.AuthenticationSignOutRequestEvent;
27 30
... ...
@@ -39,6 +42,8 @@ public class Header extends Composite {
39 42
@UiField FlowPanel dropdownListUi;
40 43
@UiField FlowPanel dropdownListExtUi;
41 44
@UiField Element searchUi;
45
+ @UiField AnchorElement logoAnchor;
46
+ @UiField ImageElement logoImage;
42 47
43 48
@UiField
44 49
DivElement locationTitleUi;
... ...
@@ -102,6 +107,11 @@ public class Header extends Composite {
102 107
signOutNavigationItem.setVisible(event.getCtx().isLoggedIn());
103 108
}
104 109
});
110
+
111
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
112
+ logoImage.getStyle().setDisplay(Display.NONE);
113
+ logoAnchor.setHref("");
114
+ }
105 115
}
106 116
107 117
public ResettableNavigationPathDisplay getNavigationPathDisplay() {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/partials/header/Header.ui.xml
... ...
@@ -18,8 +18,8 @@
18 18
<div class="{res.mediaCss.grid}">
19 19
<header class="{local_res.css.header} {res.mediaCss.small12} {res.mediaCss.columns}">
20 20
<div class="{local_res.css.header_logo}">
21
- <a href="https://www.sap.com/sponsorships" title="SAP sponsorships">
22
- <img src="images/mobile/logo-small@2x.png" alt="{i18n.headerLogo}" class="{local_res.css.header_logo_image}"></img>
21
+ <a ui:field="logoAnchor" href="https://www.sap.com/sponsorships" title="SAP sponsorships">
22
+ <img ui:field="logoImage" src="images/mobile/logo-small@2x.png" alt="{i18n.headerLogo}" class="{local_res.css.header_logo_image}"></img>
23 23
</a>
24 24
</div>
25 25
<div class="{local_res.css.header_navigation}">
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/partials/socialfooter/SocialFooter.java
... ...
@@ -1,9 +1,13 @@
1 1
package com.sap.sailing.gwt.home.mobile.partials.socialfooter;
2 2
3 3
import com.google.gwt.core.client.GWT;
4
+import com.google.gwt.dom.client.Style.Display;
4 5
import com.google.gwt.uibinder.client.UiBinder;
6
+import com.google.gwt.uibinder.client.UiField;
5 7
import com.google.gwt.user.client.ui.Composite;
8
+import com.google.gwt.user.client.ui.HTMLPanel;
6 9
import com.google.gwt.user.client.ui.Widget;
10
+import com.sap.sse.gwt.shared.ClientConfiguration;
7 11
8 12
public class SocialFooter extends Composite {
9 13
... ...
@@ -11,10 +15,16 @@ public class SocialFooter extends Composite {
11 15
}
12 16
13 17
private static SocialFooterUiBinder uiBinder = GWT.create(SocialFooterUiBinder.class);
18
+
19
+ @UiField HTMLPanel htmlPanel;
14 20
15 21
public SocialFooter() {
16 22
SocialFooterResources.INSTANCE.css().ensureInjected();
17 23
initWidget(uiBinder.createAndBindUi(this));
24
+
25
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
26
+ htmlPanel.getElement().getStyle().setDisplay(Display.NONE);
27
+ }
18 28
}
19 29
20 30
}
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/partials/socialfooter/SocialFooter.ui.xml
... ...
@@ -6,7 +6,7 @@
6 6
<ui:with field="shr" type="com.sap.sailing.gwt.home.shared.resources.SharedHomeResources" />
7 7
<ui:with field="local_res"
8 8
type="com.sap.sailing.gwt.home.mobile.partials.socialfooter.SocialFooterResources" />
9
- <g:HTMLPanel>
9
+ <g:HTMLPanel ui:field="htmlPanel">
10 10
<!-- The search/social media page footer-->
11 11
<div class="{local_res.css.socialfooter}">
12 12
<div class="{res.mediaCss.grid}">
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/latestnews/LatestNewsPlace.java
... ...
@@ -11,14 +11,15 @@ import com.sap.sailing.gwt.home.shared.places.PlaceTokenPrefixes;
11 11
import com.sap.sailing.gwt.home.shared.places.event.AbstractEventPlace;
12 12
import com.sap.sailing.gwt.home.shared.places.event.EventContext;
13 13
import com.sap.sailing.gwt.ui.client.StringMessages;
14
+import com.sap.sse.gwt.shared.ClientConfiguration;
14 15
15 16
public class LatestNewsPlace extends AbstractEventPlace implements HasMobileVersion {
16 17
private List<NewsEntryDTO> news = new LinkedList<NewsEntryDTO>();
17
-
18
+
18 19
public LatestNewsPlace(String eventUuidAsString) {
19 20
super(eventUuidAsString);
20 21
}
21
-
22
+
22 23
public LatestNewsPlace(EventContext ctx) {
23 24
super(ctx);
24 25
}
... ...
@@ -33,7 +34,8 @@ public class LatestNewsPlace extends AbstractEventPlace implements HasMobileVers
33 34
}
34 35
35 36
public String getTitle() {
36
- return StringMessages.INSTANCE.sapSailing();
37
+ return (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
38
+ : StringMessages.INSTANCE.whitelabelSailing());
37 39
}
38 40
39 41
@Override
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/partials/dialog/whatsnew/WhatsNewDialogFactory.java
... ...
@@ -12,6 +12,7 @@ import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewResources;
12 12
import com.sap.sailing.gwt.home.shared.partials.dialog.DialogFactory;
13 13
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
14 14
import com.sap.sse.gwt.settings.SettingsToJsonSerializerGWT;
15
+import com.sap.sse.gwt.shared.ClientConfiguration;
15 16
import com.sap.sse.security.ui.client.UserService;
16 17
import com.sap.sse.security.ui.client.i18n.StringMessages;
17 18
... ...
@@ -53,7 +54,7 @@ public final class WhatsNewDialogFactory {
53 54
*/
54 55
private static void showWhatsNewDialogIfNecessaryAndUpdatePreference(UserService userService,
55 56
PlaceController placeController) {
56
- if (isUserNotified) {
57
+ if (isUserNotified || !ClientConfiguration.getInstance().isBrandingActive()) {
57 58
return;
58 59
}
59 60
final long charactersInWhatsChangedDocument = WhatsNewResources.INSTANCE.getSailingAnalyticsNotesHtml()
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/partials/fullscreen/FullscreenContainer.java
... ...
@@ -2,6 +2,7 @@ package com.sap.sailing.gwt.home.shared.partials.fullscreen;
2 2
3 3
import com.google.gwt.core.client.GWT;
4 4
import com.google.gwt.dom.client.AnchorElement;
5
+import com.google.gwt.dom.client.Style.Display;
5 6
import com.google.gwt.dom.client.Style.Overflow;
6 7
import com.google.gwt.dom.client.Style.Unit;
7 8
import com.google.gwt.event.dom.client.ClickEvent;
... ...
@@ -25,6 +26,7 @@ import com.google.gwt.user.client.ui.RootPanel;
25 26
import com.google.gwt.user.client.ui.SimpleLayoutPanel;
26 27
import com.google.gwt.user.client.ui.SimplePanel;
27 28
import com.google.gwt.user.client.ui.Widget;
29
+import com.sap.sse.gwt.shared.ClientConfiguration;
28 30
29 31
/**
30 32
* Base class for fullscreen viewer UIs. This viewer has an extensible header area with a close button and a content
... ...
@@ -80,8 +82,11 @@ public class FullscreenContainer<T extends Widget> {
80 82
}
81 83
82 84
protected void showLogo() {
83
- logoUi.getStyle().clearDisplay();
84
- headerContentUi.getElement().getStyle().setMarginLeft(5, Unit.EM);
85
+ if (ClientConfiguration.getInstance().isBrandingActive()) {
86
+ headerContentUi.getElement().getStyle().setMarginLeft(5, Unit.EM);
87
+ } else {
88
+ logoUi.getStyle().setDisplay(Display.NONE);
89
+ }
85 90
}
86 91
87 92
/**
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/places/event/AbstractEventPlace.java
... ...
@@ -9,6 +9,7 @@ import com.sap.sailing.gwt.common.client.AbstractMapTokenizer;
9 9
import com.sap.sailing.gwt.home.shared.app.HasLocationTitle;
10 10
import com.sap.sailing.gwt.ui.client.StringMessages;
11 11
import com.sap.sse.common.Util;
12
+import com.sap.sse.gwt.shared.ClientConfiguration;
12 13
13 14
public abstract class AbstractEventPlace extends Place implements HasLocationTitle {
14 15
private final EventContext ctx;
... ...
@@ -27,7 +28,8 @@ public abstract class AbstractEventPlace extends Place implements HasLocationTit
27 28
}
28 29
29 30
public String getTitle(String eventName) {
30
- return StringMessages.INSTANCE.sapSailing() + " - " + eventName;
31
+ return (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
32
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + eventName;
31 33
}
32 34
33 35
@Override
... ...
@@ -48,10 +50,8 @@ public abstract class AbstractEventPlace extends Place implements HasLocationTit
48 50
private final static String PARAM_REGATTAID = "regattaId";
49 51
50 52
protected PLACE getPlaceFromParameters(Map<String, Set<String>> parameters) {
51
- return getRealPlace(
52
- new EventContext().withId(extractSingleParameter(parameters, PARAM_EVENTID))
53
- .withRegattaId(extractSingleParameter(parameters, PARAM_REGATTAID)),
54
- parameters);
53
+ return getRealPlace(new EventContext().withId(extractSingleParameter(parameters, PARAM_EVENTID))
54
+ .withRegattaId(extractSingleParameter(parameters, PARAM_REGATTAID)), parameters);
55 55
}
56 56
57 57
private String extractSingleParameter(Map<String, Set<String>> parameters, String key) {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/places/events/EventsPlace.java
... ...
@@ -5,10 +5,12 @@ import com.google.gwt.place.shared.PlaceTokenizer;
5 5
import com.sap.sailing.gwt.home.shared.app.HasLocationTitle;
6 6
import com.sap.sailing.gwt.home.shared.app.HasMobileVersion;
7 7
import com.sap.sailing.gwt.ui.client.StringMessages;
8
+import com.sap.sse.gwt.shared.ClientConfiguration;
8 9
9 10
public class EventsPlace extends Place implements HasLocationTitle, HasMobileVersion {
10 11
public String getTitle() {
11
- return StringMessages.INSTANCE.sapSailing() + " - " + StringMessages.INSTANCE.events();
12
+ return (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
13
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + StringMessages.INSTANCE.events();
12 14
}
13 15
14 16
public static class Tokenizer implements PlaceTokenizer<EventsPlace> {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/places/fakeseries/AbstractSeriesPlace.java
... ...
@@ -9,6 +9,7 @@ import com.google.gwt.place.shared.Place;
9 9
import com.sap.sailing.gwt.common.client.AbstractMapTokenizer;
10 10
import com.sap.sailing.gwt.ui.client.StringMessages;
11 11
import com.sap.sse.common.Util;
12
+import com.sap.sse.gwt.shared.ClientConfiguration;
12 13
13 14
public abstract class AbstractSeriesPlace extends Place {
14 15
private final SeriesContext ctx;
... ...
@@ -22,7 +23,8 @@ public abstract class AbstractSeriesPlace extends Place {
22 23
}
23 24
24 25
public String getTitle(String eventName) {
25
- return StringMessages.INSTANCE.sapSailing() + " - " + eventName;
26
+ return (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
27
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + eventName;
26 28
}
27 29
28 30
public String getSeriesUuidAsString() {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/places/searchresult/SearchResultPlace.java
... ...
@@ -5,6 +5,7 @@ import com.google.gwt.place.shared.PlaceTokenizer;
5 5
import com.sap.sailing.gwt.home.shared.app.HasLocationTitle;
6 6
import com.sap.sailing.gwt.home.shared.app.HasMobileVersion;
7 7
import com.sap.sailing.gwt.ui.client.StringMessages;
8
+import com.sap.sse.gwt.shared.ClientConfiguration;
8 9
9 10
public class SearchResultPlace extends Place implements HasLocationTitle, HasMobileVersion {
10 11
private final String searchText;
... ...
@@ -20,7 +21,8 @@ public class SearchResultPlace extends Place implements HasLocationTitle, HasMob
20 21
}
21 22
22 23
public String getTitle() {
23
- return StringMessages.INSTANCE.sapSailing() + " - " + StringMessages.INSTANCE.search();
24
+ return (ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
25
+ : StringMessages.INSTANCE.whitelabelSailing()) + " - " + StringMessages.INSTANCE.search();
24 26
}
25 27
26 28
public String getSearchText() {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/shared/places/start/StartPlace.java
... ...
@@ -5,10 +5,12 @@ import com.google.gwt.place.shared.PlaceTokenizer;
5 5
import com.sap.sailing.gwt.home.shared.app.HasLocationTitle;
6 6
import com.sap.sailing.gwt.home.shared.app.HasMobileVersion;
7 7
import com.sap.sailing.gwt.ui.client.StringMessages;
8
+import com.sap.sse.gwt.shared.ClientConfiguration;
8 9
9 10
public class StartPlace extends Place implements HasLocationTitle, HasMobileVersion {
10 11
public String getTitle() {
11
- return StringMessages.INSTANCE.sapSailing();
12
+ return ClientConfiguration.getInstance().isBrandingActive() ? StringMessages.INSTANCE.sapSailing()
13
+ : StringMessages.INSTANCE.whitelabelSailing();
12 14
}
13 15
14 16
public static class Tokenizer implements PlaceTokenizer<StartPlace> {
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java
... ...
@@ -2376,4 +2376,6 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages,
2376 2376
String confirmUnsettingPositionForMarkProperties(String name);
2377 2377
String useOfficialResultsForAutomaticUpdates();
2378 2378
String keepEmptyForDefaultUserAndPassword();
2379
-}
2379
+ String whitelabelFooterLanguage();
2380
+ String whitelabelSailing();
2381
+}
... ...
\ No newline at end of file
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties
... ...
@@ -2377,6 +2377,8 @@ exportTrackedRacesAndStartTrackingTooltip=Please make sure you add the connector
2377 2377
importTrackedRaces=Importing Tracked Races
2378 2378
unsetPosition=Unset position
2379 2379
errorTryingToUpdateMarkProperties=Error trying to update mark properties: {0}
2380
-confirmUnsettingPositionForMarkProperties=Really remove positioning information for mark properties {0}?
2380
+confirmUnsettingPositionForMarkProperties=Really remove positioning information for mark properties {0}?runAngles=Run angles
2381 2381
useOfficialResultsForAutomaticUpdates=Automatically update from "official" results published by TracTrac
2382
-keepEmptyForDefaultUserAndPassword=If username and password are left empty the current user is used to log in on the remote server. If your user has the correct permission to do a master data import from the remote server there is no need to fill in those fields. Use only if you have separate user stores or if the data belongs to another user.
... ...
\ No newline at end of file
0
+keepEmptyForDefaultUserAndPassword=If username and password are left empty the current user is used to log in on the remote server. If your user has the correct permission to do a master data import from the remote server there is no need to fill in those fields. Use only if you have separate user stores or if the data belongs to another user.
1
+whitelabelFooterLanguage=Sailing in
2
+whitelabelSailing=Sailing
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/racemap/RaceMap.java
... ...
@@ -162,6 +162,8 @@ import com.sap.sse.gwt.client.shared.components.Component;
162 162
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
163 163
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
164 164
import com.sap.sse.gwt.client.shared.settings.ComponentContext;
165
+import com.sap.sse.gwt.shared.ClientConfiguration;
166
+import com.sap.sse.gwt.shared.DebugConstants;
165 167
166 168
public class RaceMap extends AbstractCompositeComponent<RaceMapSettings> implements TimeListener, CompetitorSelectionChangeListener,
167 169
RaceTimesInfoProviderListener, TailFactory, ColorMapperChangedListener, RequiresDataInitialization, RequiresResize, QuickRankProvider {
... ...
@@ -756,7 +758,9 @@ public class RaceMap extends AbstractCompositeComponent<RaceMapSettings> impleme
756 758
rootPanel.add(map, 0, 0);
757 759
if (showHeaderPanel) {
758 760
Image sapLogo = createSAPLogo();
759
- rootPanel.add(sapLogo);
761
+ if (ClientConfiguration.getInstance().isBrandingActive()) {
762
+ rootPanel.add(sapLogo);
763
+ }
760 764
}
761 765
762 766
map.setControls(ControlPosition.LEFT_TOP, topLeftControlsWrapperPanel);
... ...
@@ -3205,6 +3209,7 @@ public class RaceMap extends AbstractCompositeComponent<RaceMapSettings> impleme
3205 3209
}
3206 3210
});
3207 3211
sapLogo.setStyleName("raceBoard-Logo");
3212
+ sapLogo.getElement().setAttribute(DebugConstants.DEBUG_ID_ATTRIBUTE, "raceBoardSapLogo");
3208 3213
return sapLogo;
3209 3214
}
3210 3215
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/databylogo/DataByLogo.java
... ...
@@ -6,12 +6,15 @@ import com.google.gwt.core.client.GWT;
6 6
import com.google.gwt.dom.client.AnchorElement;
7 7
import com.google.gwt.dom.client.Element;
8 8
import com.google.gwt.dom.client.ImageElement;
9
+import com.google.gwt.dom.client.Style.Display;
9 10
import com.google.gwt.resources.client.DataResource;
10 11
import com.google.gwt.uibinder.client.UiBinder;
11 12
import com.google.gwt.uibinder.client.UiField;
12 13
import com.google.gwt.user.client.ui.Widget;
13 14
import com.sap.sailing.domain.common.tracking.TrackingConnectorType;
14 15
import com.sap.sailing.gwt.ui.shared.TrackingConnectorInfoDTO;
16
+import com.sap.sse.gwt.shared.ClientConfiguration;
17
+import com.sap.sse.gwt.shared.DebugConstants;
15 18
16 19
public class DataByLogo extends Widget {
17 20
... ...
@@ -28,15 +31,22 @@ public class DataByLogo extends Widget {
28 31
public DataByLogo() {
29 32
DataByLogoResources.INSTANCE.css().ensureInjected();
30 33
setElement(uiBinder.createAndBindUi(this));
34
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
35
+ dataByContainer.getStyle().setDisplay(Display.NONE);
36
+ }
37
+ dataByContainer.setAttribute(DebugConstants.DEBUG_ID_ATTRIBUTE, "dataByContainer");
31 38
}
32 39
33 40
public void setUp(Set<TrackingConnectorInfoDTO> trackingConnectorInfos, boolean colorIfPossible,
34 41
boolean enforceTextColor) {
35
- TrackingConnectorInfoDTO mostProminentConnectorInfo = selectMostProminentConnectorInfo(trackingConnectorInfos);
36
- if (mostProminentConnectorInfo == null) {
37
- this.setVisible(false);
38
- } else {
39
- setUpForConnectorType(colorIfPossible, enforceTextColor, mostProminentConnectorInfo);
42
+ if (ClientConfiguration.getInstance().isBrandingActive()) {
43
+ TrackingConnectorInfoDTO mostProminentConnectorInfo = selectMostProminentConnectorInfo(
44
+ trackingConnectorInfos);
45
+ if (mostProminentConnectorInfo == null) {
46
+ this.setVisible(false);
47
+ } else {
48
+ setUpForConnectorType(colorIfPossible, enforceTextColor, mostProminentConnectorInfo);
49
+ }
40 50
}
41 51
}
42 52
... ...
@@ -68,8 +78,10 @@ public class DataByLogo extends Widget {
68 78
69 79
private void setUpTracTracLogo(boolean colorIfPossible, boolean enforceTextColor) {
70 80
final DataByLogoResources resources = DataByLogoResources.INSTANCE;
81
+
71 82
final DataResource imageToSet = colorIfPossible ? resources.tractracColor() : resources.tractracWhite();
72 83
logo.setSrc(imageToSet.getSafeUri().asString());
84
+
73 85
if (enforceTextColor) {
74 86
this.addStyleName(colorIfPossible ? resources.css().databylogo_black_text()
75 87
: resources.css().databylogo_white_text());
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java
... ...
@@ -18,6 +18,7 @@ import com.sap.sailing.gwt.ui.client.RegattaRefresher;
18 18
import com.sap.sailing.gwt.ui.client.shared.panels.SimpleWelcomeWidget;
19 19
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
20 20
import com.sap.sse.gwt.settings.SettingsToUrlSerializer;
21
+import com.sap.sse.gwt.shared.ClientConfiguration;
21 22
22 23
/**
23 24
*
... ...
@@ -69,14 +70,17 @@ public class SpectatorEntryPoint extends AbstractSailingEntryPoint implements Re
69 70
if (!embedded) {
70 71
groupPanel.setWelcomeWidget(new SimpleWelcomeWidget(getStringMessages().welcomeToSailingAnalytics(),
71 72
getStringMessages().welcomeToSailingAnalyticsBody()));
72
- SimplePanel feedbackPanel = new SimplePanel();
73
- feedbackPanel.getElement().getStyle().setProperty("clear", "right");
74
- feedbackPanel.addStyleName("feedbackPanel");
75
- Anchor feedbackLink = new Anchor(new SafeHtmlBuilder().appendHtmlConstant(
76
- "<img src=\"/gwt/images/feedbackPanel-bg.png\"/>").toSafeHtml());// TODO set image
77
- feedbackLink.setHref("mailto:sailing_analytics%40sap.com?subject=[SAP Sailing] Feedback");
78
- feedbackPanel.add(feedbackLink);
79
- groupAndFeedbackPanel.add(feedbackPanel);
73
+ if (ClientConfiguration.getInstance().isBrandingActive()) {
74
+ SimplePanel feedbackPanel = new SimplePanel();
75
+ feedbackPanel.getElement().getStyle().setProperty("clear", "right");
76
+ feedbackPanel.addStyleName("feedbackPanel");
77
+ Anchor feedbackLink = new Anchor(new SafeHtmlBuilder()
78
+ .appendHtmlConstant("<img src=\"/gwt/images/feedbackPanel-bg.png\"/>").toSafeHtml());
79
+ // TODO set image
80
+ feedbackLink.setHref("mailto:sailing_analytics%40sap.com?subject=[SAP Sailing] Feedback");
81
+ feedbackPanel.add(feedbackLink);
82
+ groupAndFeedbackPanel.add(feedbackPanel);
83
+ }
80 84
}
81 85
rootPanel.add(groupAndFeedbackPanel);
82 86
}
java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/HostPage.java
... ...
@@ -40,19 +40,23 @@ public abstract class HostPage extends PageObject {
40 40
throw new IllegalArgumentException(exc);
41 41
}
42 42
}
43
-
43
+
44 44
private static final void goToPage(WebDriver driver, URI uri) throws URISyntaxException {
45
- String scheme = uri.getScheme(), userInfo = uri.getUserInfo(), host = uri.getHost();
46
- String path = uri.getPath(), query = getGWTCodeServerAndLocale(), fragment = uri.getFragment();
45
+ String scheme = uri.getScheme(), userInfo = uri.getUserInfo(), host = uri.getHost();
46
+ String path = uri.getPath(),
47
+ query = getGWTCodeServerAndLocale() + (uri.getQuery() != null ? "&" + uri.getQuery() : ""),
48
+ fragment = uri.getFragment();
47 49
driver.get(new URI(scheme, userInfo, host, uri.getPort(), path, query, fragment).toString());
48 50
}
49
-
51
+
50 52
/**
51
- * <p>Creates a new page object with the given web driver. In GWT an entry point is connected to a HTML page in
52
- * which the code for the application is executed, whereby the page is represented by the web driver.</p>
53
+ * <p>
54
+ * Creates a new page object with the given web driver. In GWT an entry point is connected to a HTML page in which
55
+ * the code for the application is executed, whereby the page is represented by the web driver.
56
+ * </p>
53 57
*
54 58
* @param driver
55
- * The web driver to use.
59
+ * The web driver to use.
56 60
*/
57 61
public HostPage(WebDriver driver) {
58 62
super(driver);
java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/home/HomePage.java
... ...
@@ -1,7 +1,10 @@
1 1
package com.sap.sailing.selenium.pages.home;
2 2
3 3
import org.openqa.selenium.WebDriver;
4
+import org.openqa.selenium.WebElement;
4 5
6
+import com.sap.sailing.selenium.core.BySeleniumId;
7
+import com.sap.sailing.selenium.core.FindBy;
5 8
import com.sap.sailing.selenium.pages.HostPage;
6 9
import com.sap.sailing.selenium.pages.HostPageWithAuthentication;
7 10
import com.sap.sailing.selenium.pages.PageObject;
... ...
@@ -11,6 +14,42 @@ import com.sap.sailing.selenium.pages.PageObject;
11 14
*/
12 15
public class HomePage extends HostPageWithAuthentication {
13 16
17
+ @FindBy(how = BySeleniumId.class, using = "shortcutIcon")
18
+ private WebElement favIcon;
19
+
20
+ @FindBy(how = BySeleniumId.class, using = "logoImage")
21
+ private WebElement sapSailingHeaderImage;
22
+
23
+ @FindBy(how=BySeleniumId.class, using ="logoAnchor")
24
+ private WebElement logoAnchor;
25
+
26
+ @FindBy(how=BySeleniumId.class, using ="solutionsPageLink")
27
+ private WebElement solutionsPageLink;
28
+
29
+ @FindBy(how=BySeleniumId.class, using ="socialFooter")
30
+ private WebElement socialMediaFooter;
31
+
32
+ @FindBy(how=BySeleniumId.class, using ="copyrightDiv")
33
+ private WebElement copyrightDiv;
34
+
35
+ @FindBy(how=BySeleniumId.class, using = "imprintAnchorLink")
36
+ private WebElement imprintAnchorLink;
37
+
38
+ @FindBy(how=BySeleniumId.class, using = "privacyAnchorLink")
39
+ private WebElement privacyAnchorLink;
40
+
41
+ @FindBy(how=BySeleniumId.class, using = "sapJobsAnchor")
42
+ private WebElement sapJobsAnchor;
43
+
44
+ @FindBy(how = BySeleniumId.class, using = "feedbackAnchor")
45
+ private WebElement feedbackAnchor;
46
+
47
+ @FindBy(how= BySeleniumId.class, using = "whatsNewAnchor")
48
+ private WebElement whatsNewAnchor;
49
+
50
+ @FindBy(how=BySeleniumId.class, using ="languageSelector")
51
+ private WebElement languageSelector;
52
+
14 53
/**
15 54
* Navigates to the home page and provides the corresponding {@link PageObject}.
16 55
*
... ...
@@ -21,7 +60,7 @@ public class HomePage extends HostPageWithAuthentication {
21 60
public static HomePage goToPage(WebDriver driver, String root) {
22 61
return goToHomeUrl(driver, root + "gwt/Home.html");
23 62
}
24
-
63
+
25 64
/**
26 65
* Navigates to the given home URL and provides the corresponding {@link PageObject}.
27 66
*
... ...
@@ -37,4 +76,59 @@ public class HomePage extends HostPageWithAuthentication {
37 76
super(driver);
38 77
}
39 78
79
+ public WebElement getFavicon() {
80
+ return favIcon;
81
+ }
82
+
83
+ public String getPageTitle() {
84
+ return driver.getTitle();
85
+ }
86
+
87
+ public WebElement getSapSailingHeaderImage() {
88
+ return sapSailingHeaderImage;
89
+ }
90
+
91
+ public WebElement getLogoAnchor() {
92
+ return logoAnchor;
93
+ }
94
+
95
+ public WebElement getSolutionsPageLink() {
96
+ return solutionsPageLink;
97
+ }
98
+
99
+ public WebElement getSocialmediaFooter() {
100
+ return socialMediaFooter;
101
+ }
102
+
103
+ public WebElement getCopyrightDiv() {
104
+ return copyrightDiv;
105
+ }
106
+
107
+ public WebElement getImprintLink() {
108
+ return imprintAnchorLink;
109
+ }
110
+
111
+ public WebElement getPrivacyLink() {
112
+ return privacyAnchorLink;
113
+ }
114
+
115
+ public WebElement getJobsLink() {
116
+ return sapJobsAnchor;
117
+ }
118
+
119
+ public WebElement getFeedbackLink() {
120
+ return feedbackAnchor;
121
+ }
122
+
123
+ public WebElement getNewsLink() {
124
+ return whatsNewAnchor;
125
+ }
126
+
127
+ public WebElement getLanguageSelectionLabel() {
128
+ return languageSelector;
129
+ }
130
+
131
+ public void clickOnEventsMenuItem() {
132
+ driver.findElement(new BySeleniumId("eventsPage")).click();
133
+ }
40 134
}
java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/raceboard/RaceBoardPage.java
... ...
@@ -22,6 +22,10 @@ public class RaceBoardPage extends HostPageWithAuthentication {
22 22
23 23
@FindBy(how = BySeleniumId.class, using = "raceMapSettingsButton")
24 24
private WebElement raceMapSettingsButton;
25
+
26
+ @FindBy(how=BySeleniumId.class, using = "dataByContainer")
27
+ private WebElement dataByContainer;
28
+
25 29
private boolean doneInit;
26 30
27 31
/**
... ...
@@ -137,14 +141,22 @@ public class RaceBoardPage extends HostPageWithAuthentication {
137 141
return new LeaderboardSettingsDialogPO(driver, findElementBySeleniumId("LeaderboardSettingsDialog"));
138 142
}
139 143
144
+ public boolean isRaceBoardLogoExisting() {
145
+ return !driver.findElements(new BySeleniumId("raceBoardSapLogo")).isEmpty();
146
+ }
147
+
148
+ public WebElement getDataByContainer() {
149
+ return dataByContainer;
150
+ }
151
+
140 152
public static RaceBoardPage goToRaceboardUrl(WebDriver webDriver,String context, String leaderboardName, String regattaName,
141
- String raceName) throws UnsupportedEncodingException {
142
- return goToRaceboardUrl(webDriver, context, leaderboardName, regattaName, raceName, null);
153
+ String raceName, boolean whitelabel) throws UnsupportedEncodingException {
154
+ return goToRaceboardUrl(webDriver, context, leaderboardName, regattaName, raceName, null, whitelabel);
143 155
}
144 156
145 157
public static RaceBoardPage goToRaceboardUrl(WebDriver webDriver,String context, String leaderboardName, String regattaName,
146
- String raceName, String raceMode) throws UnsupportedEncodingException {
147
-// private static final String EVENT_LINK = "gwt/RaceBoard.html?leaderboardName=BMW+Cup+(J80)&regattaName=BMW+Cup+(J80)&raceName=BMW+Cup+Race+1&canReplayDuringLiveRaces=true";
158
+ String raceName, String raceMode, boolean whitelabel) throws UnsupportedEncodingException {
159
+ // structure of an event link: "gwt/RaceBoard.html?leaderboardName=BMW+Cup+(J80)&regattaName=BMW+Cup+(J80)&raceName=BMW+Cup+Race+1&canReplayDuringLiveRaces=true"
148 160
String escapedLeaderBoardName = URLEncoder.encode(leaderboardName,"UTF-8");
149 161
String escapedRegattaName = URLEncoder.encode(regattaName, "UTF-8");
150 162
String escapedRaceName = URLEncoder.encode(raceName, "UTF-8");
... ...
@@ -153,6 +165,9 @@ public class RaceBoardPage extends HostPageWithAuthentication {
153 165
if(raceMode != null) {
154 166
url += "&mode=" + URLEncoder.encode(raceMode, "UTF-8");
155 167
}
168
+ if (whitelabel) {
169
+ url += "&whitelabel";
170
+ }
156 171
return goToRaceboardUrl(webDriver, url);
157 172
}
158 173
java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/test/AbstractSeleniumTest.java
... ...
@@ -12,6 +12,7 @@ import java.nio.file.Path;
12 12
import java.nio.file.StandardCopyOption;
13 13
import java.util.List;
14 14
import java.util.UUID;
15
+import java.util.logging.Level;
15 16
import java.util.logging.Logger;
16 17
17 18
import org.json.JSONException;
... ...
@@ -64,6 +65,8 @@ public abstract class AbstractSeleniumTest {
64 65
65 66
private static final String CLEAR_STATE_URL = "sailingserver/test-support/clearState"; //$NON-NLS-1$
66 67
68
+ private static final String SWITCH_WHITELABEL_URL = "sailingserver/test-support/switch/whitelabel/"; //$NON-NLS-1$
69
+
67 70
private static final String OBTAIN_ACCESS_TOKEN_URL = "security/api/restsecurity/access_token";
68 71
69 72
private static final String CREATE_SESSION_URL = "sailingserver/test-support/createSession";
... ...
@@ -94,11 +97,10 @@ public abstract class AbstractSeleniumTest {
94 97
} catch (IOException exception) {
95 98
throw new RuntimeException(exception);
96 99
}
97
-
100
+ setWhitelabel(false, contextRoot);
98 101
if (!headless) {
99 102
// To be able to access LocalStorage we need to load a page having the target origin
100 103
getWebDriver().get(contextRoot);
101
-
102 104
final String notificationTimeoutKey = "sse.notification.customTimeOutInSeconds";
103 105
final String notificationTimeoutValue = Integer.toString(PageObject.DEFAULT_WAIT_TIMEOUT_SECONDS);
104 106
if (getWebDriver() instanceof WebStorage) {
... ...
@@ -113,7 +115,6 @@ public abstract class AbstractSeleniumTest {
113 115
((JavascriptExecutor) getWebDriver()).executeScript("window.localStorage.setItem(\""
114 116
+ notificationTimeoutKey + "\", \"" + notificationTimeoutValue + "\");");
115 117
}
116
-
117 118
try {
118 119
// In IE 11 we sometimes see the problem that IE somehow automatically changes the zoom level to 75%.
119 120
// Selenium tests with InternetExplorerDriver fail if the zoom level is not set to 100% due to the fact
... ...
@@ -123,21 +124,52 @@ public abstract class AbstractSeleniumTest {
123 124
// (this should be pre-configured in local-test-environment.xml when activating IE driver)
124 125
getWebDriver().findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL, "0"));
125 126
} catch (Exception e) {
127
+ logger.log(Level.SEVERE, e.getMessage(), e);
126 128
}
127 129
}
128 130
}
129 131
130 132
/**
131 133
* Resets the state for running tests in a clean state. In most cases of UI test also the state of the web page
132
- * needs to get resetted. In some other cases (e.g. only Rest-API calls are involved in the test, an initialization
133
- * of the webpage is not requirered. If so the method {@link clearState([contextroot], false)} can be called.
134
- *
135
- * @param contextRoot
134
+ * needs to get reset. In some other cases (e.g. only Rest-API calls are involved in the test) an initialization of
135
+ * the web page is not required. If so the method {@link #clearState(String, boolean)} can be called.
136 136
*/
137 137
protected void clearState(String contextRoot) {
138 138
clearState(contextRoot, false);
139 139
}
140 140
141
+ protected void setWhitelabel(boolean status, String contextRoot) {
142
+ try {
143
+ URL url = new URL(contextRoot + SWITCH_WHITELABEL_URL + Boolean.toString(status));
144
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
145
+ connection.setRequestMethod("PUT");
146
+ connection.connect();
147
+ if (connection.getResponseCode() != 200) {
148
+ throw new RuntimeException(connection.getResponseMessage());
149
+ }
150
+ } catch (IOException exception) {
151
+ throw new RuntimeException(exception);
152
+ }
153
+ }
154
+
155
+ protected boolean getWhitelabel(String contextRoot) {
156
+ try {
157
+ URL url = new URL(contextRoot + SWITCH_WHITELABEL_URL + "status");
158
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
159
+ connection.setRequestMethod("GET");
160
+ connection.connect();
161
+ if (connection.getResponseCode() != 200) {
162
+ throw new RuntimeException(connection.getResponseMessage());
163
+ }
164
+ String response = (String)connection.getContent();
165
+ return Boolean.valueOf(response);
166
+ } catch (IOException exception) {
167
+ throw new RuntimeException(exception);
168
+ }
169
+ }
170
+
171
+
172
+
141 173
protected void setUpAuthenticatedSession(WebDriver webDriver) {
142 174
// To be able to set a cookie we need to load a page having the target origin
143 175
webDriver.get(getContextRoot());
java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/test/home/WhitelabelTest.java
... ...
@@ -0,0 +1,138 @@
1
+package com.sap.sailing.selenium.test.home;
2
+
3
+import static org.hamcrest.Matchers.containsString;
4
+import static org.hamcrest.Matchers.equalTo;
5
+import static org.hamcrest.Matchers.not;
6
+import static org.junit.Assert.assertThat;
7
+
8
+import java.io.UnsupportedEncodingException;
9
+import java.util.ArrayList;
10
+import java.util.Date;
11
+import java.util.List;
12
+
13
+import javax.xml.bind.DatatypeConverter;
14
+
15
+import org.junit.Before;
16
+import org.junit.Test;
17
+import org.openqa.selenium.WebElement;
18
+
19
+import com.sap.sailing.selenium.pages.adminconsole.AdminConsolePage;
20
+import com.sap.sailing.selenium.pages.adminconsole.event.EventConfigurationPanelPO;
21
+import com.sap.sailing.selenium.pages.adminconsole.leaderboard.LeaderboardConfigurationPanelPO;
22
+import com.sap.sailing.selenium.pages.adminconsole.leaderboard.LeaderboardDetailsPanelPO;
23
+import com.sap.sailing.selenium.pages.adminconsole.leaderboard.LeaderboardDetailsPanelPO.RaceDescriptor;
24
+import com.sap.sailing.selenium.pages.adminconsole.regatta.RegattaDetailsCompositePO;
25
+import com.sap.sailing.selenium.pages.adminconsole.regatta.RegattaEditDialogPO;
26
+import com.sap.sailing.selenium.pages.adminconsole.regatta.RegattaListCompositePO.RegattaDescriptor;
27
+import com.sap.sailing.selenium.pages.adminconsole.regatta.RegattaStructureManagementPanelPO;
28
+import com.sap.sailing.selenium.pages.adminconsole.regatta.SeriesEditDialogPO;
29
+import com.sap.sailing.selenium.pages.adminconsole.tracking.TrackedRacesListPO;
30
+import com.sap.sailing.selenium.pages.adminconsole.tracking.TrackedRacesListPO.Status;
31
+import com.sap.sailing.selenium.pages.adminconsole.tracking.TrackedRacesListPO.TrackedRaceDescriptor;
32
+import com.sap.sailing.selenium.pages.adminconsole.tractrac.TracTracEventManagementPanelPO;
33
+import com.sap.sailing.selenium.pages.home.HomePage;
34
+import com.sap.sailing.selenium.pages.raceboard.RaceBoardPage;
35
+import com.sap.sailing.selenium.test.AbstractSeleniumTest;
36
+
37
+public class WhitelabelTest extends AbstractSeleniumTest {
38
+
39
+ private static final String JSON_URL = "http://event.tractrac.com/events/event_20150616_KielerWoch/jsonservice.php"; //$NON-NLS-1$
40
+ private static final String EVENT = "Kieler Woche 2015"; //$NON-NLS-1$
41
+ private static final String BOAT_CLASS_49ER = "49er"; //$NON-NLS-1$
42
+ private static final String REGATTA_49ER = "KW 2015 Olympic - 49er"; //$NON-NLS-1$
43
+ private static final String REGATTA_49ER_WITH_SUFFIX = REGATTA_49ER + " ("+BOAT_CLASS_49ER+")"; //$NON-NLS-1$
44
+ private static final String RACE_N_49ER = "R%d (49er)"; //$NON-NLS-1$
45
+ private static final String MEDAL_RACE_49ER = "R12-M Medal (49er)"; //$NON-NLS-1$
46
+ private static final String EVENT_DESC = "Kieler Woche 2015"; //$NON-NLS-1$
47
+ private static final String VENUE = "Kieler F�rde"; //$NON-NLS-1$
48
+ private static final Date EVENT_START_TIME = DatatypeConverter.parseDateTime("2015-06-20T08:00:00-00:00")
49
+ .getTime();
50
+ private static final Date EVENT_END_TIME = DatatypeConverter.parseDateTime("2015-06-28T20:00:00-00:00")
51
+ .getTime();
52
+ private static final String DEFAULT_FLEET = "Default";
53
+ private static final String SERIES_DEFAULT = "Default";
54
+ private static final String SERIES_QUALIFICATION = "Qualification";
55
+ private static final String SERIES_MEDALS = "Medals";
56
+
57
+ @Override
58
+ @Before
59
+ public void setUp() {
60
+ clearState(getContextRoot());
61
+ super.setUp();
62
+ final RegattaDescriptor regattaDescriptor = new RegattaDescriptor(REGATTA_49ER, BOAT_CLASS_49ER);
63
+ {
64
+ final AdminConsolePage adminConsole = AdminConsolePage.goToPage(getWebDriver(), getContextRoot());
65
+ final EventConfigurationPanelPO events = adminConsole.goToEvents();
66
+ events.createEventWithDefaultLeaderboardGroupRegattaAndDefaultLeaderboard(EVENT, EVENT_DESC,
67
+ VENUE, EVENT_START_TIME, EVENT_END_TIME, true, REGATTA_49ER_WITH_SUFFIX, BOAT_CLASS_49ER,
68
+ EVENT_START_TIME, EVENT_END_TIME, false);
69
+ final RegattaStructureManagementPanelPO regattaStructurePanel = adminConsole.goToRegattaStructure();
70
+ final RegattaDetailsCompositePO regattaDetails = regattaStructurePanel.getRegattaDetails(regattaDescriptor);
71
+ regattaDetails.deleteSeries(SERIES_DEFAULT);
72
+ RegattaEditDialogPO editRegatta = regattaStructurePanel.getRegattaList().editRegatta(regattaDescriptor);
73
+ editRegatta.addSeries(SERIES_QUALIFICATION);
74
+ editRegatta.addSeries(SERIES_MEDALS);
75
+ editRegatta.pressOk();
76
+ final SeriesEditDialogPO editSeriesQualification = regattaDetails.editSeries(SERIES_QUALIFICATION);
77
+ editSeriesQualification.addRaces(1, 11, "Q");
78
+ editSeriesQualification.pressOk();
79
+ final SeriesEditDialogPO editSeriesMedals = regattaDetails.editSeries(SERIES_MEDALS);
80
+ editSeriesMedals.setMedalSeries(true);
81
+ editSeriesMedals.addSingleRace("M");
82
+ editSeriesMedals.pressOk();
83
+ trackRacesFor49er(regattaDescriptor, adminConsole.goToTracTracEvents());
84
+ final LeaderboardConfigurationPanelPO leaderboard = adminConsole.goToLeaderboardConfiguration();
85
+ final LeaderboardDetailsPanelPO details = leaderboard.getLeaderboardDetails(REGATTA_49ER_WITH_SUFFIX);
86
+
87
+ for(int i = 1; i<=11; i++) {
88
+ details.linkRace(new RaceDescriptor("Q" + i, DEFAULT_FLEET, false, false, 0), new TrackedRaceDescriptor(REGATTA_49ER_WITH_SUFFIX, BOAT_CLASS_49ER, String.format(RACE_N_49ER, i)));
89
+ }
90
+ details.linkRace(new RaceDescriptor("M", DEFAULT_FLEET, true, false, 0), new TrackedRaceDescriptor(REGATTA_49ER_WITH_SUFFIX, BOAT_CLASS_49ER, MEDAL_RACE_49ER));
91
+ }
92
+ setWhitelabel(true, getContextRoot());
93
+ }
94
+
95
+ @Test
96
+ public void testHomepageWhitelabel() throws UnsupportedEncodingException {
97
+ HomePage homePage = HomePage.goToPage(getWebDriver(), getContextRoot());
98
+ assertThat(homePage.getPageTitle(), not(containsString("SAP")));
99
+ validateIsDisplayed(homePage.getFavicon(), false);
100
+ validateIsDisplayed(homePage.getSolutionsPageLink(), false);
101
+ validateIsDisplayed(homePage.getSapSailingHeaderImage(), false);
102
+ assertThat(homePage.getLogoAnchor().getAttribute("target"), equalTo(""));
103
+ validateIsDisplayed(homePage.getSocialmediaFooter(), false);
104
+ validateIsDisplayed(homePage.getCopyrightDiv(), false);
105
+ validateIsDisplayed(homePage.getImprintLink(), false);
106
+ validateIsDisplayed(homePage.getPrivacyLink(), false);
107
+ validateIsDisplayed(homePage.getJobsLink(), false);
108
+ validateIsDisplayed(homePage.getFeedbackLink(), false);
109
+ validateIsDisplayed(homePage.getNewsLink(), false);
110
+ validateIsDisplayed(homePage.getLanguageSelectionLabel(), true);
111
+ assertThat(homePage.getLanguageSelectionLabel().getText(), not(containsString("SAP")));
112
+ RaceBoardPage raceboardPage = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), REGATTA_49ER_WITH_SUFFIX,
113
+ REGATTA_49ER_WITH_SUFFIX, MEDAL_RACE_49ER, true);
114
+ assertThat(raceboardPage.isRaceBoardLogoExisting(),equalTo(false));
115
+ validateIsDisplayed(raceboardPage.getDataByContainer(), false);
116
+
117
+ }
118
+
119
+ private void trackRacesFor49er(final RegattaDescriptor regattaDescriptor, final TracTracEventManagementPanelPO tracTracEvents) {
120
+ tracTracEvents.addConnectionAndListTrackableRaces(JSON_URL);
121
+ tracTracEvents.setReggataForTracking(regattaDescriptor);
122
+ tracTracEvents.setTrackSettings(true, false, false);
123
+ tracTracEvents.setFilterForTrackableRaces("(49er)");
124
+ // races are filtered so that all shown entries belong to the correct regatta
125
+ tracTracEvents.startTrackingForAllRaces();
126
+ final TrackedRacesListPO trackedRacesList = tracTracEvents.getTrackedRacesList();
127
+ final List<TrackedRaceDescriptor> racesToWaitLoadingFor = new ArrayList<>();
128
+ for(int i = 1; i<=11; i++) {
129
+ racesToWaitLoadingFor.add(new TrackedRaceDescriptor(REGATTA_49ER_WITH_SUFFIX, BOAT_CLASS_49ER, String.format(RACE_N_49ER, i)));
130
+ }
131
+ racesToWaitLoadingFor.add(new TrackedRaceDescriptor(REGATTA_49ER_WITH_SUFFIX, BOAT_CLASS_49ER, MEDAL_RACE_49ER));
132
+ trackedRacesList.waitForTrackedRaces(racesToWaitLoadingFor, Status.FINISHED, 600);
133
+ }
134
+
135
+ private void validateIsDisplayed(WebElement element, boolean displayed) {
136
+ assertThat(element.isDisplayed(),equalTo(displayed));
137
+ }
138
+}
java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/test/raceboard/SettingsTest.java
... ...
@@ -90,7 +90,7 @@ public class SettingsTest extends AbstractSeleniumTest {
90 90
BMW_START_EVENT_TIME, BMW_STOP_EVENT_TIME, false);
91 91
initTrackingForBmwCupRace(adminConsole);
92 92
RaceBoardPage raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA,
93
- BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "PLAYER");
93
+ BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "PLAYER", false);
94 94
DetailCheckboxInfo[] detailsToSelect = new DetailCheckboxInfo[] {
95 95
// Overall details
96 96
// Race details
... ...
@@ -117,7 +117,7 @@ public class SettingsTest extends AbstractSeleniumTest {
117 117
mapSettings.setWindUp(false);
118 118
mapSettings.pressMakeDefault();
119 119
raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA, BMW_CUP_REGATTA,
120
- String.format(BMW_RACE, 1), "WINNING_LANES");
120
+ String.format(BMW_RACE, 1), "WINNING_LANES", false);
121 121
detailsToSelect = new DetailCheckboxInfo[] {
122 122
// Race details
123 123
DetailCheckboxInfo.RACE_DISTANCE, DetailCheckboxInfo.RACE_TIME,
... ...
@@ -157,7 +157,7 @@ public class SettingsTest extends AbstractSeleniumTest {
157 157
mapSettings.setTransparentHoverlines(false);
158 158
mapSettings.pressOk(false, false);
159 159
raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA, BMW_CUP_REGATTA,
160
- String.format(BMW_RACE, 1), "WINNING_LANES");
160
+ String.format(BMW_RACE, 1), "WINNING_LANES", false);
161 161
leaderboardSettingsDialog = raceboard.openLeaderboardSettingsDialog();
162 162
leaderboardSettingsPanelPO = leaderboardSettingsDialog.getLeaderboardSettingsPanelPO();
163 163
selectedDetails = leaderboardSettingsPanelPO.getSelectedDetails();
... ...
@@ -173,7 +173,7 @@ public class SettingsTest extends AbstractSeleniumTest {
173 173
Assert.assertFalse(mapSettings.isTransparentHoverlines());
174 174
// verify that custom document settings override mode settings of other modes
175 175
raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA, BMW_CUP_REGATTA,
176
- String.format(BMW_RACE, 1), "START_ANALYSIS");
176
+ String.format(BMW_RACE, 1), "START_ANALYSIS", false);
177 177
leaderboardSettingsDialog = raceboard.openLeaderboardSettingsDialog();
178 178
leaderboardSettingsPanelPO = leaderboardSettingsDialog.getLeaderboardSettingsPanelPO();
179 179
selectedDetails = leaderboardSettingsPanelPO.getSelectedDetails();
... ...
@@ -208,7 +208,7 @@ public class SettingsTest extends AbstractSeleniumTest {
208 208
initTrackingForBmwCupRace(adminConsole);
209 209
210 210
RaceBoardPage raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA,
211
- BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "PLAYER");
211
+ BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "PLAYER", false);
212 212
213 213
MapSettingsPO mapSettings = raceboard.openMapSettings();
214 214
// Verify initial settings for mode PLAYER
... ...
@@ -219,14 +219,14 @@ public class SettingsTest extends AbstractSeleniumTest {
219 219
mapSettings.pressMakeDefault();
220 220
221 221
raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA, BMW_CUP_REGATTA,
222
- String.format(BMW_RACE, 1), "WINNING_LANES");
222
+ String.format(BMW_RACE, 1), "WINNING_LANES", false);
223 223
224 224
mapSettings = raceboard.openMapSettings();
225 225
// Verify initial settings for mode WINNING_LANES
226 226
Assert.assertFalse(mapSettings.isShowWindStreamletOverlay());
227 227
228 228
raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA,
229
- BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "PLAYER");
229
+ BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "PLAYER", false);
230 230
231 231
// Map settings for mode PLAYER are changed
232 232
mapSettings = raceboard.openMapSettings();
... ...
@@ -234,7 +234,7 @@ public class SettingsTest extends AbstractSeleniumTest {
234 234
mapSettings.pressMakeDefault();
235 235
236 236
raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA, BMW_CUP_REGATTA,
237
- String.format(BMW_RACE, 1), "WINNING_LANES");
237
+ String.format(BMW_RACE, 1), "WINNING_LANES", false);
238 238
239 239
mapSettings = raceboard.openMapSettings();
240 240
// Verify settings for mode WINNING_LANES are unchanged
... ...
@@ -255,7 +255,7 @@ public class SettingsTest extends AbstractSeleniumTest {
255 255
initTrackingForBmwCupRace(adminConsole);
256 256
257 257
RaceBoardPage raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA,
258
- BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "PLAYER");
258
+ BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "PLAYER", false);
259 259
260 260
MapSettingsPO mapSettings = raceboard.openMapSettings();
261 261
// Verify initial mode settings
... ...
@@ -266,7 +266,7 @@ public class SettingsTest extends AbstractSeleniumTest {
266 266
mapSettings.pressMakeDefault();
267 267
268 268
raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA, BMW_CUP_REGATTA,
269
- String.format(BMW_RACE, 1), "PLAYER");
269
+ String.format(BMW_RACE, 1), "PLAYER", false);
270 270
271 271
mapSettings = raceboard.openMapSettings();
272 272
// verify default settings work
... ...
@@ -288,7 +288,7 @@ public class SettingsTest extends AbstractSeleniumTest {
288 288
initTrackingForBmwCupRace(adminConsole);
289 289
290 290
RaceBoardPage raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA,
291
- BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "WINNING_LANES");
291
+ BMW_CUP_REGATTA, String.format(BMW_RACE, 1), "WINNING_LANES", false);
292 292
293 293
MapSettingsPO mapSettings = raceboard.openMapSettings();
294 294
// The following options are false in the system default but activated by the WINNING_LANES mode
... ...
@@ -299,7 +299,7 @@ public class SettingsTest extends AbstractSeleniumTest {
299 299
mapSettings.pressMakeDefault();
300 300
301 301
raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), BMW_CUP_REGATTA, BMW_CUP_REGATTA,
302
- String.format(BMW_RACE, 1), "WINNING_LANES");
302
+ String.format(BMW_RACE, 1), "WINNING_LANES", false);
303 303
304 304
mapSettings = raceboard.openMapSettings();
305 305
// verify mode settigns have been overwritten
java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/test/raceboard/SimulatorOverlayTest.java
... ...
@@ -102,7 +102,7 @@ public class SimulatorOverlayTest extends AbstractSeleniumTest {
102 102
}
103 103
{
104 104
RaceBoardPage raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), REGATTA_49ER_WITH_SUFFIX,
105
- REGATTA_49ER_WITH_SUFFIX, String.format(RACE_N_49ER, 1));
105
+ REGATTA_49ER_WITH_SUFFIX, String.format(RACE_N_49ER, 1), false);
106 106
MapSettingsPO mapSettings = raceboard.openMapSettings();
107 107
// Simulator overlay option must not be available without wind data
108 108
Assert.assertFalse(mapSettings.isShowSimulationOverlayCheckBoxVisible());
... ...
@@ -116,7 +116,7 @@ public class SimulatorOverlayTest extends AbstractSeleniumTest {
116 116
}
117 117
{
118 118
RaceBoardPage raceboard = RaceBoardPage.goToRaceboardUrl(getWebDriver(), getContextRoot(), REGATTA_49ER_WITH_SUFFIX,
119
- REGATTA_49ER_WITH_SUFFIX, String.format(RACE_N_49ER, 1));
119
+ REGATTA_49ER_WITH_SUFFIX, String.format(RACE_N_49ER, 1), false);
120 120
MapSettingsPO mapSettings = raceboard.openMapSettings();
121 121
// Simulator overlay option must be available with the wind data being available
122 122
Assert.assertTrue(mapSettings.isShowSimulationOverlayCheckBoxVisible());
java/com.sap.sailing.server.gateway.test.support/WEB-INF/web.xml
... ...
@@ -42,4 +42,12 @@
42 42
<servlet-name>CreateSessionServlet</servlet-name>
43 43
<url-pattern>/createSession</url-pattern>
44 44
</servlet-mapping>
45
+ <servlet>
46
+ <servlet-name>WhitelabelSwitchServlet</servlet-name>
47
+ <servlet-class>com.sap.sailing.server.gateway.test.support.WhitelabelSwitchServlet</servlet-class>
48
+ </servlet>
49
+ <servlet-mapping>
50
+ <servlet-name>WhitelabelSwitchServlet</servlet-name>
51
+ <url-pattern>/switch/whitelabel/*</url-pattern>
52
+ </servlet-mapping>
45 53
</web-app>
java/com.sap.sailing.server.gateway.test.support/src/com/sap/sailing/server/gateway/test/support/WhitelabelSwitchServlet.java
... ...
@@ -0,0 +1,50 @@
1
+package com.sap.sailing.server.gateway.test.support;
2
+
3
+import java.io.IOException;
4
+import java.util.logging.Logger;
5
+
6
+import javax.servlet.ServletException;
7
+import javax.servlet.http.HttpServlet;
8
+import javax.servlet.http.HttpServletRequest;
9
+import javax.servlet.http.HttpServletResponse;
10
+
11
+/**
12
+ * Use this servlet to turn whitelabelling on and off during testing.
13
+ * @see com.sap.sse.debranding.ClientConfigurationServlet
14
+ * @author Georg Herdt
15
+ *
16
+ */
17
+public class WhitelabelSwitchServlet extends HttpServlet {
18
+
19
+ private static final String COM_SAP_SAILING_DEBRANDING = "com.sap.sse.debranding";
20
+
21
+ private static final long serialVersionUID = 7132508855846001729L;
22
+
23
+ private static final Logger logger = Logger.getLogger(WhitelabelSwitchServlet.class.getName());
24
+
25
+ @Override
26
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
27
+ String property = System.getProperty(COM_SAP_SAILING_DEBRANDING);
28
+ resp.setContentLength(property != null ? property.getBytes().length : 0);
29
+ resp.getWriter().write(property);
30
+ resp.setStatus(HttpServletResponse.SC_OK);
31
+ }
32
+
33
+ @Override
34
+ protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
35
+ String path = req.getPathInfo();
36
+ if (path.endsWith("on") || path.endsWith("true")) {
37
+ System.setProperty(COM_SAP_SAILING_DEBRANDING, Boolean.toString(true));
38
+ resp.setStatus(HttpServletResponse.SC_OK);
39
+ } else if (path.endsWith("off") || path.endsWith("false")) {
40
+ System.setProperty(COM_SAP_SAILING_DEBRANDING, Boolean.toString(false));
41
+ resp.setStatus(HttpServletResponse.SC_OK);
42
+ } else {
43
+ logger.config("unrecoginzed path " + path);
44
+ resp.setStatus(418);
45
+ }
46
+ }
47
+
48
+
49
+
50
+}
java/com.sap.sailing.server/SailingServer (No Proxy OSX).launch
... ...
@@ -34,5 +34,5 @@
34 34
<booleanAttribute key="tracing" value="false"/>
35 35
<booleanAttribute key="useCustomFeatures" value="false"/>
36 36
<booleanAttribute key="useDefaultConfigArea" value="false"/>
37
-<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
37
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
38 38
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy).launch
... ...
@@ -11,6 +11,7 @@
11 11
<booleanAttribute key="default" value="true"/>
12 12
<booleanAttribute key="default_auto_start" value="false"/>
13 13
<intAttribute key="default_start_level" value="4"/>
14
+<setAttribute key="deselected_workspace_bundles"/>
14 15
<booleanAttribute key="includeOptional" value="false"/>
15 16
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
16 17
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;sourceLookupDirector&gt;&#13;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;classpathContainer path=&amp;quot;com.google.gwt.eclipse.core.GWT_CONTAINER&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.classpathContainer&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;/sourceContainers&gt;&#13;&#10;&lt;/sourceLookupDirector&gt;&#13;&#10;"/>
... ...
@@ -31,185 +32,8 @@
31 32
<stringAttribute key="profilingTraceType-NETWORK_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_RESOLVE_ALL_HOSTS%CTX_KEY%true%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
32 33
<stringAttribute key="profilingTraceType-PERFORMANCE_HOTSPOT_TRACE" value="KEY_IGNORE_SLEEPING_THREADS%CTX_KEY%false%CTX_ENTRY%KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%true%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
33 34
<stringAttribute key="profilingTraceType-SYNCHRONIZATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
34
-<setAttribute key="selected_target_bundles">
35
-<setEntry value="com.fasterxml.jackson.core.jackson-annotations@default:default"/>
36
-<setEntry value="com.fasterxml.jackson.core.jackson-core@default:default"/>
37
-<setEntry value="com.fasterxml.jackson.core.jackson-databind@default:default"/>
38
-<setEntry value="com.rabbitmq.client@default:default"/>
39
-<setEntry value="com.sun.activation.javax.activation@default:default"/>
40
-<setEntry value="com.sun.istack.commons-runtime@default:default"/>
41
-<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
42
-<setEntry value="com.sun.jersey@default:default"/>
43
-<setEntry value="com.sun.mail.javax.mail@default:default"/>
44
-<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
45
-<setEntry value="jackson-core-asl@default:default"/>
46
-<setEntry value="jackson-jaxrs@default:default"/>
47
-<setEntry value="jackson-mapper-asl@default:default"/>
48
-<setEntry value="javax.servlet@default:default"/>
49
-<setEntry value="javax.validation@default:default"/>
50
-<setEntry value="javax.ws.rs@default:default"/>
51
-<setEntry value="javax.xml.stream@default:default"/>
52
-<setEntry value="javax.xml.ws@default:default"/>
53
-<setEntry value="javax.xml@default:default"/>
54
-<setEntry value="jaxb-api@default:default"/>
55
-<setEntry value="jcl.over.slf4j@default:default"/>
56
-<setEntry value="lz4-java@default:default"/>
57
-<setEntry value="org.apache.commons.beanutils@default:default"/>
58
-<setEntry value="org.apache.commons.codec@default:default"/>
59
-<setEntry value="org.apache.commons.collections@default:default"/>
60
-<setEntry value="org.apache.commons.fileupload@default:default"/>
61
-<setEntry value="org.apache.commons.io@default:default"/>
62
-<setEntry value="org.apache.commons.lang@default:default"/>
63
-<setEntry value="org.apache.commons.math3@default:default"/>
64
-<setEntry value="org.apache.commons.math@default:default"/>
65
-<setEntry value="org.apache.felix.gogo.command@default:default"/>
66
-<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
67
-<setEntry value="org.apache.felix.gogo.shell@default:default"/>
68
-<setEntry value="org.apache.felix.shell.remote@0:true"/>
69
-<setEntry value="org.apache.felix.shell@0:true"/>
70
-<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
71
-<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
72
-<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
73
-<setEntry value="org.apache.poi.ooxml@default:default"/>
74
-<setEntry value="org.apache.poi@default:default"/>
75
-<setEntry value="org.apache.servicemix.bundles.aws-java-sdk@default:default"/>
76
-<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
77
-<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
78
-<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
79
-<setEntry value="org.apache.shiro.core@default:default"/>
80
-<setEntry value="org.apache.shiro.ehcache@default:default"/>
81
-<setEntry value="org.apache.shiro.web@default:default"/>
82
-<setEntry value="org.apache.xmlbeans@default:default"/>
83
-<setEntry value="org.dom4j@default:default"/>
84
-<setEntry value="org.eclipse.equinox.cm@default:default"/>
85
-<setEntry value="org.eclipse.equinox.common@2:true"/>
86
-<setEntry value="org.eclipse.equinox.console@default:default"/>
87
-<setEntry value="org.eclipse.equinox.launcher@default:default"/>
88
-<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
89
-<setEntry value="org.eclipse.jetty.client@default:default"/>
90
-<setEntry value="org.eclipse.jetty.deploy@4:true"/>
91
-<setEntry value="org.eclipse.jetty.http@4:true"/>
92
-<setEntry value="org.eclipse.jetty.io@4:true"/>
93
-<setEntry value="org.eclipse.jetty.jmx@4:true"/>
94
-<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
95
-<setEntry value="org.eclipse.jetty.security@4:true"/>
96
-<setEntry value="org.eclipse.jetty.server@4:true"/>
97
-<setEntry value="org.eclipse.jetty.servlet@4:true"/>
98
-<setEntry value="org.eclipse.jetty.util@4:true"/>
99
-<setEntry value="org.eclipse.jetty.webapp@4:true"/>
100
-<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
101
-<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
102
-<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
103
-<setEntry value="org.eclipse.jetty.xml@4:true"/>
104
-<setEntry value="org.eclipse.osgi.services@default:default"/>
105
-<setEntry value="org.eclipse.osgi.util@default:default"/>
106
-<setEntry value="org.eclipse.osgi@-1:true"/>
107
-<setEntry value="org.hyperic.sigar@default:default"/>
108
-<setEntry value="org.jdom@default:default"/>
109
-<setEntry value="org.jvnet.mimepull@default:default"/>
110
-<setEntry value="org.mongodb.mongo-java-driver@default:default"/>
111
-<setEntry value="org.objectweb.asm@default:default"/>
112
-<setEntry value="routeconverter@default:default"/>
113
-<setEntry value="slf4j.api@default:default"/>
114
-<setEntry value="slf4j.jdk14@default:false"/>
115
-</setAttribute>
116
-<setAttribute key="selected_workspace_bundles">
117
-<setEntry value="com.google.gwt.servlet@default:default"/>
118
-<setEntry value="com.googlecode.java-diff-utils@default:default"/>
119
-<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
120
-<setEntry value="com.sap.sailing.competitorimport@default:default"/>
121
-<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
122
-<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
123
-<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
124
-<setEntry value="com.sap.sailing.datamining@5:true"/>
125
-<setEntry value="com.sap.sailing.declination@default:default"/>
126
-<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
127
-<setEntry value="com.sap.sailing.domain.common@default:default"/>
128
-<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
129
-<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
130
-<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
131
-<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
132
-<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
133
-<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
134
-<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
135
-<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
136
-<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
137
-<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
138
-<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
139
-<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
140
-<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
141
-<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
142
-<setEntry value="com.sap.sailing.domain@default:default"/>
143
-<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
144
-<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
145
-<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
146
-<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
147
-<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
148
-<setEntry value="com.sap.sailing.geocoding@default:default"/>
149
-<setEntry value="com.sap.sailing.grib@default:default"/>
150
-<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
151
-<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
152
-<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
153
-<setEntry value="com.sap.sailing.manage2sail@default:default"/>
154
-<setEntry value="com.sap.sailing.monitoring@7:true"/>
155
-<setEntry value="com.sap.sailing.news@4:true"/>
156
-<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
157
-<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
158
-<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
159
-<setEntry value="com.sap.sailing.polars@5:true"/>
160
-<setEntry value="com.sap.sailing.resultimport@4:true"/>
161
-<setEntry value="com.sap.sailing.routeconverterjava11extension@default:false"/>
162
-<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
163
-<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
164
-<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
165
-<setEntry value="com.sap.sailing.server.gateway@5:true"/>
166
-<setEntry value="com.sap.sailing.server.interface@default:default"/>
167
-<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
168
-<setEntry value="com.sap.sailing.server@5:true"/>
169
-<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
170
-<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
171
-<setEntry value="com.sap.sailing.shared.server@5:true"/>
172
-<setEntry value="com.sap.sailing.simulator@default:default"/>
173
-<setEntry value="com.sap.sailing.udpconnector@default:default"/>
174
-<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
175
-<setEntry value="com.sap.sailing.windestimation@5:true"/>
176
-<setEntry value="com.sap.sailing.www@5:true"/>
177
-<setEntry value="com.sap.sailing.xmlexport@5:true"/>
178
-<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
179
-<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
180
-<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
181
-<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
182
-<setEntry value="com.sap.sse.common@default:default"/>
183
-<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
184
-<setEntry value="com.sap.sse.datamining.shared@default:default"/>
185
-<setEntry value="com.sap.sse.datamining.ui@default:default"/>
186
-<setEntry value="com.sap.sse.datamining@default:default"/>
187
-<setEntry value="com.sap.sse.filestorage@4:true"/>
188
-<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
189
-<setEntry value="com.sap.sse.gwt@default:default"/>
190
-<setEntry value="com.sap.sse.jersey.jaxbdependencyfragment@default:false"/>
191
-<setEntry value="com.sap.sse.jettyextensions@default:false"/>
192
-<setEntry value="com.sap.sse.mail@5:true"/>
193
-<setEntry value="com.sap.sse.mongodb@default:default"/>
194
-<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
195
-<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
196
-<setEntry value="com.sap.sse.replication.persistence@default:default"/>
197
-<setEntry value="com.sap.sse.replication@6:true"/>
198
-<setEntry value="com.sap.sse.security.common@default:default"/>
199
-<setEntry value="com.sap.sse.security.interface@default:default"/>
200
-<setEntry value="com.sap.sse.security.persistence@default:default"/>
201
-<setEntry value="com.sap.sse.security.ui@6:true"/>
202
-<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
203
-<setEntry value="com.sap.sse.security@default:default"/>
204
-<setEntry value="com.sap.sse.shared.android@default:default"/>
205
-<setEntry value="com.sap.sse.threadmanager@default:default"/>
206
-<setEntry value="com.sap.sse@default:default"/>
207
-<setEntry value="com.tractrac.clientmodule@default:default"/>
208
-<setEntry value="net.sf.marineapi@default:default"/>
209
-<setEntry value="org.json.simple@default:default"/>
210
-<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
211
-<setEntry value="org.mp4parser.isoparser@default:default"/>
212
-</setAttribute>
35
+<stringAttribute key="target_bundles" value="routeconverter@default:default,org.apache.commons.codec@default:default,org.apache.poi@default:default,org.apache.poi.ooxml@default:default,org.apache.poi.ooxml.schemas@default:default,org.dom4j@default:default,org.apache.xmlbeans@default:default,org.apache.commons.math@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.objectweb.asm@default:default,org.hyperic.sigar@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,javax.validation@default:default,org.apache.commons.fileupload@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.apache.commons.math3@default:default,org.mongodb.mongo-java-driver@default:default,org.eclipse.jetty.osgi.boot@3:true,slf4j.jdk14@default:default,org.apache.felix.shell@0:true,org.apache.felix.shell.remote@0:true,lz4-java@default:default,javax.servlet@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,slf4j.api@default:default,org.apache.servicemix.bundles.zxing@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,org.apache.commons.io@default:default,jcl.over.slf4j@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,com.sun.mail.javax.mail@default:default,com.rabbitmq.client@default:default,org.apache.commons.lang@default:default,jackson-jaxrs@default:default,com.sun.jersey@default:default,javax.ws.rs@default:default,org.apache.commons.beanutils@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,jackson-core-asl@default:default,jackson-mapper-asl@default:default,org.apache.commons.collections@default:default,org.eclipse.jetty.client@default:default,javax.xml@default:default,com.sun.activation.javax.activation@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.osgi@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.cm@default:default,com.sun.istack.commons-runtime@default:default,jaxb-api@default:default,com.sun.xml.bind.jaxb-impl@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,org.eclipse.osgi.util@default:default"/>
36
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
213 37
<booleanAttribute key="show_selected_only" value="false"/>
214 38
<booleanAttribute key="tracing" value="false"/>
215 39
<booleanAttribute key="useCustomFeatures" value="false"/>
java/com.sap.sailing.server/SailingServer (No Proxy, Igtimi Local Test).launch
... ...
@@ -36,5 +36,5 @@
36 36
<booleanAttribute key="tracing" value="false"/>
37 37
<booleanAttribute key="useCustomFeatures" value="false"/>
38 38
<booleanAttribute key="useDefaultConfigArea" value="false"/>
39
-<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
39
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
40 40
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Java11).launch
... ...
@@ -36,5 +36,5 @@
36 36
<booleanAttribute key="tracing" value="false"/>
37 37
<booleanAttribute key="useCustomFeatures" value="false"/>
38 38
<booleanAttribute key="useDefaultConfigArea" value="false"/>
39
-<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
39
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
40 40
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Java11, JFR Recording).launch
... ...
@@ -36,5 +36,5 @@
36 36
<booleanAttribute key="tracing" value="false"/>
37 37
<booleanAttribute key="useCustomFeatures" value="false"/>
38 38
<booleanAttribute key="useDefaultConfigArea" value="false"/>
39
- <stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
39
+ <stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
40 40
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889).launch
... ...
@@ -10,7 +10,6 @@
10 10
<booleanAttribute key="default" value="true"/>
11 11
<booleanAttribute key="default_auto_start" value="true"/>
12 12
<intAttribute key="default_start_level" value="4"/>
13
-<setAttribute key="deselected_workspace_bundles"/>
14 13
<booleanAttribute key="includeOptional" value="true"/>
15 14
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
16 15
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
... ...
@@ -23,188 +22,11 @@
23 22
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djetty.port=8889 -Dreplication.exchangeName=sapsailinganalytics-replica -Declipse.ignoreApp=true -Dosgi.noShutdown=true&#13;&#10;-Dexpedition.udp.port=2011 -Xmx6000m -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -XX:+UseMembar -Dmongo.dbName=replica"/>
24 23
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
25 24
<stringAttribute key="pde.version" value="3.3"/>
26
-<setAttribute key="selected_target_bundles">
27
-<setEntry value="com.fasterxml.jackson.core.jackson-annotations@default:default"/>
28
-<setEntry value="com.fasterxml.jackson.core.jackson-core@default:default"/>
29
-<setEntry value="com.fasterxml.jackson.core.jackson-databind@default:default"/>
30
-<setEntry value="com.rabbitmq.client@default:default"/>
31
-<setEntry value="com.sun.activation.javax.activation@default:default"/>
32
-<setEntry value="com.sun.istack.commons-runtime@default:default"/>
33
-<setEntry value="com.sun.jersey.contribs.jersey-multipart@default:default"/>
34
-<setEntry value="com.sun.jersey@default:default"/>
35
-<setEntry value="com.sun.mail.javax.mail@default:default"/>
36
-<setEntry value="com.sun.xml.bind.jaxb-impl@default:default"/>
37
-<setEntry value="jackson-core-asl@default:default"/>
38
-<setEntry value="jackson-jaxrs@default:default"/>
39
-<setEntry value="jackson-mapper-asl@default:default"/>
40
-<setEntry value="javax.servlet@default:default"/>
41
-<setEntry value="javax.validation@default:default"/>
42
-<setEntry value="javax.ws.rs@default:default"/>
43
-<setEntry value="javax.xml.stream@default:default"/>
44
-<setEntry value="javax.xml.ws@default:default"/>
45
-<setEntry value="javax.xml@default:default"/>
46
-<setEntry value="jaxb-api@default:default"/>
47
-<setEntry value="jcl.over.slf4j@default:default"/>
48
-<setEntry value="lz4-java@default:default"/>
49
-<setEntry value="org.apache.commons.beanutils@default:default"/>
50
-<setEntry value="org.apache.commons.codec@default:default"/>
51
-<setEntry value="org.apache.commons.collections@default:default"/>
52
-<setEntry value="org.apache.commons.fileupload@default:default"/>
53
-<setEntry value="org.apache.commons.io@default:default"/>
54
-<setEntry value="org.apache.commons.lang@default:default"/>
55
-<setEntry value="org.apache.commons.math3@default:default"/>
56
-<setEntry value="org.apache.commons.math@default:default"/>
57
-<setEntry value="org.apache.felix.gogo.command@default:default"/>
58
-<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
59
-<setEntry value="org.apache.felix.gogo.shell@default:default"/>
60
-<setEntry value="org.apache.felix.shell.remote@0:true"/>
61
-<setEntry value="org.apache.felix.shell@0:true"/>
62
-<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
63
-<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
64
-<setEntry value="org.apache.poi.ooxml.schemas@default:default"/>
65
-<setEntry value="org.apache.poi.ooxml@default:default"/>
66
-<setEntry value="org.apache.poi@default:default"/>
67
-<setEntry value="org.apache.servicemix.bundles.aws-java-sdk@default:default"/>
68
-<setEntry value="org.apache.servicemix.bundles.ehcache@default:default"/>
69
-<setEntry value="org.apache.servicemix.bundles.scribe@default:default"/>
70
-<setEntry value="org.apache.servicemix.bundles.zxing@default:default"/>
71
-<setEntry value="org.apache.shiro.core@default:default"/>
72
-<setEntry value="org.apache.shiro.ehcache@default:default"/>
73
-<setEntry value="org.apache.shiro.web@default:default"/>
74
-<setEntry value="org.apache.xmlbeans@default:default"/>
75
-<setEntry value="org.dom4j@default:default"/>
76
-<setEntry value="org.eclipse.equinox.cm@default:default"/>
77
-<setEntry value="org.eclipse.equinox.common@2:true"/>
78
-<setEntry value="org.eclipse.equinox.console@default:default"/>
79
-<setEntry value="org.eclipse.equinox.launcher@default:default"/>
80
-<setEntry value="org.eclipse.equinox.simpleconfigurator@2:true"/>
81
-<setEntry value="org.eclipse.jetty.client@default:default"/>
82
-<setEntry value="org.eclipse.jetty.deploy@4:true"/>
83
-<setEntry value="org.eclipse.jetty.http@4:true"/>
84
-<setEntry value="org.eclipse.jetty.io@4:true"/>
85
-<setEntry value="org.eclipse.jetty.jmx@4:true"/>
86
-<setEntry value="org.eclipse.jetty.osgi.boot@3:true"/>
87
-<setEntry value="org.eclipse.jetty.security@4:true"/>
88
-<setEntry value="org.eclipse.jetty.server@4:true"/>
89
-<setEntry value="org.eclipse.jetty.servlet@4:true"/>
90
-<setEntry value="org.eclipse.jetty.util@4:true"/>
91
-<setEntry value="org.eclipse.jetty.webapp@4:true"/>
92
-<setEntry value="org.eclipse.jetty.websocket.api@default:default"/>
93
-<setEntry value="org.eclipse.jetty.websocket.client@default:default"/>
94
-<setEntry value="org.eclipse.jetty.websocket.common@default:default"/>
95
-<setEntry value="org.eclipse.jetty.xml@4:true"/>
96
-<setEntry value="org.eclipse.osgi.services@default:default"/>
97
-<setEntry value="org.eclipse.osgi.util@default:default"/>
98
-<setEntry value="org.eclipse.osgi@-1:true"/>
99
-<setEntry value="org.hyperic.sigar@default:default"/>
100
-<setEntry value="org.jdom@default:default"/>
101
-<setEntry value="org.jvnet.mimepull@default:default"/>
102
-<setEntry value="org.mongodb.mongo-java-driver@default:default"/>
103
-<setEntry value="org.objectweb.asm@default:default"/>
104
-<setEntry value="routeconverter@default:default"/>
105
-<setEntry value="slf4j.api@default:default"/>
106
-<setEntry value="slf4j.jdk14@default:false"/>
107
-</setAttribute>
108
-<setAttribute key="selected_workspace_bundles">
109
-<setEntry value="com.google.gwt.servlet@default:default"/>
110
-<setEntry value="com.googlecode.java-diff-utils@default:default"/>
111
-<setEntry value="com.sap.sailing.barbados.resultimport@4:true"/>
112
-<setEntry value="com.sap.sailing.competitorimport@default:default"/>
113
-<setEntry value="com.sap.sailing.dashboards.gwt@6:true"/>
114
-<setEntry value="com.sap.sailing.datamining.provider@default:default"/>
115
-<setEntry value="com.sap.sailing.datamining.shared@default:default"/>
116
-<setEntry value="com.sap.sailing.datamining@5:true"/>
117
-<setEntry value="com.sap.sailing.declination@default:default"/>
118
-<setEntry value="com.sap.sailing.domain.bravoadapter@5:true"/>
119
-<setEntry value="com.sap.sailing.domain.common@default:default"/>
120
-<setEntry value="com.sap.sailing.domain.deckmanadapter@5:true"/>
121
-<setEntry value="com.sap.sailing.domain.expeditionadapter@5:true"/>
122
-<setEntry value="com.sap.sailing.domain.igtimiadapter.gateway@5:true"/>
123
-<setEntry value="com.sap.sailing.domain.igtimiadapter.persistence@default:default"/>
124
-<setEntry value="com.sap.sailing.domain.igtimiadapter@4:true"/>
125
-<setEntry value="com.sap.sailing.domain.persistence@default:default"/>
126
-<setEntry value="com.sap.sailing.domain.racelogtrackingadapter@4:true"/>
127
-<setEntry value="com.sap.sailing.domain.shared.android@default:default"/>
128
-<setEntry value="com.sap.sailing.domain.swisstimingadapter.persistence@4:true"/>
129
-<setEntry value="com.sap.sailing.domain.swisstimingadapter@5:true"/>
130
-<setEntry value="com.sap.sailing.domain.swisstimingreplayadapter@4:true"/>
131
-<setEntry value="com.sap.sailing.domain.tractracadapter.persistence@4:true"/>
132
-<setEntry value="com.sap.sailing.domain.tractracadapter@5:true"/>
133
-<setEntry value="com.sap.sailing.domain.windfinderadapter@4:true"/>
134
-<setEntry value="com.sap.sailing.domain@default:default"/>
135
-<setEntry value="com.sap.sailing.ess40.resultimport@4:true"/>
136
-<setEntry value="com.sap.sailing.expeditionconnector.common@default:default"/>
137
-<setEntry value="com.sap.sailing.expeditionconnector.persistence@4:true"/>
138
-<setEntry value="com.sap.sailing.expeditionconnector@default:default"/>
139
-<setEntry value="com.sap.sailing.freg.resultimport@4:true"/>
140
-<setEntry value="com.sap.sailing.geocoding@default:default"/>
141
-<setEntry value="com.sap.sailing.grib@default:default"/>
142
-<setEntry value="com.sap.sailing.gwt.ui@6:true"/>
143
-<setEntry value="com.sap.sailing.kiworesultimport@4:true"/>
144
-<setEntry value="com.sap.sailing.manage2sail.resultimport@4:true"/>
145
-<setEntry value="com.sap.sailing.manage2sail@default:default"/>
146
-<setEntry value="com.sap.sailing.monitoring@7:true"/>
147
-<setEntry value="com.sap.sailing.news@4:true"/>
148
-<setEntry value="com.sap.sailing.nmeaconnector@default:default"/>
149
-<setEntry value="com.sap.sailing.polars.datamining.shared@default:default"/>
150
-<setEntry value="com.sap.sailing.polars.datamining@5:true"/>
151
-<setEntry value="com.sap.sailing.polars@5:true"/>
152
-<setEntry value="com.sap.sailing.resultimport@4:true"/>
153
-<setEntry value="com.sap.sailing.routeconverterjava11extension@default:false"/>
154
-<setEntry value="com.sap.sailing.sailwave.resultimport@4:true"/>
155
-<setEntry value="com.sap.sailing.server.gateway.serialization.shared.android@default:default"/>
156
-<setEntry value="com.sap.sailing.server.gateway.serialization@default:default"/>
157
-<setEntry value="com.sap.sailing.server.gateway@5:true"/>
158
-<setEntry value="com.sap.sailing.server.interface@default:default"/>
159
-<setEntry value="com.sap.sailing.server.trackfiles@default:default"/>
160
-<setEntry value="com.sap.sailing.server@5:true"/>
161
-<setEntry value="com.sap.sailing.shared.persistence@default:default"/>
162
-<setEntry value="com.sap.sailing.shared.server.gateway@5:true"/>
163
-<setEntry value="com.sap.sailing.shared.server@5:true"/>
164
-<setEntry value="com.sap.sailing.simulator@default:default"/>
165
-<setEntry value="com.sap.sailing.udpconnector@default:default"/>
166
-<setEntry value="com.sap.sailing.velum.resultimport@4:true"/>
167
-<setEntry value="com.sap.sailing.windestimation@5:true"/>
168
-<setEntry value="com.sap.sailing.www@5:true"/>
169
-<setEntry value="com.sap.sailing.xmlexport@5:true"/>
170
-<setEntry value="com.sap.sailing.xrr.resultimport@4:true"/>
171
-<setEntry value="com.sap.sailing.xrr.schema@default:default"/>
172
-<setEntry value="com.sap.sailing.xrr.structureimport@default:default"/>
173
-<setEntry value="com.sap.sailing.yachtscoring.resultimport@4:true"/>
174
-<setEntry value="com.sap.sse.common@default:default"/>
175
-<setEntry value="com.sap.sse.datamining.annotations@default:default"/>
176
-<setEntry value="com.sap.sse.datamining.shared@default:default"/>
177
-<setEntry value="com.sap.sse.datamining.ui@default:default"/>
178
-<setEntry value="com.sap.sse.datamining@default:default"/>
179
-<setEntry value="com.sap.sse.filestorage@4:true"/>
180
-<setEntry value="com.sap.sse.gwt.adminconsole@default:default"/>
181
-<setEntry value="com.sap.sse.gwt@default:default"/>
182
-<setEntry value="com.sap.sse.jersey.jaxbdependencyfragment@default:false"/>
183
-<setEntry value="com.sap.sse.jettyextensions@default:false"/>
184
-<setEntry value="com.sap.sse.mail@5:true"/>
185
-<setEntry value="com.sap.sse.mongodb@default:default"/>
186
-<setEntry value="com.sap.sse.operationaltransformation@default:default"/>
187
-<setEntry value="com.sap.sse.replication.interfaces@default:default"/>
188
-<setEntry value="com.sap.sse.replication.persistence@default:default"/>
189
-<setEntry value="com.sap.sse.replication@6:true"/>
190
-<setEntry value="com.sap.sse.security.common@default:default"/>
191
-<setEntry value="com.sap.sse.security.interface@default:default"/>
192
-<setEntry value="com.sap.sse.security.persistence@default:default"/>
193
-<setEntry value="com.sap.sse.security.ui@6:true"/>
194
-<setEntry value="com.sap.sse.security.userstore.mongodb@4:true"/>
195
-<setEntry value="com.sap.sse.security@default:default"/>
196
-<setEntry value="com.sap.sse.shared.android@default:default"/>
197
-<setEntry value="com.sap.sse.threadmanager@default:default"/>
198
-<setEntry value="com.sap.sse@default:default"/>
199
-<setEntry value="com.tractrac.clientmodule@default:default"/>
200
-<setEntry value="net.sf.marineapi@default:default"/>
201
-<setEntry value="org.json.simple@default:default"/>
202
-<setEntry value="org.moxieapps.gwt.highcharts@default:default"/>
203
-<setEntry value="org.mp4parser.isoparser@default:default"/>
204
-</setAttribute>
205 25
<booleanAttribute key="show_selected_only" value="false"/>
26
+<stringAttribute key="target_bundles" value="routeconverter@default:default,org.apache.commons.codec@default:default,org.apache.poi@default:default,org.apache.poi.ooxml@default:default,org.apache.poi.ooxml.schemas@default:default,org.dom4j@default:default,org.apache.xmlbeans@default:default,org.apache.commons.math@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.objectweb.asm@default:default,org.hyperic.sigar@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,javax.validation@default:default,org.apache.commons.fileupload@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.apache.commons.math3@default:default,org.mongodb.mongo-java-driver@default:default,org.eclipse.jetty.osgi.boot@3:true,slf4j.jdk14@default:default,org.apache.felix.shell@0:true,org.apache.felix.shell.remote@0:true,lz4-java@default:default,javax.servlet@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,slf4j.api@default:default,org.apache.servicemix.bundles.zxing@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,org.apache.commons.io@default:default,jcl.over.slf4j@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,com.sun.mail.javax.mail@default:default,com.rabbitmq.client@default:default,org.apache.commons.lang@default:default,jackson-jaxrs@default:default,com.sun.jersey@default:default,javax.ws.rs@default:default,org.apache.commons.beanutils@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,jackson-core-asl@default:default,jackson-mapper-asl@default:default,org.apache.commons.collections@default:default,org.eclipse.jetty.client@default:default,javax.xml@default:default,com.sun.activation.javax.activation@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.osgi@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.cm@default:default,com.sun.istack.commons-runtime@default:default,jaxb-api@default:default,com.sun.xml.bind.jaxb-impl@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,org.eclipse.osgi.util@default:default"/>
206 27
<booleanAttribute key="tracing" value="false"/>
207 28
<booleanAttribute key="useCustomFeatures" value="false"/>
208 29
<booleanAttribute key="useDefaultConfigArea" value="false"/>
30
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
209 31
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
210 32
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, Cached MTB).launch
... ...
@@ -27,6 +27,6 @@
27 27
<booleanAttribute key="tracing" value="false"/>
28 28
<booleanAttribute key="useCustomFeatures" value="false"/>
29 29
<booleanAttribute key="useDefaultConfigArea" value="false"/>
30
-<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
30
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
31 31
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
32 32
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, auto-replicate SS and SSD).launch
... ...
@@ -25,10 +25,10 @@
25 25
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
26 26
<stringAttribute key="pde.version" value="3.3"/>
27 27
<booleanAttribute key="show_selected_only" value="false"/>
28
-<stringAttribute key="target_bundles" value="com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.rabbitmq.client@default:default,com.sun.activation.javax.activation@default:default,com.sun.istack.commons-runtime@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,com.sun.jersey@default:default,com.sun.mail.javax.mail@default:default,com.sun.xml.bind.jaxb-impl@default:default,jackson-core-asl@default:default,jackson-jaxrs@default:default,jackson-mapper-asl@default:default,javax.servlet@default:default,javax.validation@default:default,javax.ws.rs@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,javax.xml@default:default,jaxb-api@default:default,jcl.over.slf4j@default:default,lz4-java@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.math3@default:default,org.apache.commons.math@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.felix.shell.remote@0:true,org.apache.felix.shell@0:true,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.poi.ooxml.schemas@default:default,org.apache.poi.ooxml@default:default,org.apache.poi@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.servicemix.bundles.zxing@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,org.apache.xmlbeans@default:default,org.dom4j@default:default,org.eclipse.equinox.cm@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.osgi.boot@3:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hyperic.sigar@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.mongodb.mongo-java-driver@default:default,org.objectweb.asm@default:default,routeconverter@default:default,slf4j.api@default:default,slf4j.jdk14@default:false"/>
28
+<stringAttribute key="target_bundles" value="routeconverter@default:default,org.apache.commons.codec@default:default,org.apache.poi@default:default,org.apache.poi.ooxml@default:default,org.apache.poi.ooxml.schemas@default:default,org.dom4j@default:default,org.apache.xmlbeans@default:default,org.apache.commons.math@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.objectweb.asm@default:default,org.hyperic.sigar@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,javax.validation@default:default,org.apache.commons.fileupload@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.apache.commons.math3@default:default,org.mongodb.mongo-java-driver@default:default,org.eclipse.jetty.osgi.boot@3:true,slf4j.jdk14@default:default,org.apache.felix.shell@0:true,org.apache.felix.shell.remote@0:true,lz4-java@default:default,javax.servlet@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,slf4j.api@default:default,org.apache.servicemix.bundles.zxing@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,org.apache.commons.io@default:default,jcl.over.slf4j@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,com.sun.mail.javax.mail@default:default,com.rabbitmq.client@default:default,org.apache.commons.lang@default:default,jackson-jaxrs@default:default,com.sun.jersey@default:default,javax.ws.rs@default:default,org.apache.commons.beanutils@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,jackson-core-asl@default:default,jackson-mapper-asl@default:default,org.apache.commons.collections@default:default,org.eclipse.jetty.client@default:default,javax.xml@default:default,com.sun.activation.javax.activation@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.osgi@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.cm@default:default,com.sun.istack.commons-runtime@default:default,jaxb-api@default:default,com.sun.xml.bind.jaxb-impl@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,org.eclipse.osgi.util@default:default"/>
29 29
<booleanAttribute key="tracing" value="false"/>
30 30
<booleanAttribute key="useCustomFeatures" value="false"/>
31 31
<booleanAttribute key="useDefaultConfigArea" value="false"/>
32
-<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@5:true,com.sap.sailing.declination@default:default,com.sap.sailing.domain.bravoadapter@5:true,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.geocoding@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.manage2sail@default:default,com.sap.sailing.monitoring@7:true,com.sap.sailing.news@4:true,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.polars@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.routeconverterjava11extension@default:false,com.sap.sailing.sailwave.resultimport@4:true,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.interface@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.www@5:true,com.sap.sailing.xmlexport@5:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@4:true,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:false,com.sap.sse.jettyextensions@default:false,com.sap.sse.mail@5:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.replication.persistence@default:default,com.sap.sse.replication@6:true,com.sap.sse.security.common@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@default:default,com.sap.sse.shared.android@default:default,com.sap.sse.threadmanager@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,org.mp4parser.isoparser@default:default"/>
32
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
33 33
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
34 34
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, auto-replicate dev).launch
... ...
@@ -27,6 +27,6 @@
27 27
<booleanAttribute key="tracing" value="false"/>
28 28
<booleanAttribute key="useCustomFeatures" value="false"/>
29 29
<booleanAttribute key="useDefaultConfigArea" value="false"/>
30
-<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
30
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
31 31
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
32 32
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, auto-replicate).launch
... ...
@@ -25,10 +25,10 @@
25 25
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
26 26
<stringAttribute key="pde.version" value="3.3"/>
27 27
<booleanAttribute key="show_selected_only" value="false"/>
28
-<stringAttribute key="target_bundles" value="com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.rabbitmq.client@default:default,com.sun.activation.javax.activation@default:default,com.sun.istack.commons-runtime@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,com.sun.jersey@default:default,com.sun.mail.javax.mail@default:default,com.sun.xml.bind.jaxb-impl@default:default,jackson-core-asl@default:default,jackson-jaxrs@default:default,jackson-mapper-asl@default:default,javax.servlet@default:default,javax.validation@default:default,javax.ws.rs@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,javax.xml@default:default,jaxb-api@default:default,jcl.over.slf4j@default:default,lz4-java@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.math3@default:default,org.apache.commons.math@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.felix.shell.remote@0:true,org.apache.felix.shell@0:true,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.poi.ooxml.schemas@default:default,org.apache.poi.ooxml@default:default,org.apache.poi@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.servicemix.bundles.zxing@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,org.apache.xmlbeans@default:default,org.dom4j@default:default,org.eclipse.equinox.cm@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.osgi.boot@3:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hyperic.sigar@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.mongodb.mongo-java-driver@default:default,org.objectweb.asm@default:default,routeconverter@default:default,slf4j.api@default:default,slf4j.jdk14@default:false"/>
28
+<stringAttribute key="target_bundles" value="routeconverter@default:default,org.apache.commons.codec@default:default,org.apache.poi@default:default,org.apache.poi.ooxml@default:default,org.apache.poi.ooxml.schemas@default:default,org.dom4j@default:default,org.apache.xmlbeans@default:default,org.apache.commons.math@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.objectweb.asm@default:default,org.hyperic.sigar@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,javax.validation@default:default,org.apache.commons.fileupload@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.apache.commons.math3@default:default,org.mongodb.mongo-java-driver@default:default,org.eclipse.jetty.osgi.boot@3:true,slf4j.jdk14@default:default,org.apache.felix.shell@0:true,org.apache.felix.shell.remote@0:true,lz4-java@default:default,javax.servlet@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,slf4j.api@default:default,org.apache.servicemix.bundles.zxing@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,org.apache.commons.io@default:default,jcl.over.slf4j@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,com.sun.mail.javax.mail@default:default,com.rabbitmq.client@default:default,org.apache.commons.lang@default:default,jackson-jaxrs@default:default,com.sun.jersey@default:default,javax.ws.rs@default:default,org.apache.commons.beanutils@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,jackson-core-asl@default:default,jackson-mapper-asl@default:default,org.apache.commons.collections@default:default,org.eclipse.jetty.client@default:default,javax.xml@default:default,com.sun.activation.javax.activation@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.osgi@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.cm@default:default,com.sun.istack.commons-runtime@default:default,jaxb-api@default:default,com.sun.xml.bind.jaxb-impl@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,org.eclipse.osgi.util@default:default"/>
29 29
<booleanAttribute key="tracing" value="false"/>
30 30
<booleanAttribute key="useCustomFeatures" value="false"/>
31 31
<booleanAttribute key="useDefaultConfigArea" value="false"/>
32
-<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@5:true,com.sap.sailing.declination@default:default,com.sap.sailing.domain.bravoadapter@5:true,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.geocoding@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.manage2sail@default:default,com.sap.sailing.monitoring@7:true,com.sap.sailing.news@4:true,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.polars@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.routeconverterjava11extension@default:false,com.sap.sailing.sailwave.resultimport@4:true,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.interface@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.www@5:true,com.sap.sailing.xmlexport@5:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@4:true,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:false,com.sap.sse.jettyextensions@default:false,com.sap.sse.mail@5:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.replication.persistence@default:default,com.sap.sse.replication@6:true,com.sap.sse.security.common@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@default:default,com.sap.sse.shared.android@default:default,com.sap.sse.threadmanager@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,org.mp4parser.isoparser@default:default"/>
32
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
33 33
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
34 34
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8890).launch
... ...
@@ -23,10 +23,10 @@
23 23
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
24 24
<stringAttribute key="pde.version" value="3.3"/>
25 25
<booleanAttribute key="show_selected_only" value="false"/>
26
-<stringAttribute key="target_bundles" value="com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.rabbitmq.client@default:default,com.sun.activation.javax.activation@default:default,com.sun.istack.commons-runtime@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,com.sun.jersey@default:default,com.sun.mail.javax.mail@default:default,com.sun.xml.bind.jaxb-impl@default:default,jackson-core-asl@default:default,jackson-jaxrs@default:default,jackson-mapper-asl@default:default,javax.servlet@default:default,javax.validation@default:default,javax.ws.rs@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,javax.xml@default:default,jaxb-api@default:default,jcl.over.slf4j@default:default,lz4-java@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.math3@default:default,org.apache.commons.math@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.felix.shell.remote@0:true,org.apache.felix.shell@0:true,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.poi.ooxml.schemas@default:default,org.apache.poi.ooxml@default:default,org.apache.poi@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.servicemix.bundles.zxing@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,org.apache.xmlbeans@default:default,org.dom4j@default:default,org.eclipse.equinox.cm@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.osgi.boot@3:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hyperic.sigar@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.mongodb.mongo-java-driver@default:default,org.objectweb.asm@default:default,routeconverter@default:default,slf4j.api@default:default,slf4j.jdk14@default:false"/>
26
+<stringAttribute key="target_bundles" value="routeconverter@default:default,org.apache.commons.codec@default:default,org.apache.poi@default:default,org.apache.poi.ooxml@default:default,org.apache.poi.ooxml.schemas@default:default,org.dom4j@default:default,org.apache.xmlbeans@default:default,org.apache.commons.math@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.objectweb.asm@default:default,org.hyperic.sigar@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,javax.validation@default:default,org.apache.commons.fileupload@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.apache.commons.math3@default:default,org.mongodb.mongo-java-driver@default:default,org.eclipse.jetty.osgi.boot@3:true,slf4j.jdk14@default:default,org.apache.felix.shell@0:true,org.apache.felix.shell.remote@0:true,lz4-java@default:default,javax.servlet@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,slf4j.api@default:default,org.apache.servicemix.bundles.zxing@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,org.apache.commons.io@default:default,jcl.over.slf4j@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,com.sun.mail.javax.mail@default:default,com.rabbitmq.client@default:default,org.apache.commons.lang@default:default,jackson-jaxrs@default:default,com.sun.jersey@default:default,javax.ws.rs@default:default,org.apache.commons.beanutils@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,jackson-core-asl@default:default,jackson-mapper-asl@default:default,org.apache.commons.collections@default:default,org.eclipse.jetty.client@default:default,javax.xml@default:default,com.sun.activation.javax.activation@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.osgi@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.cm@default:default,com.sun.istack.commons-runtime@default:default,jaxb-api@default:default,com.sun.xml.bind.jaxb-impl@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,org.eclipse.osgi.util@default:default"/>
27 27
<booleanAttribute key="tracing" value="false"/>
28 28
<booleanAttribute key="useCustomFeatures" value="false"/>
29 29
<booleanAttribute key="useDefaultConfigArea" value="false"/>
30
-<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@5:true,com.sap.sailing.declination@default:default,com.sap.sailing.domain.bravoadapter@5:true,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.geocoding@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.manage2sail@default:default,com.sap.sailing.monitoring@7:true,com.sap.sailing.news@4:true,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.polars@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.routeconverterjava11extension@default:false,com.sap.sailing.sailwave.resultimport@4:true,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.interface@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.www@5:true,com.sap.sailing.xmlexport@5:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@4:true,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:false,com.sap.sse.jettyextensions@default:false,com.sap.sse.mail@5:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.replication.persistence@default:default,com.sap.sse.replication@6:true,com.sap.sse.security.common@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@default:default,com.sap.sse.shared.android@default:default,com.sap.sse.threadmanager@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,org.mp4parser.isoparser@default:default"/>
30
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
31 31
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
32 32
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8890, auto-replicate from replica at 8889).launch
... ...
@@ -23,10 +23,10 @@
23 23
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
24 24
<stringAttribute key="pde.version" value="3.3"/>
25 25
<booleanAttribute key="show_selected_only" value="false"/>
26
-<stringAttribute key="target_bundles" value="com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.rabbitmq.client@default:default,com.sun.activation.javax.activation@default:default,com.sun.istack.commons-runtime@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,com.sun.jersey@default:default,com.sun.mail.javax.mail@default:default,com.sun.xml.bind.jaxb-impl@default:default,jackson-core-asl@default:default,jackson-jaxrs@default:default,jackson-mapper-asl@default:default,javax.servlet@default:default,javax.validation@default:default,javax.ws.rs@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,javax.xml@default:default,jaxb-api@default:default,jcl.over.slf4j@default:default,lz4-java@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.math3@default:default,org.apache.commons.math@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.felix.shell.remote@0:true,org.apache.felix.shell@0:true,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.poi.ooxml.schemas@default:default,org.apache.poi.ooxml@default:default,org.apache.poi@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.servicemix.bundles.zxing@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,org.apache.xmlbeans@default:default,org.dom4j@default:default,org.eclipse.equinox.cm@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.osgi.boot@3:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hyperic.sigar@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.mongodb.mongo-java-driver@default:default,org.objectweb.asm@default:default,routeconverter@default:default,slf4j.api@default:default,slf4j.jdk14@default:false"/>
26
+<stringAttribute key="target_bundles" value="routeconverter@default:default,org.apache.commons.codec@default:default,org.apache.poi@default:default,org.apache.poi.ooxml@default:default,org.apache.poi.ooxml.schemas@default:default,org.dom4j@default:default,org.apache.xmlbeans@default:default,org.apache.commons.math@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.objectweb.asm@default:default,org.hyperic.sigar@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,javax.validation@default:default,org.apache.commons.fileupload@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.apache.commons.math3@default:default,org.mongodb.mongo-java-driver@default:default,org.eclipse.jetty.osgi.boot@3:true,slf4j.jdk14@default:default,org.apache.felix.shell@0:true,org.apache.felix.shell.remote@0:true,lz4-java@default:default,javax.servlet@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,slf4j.api@default:default,org.apache.servicemix.bundles.zxing@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,org.apache.commons.io@default:default,jcl.over.slf4j@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,com.sun.mail.javax.mail@default:default,com.rabbitmq.client@default:default,org.apache.commons.lang@default:default,jackson-jaxrs@default:default,com.sun.jersey@default:default,javax.ws.rs@default:default,org.apache.commons.beanutils@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,jackson-core-asl@default:default,jackson-mapper-asl@default:default,org.apache.commons.collections@default:default,org.eclipse.jetty.client@default:default,javax.xml@default:default,com.sun.activation.javax.activation@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.osgi@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.cm@default:default,com.sun.istack.commons-runtime@default:default,jaxb-api@default:default,com.sun.xml.bind.jaxb-impl@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,org.eclipse.osgi.util@default:default"/>
27 27
<booleanAttribute key="tracing" value="false"/>
28 28
<booleanAttribute key="useCustomFeatures" value="false"/>
29 29
<booleanAttribute key="useDefaultConfigArea" value="false"/>
30
-<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@5:true,com.sap.sailing.declination@default:default,com.sap.sailing.domain.bravoadapter@5:true,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.geocoding@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.manage2sail@default:default,com.sap.sailing.monitoring@7:true,com.sap.sailing.news@4:true,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.polars@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.routeconverterjava11extension@default:false,com.sap.sailing.sailwave.resultimport@4:true,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.interface@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.www@5:true,com.sap.sailing.xmlexport@5:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@4:true,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:false,com.sap.sse.jettyextensions@default:false,com.sap.sse.mail@5:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.replication.persistence@default:default,com.sap.sse.replication@6:true,com.sap.sse.security.common@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@default:default,com.sap.sse.shared.android@default:default,com.sap.sse.threadmanager@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,org.mp4parser.isoparser@default:default"/>
30
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
31 31
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
32 32
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, Remote Debug SAP VM).launch
... ...
@@ -27,5 +27,5 @@
27 27
<booleanAttribute key="tracing" value="false"/>
28 28
<booleanAttribute key="useCustomFeatures" value="false"/>
29 29
<booleanAttribute key="useDefaultConfigArea" value="false"/>
30
-<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
30
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
31 31
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, bundesliga2-2017 DB).launch
... ...
@@ -36,5 +36,5 @@
36 36
<booleanAttribute key="tracing" value="false"/>
37 37
<booleanAttribute key="useCustomFeatures" value="false"/>
38 38
<booleanAttribute key="useDefaultConfigArea" value="false"/>
39
-<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
39
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
40 40
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, debranding active).launch
... ...
@@ -0,0 +1,41 @@
1
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
3
+<booleanAttribute key="append.args" value="true"/>
4
+<booleanAttribute key="automaticAdd" value="false"/>
5
+<booleanAttribute key="automaticValidate" value="false"/>
6
+<stringAttribute key="bootstrap" value=""/>
7
+<stringAttribute key="checked" value="[NONE]"/>
8
+<booleanAttribute key="clearConfig" value="false"/>
9
+<booleanAttribute key="com.sap.jvm.profiling.ui.widgets.allowDebugging" value="false"/>
10
+<stringAttribute key="configLocation" value="${workspace_loc}/target"/>
11
+<booleanAttribute key="default" value="true"/>
12
+<booleanAttribute key="default_auto_start" value="false"/>
13
+<intAttribute key="default_start_level" value="4"/>
14
+<setAttribute key="deselected_workspace_bundles"/>
15
+<booleanAttribute key="includeOptional" value="false"/>
16
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
17
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;sourceLookupDirector&gt;&#13;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;classpathContainer path=&amp;quot;com.google.gwt.eclipse.core.GWT_CONTAINER&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.classpathContainer&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;/sourceContainers&gt;&#13;&#10;&lt;/sourceLookupDirector&gt;&#13;&#10;"/>
18
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
19
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
20
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
21
+</listAttribute>
22
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
23
+<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"/>
24
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
25
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
26
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dcom.sap.sse.debranding=true -ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=5010 -Xmx6000m -XX:+UseG1GC -Djetty.home=${project_loc:com.sap.sailing.server}/../target/configuration/jetty -Djava.util.logging.config.file=${project_loc:com.sap.sailing.server}/../target/configuration/logging_debug.properties -Dkiwo.results=${project_loc:com.sap.sailing.kiworesultimport.test}/resources -Dpersistentcompetitors.clear=false -XX:+UseMembar -Dpolardata.source.url=https://www.sapsailing.com -Dwindestimation.source.url=https://www.sapsailing.com -Drestore.tracked.races=true -Dorg.eclipse.jetty.server.Request.maxFormContentSize=50000000"/>
27
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
28
+<stringAttribute key="pde.version" value="3.3"/>
29
+<stringAttribute key="profilingTraceType-ALLOCATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%INCREASE_COUNT%CTX_KEY%8192%CTX_ENTRY%KEY_MIN_SIZE%CTX_KEY%32%CTX_ENTRY%KEY_MAX_SIZE%CTX_KEY%65536%CTX_ENTRY%KEY_INC_LINE_NRS%CTX_KEY%true%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%CLASS_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ADAPTIVE%CTX_KEY%false%CTX_ENTRY%"/>
30
+<stringAttribute key="profilingTraceType-IO_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
31
+<stringAttribute key="profilingTraceType-METHOD_PARAMETER_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
32
+<stringAttribute key="profilingTraceType-NETWORK_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_RESOLVE_ALL_HOSTS%CTX_KEY%true%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
33
+<stringAttribute key="profilingTraceType-PERFORMANCE_HOTSPOT_TRACE" value="KEY_IGNORE_SLEEPING_THREADS%CTX_KEY%false%CTX_ENTRY%KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%true%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
34
+<stringAttribute key="profilingTraceType-SYNCHRONIZATION_TRACE" value="KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_TENANT_FILTER%CTX_KEY%*%CTX_ENTRY%"/>
35
+<stringAttribute key="target_bundles" value="routeconverter@default:default,org.apache.commons.codec@default:default,org.apache.poi@default:default,org.apache.poi.ooxml@default:default,org.apache.poi.ooxml.schemas@default:default,org.dom4j@default:default,org.apache.xmlbeans@default:default,org.apache.commons.math@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.objectweb.asm@default:default,org.hyperic.sigar@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,javax.validation@default:default,org.apache.commons.fileupload@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.apache.commons.math3@default:default,org.mongodb.mongo-java-driver@default:default,org.eclipse.jetty.osgi.boot@3:true,slf4j.jdk14@default:default,org.apache.felix.shell@0:true,org.apache.felix.shell.remote@0:true,lz4-java@default:default,javax.servlet@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,slf4j.api@default:default,org.apache.servicemix.bundles.zxing@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,org.apache.commons.io@default:default,jcl.over.slf4j@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,com.sun.mail.javax.mail@default:default,com.rabbitmq.client@default:default,org.apache.commons.lang@default:default,jackson-jaxrs@default:default,com.sun.jersey@default:default,javax.ws.rs@default:default,org.apache.commons.beanutils@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,jackson-core-asl@default:default,jackson-mapper-asl@default:default,org.apache.commons.collections@default:default,org.eclipse.jetty.client@default:default,javax.xml@default:default,com.sun.activation.javax.activation@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.osgi@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.cm@default:default,com.sun.istack.commons-runtime@default:default,jaxb-api@default:default,com.sun.xml.bind.jaxb-impl@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,org.eclipse.osgi.util@default:default"/>
36
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
37
+<booleanAttribute key="show_selected_only" value="false"/>
38
+<booleanAttribute key="tracing" value="false"/>
39
+<booleanAttribute key="useCustomFeatures" value="false"/>
40
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
41
+</launchConfiguration>
java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest).launch
... ...
@@ -29,9 +29,9 @@
29 29
<stringAttribute key="profilingTraceType-PERFORMANCE_HOTSPOT_TRACE" value="KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_IGNORE_SLEEPING_THREADS%CTX_KEY%true%CTX_ENTRY%KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%"/>
30 30
<stringAttribute key="profilingTraceType-SYNCHRONIZATION_TRACE" value="KEY_SESSION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_USER_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_REQUEST_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_APPLICATION_FILTER%CTX_KEY%*%CTX_ENTRY%KEY_ENABLEMENT%CTX_KEY%false%CTX_ENTRY%"/>
31 31
<booleanAttribute key="show_selected_only" value="false"/>
32
-<stringAttribute key="target_bundles" value="com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.rabbitmq.client@default:default,com.sun.activation.javax.activation@default:default,com.sun.istack.commons-runtime@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,com.sun.jersey@default:default,com.sun.mail.javax.mail@default:default,com.sun.xml.bind.jaxb-impl@default:default,jackson-core-asl@default:default,jackson-jaxrs@default:default,jackson-mapper-asl@default:default,javax.servlet@default:default,javax.validation@default:default,javax.ws.rs@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,javax.xml@default:default,jaxb-api@default:default,jcl.over.slf4j@default:default,lz4-java@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.math3@default:default,org.apache.commons.math@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.felix.shell.remote@0:true,org.apache.felix.shell@0:true,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.poi.ooxml.schemas@default:default,org.apache.poi.ooxml@default:default,org.apache.poi@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.servicemix.bundles.zxing@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,org.apache.xmlbeans@default:default,org.dom4j@default:default,org.eclipse.equinox.cm@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.osgi.boot@3:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.hyperic.sigar@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.mongodb.mongo-java-driver@default:default,org.objectweb.asm@default:default,routeconverter@default:default,slf4j.api@default:default,slf4j.jdk14@default:false"/>
32
+<stringAttribute key="target_bundles" value="routeconverter@default:default,org.apache.commons.codec@default:default,org.apache.poi@default:default,org.apache.poi.ooxml@default:default,org.apache.poi.ooxml.schemas@default:default,org.dom4j@default:default,org.apache.xmlbeans@default:default,org.apache.commons.math@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.objectweb.asm@default:default,org.hyperic.sigar@default:default,com.sun.jersey.contribs.jersey-multipart@default:default,javax.validation@default:default,org.apache.commons.fileupload@default:default,org.jdom@default:default,org.jvnet.mimepull@default:default,org.apache.commons.math3@default:default,org.mongodb.mongo-java-driver@default:default,org.eclipse.jetty.osgi.boot@3:true,slf4j.jdk14@default:default,org.apache.felix.shell@0:true,org.apache.felix.shell.remote@0:true,lz4-java@default:default,javax.servlet@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.jetty.deploy@4:true,org.eclipse.jetty.http@4:true,org.eclipse.jetty.io@4:true,org.eclipse.jetty.jmx@4:true,org.eclipse.jetty.security@4:true,org.eclipse.jetty.server@4:true,org.eclipse.jetty.servlet@4:true,org.eclipse.jetty.util@4:true,org.eclipse.jetty.webapp@4:true,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.xml@4:true,slf4j.api@default:default,org.apache.servicemix.bundles.zxing@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,org.apache.commons.io@default:default,jcl.over.slf4j@default:default,org.apache.servicemix.bundles.aws-java-sdk@default:default,com.sun.mail.javax.mail@default:default,com.rabbitmq.client@default:default,org.apache.commons.lang@default:default,jackson-jaxrs@default:default,com.sun.jersey@default:default,javax.ws.rs@default:default,org.apache.commons.beanutils@default:default,org.apache.servicemix.bundles.ehcache@default:default,org.apache.servicemix.bundles.scribe@default:default,org.apache.shiro.core@default:default,org.apache.shiro.ehcache@default:default,org.apache.shiro.web@default:default,jackson-core-asl@default:default,jackson-mapper-asl@default:default,org.apache.commons.collections@default:default,org.eclipse.jetty.client@default:default,javax.xml@default:default,com.sun.activation.javax.activation@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.simpleconfigurator@2:true,org.eclipse.osgi@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.equinox.cm@default:default,com.sun.istack.commons-runtime@default:default,jaxb-api@default:default,com.sun.xml.bind.jaxb-impl@default:default,javax.xml.stream@default:default,javax.xml.ws@default:default,org.eclipse.osgi.util@default:default"/>
33 33
<booleanAttribute key="tracing" value="false"/>
34 34
<booleanAttribute key="useCustomFeatures" value="false"/>
35 35
<booleanAttribute key="useDefaultConfigArea" value="false"/>
36
-<stringAttribute key="workspace_bundles" value="com.google.gwt.servlet@default:default,com.googlecode.java-diff-utils@default:default,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.competitorimport@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.datamining@5:true,com.sap.sailing.declination@default:default,com.sap.sailing.domain.bravoadapter@5:true,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.domain@default:default,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.geocoding@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.manage2sail@default:default,com.sap.sailing.monitoring@7:true,com.sap.sailing.news@4:true,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.polars@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.routeconverterjava11extension@default:false,com.sap.sailing.sailwave.resultimport@4:true,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.interface@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.server@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.udpconnector@default:default,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.www@5:true,com.sap.sailing.xmlexport@5:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sse.common@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sse.datamining@default:default,com.sap.sse.filestorage@4:true,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.gwt@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:false,com.sap.sse.jettyextensions@default:false,com.sap.sse.mail@5:true,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.replication.persistence@default:default,com.sap.sse.replication@6:true,com.sap.sse.security.common@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse.security@default:default,com.sap.sse.shared.android@default:default,com.sap.sse.threadmanager@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,org.mp4parser.isoparser@default:default"/>
36
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default,com.sap.sailing.server.gateway.test.support@default:default"/>
37 37
</launchConfiguration>
java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889, Polar & Wind estimation Import from 8888).launch
... ...
@@ -27,6 +27,6 @@
27 27
<booleanAttribute key="tracing" value="false"/>
28 28
<booleanAttribute key="useCustomFeatures" value="false"/>
29 29
<booleanAttribute key="useDefaultConfigArea" value="false"/>
30
-<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
30
+<stringAttribute key="workspace_bundles" value="com.sap.sailing.geocoding@default:default,com.sap.sailing.domain.common@default:default,com.sap.sailing.domain@default:default,com.sap.sailing.news@4:true,com.sap.sailing.domain.tractracadapter@5:true,com.sap.sailing.expeditionconnector@default:default,com.sap.sailing.domain.windfinderadapter@4:true,com.sap.sailing.server@5:true,com.sap.sailing.server.gateway@5:true,com.tractrac.clientmodule@default:default,com.sap.sailing.declination@default:default,com.sap.sailing.domain.persistence@default:default,com.sap.sailing.domain.swisstimingadapter@5:true,com.sap.sailing.domain.swisstimingadapter.persistence@4:true,com.sap.sailing.domain.swisstimingreplayadapter@4:true,com.sap.sailing.domain.tractracadapter.persistence@4:true,com.sap.sailing.gwt.ui@6:true,com.sap.sailing.udpconnector@default:default,com.sap.sailing.xmlexport@5:true,com.sap.sailing.simulator@default:default,com.sap.sailing.www@5:true,com.sap.sailing.resultimport@4:true,com.sap.sailing.kiworesultimport@4:true,com.sap.sailing.ess40.resultimport@4:true,com.sap.sailing.freg.resultimport@4:true,com.sap.sailing.barbados.resultimport@4:true,com.sap.sailing.sailwave.resultimport@4:true,com.sap.sailing.manage2sail.resultimport@4:true,com.sap.sailing.yachtscoring.resultimport@4:true,com.sap.sailing.velum.resultimport@4:true,com.sap.sailing.monitoring@7:true,com.sap.sailing.xrr.resultimport@4:true,com.sap.sailing.domain.igtimiadapter@4:true,com.sap.sailing.domain.igtimiadapter.persistence@default:default,com.sap.sailing.domain.racelogtrackingadapter@4:true,com.sap.sailing.domain.deckmanadapter@5:true,com.sap.sailing.xrr.structureimport@default:default,com.sap.sailing.server.gateway.serialization.shared.android@default:default,com.sap.sailing.server.gateway.serialization@default:default,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.dashboards.gwt@6:true,com.sap.sailing.datamining@5:true,com.sap.sailing.datamining.shared@default:default,com.sap.sailing.polars@5:true,com.sap.sailing.windestimation@5:true,com.sap.sailing.polars.datamining@5:true,com.sap.sailing.domain.shared.android@default:default,com.sap.sailing.manage2sail@default:default,com.sap.sailing.polars.datamining.shared@default:default,com.sap.sailing.xrr.schema@default:default,com.sap.sailing.server.trackfiles@default:default,com.sap.sailing.competitorimport@default:default,com.sap.sailing.datamining.provider@default:default,com.sap.sailing.grib@default:default,com.sap.sailing.nmeaconnector@default:default,com.sap.sailing.domain.expeditionadapter@5:true,com.sap.sailing.expeditionconnector.persistence@4:true,com.sap.sailing.expeditionconnector.common@default:default,com.sap.sailing.domain.bravoadapter@5:true,net.sf.marineapi@default:default,com.sap.sailing.routeconverterjava11extension@default:default,com.sap.sailing.server.interface@default:default,com.sap.sse.datamining.ui@default:default,com.sap.sailing.domain.igtimiadapter.gateway@5:true,com.sap.sailing.shared.server@5:true,com.sap.sailing.shared.server.gateway@5:true,com.sap.sailing.shared.persistence@default:default,com.sap.sse.debranding@default:default,com.tractrac.clientmodule@default:default,com.sap.sse.gwt@default:default,com.google.gwt.servlet@default:default,com.sap.sse.security@default:default,com.sap.sse.security.ui@6:true,com.sap.sse.security.userstore.mongodb@4:true,com.sap.sse@default:default,com.sap.sse.common@default:default,com.sap.sse.datamining@default:default,com.sap.sse.datamining.annotations@default:default,com.sap.sse.datamining.shared@default:default,com.sap.sse.gwt.adminconsole@default:default,com.sap.sse.mongodb@default:default,com.sap.sse.operationaltransformation@default:default,com.sap.sse.replication@6:true,com.sap.sse.filestorage@4:true,com.sap.sse.shared.android@default:default,com.sap.sse.mail@5:true,com.sap.sse.threadmanager@default:default,com.sap.sse.security.common@default:default,org.json.simple@default:default,com.sap.sse.jersey.jaxbdependencyfragment@default:default,org.moxieapps.gwt.highcharts@default:default,com.googlecode.java-diff-utils@default:default,org.mp4parser.isoparser@default:default,com.sap.sse.replication.interfaces@default:default,com.sap.sse.security.persistence@default:default,com.sap.sse.security.interface@default:default,com.sap.sse.jettyextensions@default:default,com.sap.sse.replication.persistence@default:default"/>
31 31
<stringAttribute key="yk-options" value="&#13;&#10;additional-options2=onexit\=snapshot&#13;&#10;"/>
32 32
</launchConfiguration>
java/com.sap.sailing.www/META-INF/MANIFEST.MF
... ...
@@ -11,3 +11,4 @@ Import-Package: javax.servlet;version="3.1.0",
11 11
javax.servlet.http;version="3.1.0"
12 12
Bundle-ClassPath: .
13 13
Bundle-ActivationPolicy: lazy
14
+Require-Bundle: com.sap.sse.debranding
java/com.sap.sailing.www/WEB-INF/web.xml
... ...
@@ -13,11 +13,19 @@
13 13
<param-value>false</param-value>
14 14
</init-param>
15 15
</servlet>
16
-
17 16
<filter>
18 17
<filter-name>CORSFilter</filter-name>
19 18
<filter-class>com.sap.sailing.www.CORSFilter</filter-class>
20 19
</filter>
20
+ <servlet>
21
+ <display-name>ClientConfigurationServlet</display-name>
22
+ <servlet-name>ClientConfigurationServlet</servlet-name>
23
+ <servlet-class>com.sap.sse.debranding.ClientConfigurationServlet</servlet-class>
24
+ </servlet>
25
+ <servlet-mapping>
26
+ <servlet-name>ClientConfigurationServlet</servlet-name>
27
+ <url-pattern>*.html</url-pattern>
28
+ </servlet-mapping>
21 29
22 30
<filter-mapping>
23 31
<filter-name>CORSFilter</filter-name>
java/com.sap.sailing.www/browser-info.html
... ...
@@ -1,27 +1,29 @@
1 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 2
<html>
3 3
<head>
4
- <title>SAP Sailing Analytics Suite - Unsupported Browser!</title>
4
+ <title>${SAP}Sailing Analytics Suite - Unsupported Browser!</title>
5 5
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
6 6
<meta http-equiv="content-style-type" content="text/css" />
7
- <link rel="shortcut icon" type="image/x-icon" href="/sap.ico" />
8
- <link href="start.css" rel="stylesheet" type="text/css" />
7
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" selenium-id="shortcutIcon"/>
8
+ <link href="start.css" rel="stylesheet" type="text/css" />
9 9
<link href="/sailing-normalize-3.0.2.cache.css" rel="stylesheet" type="text/css" />
10 10
<link href="browser-info.css" rel="stylesheet" type="text/css" />
11 11
</head>
12 12
<body>
13
- <div class="logoAndTitlePanel">
14
- <a class="sapLogo" href="http://www.sap.com">
15
- <img class="sapLogoImage" src="/images/logo-small@2x.png" alt="SAP Website"/>
16
- </a>
17
- <div class="sailingAnalyticsLabelPanel">
18
- <div class="sailingAnalyticsLabel">Sailing Analytics</div>
19
- </div>
13
+ <div class="logoAndTitlePanel">
14
+ <script>
15
+ if (!${debrandingActive}){
16
+ document.write("<a class=\"sapLogo\" href=\"http://www.sap.com\"><img class=\"sapLogoImage\" src=\"/images/logo-small@2x.png\" alt=\"SAP Website\"/></a>\r\n");
17
+ }
18
+ </script>
19
+ <div class="sailingAnalyticsLabelPanel">
20
+ <div class="sailingAnalyticsLabel">Sailing Analytics</div>
21
+ </div>
20 22
</div>
21 23
22
- <div class="yield_content">
23
- <div class="contentWrapper">
24
- <div class="mainContent" style="text-align:center;">
24
+ <div class="yield_content">
25
+ <div class="contentWrapper">
26
+ <div class="mainContent" style="text-align:center;">
25 27
26 28
<img src="images/404errorPageIcon.png" alt="Error Page Icon">
27 29
<h2 class="error-code">Unsupported Browser!</h2>
... ...
@@ -43,9 +45,9 @@
43 45
</ul>
44 46
</div>
45 47
46
- </div>
47
- </div>
48
- </div>
48
+ </div>
49
+ </div>
50
+ </div>
49 51
</body>
50 52
</html>
51 53
java/com.sap.sailing.www/index.html
... ...
@@ -1,62 +1,64 @@
1 1
<!DOCTYPE html>
2 2
<html>
3 3
<head>
4
- <title>SAP Sailing Analytics Suite</title>
5
- <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
4
+ <title>${SAP}Sailing Analytics Suite</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
6 6
<meta http-equiv="content-style-type" content="text/css" />
7
- <link rel="shortcut icon" type="image/x-icon" href="/sap.ico" />
7
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" selenium-id="shortcutIcon"/>
8 8
<link href="/sailing-normalize-3.0.2.cache.css" rel="stylesheet" type="text/css" />
9 9
<link href="start.css" rel="stylesheet" type="text/css" />
10 10
</head>
11 11
<body>
12
- <div class="logoAndTitlePanel">
13
- <a class="sapLogo" href="http://www.sap.com">
14
- <img class="sapLogoImage" src="/images/logo-small@2x.png" alt="SAP Website"/>
15
- </a>
16
- <div class="sailingAnalyticsLabelPanel">
17
- <div class="sailingAnalyticsLabel">Sailing Analytics</div>
18
- </div>
12
+ <div class="logoAndTitlePanel">
13
+ <script>
14
+ if (!${debrandingActive}){
15
+ document.write("<a class=\"sapLogo\" href=\"http://www.sap.com\"><img class=\"sapLogoImage\" src=\"/images/logo-small@2x.png\" alt=\"SAP Website\"/></a>\r\n");
16
+ }
17
+ </script>
18
+ <div class="sailingAnalyticsLabelPanel">
19
+ <div class="sailingAnalyticsLabel">Sailing Analytics</div>
20
+ </div>
19 21
</div>
20 22
21
- <div class="yield_content">
22
- <div class="contentWrapper">
23
- <div class="mainContent">
24
- <h2>Useful links</h2>
25
- <div class="innerContent">
26
- <table style="width:100%;">
27
- <tr>
28
- <td style="vertical-align:top;padding: 5px;" width="50%">
29
- <h2 class="articleHeadline">...for event administrators</h2>
30
- <p><b>Administration Console</b></p>
31
- <p>The console to administrate this SAP Sailing Analytics server.</p>
32
- <a target="_blank" href="gwt/AdminConsole.html">Open Administration Console...</a>
33
- <p>For <a href="https://static.sapsailing.com/SAPSailingAnalytics_Administrator_Training.pptx">documentation see here.</a></p>
34
- <div style="height:1em;"></div>
23
+ <div class="yield_content">
24
+ <div class="contentWrapper">
25
+ <div class="mainContent">
26
+ <h2>Useful links</h2>
27
+ <div class="innerContent">
28
+ <table style="width:100%;">
29
+ <tr>
30
+ <td style="vertical-align:top;padding: 5px;" width="50%">
31
+ <h2 class="articleHeadline">...for event administrators</h2>
32
+ <p><b>Administration Console</b></p>
33
+ <p>The console to administrate this SAP Sailing Analytics server.</p>
34
+ <a target="_blank" href="gwt/AdminConsole.html">Open Administration Console...</a>
35
+ <p>For <a href="https://static.sapsailing.com/SAPSailingAnalytics_Administrator_Training.pptx">documentation see here.</a></p>
36
+ <div style="height:1em;"></div>
35 37
36
- <p><b>Auto Player</b></p>
37
- <p>A web based player switching automatically between different screens.</p>
38
- <a target="_blank" href="gwt/AutoPlay.html">Start Auto Player...</a>
39
- <p><b>Home</b></p>
40
- <p>Server Landing Page and Stage</p>
41
- <a target="_blank" href="gwt/Home.html">Home...</a>
42
- </td>
43
- <td style="vertical-align:top;padding: 5px;" width="50%">
44
- <h2 class="articleHeadline">...for data analysis</h2>
45
- <p><b>Sailing Strategy Simulator</b></p>
46
- <p>A simulator to analyze different strategies when sailing a competition. Various wind pattern can be configured.</p>
47
- <a target="_blank" href="gwt/Simulator.html">Start simulator...</a>
48
- <div style="height:1em;"></div>
38
+ <p><b>Auto Player</b></p>
39
+ <p>A web based player switching automatically between different screens.</p>
40
+ <a target="_blank" href="gwt/AutoPlay.html">Start Auto Player...</a>
41
+ <p><b>Home</b></p>
42
+ <p>Server Landing Page and Stage</p>
43
+ <a target="_blank" href="gwt/Home.html">Home...</a>
44
+ </td>
45
+ <td style="vertical-align:top;padding: 5px;" width="50%">
46
+ <h2 class="articleHeadline">...for data analysis</h2>
47
+ <p><b>Sailing Strategy Simulator</b></p>
48
+ <p>A simulator to analyze different strategies when sailing a competition. Various wind pattern can be configured.</p>
49
+ <a target="_blank" href="gwt/Simulator.html">Start simulator...</a>
50
+ <div style="height:1em;"></div>
49 51
50
- <p><b>Data Mining</b></p>
51
- <p>A tool to explore all the data of tracked sailing races.</p>
52
- <a target="_blank" href="gwt/DataMining.html">Start Data Mining...</a>
53
- <div style="height:1em;"></div>
54
- </td>
55
- </tr>
56
- </table>
57
- </div>
58
- </div>
59
- </div>
60
- </div>
52
+ <p><b>Data Mining</b></p>
53
+ <p>A tool to explore all the data of tracked sailing races.</p>
54
+ <a target="_blank" href="gwt/DataMining.html">Start Data Mining...</a>
55
+ <div style="height:1em;"></div>
56
+ </td>
57
+ </tr>
58
+ </table>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
61 63
</body>
62 64
</html>
java/com.sap.sailing.www/release_notes_admin.html
... ...
@@ -1,26 +1,28 @@
1 1
<!DOCTYPE html>
2 2
<html>
3 3
<head>
4
- <link href="sailing-fontface-1.0.cache.css" media="screen" rel="stylesheet" title="Default stylesheet" type="text/css" />
5
- <link href="start.css" rel="stylesheet" type="text/css" />
6
- <link href="release_notes.css" rel="stylesheet" type="text/css" />
7
- <link rel="shortcut icon" type="image/x-icon" href="/sap.ico" />
8
- <title>SAP Sailing Analytics - Admin Console Release Notes</title>
4
+ <link href="sailing-fontface-1.0.cache.css" media="screen" rel="stylesheet" title="Default stylesheet" type="text/css" />
5
+ <link href="start.css" rel="stylesheet" type="text/css" />
6
+ <link href="release_notes.css" rel="stylesheet" type="text/css" />
7
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" selenium-id="shortcutIcon"/>
8
+ <title>${SAP}Sailing Analytics - Admin Console Release Notes</title>
9 9
</head>
10 10
<body>
11
- <div class="logoAndTitlePanel">
12
- <a class="sapLogo" href="http://www.sap.com">
13
- <img class="sapLogoImage" src="/images/logo-small@2x.png" alt="SAP Website"/>
14
- </a>
15
- <div class="sailingAnalyticsLabelPanel">
16
- <div class="sailingAnalyticsLabel">Sailing Analytics</div>
17
- </div>
11
+ <div class="logoAndTitlePanel">
12
+ <script>
13
+ if (!${debrandingActive}){
14
+ document.write("<a class=\"sapLogo\" href=\"http://www.sap.com\"><img class=\"sapLogoImage\" src=\"/images/logo-small@2x.png\" alt=\"SAP Website\"/></a>\r\n");
15
+ }
16
+ </script>
17
+ <div class="sailingAnalyticsLabelPanel">
18
+ <div class="sailingAnalyticsLabel">Sailing Analytics</div>
18 19
</div>
19
- <div class="yield_content">
20
- <div class="contentWrapper">
21
- <div class="mainContent">
22
- <h2 class="releaseHeadline">Release Notes - Administration Console</h2>
23
- <div class="innerContent">
20
+ </div>
21
+ <div class="yield_content">
22
+ <div class="contentWrapper">
23
+ <div class="mainContent">
24
+ <h2 class="releaseHeadline">Release Notes - Administration Console</h2>
25
+ <div class="innerContent">
24 26
<h2 class="articleSubheadline">April 2020</h2>
25 27
<ul class="bulletList">
26 28
<li>There is a new switch for the TracTrac connector you can use to automatically receive
... ...
@@ -44,6 +46,9 @@
44 46
</ul>
45 47
<h2 class="articleSubheadline">March 2020</h2>
46 48
<ul class="bulletList">
49
+ <li>White label: Removal of SAP logos and brand related text from home page and racing panels. Use system property <pre>-Dcom.sap.sse.debranding=true</pre>
50
+ </ul>
51
+ <ul class="bulletList">
47 52
<li>The visualization for ORC certificates has been much improved. It now shows all the
48 53
time allowances relevant for Performance Curve Scoring (PCS) and offers a link to the
49 54
official PDF version of the respective certificate, based on its reference number.
... ...
@@ -172,14 +177,14 @@
172 177
see <a href="https://wiki.sapsailing.com/wiki/howto/setup-orc-regatta">https://wiki.sapsailing.com/wiki/howto/setup-orc-regatta</a>.
173 178
</li>
174 179
<li>
175
- Loading a race using the TracTrac connector used to determine the race's boat class
176
- based on the boat class of the majority of the race's competitors. This approach leads
177
- to trouble specifically for non-one-design regattas where different boats compete against
178
- each other, and the regatta is modeled with a "boat class" representing the handicap
179
- rule set, such as IRC, ORC, or similar. Now, the race boat class is inferred from the
180
- regatta boat class in which the race is created. Only in case a default regatta needs
181
- to be created, the old majority rule applies to determining the regatta's (and
182
- consequently the race's) boat class.
180
+ Loading a race using the TracTrac connector used to determine the race's boat class
181
+ based on the boat class of the majority of the race's competitors. This approach leads
182
+ to trouble specifically for non-one-design regattas where different boats compete against
183
+ each other, and the regatta is modeled with a "boat class" representing the handicap
184
+ rule set, such as IRC, ORC, or similar. Now, the race boat class is inferred from the
185
+ regatta boat class in which the race is created. Only in case a default regatta needs
186
+ to be created, the old majority rule applies to determining the regatta's (and
187
+ consequently the race's) boat class.
183 188
</li>
184 189
</ul>
185 190
<h2 class="articleSubheadline">September 2019</h2>
... ...
@@ -189,7 +194,7 @@
189 194
timeslider will wait for a blue flag down event if a blue flag up event has occurred.
190 195
</li>
191 196
</ul>
192
- <h2 class="articleSubheadline">August 2019</h2>
197
+ <h2 class="articleSubheadline">August 2019</h2>
193 198
<ul class="bulletList">
194 199
<li>New API endpoints were added to get the status of tracking devices. By now, just the last received GPS fix is returned in the status.
195 200
Under /sailingserver/api/v1/tracking_devices/[deviceUUID] the status of smartphone tracking devices can be read by using the device's UUID.
... ...
@@ -254,30 +259,30 @@
254 259
lines such as:<p>
255 260
<pre>
256 261
com_sap_sailing_Leaderboard_ComputationTimeAverageMedium_averageComputeDurationInMillis{name="5O5-Worlds 2010 (5O5)",} -1.0
257
- com_sap_sailing_Leaderboard_ComputationTimeAverageMedium_numberOfComputations{name="5O5-Worlds 2010 (5O5)",} 0.0
258
- com_sap_sailing_Leaderboard_ComputationTimeAverageYoung_averageRangeInMillis{name="5O5-Worlds 2010 (5O5)",} 5000.0
259
- com_sap_sailing_Leaderboard_ComputationTimeAverageOld_averageComputeDurationInMillis{name="5O5-Worlds 2010 (5O5)",} 597.0
260
- com_sap_sailing_Leaderboard_DelayToLiveInMillis{name="5O5-Worlds 2010 (5O5)",} 20000.0
261
- com_sap_sailing_Leaderboard_ComputationTimeAverageYoung_numberOfComputations{name="5O5-Worlds 2010 (5O5)",} 0.0
262
- com_sap_sailing_Leaderboard_ComputationTimeAverageOld_numberOfComputations{name="5O5-Worlds 2010 (5O5)",} 1.0
263
- com_sap_sailing_Leaderboard_ComputationTimeAverageOld_averageRangeInMillis{name="5O5-Worlds 2010 (5O5)",} 60000.0
264
- com_sap_sailing_Leaderboard_ComputationTimeAverageYoung_averageComputeDurationInMillis{name="5O5-Worlds 2010 (5O5)",} -1.0
265
- com_sap_sailing_Leaderboard_NumberOfCompetitors{name="5O5-Worlds 2010 (5O5)",} 147.0
266
- com_sap_sailing_Leaderboard_NumberOfAllCompetitors{name="5O5-Worlds 2010 (5O5)",} 147.0
267
- com_sap_sailing_Leaderboard_ComputationTimeAverageMedium_averageRangeInMillis{name="5O5-Worlds 2010 (5O5)",} 30000.0
262
+ com_sap_sailing_Leaderboard_ComputationTimeAverageMedium_numberOfComputations{name="5O5-Worlds 2010 (5O5)",} 0.0
263
+ com_sap_sailing_Leaderboard_ComputationTimeAverageYoung_averageRangeInMillis{name="5O5-Worlds 2010 (5O5)",} 5000.0
264
+ com_sap_sailing_Leaderboard_ComputationTimeAverageOld_averageComputeDurationInMillis{name="5O5-Worlds 2010 (5O5)",} 597.0
265
+ com_sap_sailing_Leaderboard_DelayToLiveInMillis{name="5O5-Worlds 2010 (5O5)",} 20000.0
266
+ com_sap_sailing_Leaderboard_ComputationTimeAverageYoung_numberOfComputations{name="5O5-Worlds 2010 (5O5)",} 0.0
267
+ com_sap_sailing_Leaderboard_ComputationTimeAverageOld_numberOfComputations{name="5O5-Worlds 2010 (5O5)",} 1.0
268
+ com_sap_sailing_Leaderboard_ComputationTimeAverageOld_averageRangeInMillis{name="5O5-Worlds 2010 (5O5)",} 60000.0
269
+ com_sap_sailing_Leaderboard_ComputationTimeAverageYoung_averageComputeDurationInMillis{name="5O5-Worlds 2010 (5O5)",} -1.0
270
+ com_sap_sailing_Leaderboard_NumberOfCompetitors{name="5O5-Worlds 2010 (5O5)",} 147.0
271
+ com_sap_sailing_Leaderboard_NumberOfAllCompetitors{name="5O5-Worlds 2010 (5O5)",} 147.0
272
+ com_sap_sailing_Leaderboard_ComputationTimeAverageMedium_averageRangeInMillis{name="5O5-Worlds 2010 (5O5)",} 30000.0
268 273
...
269 274
com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsYoung_averageComputeDurationInMillis 13.0
270
- com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsMedium_averageComputeDurationInMillis 52.0
271
- com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsYoung_numberOfComputations 5.0
272
- com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsMedium_numberOfComputations 17.0
273
- com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsYoung_averageRangeInMillis 30000.0
274
- com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsMedium_averageRangeInMillis 60000.0
275
+ com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsMedium_averageComputeDurationInMillis 52.0
276
+ com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsYoung_numberOfComputations 5.0
277
+ com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsMedium_numberOfComputations 17.0
278
+ com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsYoung_averageRangeInMillis 30000.0
279
+ com_sap_sailing_RacingEventService_LeaderboardComputationStatisticsMedium_averageRangeInMillis 60000.0
275 280
</pre>
276 281
Note that average durations of <tt>-1</tt> mean "no data" and should be ignored. The corresponding
277 282
<tt>numberOfComputations</tt> value will be <tt>0.0</tt> in those cases.
278 283
279 284
</ul>
280
-
285
+
281 286
<h2 class="articleSubheadline">June 2019</h2>
282 287
<ul class="bulletList">
283 288
<li>Added new API endpoints for creating, reading, updating and deleting roles under /restsecurity/role.
... ...
@@ -300,56 +305,56 @@
300 305
301 306
<h2 class="articleSubheadline">May 2019</h2>
302 307
<ul class="bulletList">
303
- <li>Ranks (finishing orders) entered by the Race Manager app user are no longer
304
- considered for handicap regattas. Only an explicit score will be accepted,
305
- or a finishing time can be provided which will then let the handicap ranking
306
- metric infer the correct rank from that.
307
- </li>
308
- <li>Maneuver markers that appear when clicking on a boat while the RaceBoard is paused
309
- were sometimes hard to click because they disappeared behind the boat's tail.
310
- This behavior is now fixed.
311
- </li>
312
- <li>Fixed an issue with result import URL removal in case the URL erroneously contains
313
- more than one space character.
314
- </li>
315
- <li>Fixed a problem with competitor import: competitors imported now correctly obtain
316
- the current session's user as their owner, and the current session's user's
317
- default creation group as their owning group.
318
- </li>
319
- <li>Fixed issues with Manage2Sail regatta structure import: Imports of regattas with
320
- no "ClassName" property, such as handicap / Yardstick regattas, will now create
321
- regattas with "?" as boat class name to avoid other problems; furthermore,
322
- due to a permission check that was too restrictive, regattas to import could not
323
- be seen unless the user had "super-admin" power.
324
- </li>
325
- <li>Introduced a new permission SERVER:CAN_EXPORT_MASTERDATA:&lt;server-name&gt;
308
+ <li>Ranks (finishing orders) entered by the Race Manager app user are no longer
309
+ considered for handicap regattas. Only an explicit score will be accepted,
310
+ or a finishing time can be provided which will then let the handicap ranking
311
+ metric infer the correct rank from that.
312
+ </li>
313
+ <li>Maneuver markers that appear when clicking on a boat while the RaceBoard is paused
314
+ were sometimes hard to click because they disappeared behind the boat's tail.
315
+ This behavior is now fixed.
316
+ </li>
317
+ <li>Fixed an issue with result import URL removal in case the URL erroneously contains
318
+ more than one space character.
319
+ </li>
320
+ <li>Fixed a problem with competitor import: competitors imported now correctly obtain
321
+ the current session's user as their owner, and the current session's user's
322
+ default creation group as their owning group.
323
+ </li>
324
+ <li>Fixed issues with Manage2Sail regatta structure import: Imports of regattas with
325
+ no "ClassName" property, such as handicap / Yardstick regattas, will now create
326
+ regattas with "?" as boat class name to avoid other problems; furthermore,
327
+ due to a permission check that was too restrictive, regattas to import could not
328
+ be seen unless the user had "super-admin" power.
329
+ </li>
330
+ <li>Introduced a new permission SERVER:CAN_EXPORT_MASTERDATA:&lt;server-name&gt;
326 331
which controls if a user is allowed to export masterdata used by the MDI.
327 332
In addition, the user still needs to be able to read the data to be imported.
328 333
On the importing server, the user needs to have the permission SERVER:CAN_IMPORT_MASTERDATA:&lt;server-name&gt;.
329
- </li>
330
- </ul>
331
-
334
+ </li>
335
+ </ul>
336
+
332 337
<h2 class="articleSubheadline">April 2019</h2>
333 338
<ul class="bulletList">
334
- <li>Filtering the leaderboard groups during a Master Data Import now also
335
- handles quoted strings correctly. With this, e.g., searching for a
336
- leaderboard group containing "Apr 2" in its name is doable.
337
- </li>
338
- <li>In AdminConsole.html all tables and lists are now filtered to only show domain objects readable by the current user.
339
+ <li>Filtering the leaderboard groups during a Master Data Import now also
340
+ handles quoted strings correctly. With this, e.g., searching for a
341
+ leaderboard group containing "Apr 2" in its name is doable.
342
+ </li>
343
+ <li>In AdminConsole.html all tables and lists are now filtered to only show domain objects readable by the current user.
339 344
This means additional objects may exist on the server and can cause errors due to name conflicts.<br>
340 345
To allow users to grant others permissions for their stuff, it is possible to manage permissions for users whose username is known without having a read permission for that user.
341 346
In addition, users may be added to groups by only knowing their username.
342
- </li>
343
- <li>The permission system was extended to allow groups to directly grant roles to their users.
347
+ </li>
348
+ <li>The permission system was extended to allow groups to directly grant roles to their users.
344 349
In addition such a role can also be granted to all users (including anonymous ones).
345 350
Roles associated to groups only grant permissions to domain objects owned by that group.<br>
346 351
Example: By associating the <tt>sailing_viewer</tt> role to a group with "for all users" enabled, all objects owned by that group are publicly readable.
347
- </li>
348
- <li>When loading or tracking wind from Igtimi, only accounts readable by the current user will be used.
352
+ </li>
353
+ <li>When loading or tracking wind from Igtimi, only accounts readable by the current user will be used.
349 354
On dedicated event servers, such an account should be owned by the server group.
350 355
This ensures, that all server admins will consistently use this account while tracking races.
351
- </li>
352
- <li>Replication is now also secured by several actions of the SERVER security type.
356
+ </li>
357
+ <li>Replication is now also secured by several actions of the SERVER security type.
353 358
Due to permission checks on the master side, it is now necessary to provide credentials of a user that exists
354 359
on the master server that is used when a replica contacts the master.
355 360
This user at least needs to have the permission <tt>SERVER:REPLICATE:&amp;server-name&amp;</tt> granted on the master.<br>
... ...
@@ -361,53 +366,53 @@
361 366
<tt>curl -d "username=myuser&amp;password=mysecretpassword" "https://master-server.sapsailing.com/security/api/restsecurity/access_token" | jq .access_token</tt>.
362 367
These map to the system properties <tt>replicate.master.username</tt>, <tt>replicate.master.password</tt>, and
363 368
<tt>replicate.master.bearer_token</tt>, respectively.
364
- </li>
369
+ </li>
365 370
</ul>
366 371
367 372
<h2 class="articleSubheadline">March 2019</h2>
368 373
<ul class="bulletList">
369
- <li>By caching serialized results of leaderboard requests the server now requires
370
- significantly less CPU power during live situations. Instead of computing the
371
- serialized representation of a leaderboard again and again, the serialized version
372
- is maintained in the cache as long as the original object from which the serialized
373
- version was produced is referenced. This way, the cache cleans itself. It can be
374
- observed through JMX, e.g., using JConsole, by looking at the JMX bean
375
- <tt>com.sap.sse:type=GWTRPCSerializedResultCache_*</tt>.
376
- </li>
374
+ <li>By caching serialized results of leaderboard requests the server now requires
375
+ significantly less CPU power during live situations. Instead of computing the
376
+ serialized representation of a leaderboard again and again, the serialized version
377
+ is maintained in the cache as long as the original object from which the serialized
378
+ version was produced is referenced. This way, the cache cleans itself. It can be
379
+ observed through JMX, e.g., using JConsole, by looking at the JMX bean
380
+ <tt>com.sap.sse:type=GWTRPCSerializedResultCache_*</tt>.
381
+ </li>
377 382
</ul>
378 383
379 384
<h2 class="articleSubheadline">February 2019</h2>
380 385
<ul class="bulletList">
381
- <li>The pairing list construction supports a new parameter that can be used
382
- to balance fairness of boat assignment with the reduction of boat changes
383
- between flights. It can be set between 0 (focus on fair boat assignments;
384
- use this, e.g., if there are noticeable differences between the boats used
385
- to ensure a fair distribution) and the number of flights, e.g., 14 or 15 for
386
- a typical league set-up (focus on reducing the number of boat changes while
387
- sacrificing a bit of boat assignment fairness).
388
- </li>
389
- <li>The built-in mark passing calculator that is primarily used for smartphone
390
- tracking has been improved. In particular, it now recognizes trackers left behind,
391
- e.g., on a committee boat, and avoids performance issues incurred by these scenarios
392
- by filtering possible mark passing candidates using a bounding box-based approach:
393
- if a tracker hardly moves over some time, only the most promising candidates from
394
- that time interval are considered. This avoids compute time and memory issues
395
- seen in the past.
396
- </li>
397
- <li>When during a server re-start with the <tt>-Drestore.tracked.races=true</tt> parameter
398
- restoring a race fails with an exception, that race is now removed from the restore list,
399
- a corresponding <tt>SEVERE</tt> log entry is written, and the server will no longer try
400
- to restore that race upon future restarts. This way, races that have been removed at
401
- their source will not keep causing permanent restore trouble, and manual database
402
- intervention is no longer necessary.
403
- </li>
404
- <li>A new status REST endpoint has been added: <tt>/gwt/status</tt>. It combines the status
405
- checks of <tt>/sailingserver/api/v1/status</tt> and <tt>/replication/replication?action=STATUS</tt>,
406
- and because it is offered by the same module hosting the web UI of the server, its availability
407
- indicates that the corresponding module has started and has registered with the web server
408
- successfully. It reports a 200 HTTP response if itself and the status reports it syndicates
409
- report availability, a non-2XX status otherwise.
410
- </li>
386
+ <li>The pairing list construction supports a new parameter that can be used
387
+ to balance fairness of boat assignment with the reduction of boat changes
388
+ between flights. It can be set between 0 (focus on fair boat assignments;
389
+ use this, e.g., if there are noticeable differences between the boats used
390
+ to ensure a fair distribution) and the number of flights, e.g., 14 or 15 for
391
+ a typical league set-up (focus on reducing the number of boat changes while
392
+ sacrificing a bit of boat assignment fairness).
393
+ </li>
394
+ <li>The built-in mark passing calculator that is primarily used for smartphone
395
+ tracking has been improved. In particular, it now recognizes trackers left behind,
396
+ e.g., on a committee boat, and avoids performance issues incurred by these scenarios
397
+ by filtering possible mark passing candidates using a bounding box-based approach:
398
+ if a tracker hardly moves over some time, only the most promising candidates from
399
+ that time interval are considered. This avoids compute time and memory issues
400
+ seen in the past.
401
+ </li>
402
+ <li>When during a server re-start with the <tt>-Drestore.tracked.races=true</tt> parameter
403
+ restoring a race fails with an exception, that race is now removed from the restore list,
404
+ a corresponding <tt>SEVERE</tt> log entry is written, and the server will no longer try
405
+ to restore that race upon future restarts. This way, races that have been removed at
406
+ their source will not keep causing permanent restore trouble, and manual database
407
+ intervention is no longer necessary.
408
+ </li>
409
+ <li>A new status REST endpoint has been added: <tt>/gwt/status</tt>. It combines the status
410
+ checks of <tt>/sailingserver/api/v1/status</tt> and <tt>/replication/replication?action=STATUS</tt>,
411
+ and because it is offered by the same module hosting the web UI of the server, its availability
412
+ indicates that the corresponding module has started and has registered with the web server
413
+ successfully. It reports a 200 HTTP response if itself and the status reports it syndicates
414
+ report availability, a non-2XX status otherwise.
415
+ </li>
411 416
</ul>
412 417
413 418
<h2 class="articleSubheadline">January 2019</h2>
... ...
@@ -431,14 +436,14 @@
431 436
available.</li>
432 437
</ul>
433 438
</li>
434
- <li>Upgraded the MongoDB driver to version 3.6.4. This allows you to specify the new
435
- retryWrites parameter, e.g., as in "mongodb://mongo0.internal.sapsailing.com/mydb?replicaSet=live&retryWrites=true".
436
- This will improve your system's behavior if you run with a MongoDB replica set and have to
437
- assume that at some point the PRIMARY MongoDB system may fail, with the remaining systems
438
- in the replica set voting for a new PRIMARY. Without retryWrites your system will bluntly
439
- fail, but with retryWrites, write operations will be re-tried once, with a timeout usually
440
- enough for the remaining replicas to agree on a new PRIMARY.
441
- </li>
439
+ <li>Upgraded the MongoDB driver to version 3.6.4. This allows you to specify the new
440
+ retryWrites parameter, e.g., as in "mongodb://mongo0.internal.sapsailing.com/mydb?replicaSet=live&retryWrites=true".
441
+ This will improve your system's behavior if you run with a MongoDB replica set and have to
442
+ assume that at some point the PRIMARY MongoDB system may fail, with the remaining systems
443
+ in the replica set voting for a new PRIMARY. Without retryWrites your system will bluntly
444
+ fail, but with retryWrites, write operations will be re-tried once, with a timeout usually
445
+ enough for the remaining replicas to agree on a new PRIMARY.
446
+ </li>
442 447
</ul>
443 448
444 449
<h2 class="articleSubheadline">October 2018</h2>
... ...
@@ -793,252 +798,252 @@
793 798
794 799
<h2 class="articleSubheadline">April 2017</h2>
795 800
<ul class="bulletList">
796
- <li>Marks can now be given any valid CSS color. This will be considered also in the
797
- SAP Race Management app where the mark will be shown in their actual color in
798
- the "By Marks" course editor.
799
- </li>
800
- <li>Polar diagrams (also known as VPPs) will now be updated after importing wind.
801
- </li>
802
- <li>Competitors that the TracTrac connector declares as "non-competing" are consistently
803
- ignored. This may include camera boats, jury boats and other moving objects that do
804
- not represent competitor boats.
805
- </li>
806
- <li>Upgraded to TracAPI 3.6.3 which offers improvements regarding the identification of
807
- marks and waypoints.
808
- </li>
809
- <li>A bug regarding the regatta filter setting for the tracked races list has been fixed.
810
- The filter setting now survives a refresh cycle of the tracked races list.
811
- </li>
812
- <li>When using the TracTrac connector, identification of marks has slightly changed for
813
- gates and lines. Before, the mark IDs were constructed based on the control point's
814
- name. Now, the control point's ID plus a numeric suffic (1/2) is used instead,
815
- providing uniqueness at the same scope that TracTrac provides uniqueness regarding
816
- their control point IDs.
817
- </li>
801
+ <li>Marks can now be given any valid CSS color. This will be considered also in the
802
+ SAP Race Management app where the mark will be shown in their actual color in
803
+ the "By Marks" course editor.
804
+ </li>
805
+ <li>Polar diagrams (also known as VPPs) will now be updated after importing wind.
806
+ </li>
807
+ <li>Competitors that the TracTrac connector declares as "non-competing" are consistently
808
+ ignored. This may include camera boats, jury boats and other moving objects that do
809
+ not represent competitor boats.
810
+ </li>
811
+ <li>Upgraded to TracAPI 3.6.3 which offers improvements regarding the identification of
812
+ marks and waypoints.
813
+ </li>
814
+ <li>A bug regarding the regatta filter setting for the tracked races list has been fixed.
815
+ The filter setting now survives a refresh cycle of the tracked races list.
816
+ </li>
817
+ <li>When using the TracTrac connector, identification of marks has slightly changed for
818
+ gates and lines. Before, the mark IDs were constructed based on the control point's
819
+ name. Now, the control point's ID plus a numeric suffic (1/2) is used instead,
820
+ providing uniqueness at the same scope that TracTrac provides uniqueness regarding
821
+ their control point IDs.
822
+ </li>
818 823
</ul>
819 824
<h2 class="articleSubheadline">March 2017</h2>
820 825
<ul class="bulletList">
821
- <li>A more compact internal storage format for GPS and Wind fixes is now being used. Instead of a full
822
- 64-bit "double" value for all components such at latitude, longitude, speed over ground or course over
823
- ground, "smaller" data types such as "int" and "short" are now employed. The reduction of accuracy
824
- that this brings about is negligible given the accuracy of the tracking systems used. For example,
825
- the latitude values are encoded such that while covering the full range from -90° to +90°, the
826
- resolution is at 4.6mm. Similarly, speeds are represented in their compact form in such a way
827
- that speeds up to 500kts can be represented at a resolution of 0.015kts.
828
- </li>
829
- <li>When a race cannot be loaded successfully through the TracTrac connector, e.g., because its boat
830
- class does not match the regatta's boat class, the tracker is now stopped, and a SEVERE log message
831
- is written, giving the reason for the failure to load the race. This gives administrators an opportunity
832
- to correct any errors in the underlying data and try again. Previously, tracking such a
833
- was not possible without a server re-start because the tracker continued to exist.
834
- </li>
835
- <li>The application's locale now switches based on the client's "Accept-Language" HTTP header field.
836
- This means that the application as well as all its parts, including the administration console,
837
- will show in the user's default language if supported, defaulting to English otherwise.
838
- </li>
826
+ <li>A more compact internal storage format for GPS and Wind fixes is now being used. Instead of a full
827
+ 64-bit "double" value for all components such at latitude, longitude, speed over ground or course over
828
+ ground, "smaller" data types such as "int" and "short" are now employed. The reduction of accuracy
829
+ that this brings about is negligible given the accuracy of the tracking systems used. For example,
830
+ the latitude values are encoded such that while covering the full range from -90° to +90°, the
831
+ resolution is at 4.6mm. Similarly, speeds are represented in their compact form in such a way
832
+ that speeds up to 500kts can be represented at a resolution of 0.015kts.
833
+ </li>
834
+ <li>When a race cannot be loaded successfully through the TracTrac connector, e.g., because its boat
835
+ class does not match the regatta's boat class, the tracker is now stopped, and a SEVERE log message
836
+ is written, giving the reason for the failure to load the race. This gives administrators an opportunity
837
+ to correct any errors in the underlying data and try again. Previously, tracking such a
838
+ was not possible without a server re-start because the tracker continued to exist.
839
+ </li>
840
+ <li>The application's locale now switches based on the client's "Accept-Language" HTTP header field.
841
+ This means that the application as well as all its parts, including the administration console,
842
+ will show in the user's default language if supported, defaulting to English otherwise.
843
+ </li>
839 844
</ul>
840 845
<h2 class="articleSubheadline">February 2017</h2>
841 846
<ul class="bulletList">
842
- <li>Wind data in GRIB format can now be imported in the "Wind" sub-tab of the "Tracked Races" tab
843
- in the <tt>AdminConsole</tt>. When one or more races are being tracked, with a tracking time
844
- interval that includes the time point(s) for which the GRIB data is valid, the wind data at
845
- the resolution of the GRIB file is added as separate wind fixes with type "WEB" to the race(s)
846
- selected, or to all races if no race is selected.<p>
847
- Multiple GRIB files can be specified; this is even necessary if GRIB sources are being used where
848
- the so-called "U" and "V" or "speed" and "direction" components, respectively, are provided in
849
- separate files. The importer will merge the GRIB sources to produce wind readings with true
850
- wind direction and true wind speed.
851
- Note that large GRIB files can result in many wind fixes being added to the WEB source. Make sure
852
- the GRIB files you use are adequate in resolution and region as well as adequate in time. Obtaining
853
- a forecast 72h in the future makes little sense for an in-shore race starting in 30min.
854
- </li>
855
- <li>The REST service for wind (/sailingservice/api/v1/regattas/{regatta}/races/{race}/wind) now considers
856
- the center of the course to calculate the COMBINED wind readings. Previously, all wind readings for the COMBINED
857
- wind track as published through the REST API were equally considered, regardless of how far away a
858
- wind sensor was from the course. Now, sensors closer to the course count more than those further away.
859
- Furthermore, the time between two readings in the COMBINED wind track in the REST output has been
860
- reduced from ten seconds to one second.
861
- </li>
847
+ <li>Wind data in GRIB format can now be imported in the "Wind" sub-tab of the "Tracked Races" tab
848
+ in the <tt>AdminConsole</tt>. When one or more races are being tracked, with a tracking time
849
+ interval that includes the time point(s) for which the GRIB data is valid, the wind data at
850
+ the resolution of the GRIB file is added as separate wind fixes with type "WEB" to the race(s)
851
+ selected, or to all races if no race is selected.<p>
852
+ Multiple GRIB files can be specified; this is even necessary if GRIB sources are being used where
853
+ the so-called "U" and "V" or "speed" and "direction" components, respectively, are provided in
854
+ separate files. The importer will merge the GRIB sources to produce wind readings with true
855
+ wind direction and true wind speed.
856
+ Note that large GRIB files can result in many wind fixes being added to the WEB source. Make sure
857
+ the GRIB files you use are adequate in resolution and region as well as adequate in time. Obtaining
858
+ a forecast 72h in the future makes little sense for an in-shore race starting in 30min.
859
+ </li>
860
+ <li>The REST service for wind (/sailingservice/api/v1/regattas/{regatta}/races/{race}/wind) now considers
861
+ the center of the course to calculate the COMBINED wind readings. Previously, all wind readings for the COMBINED
862
+ wind track as published through the REST API were equally considered, regardless of how far away a
863
+ wind sensor was from the course. Now, sensors closer to the course count more than those further away.
864
+ Furthermore, the time between two readings in the COMBINED wind track in the REST output has been
865
+ reduced from ten seconds to one second.
866
+ </li>
862 867
</ul>
863 868
<h2 class="articleSubheadline">January 2017</h2>
864 869
<ul class="bulletList">
865
- <li>Filter boxes now support quoting phrases, such as <tt>"Race 2"</tt> to make them a single search term.
866
- Previously, when entering <tt>Race 2</tt> this would match all lines containing <tt>Race</tt> as well
867
- as all lines containing the digit <tt>2</tt>, such as it occurs in <tt>2015</tt> or <tt>2016</tt>.
868
- Enclosing the phrase with double quotes as in <tt>"Race 2"</tt> will consider the full string in quotes
869
- as a search term. In the unlikely case of searching for a double quote you can do that by prefixing
870
- the double quote with a backslash character, as in <tt>\"</tt>.
871
- </li>
872
- <li>When changing the start/end of tracking times in the "Smartphone Tracking" tab, it is now possible
873
- to "unset" one or both of these time stamps. Next to the date/time entry field these is now a
874
- "Set" checkbox. When the date/time field is modified, the box is automatically checked because
875
- it seems reasonable to assume that the user wants this change to be committed. When committing
876
- an empty date/time field with the "Set" checkbox ticked, the <tt>null</tt> time stamp which
877
- makes this an open tracking interval is committed and will override any inference that may be
878
- made based on the race's start and finish time. When unchecking the "Set" checkbox, the previously
879
- committed timestamp is revoked (regardless of the contents of the date/time field), allowing for
880
- inference to take place if the regatta has been configured for tracking times inference.
881
- </li>
882
- <li>There is a new permission, <tt>DATA_MINING</tt>, which is now required in order to use the
883
- <tt>/gwt/DataMining.html</tt> entry point and the related back-end service.
884
- </li>
885
- <li>Quoted filtering keywords may now contain leading and/or trailing space characters that are
886
- considered when applying the filter. For example, if you have regatta names "Regatta I - 2017" and
887
- "Regatta II - 2017" and you would like to filter for "Regatta I" then you now may enter the
888
- search term "Regatta I " (with a trailing blank) which then will no longer match "Regatta II - 2017".
889
- </li>
870
+ <li>Filter boxes now support quoting phrases, such as <tt>"Race 2"</tt> to make them a single search term.
871
+ Previously, when entering <tt>Race 2</tt> this would match all lines containing <tt>Race</tt> as well
872
+ as all lines containing the digit <tt>2</tt>, such as it occurs in <tt>2015</tt> or <tt>2016</tt>.
873
+ Enclosing the phrase with double quotes as in <tt>"Race 2"</tt> will consider the full string in quotes
874
+ as a search term. In the unlikely case of searching for a double quote you can do that by prefixing
875
+ the double quote with a backslash character, as in <tt>\"</tt>.
876
+ </li>
877
+ <li>When changing the start/end of tracking times in the "Smartphone Tracking" tab, it is now possible
878
+ to "unset" one or both of these time stamps. Next to the date/time entry field these is now a
879
+ "Set" checkbox. When the date/time field is modified, the box is automatically checked because
880
+ it seems reasonable to assume that the user wants this change to be committed. When committing
881
+ an empty date/time field with the "Set" checkbox ticked, the <tt>null</tt> time stamp which
882
+ makes this an open tracking interval is committed and will override any inference that may be
883
+ made based on the race's start and finish time. When unchecking the "Set" checkbox, the previously
884
+ committed timestamp is revoked (regardless of the contents of the date/time field), allowing for
885
+ inference to take place if the regatta has been configured for tracking times inference.
886
+ </li>
887
+ <li>There is a new permission, <tt>DATA_MINING</tt>, which is now required in order to use the
888
+ <tt>/gwt/DataMining.html</tt> entry point and the related back-end service.
889
+ </li>
890
+ <li>Quoted filtering keywords may now contain leading and/or trailing space characters that are
891
+ considered when applying the filter. For example, if you have regatta names "Regatta I - 2017" and
892
+ "Regatta II - 2017" and you would like to filter for "Regatta I" then you now may enter the
893
+ search term "Regatta I " (with a trailing blank) which then will no longer match "Regatta II - 2017".
894
+ </li>
890 895
</ul>
891 896
<h2 class="articleSubheadline">December 2016</h2>
892 897
<ul class="bulletList">
893
- <li>Partial replication is now possible. If the system property <tt>replicate.on.start</tt>
894
- that controls automatic replication upon start-up provides only a partial comma-separated
895
- list of replicables, the connection to the master server (configured by the other
896
- replication-related system properties such as <tt>replicate.master.servlet.host</tt> etc.)
897
- will be used to replicate only those replicables whose IDs are specified in
898
- <tt>replicate.on.start</tt>. All other replicables will operate locally.
899
- Usually, the <tt>replicate.on.start</tt> system property is controlled
900
- by the environment variable <tt>REPLICATE_ON_START</tt> that is set in the <tt>env.sh</tt>
901
- configuration file used during server startup and influenced by the server environments
902
- from <a href="http://releases.sapsailing.com/environments">http://releases.sapsailing.com/environments</a>
903
- and overridden by the user details provided to the instance through the AWS EC2 machinery.<p>
904
- The Administration Console (<tt>/gwt/AdminConsole.html</tt> entry point) will now
905
- show which replicables a replica replicates, both, on the replica's administration
906
- console's "Replication" panel, as well as on the master's "Replication" panel, there
907
- for each replica.<p>
908
- The master will restrict broadcasting its operations to those replicables for which
909
- at least one replica has subscribed. While the initial load is requested individually
910
- for each replica and can therefore be tailored to the replicas requested, the operation
911
- broadcast channel is not specific to any replica. It therefore contains the operations
912
- of all replicables for which at least one replica has subscribed. Replicas receiving
913
- operations for replicables for which they did not subscribe will simply drop those
914
- operations (note, however, that the replica will still have to read the operations from the
915
- channel before dropping; this way, registering a replica may have bandwidth effects for
916
- other replicas). Similarly, "backward replication" from a replica to a master will only
917
- take place for those replicables for which the replica has requested replication from (and
918
- therefore also "to") the master.<p>
919
- With this it is now possible to replicate only the Security Service, using ID
920
- <tt>com.sap.sse.security.impl.SecurityServiceImpl</tt>, running all other replicables
921
- in "master mode." This will let the instance share user, permission, role and session management
922
- details with the instance from which the Security Service is being replicated while
923
- having its own master objects for all other replicables, such as the sailing application
924
- (RacingEventService), mail service or the polar data service. Note that with this feature
925
- the server replicating another instance's Security Service will grant the roles and permissions
926
- to subjects authenticated against that replicated Security Service. For example, if a user
927
- has been granted the <tt>admin</tt> role by that service then the user has that role also
928
- in all other server instances replicating that Security Service. Therefore, use this feature
929
- with extreme caution. Keep in mind that in the near future we will extend the permissions and
930
- role concept by the possibility to restrict permissions and roles to "scopes" such as an
931
- event or a regatta or an account. See also
932
- <a href="https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=3504">https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=3504</a>.
933
- </li>
934
- <li>The server can now optionally restore all races it had tracked the last time. This is
935
- similar to a web browser's capability to restore the tabs the user had open when the browser
936
- was terminated or crashed. To enable this feature, use the system property
937
- <tt>restore.tracked.races</tt>, using the command line option <tt>-Drestore.tracked.races=true</tt>.
938
- So far, the default for this system property is <tt>false</tt>, so by default, when the property
939
- is not provided at all on the command line then the tracked races loaded last won't be restored,
940
- and the server will start out with an empty set of tracked races.<p>
941
- Note that the wind tracking properties, as set when initially tracking the race, are also restored
942
- to their last state. If a live race has last been tracked with live wind tracking, with wind directions
943
- being corrected by the local magnetic declination, then upon server restore the same live tracking will
944
- be started again, including live wind tracking with the same declination correction settings.<p>
945
- When the "Stop Tracking" feature is used, implicitly tracking wind will be stopped in case live wind
946
- tracking had previously been requested for that race. This change is also considered during the restore
947
- process where such a race will no longer receive live wind tracking upon restoring it.<p>
948
- When a tracked race is removed from the server then it will not be restored anymore upon the next
949
- server restart with the restore option enabled. When an entire regatta with a number of tracked
950
- races linked into it is removed then the tracked races are removed as well and will not be
951
- restored upon server re-start.<p>
952
- The restore progress can be monitored using the JConsole or any other JMX monitoring tool. In the
953
- <tt>com.sap.sailing</tt> category you will find the <tt>RacingEventService</tt> object. Among its
954
- attributes there are now the two new ones: <tt>NumberOfTrackedRacesToRestore</tt> and
955
- <tt>NumberOfTrackedRacesRestored</tt>. See the following two screen shots:<p>
956
- <img width="100%" src="images/JConsoleNumberOfTrackedRacesToRestore.png"><p>
957
- <img width="100%" src="images/JConsoleNumberOfTrackedRacesRestored.png">
958
- </li>
898
+ <li>Partial replication is now possible. If the system property <tt>replicate.on.start</tt>
899
+ that controls automatic replication upon start-up provides only a partial comma-separated
900
+ list of replicables, the connection to the master server (configured by the other
901
+ replication-related system properties such as <tt>replicate.master.servlet.host</tt> etc.)
902
+ will be used to replicate only those replicables whose IDs are specified in
903
+ <tt>replicate.on.start</tt>. All other replicables will operate locally.
904
+ Usually, the <tt>replicate.on.start</tt> system property is controlled
905
+ by the environment variable <tt>REPLICATE_ON_START</tt> that is set in the <tt>env.sh</tt>
906
+ configuration file used during server startup and influenced by the server environments
907
+ from <a href="http://releases.sapsailing.com/environments">http://releases.sapsailing.com/environments</a>
908
+ and overridden by the user details provided to the instance through the AWS EC2 machinery.<p>
909
+ The Administration Console (<tt>/gwt/AdminConsole.html</tt> entry point) will now
910
+ show which replicables a replica replicates, both, on the replica's administration
911
+ console's "Replication" panel, as well as on the master's "Replication" panel, there
912
+ for each replica.<p>
913
+ The master will restrict broadcasting its operations to those replicables for which
914
+ at least one replica has subscribed. While the initial load is requested individually
915
+ for each replica and can therefore be tailored to the replicas requested, the operation
916
+ broadcast channel is not specific to any replica. It therefore contains the operations
917
+ of all replicables for which at least one replica has subscribed. Replicas receiving
918
+ operations for replicables for which they did not subscribe will simply drop those
919
+ operations (note, however, that the replica will still have to read the operations from the
920
+ channel before dropping; this way, registering a replica may have bandwidth effects for
921
+ other replicas). Similarly, "backward replication" from a replica to a master will only
922
+ take place for those replicables for which the replica has requested replication from (and
923
+ therefore also "to") the master.<p>
924
+ With this it is now possible to replicate only the Security Service, using ID
925
+ <tt>com.sap.sse.security.impl.SecurityServiceImpl</tt>, running all other replicables
926
+ in "master mode." This will let the instance share user, permission, role and session management
927
+ details with the instance from which the Security Service is being replicated while
928
+ having its own master objects for all other replicables, such as the sailing application
929
+ (RacingEventService), mail service or the polar data service. Note that with this feature
930
+ the server replicating another instance's Security Service will grant the roles and permissions
931
+ to subjects authenticated against that replicated Security Service. For example, if a user
932
+ has been granted the <tt>admin</tt> role by that service then the user has that role also
933
+ in all other server instances replicating that Security Service. Therefore, use this feature
934
+ with extreme caution. Keep in mind that in the near future we will extend the permissions and
935
+ role concept by the possibility to restrict permissions and roles to "scopes" such as an
936
+ event or a regatta or an account. See also
937
+ <a href="https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=3504">https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=3504</a>.
938
+ </li>
939
+ <li>The server can now optionally restore all races it had tracked the last time. This is
940
+ similar to a web browser's capability to restore the tabs the user had open when the browser
941
+ was terminated or crashed. To enable this feature, use the system property
942
+ <tt>restore.tracked.races</tt>, using the command line option <tt>-Drestore.tracked.races=true</tt>.
943
+ So far, the default for this system property is <tt>false</tt>, so by default, when the property
944
+ is not provided at all on the command line then the tracked races loaded last won't be restored,
945
+ and the server will start out with an empty set of tracked races.<p>
946
+ Note that the wind tracking properties, as set when initially tracking the race, are also restored
947
+ to their last state. If a live race has last been tracked with live wind tracking, with wind directions
948
+ being corrected by the local magnetic declination, then upon server restore the same live tracking will
949
+ be started again, including live wind tracking with the same declination correction settings.<p>
950
+ When the "Stop Tracking" feature is used, implicitly tracking wind will be stopped in case live wind
951
+ tracking had previously been requested for that race. This change is also considered during the restore
952
+ process where such a race will no longer receive live wind tracking upon restoring it.<p>
953
+ When a tracked race is removed from the server then it will not be restored anymore upon the next
954
+ server restart with the restore option enabled. When an entire regatta with a number of tracked
955
+ races linked into it is removed then the tracked races are removed as well and will not be
956
+ restored upon server re-start.<p>
957
+ The restore progress can be monitored using the JConsole or any other JMX monitoring tool. In the
958
+ <tt>com.sap.sailing</tt> category you will find the <tt>RacingEventService</tt> object. Among its
959
+ attributes there are now the two new ones: <tt>NumberOfTrackedRacesToRestore</tt> and
960
+ <tt>NumberOfTrackedRacesRestored</tt>. See the following two screen shots:<p>
961
+ <img width="100%" src="images/JConsoleNumberOfTrackedRacesToRestore.png"><p>
962
+ <img width="100%" src="images/JConsoleNumberOfTrackedRacesRestored.png">
963
+ </li>
959 964
</ul>
960 965
961 966
<h2 class="articleSubheadline">November 2016</h2>
962 967
<ul class="bulletList">
963
- <li>When launching a server, a system property <tt>polardata.source.url</tt> can
964
- be provided in order to specify a server base URL from where to import polar
965
- data into the upstarting server. Usually, this would be the "archive" server's
966
- base URL, such as https://www.sapsailing.com. Note that the exporting server
967
- needs to already support this feature and the importing and exporting server
968
- should be at roughly the same version to ensure binary compatibility for the
969
- polar sheet data.
970
- </li>
971
- <li>In the <em>Tracked Races / Competitors</em> tab there is now a new button "Import Competitor"
972
- that opens a dialog for selecting an import source. The Manage2Sail source is configured through
973
- the same URL as used for the result importer. Select the regatta from which you want to import,
974
- then check for which competitors there are matching / similar existing competitors. Single
975
- selection on the left lets you map to one of the matching existing competitors. Ultimately,
976
- select those competitors (including those you mapped to existing ones) you want to import.
977
- Optionally provide a search tag for them which will be added to the new and mapped-to
978
- competitors for easy retrieval later when selecting competitors to add to a regatta
979
- or race.
980
- </li>
968
+ <li>When launching a server, a system property <tt>polardata.source.url</tt> can
969
+ be provided in order to specify a server base URL from where to import polar
970
+ data into the upstarting server. Usually, this would be the "archive" server's
971
+ base URL, such as https://www.sapsailing.com. Note that the exporting server
972
+ needs to already support this feature and the importing and exporting server
973
+ should be at roughly the same version to ensure binary compatibility for the
974
+ polar sheet data.
975
+ </li>
976
+ <li>In the <em>Tracked Races / Competitors</em> tab there is now a new button "Import Competitor"
977
+ that opens a dialog for selecting an import source. The Manage2Sail source is configured through
978
+ the same URL as used for the result importer. Select the regatta from which you want to import,
979
+ then check for which competitors there are matching / similar existing competitors. Single
980
+ selection on the left lets you map to one of the matching existing competitors. Ultimately,
981
+ select those competitors (including those you mapped to existing ones) you want to import.
982
+ Optionally provide a search tag for them which will be added to the new and mapped-to
983
+ competitors for easy retrieval later when selecting competitors to add to a regatta
984
+ or race.
985
+ </li>
981 986
</ul>
982 987
983 988
<h2 class="articleSubheadline">October 2016</h2>
984 989
<ul class="bulletList">
985
- <li>A regatta now has an additional property: "Buoy zone radius in hull lengths." It
986
- can be used to determine the radius of the zone around the marks in terms of
987
- hull lengths. This sets the default for the race viewer (RaceBoard.html entry point)
988
- based on the hull length as known from the boat class.</li>
989
- <li>When producing the QR code for the Race Management App's device configurations,
990
- the access token parameter was not properly URL-encoded. In case the access token
991
- contains a '+' character it is incorrectly decoded by the app, letting the authentication
992
- fail. This issue has now been fixed in the AdminConsole, and the access token parameter is
993
- now properly URL-encoded.</li>
994
- <li>Tracked races can now also be filtered by the regatta to which they belong.
995
- When selecting a regatta leaderboard, by default the table of tracked races will be
996
- filtered by the regatta whose leaderboard was selected. The regatta filter can be
997
- used in conjunction with the regular text filter field.
998
- </li>
990
+ <li>A regatta now has an additional property: "Buoy zone radius in hull lengths." It
991
+ can be used to determine the radius of the zone around the marks in terms of
992
+ hull lengths. This sets the default for the race viewer (RaceBoard.html entry point)
993
+ based on the hull length as known from the boat class.</li>
994
+ <li>When producing the QR code for the Race Management App's device configurations,
995
+ the access token parameter was not properly URL-encoded. In case the access token
996
+ contains a '+' character it is incorrectly decoded by the app, letting the authentication
997
+ fail. This issue has now been fixed in the AdminConsole, and the access token parameter is
998
+ now properly URL-encoded.</li>
999
+ <li>Tracked races can now also be filtered by the regatta to which they belong.
1000
+ When selecting a regatta leaderboard, by default the table of tracked races will be
1001
+ filtered by the regatta whose leaderboard was selected. The regatta filter can be
1002
+ used in conjunction with the regular text filter field.
1003
+ </li>
999 1004
</ul>
1000 1005
1001 1006
<h2 class="articleSubheadline">September 2016</h2>
1002 1007
<ul class="bulletList">
1003
- <li>When denoting a regatta for smartphone tracking, the "By Marks" course designer is
1004
- automatically selected if no active regatta configuration was set yet, or a warning
1005
- and question to the user is issued, strongly suggesting the use of the "By Marks" course
1006
- designer. Background: using the "By Name" course designer could accidentally delete a
1007
- valid course layout.
1008
- </li>
1009
- <li>Regattas now have an additional setting: "Control tracking from start and finish times."
1010
- With it, the start and finish times for a race as entered into the race log, e.g., through
1011
- the Race Management app, can be used by tracking connectors to control the tracking for
1012
- that race. So far, the TracTrac connector and the Smartphone connector have been
1013
- enabled. When a start time for a race
1014
- is received and the "Control..." flag is set, the tracking start time will be set to
1015
- five minutes before the race start time. Similarly, when the blue flag is lowered, signaling
1016
- that the race has finished, the tracking end time will be set to two minutes later.
1017
- This should make an operator's job easier when the race timing is maintained properly
1018
- through the race log, i.e., through the Race Management app.<p>
1019
- In turn, for the Smartphone tracking connector, start/end tracking times are recorded
1020
- automatically upon start and stop tracking actions only if the regatta is <em>not</em>
1021
- marked as "Control tracking from start and finish times." Background: with this it is
1022
- possible to start tracking for a number of races scheduled for a day and having the
1023
- Race Management app control the tracking times automatically.
1024
- </li>
1025
- <li>The "start of tracking" property on a tracked race now has to be set to a valid, non-empty value
1026
- in order for fixed to be accepted into the race. As before, an empty "end of tracking" value
1027
- means an open-ended interval, and fixes at or after the start of tracking time point will then
1028
- continue to be accepted.
1029
- </li>
1030
- <li>The device mappings dialog now shows the time point of the last fix received from each mapping
1031
- and has a convenient filter text box.
1032
- </li>
1033
- <li>Thread management has been improved. Fewer and more reasonably-designed thread pools
1034
- are now created, and thread priorities less than normal (for background operations) now
1035
- correctly map to operating system thread priorities, making foreground tasks more
1036
- responsive. The less excessive concurrency has furthermore healthy effects on memory
1037
- mamangement and garbage collection.
1038
- </li>
1039
- <li>Fixed a bug in the smart phone tracking course designer. When adding or removing marks
1040
- now, unsaved changes to the waypoints and control points tables are preserved.
1041
- </li>
1008
+ <li>When denoting a regatta for smartphone tracking, the "By Marks" course designer is
1009
+ automatically selected if no active regatta configuration was set yet, or a warning
1010
+ and question to the user is issued, strongly suggesting the use of the "By Marks" course
1011
+ designer. Background: using the "By Name" course designer could accidentally delete a
1012
+ valid course layout.
1013
+ </li>
1014
+ <li>Regattas now have an additional setting: "Control tracking from start and finish times."
1015
+ With it, the start and finish times for a race as entered into the race log, e.g., through
1016
+ the Race Management app, can be used by tracking connectors to control the tracking for
1017
+ that race. So far, the TracTrac connector and the Smartphone connector have been
1018
+ enabled. When a start time for a race
1019
+ is received and the "Control..." flag is set, the tracking start time will be set to
1020
+ five minutes before the race start time. Similarly, when the blue flag is lowered, signaling
1021
+ that the race has finished, the tracking end time will be set to two minutes later.
1022
+ This should make an operator's job easier when the race timing is maintained properly
1023
+ through the race log, i.e., through the Race Management app.<p>
1024
+ In turn, for the Smartphone tracking connector, start/end tracking times are recorded
1025
+ automatically upon start and stop tracking actions only if the regatta is <em>not</em>
1026
+ marked as "Control tracking from start and finish times." Background: with this it is
1027
+ possible to start tracking for a number of races scheduled for a day and having the
1028
+ Race Management app control the tracking times automatically.
1029
+ </li>
1030
+ <li>The "start of tracking" property on a tracked race now has to be set to a valid, non-empty value
1031
+ in order for fixed to be accepted into the race. As before, an empty "end of tracking" value
1032
+ means an open-ended interval, and fixes at or after the start of tracking time point will then
1033
+ continue to be accepted.
1034
+ </li>
1035
+ <li>The device mappings dialog now shows the time point of the last fix received from each mapping
1036
+ and has a convenient filter text box.
1037
+ </li>
1038
+ <li>Thread management has been improved. Fewer and more reasonably-designed thread pools
1039
+ are now created, and thread priorities less than normal (for background operations) now
1040
+ correctly map to operating system thread priorities, making foreground tasks more
1041
+ responsive. The less excessive concurrency has furthermore healthy effects on memory
1042
+ mamangement and garbage collection.
1043
+ </li>
1044
+ <li>Fixed a bug in the smart phone tracking course designer. When adding or removing marks
1045
+ now, unsaved changes to the waypoints and control points tables are preserved.
1046
+ </li>
1042 1047
</ul>
1043 1048
1044 1049
<h2 class="articleSubheadline">July 2016</h2>
... ...
@@ -1055,91 +1060,91 @@
1055 1060
Extreme Sailing Series events only. This kind of data can be uploaded via a new dialog
1056 1061
within the AdminConsole (Connectors > Smartphone Tracking)
1057 1062
</li>
1058
- <li>When a competitor is suppressed in a leaderboard, now the other competitors ranking
1059
- worse will be "promoted" by one rank per better suppressed competitor. This way, live
1060
- ranks will be correct if, e.g., a "Flexible Leaderboard" is used for a separate scoring
1061
- scheme for only a subset of the competitor.
1062
- </li>
1063
- <li>When entering a fixed position for a mark in the "Smartphone Tracking" environment it is
1064
- now possible to enter a time stamp for the fix. This way it is also possible to adjust
1065
- a mark's position to a fixed lat/lng for some time point in the past.
1066
- </li>
1067
- <li>A series within a regatta can now define a maximum number of discards applied in that
1068
- series. When combined with leaderboard-wide discards, generally discards can be distributed
1069
- across the leaderboard as needed, but restricted by the maximum specified for each series.
1070
- Leave the maximum empty to not provide any maximum. Setting to 0 will cause no scores to
1071
- be discarded in that series.
1072
- </li>
1073
- <li>An event now has a "Base URL" which should be used to enable useful e-mail notifications with
1074
- links embedded in them that lead to the correct server. If a notification is to contain
1075
- a link to a dedicated event server, the event cannot be reached through www.sapsailing.com,
1076
- and so if this generic link is used as a default, users will end up not finding the page
1077
- linked to by the notification.
1078
- </li>
1079
- <li>The checkboxes "Track Wind" and "Correct by Declination" are now switched on by default
1080
- for smartphone-tracked races
1081
- </li>
1063
+ <li>When a competitor is suppressed in a leaderboard, now the other competitors ranking
1064
+ worse will be "promoted" by one rank per better suppressed competitor. This way, live
1065
+ ranks will be correct if, e.g., a "Flexible Leaderboard" is used for a separate scoring
1066
+ scheme for only a subset of the competitor.
1067
+ </li>
1068
+ <li>When entering a fixed position for a mark in the "Smartphone Tracking" environment it is
1069
+ now possible to enter a time stamp for the fix. This way it is also possible to adjust
1070
+ a mark's position to a fixed lat/lng for some time point in the past.
1071
+ </li>
1072
+ <li>A series within a regatta can now define a maximum number of discards applied in that
1073
+ series. When combined with leaderboard-wide discards, generally discards can be distributed
1074
+ across the leaderboard as needed, but restricted by the maximum specified for each series.
1075
+ Leave the maximum empty to not provide any maximum. Setting to 0 will cause no scores to
1076
+ be discarded in that series.
1077
+ </li>
1078
+ <li>An event now has a "Base URL" which should be used to enable useful e-mail notifications with
1079
+ links embedded in them that lead to the correct server. If a notification is to contain
1080
+ a link to a dedicated event server, the event cannot be reached through www.sapsailing.com,
1081
+ and so if this generic link is used as a default, users will end up not finding the page
1082
+ linked to by the notification.
1083
+ </li>
1084
+ <li>The checkboxes "Track Wind" and "Correct by Declination" are now switched on by default
1085
+ for smartphone-tracked races
1086
+ </li>
1082 1087
</ul>
1083
-
1088
+
1084 1089
<h2 class="articleSubheadline">June 2016</h2>
1085 1090
<ul class="bulletList">
1086
- <li>Some REST APIs have slightly changed. The /api/v1/leaderboards/{name} resource now
1087
- has the "netPoints" and "totalPoints" stuff right. The "netPoints" always refer to
1088
- scores which may be reduced due to discarding rules. Total points always refer to
1089
- the points before applying any discarding rules. Those numeric values for which so far
1090
- accidentally String types with double-quoted values were used have been changed to
1091
- numeric types, represented in the JSON documents without double quotes.
1092
- </li>
1093
- <li>It is now possible to use overlapping leaderboard groups in an event, such that one
1094
- leaderboard can be part of more than one leaderboard group of the event. This comes in
1095
- handy if there are different schemes by which the regattas or leaderboards may be grouped
1096
- and is particularly useful for large events for filtering the regattas in the event
1097
- overview. Please note that in case a leaderboard is part of a leaderboard group with
1098
- an overall leaderboard ("series scoring"), the leaderboard group with the overall
1099
- leaderboard must be provided as the first of the overlapping leaderboard groups in
1100
- the scope of the event.
1101
- </li>
1102
- <li>Earlier releases have introduced an issue with leaderboard configuration and with binding
1103
- tracked races to their leaderboard slots. When a filter is set for the tracked races list,
1104
- changing the leaderboard selection or changing the race column selection such that the
1105
- tracked race for a selected race column is not visible due to the filter, the connection
1106
- between the race column and the tracked race is removed.<p>
1107
- In order to reduce chances for failure, now at least changing the leaderboard selection
1108
- will de-select any selected race column, making sure that nothing needs to be selected
1109
- in the potentially filtered list of tracked races.<p>
1110
- However, trouble remains: changing the tracked races filter while having a race column
1111
- with a tracked race connected selected in the table on the left will unlink the race
1112
- column's tracked race. As a workaround, you'll have to either de-select the race column
1113
- in the left table before changing the filter, e.g., by Ctrl-clicking the race column
1114
- selected. Or you remove any filter text for the tracked races list before you change
1115
- the selection in the race column table. This will make sure that the race connected
1116
- to the race column that you may select next will be available for automatic selection.
1117
- </li>
1091
+ <li>Some REST APIs have slightly changed. The /api/v1/leaderboards/{name} resource now
1092
+ has the "netPoints" and "totalPoints" stuff right. The "netPoints" always refer to
1093
+ scores which may be reduced due to discarding rules. Total points always refer to
1094
+ the points before applying any discarding rules. Those numeric values for which so far
1095
+ accidentally String types with double-quoted values were used have been changed to
1096
+ numeric types, represented in the JSON documents without double quotes.
1097
+ </li>
1098
+ <li>It is now possible to use overlapping leaderboard groups in an event, such that one
1099
+ leaderboard can be part of more than one leaderboard group of the event. This comes in
1100
+ handy if there are different schemes by which the regattas or leaderboards may be grouped
1101
+ and is particularly useful for large events for filtering the regattas in the event
1102
+ overview. Please note that in case a leaderboard is part of a leaderboard group with
1103
+ an overall leaderboard ("series scoring"), the leaderboard group with the overall
1104
+ leaderboard must be provided as the first of the overlapping leaderboard groups in
1105
+ the scope of the event.
1106
+ </li>
1107
+ <li>Earlier releases have introduced an issue with leaderboard configuration and with binding
1108
+ tracked races to their leaderboard slots. When a filter is set for the tracked races list,
1109
+ changing the leaderboard selection or changing the race column selection such that the
1110
+ tracked race for a selected race column is not visible due to the filter, the connection
1111
+ between the race column and the tracked race is removed.<p>
1112
+ In order to reduce chances for failure, now at least changing the leaderboard selection
1113
+ will de-select any selected race column, making sure that nothing needs to be selected
1114
+ in the potentially filtered list of tracked races.<p>
1115
+ However, trouble remains: changing the tracked races filter while having a race column
1116
+ with a tracked race connected selected in the table on the left will unlink the race
1117
+ column's tracked race. As a workaround, you'll have to either de-select the race column
1118
+ in the left table before changing the filter, e.g., by Ctrl-clicking the race column
1119
+ selected. Or you remove any filter text for the tracked races list before you change
1120
+ the selection in the race column table. This will make sure that the race connected
1121
+ to the race column that you may select next will be available for automatic selection.
1122
+ </li>
1118 1123
</ul>
1119 1124
1120 1125
<h2 class="articleSubheadline">May 2016</h2>
1121 1126
<ul class="bulletList">
1122
- <li>Smartphone tracking support has been improved. When starting to track a race that has no
1123
- start-of-tracking time set yet, the start-of-tracking time will be set to the time point
1124
- when tracking has been started. Similarly, when stopping tracking and no end-of-tracking
1125
- time is set for the race yet, the current time is set as the end-of-tracking time for
1126
- that race.
1127
- </li>
1128
- <li>Regatta structure import from Manage2Sail now takes the boat class name from the
1129
- regatta, not the division element, giving better results.
1130
- </li>
1127
+ <li>Smartphone tracking support has been improved. When starting to track a race that has no
1128
+ start-of-tracking time set yet, the start-of-tracking time will be set to the time point
1129
+ when tracking has been started. Similarly, when stopping tracking and no end-of-tracking
1130
+ time is set for the race yet, the current time is set as the end-of-tracking time for
1131
+ that race.
1132
+ </li>
1133
+ <li>Regatta structure import from Manage2Sail now takes the boat class name from the
1134
+ regatta, not the division element, giving better results.
1135
+ </li>
1131 1136
</ul>
1132 1137
1133 1138
<h2 class="articleSubheadline">April 2016</h2>
1134 1139
<ul class="bulletList">
1135
- <li>In the "Race Manager App" regatta configuration settings, a new preference
1136
- "Activate result entry" has been added. It can enable or diable result entry
1137
- during or after the finishing phase in the Race Manager app. With this, it is
1138
- possible to configure up-front whether a race officer is offered the possibility to manage
1139
- results directly from the Race Manager app. This should <em>not</em> be used if an
1140
- external, official regatta management system is being used to capture and manage
1141
- the official scores.
1142
- </li>
1140
+ <li>In the "Race Manager App" regatta configuration settings, a new preference
1141
+ "Activate result entry" has been added. It can enable or diable result entry
1142
+ during or after the finishing phase in the Race Manager app. With this, it is
1143
+ possible to configure up-front whether a race officer is offered the possibility to manage
1144
+ results directly from the Race Manager app. This should <em>not</em> be used if an
1145
+ external, official regatta management system is being used to capture and manage
1146
+ the official scores.
1147
+ </li>
1143 1148
</ul>
1144 1149
1145 1150
<h2 class="articleSubheadline">March 2016</h2>
... ...
@@ -1147,9 +1152,9 @@
1147 1152
<li>For smartphone tracking, added shortcut to start/stop tracking of
1148 1153
race to each individual race (play/stop button in action column).
1149 1154
</li>
1150
- <li>When starting/stopping to track a race using smartphone tracking the
1151
- tracking start/stop time is set to "now" if no time has previously been set.
1152
- </li>
1155
+ <li>When starting/stopping to track a race using smartphone tracking the
1156
+ tracking start/stop time is set to "now" if no time has previously been set.
1157
+ </li>
1153 1158
<li>With the <b>MANAGE_MARK_POSITIONS</b> permission, users of the smartphone tracking feature can now
1154 1159
conveniently manipulate course mark positions from the <em>RaceBoard.html</em> entry point. When having
1155 1160
the permission, a new button "Edit Mark Positions" will be shown. Marks can then be selected from a
... ...
@@ -1174,9 +1179,9 @@
1174 1179
1175 1180
<h2 class="articleSubheadline">February 2016</h2>
1176 1181
<ul class="bulletList">
1177
- <li>Several improvements regarding the creation of race metadata (events, regatta, etc.) including:
1178
- automatic creation of default series, dialog for creating a default leaderboard group
1179
- </li>
1182
+ <li>Several improvements regarding the creation of race metadata (events, regatta, etc.) including:
1183
+ automatic creation of default series, dialog for creating a default leaderboard group
1184
+ </li>
1180 1185
<li>The RaceBoard URL Parameter "canReplayDuringLiveRaces" has been removed.
1181 1186
This parameter was used to allow users to trigger autoplay for live races on non-live points in time.
1182 1187
The permission "CAN_REPLAY_DURING_LIVE_RACES" and role "moderator" now grant this functionality to users.
... ...
@@ -1208,13 +1213,13 @@
1208 1213
<li>Competitor and course information can now be copied independently from one race to another within a Smartphone-tracked leaderboard.
1209 1214
</li>
1210 1215
</ul>
1211
- <h2 class="articleSubheadline">November 2015</h2>
1212
- <ul class="bulletList">
1216
+ <h2 class="articleSubheadline">November 2015</h2>
1217
+ <ul class="bulletList">
1213 1218
<li>Adding a competitor to a leaderboard or a regatta pre-sets the competitor's boat class
1214 1219
according to the leaderboard's / regatta's boat class.
1215 1220
</li>
1216 1221
<li>When done with creating a regatta, the user can have the corresponding regatta leaderboard
1217
- created with a simple click instead of having to navigate to the "Leaderboards" tab.
1222
+ created with a simple click instead of having to navigate to the "Leaderboards" tab.
1218 1223
</li>
1219 1224
<li>Trim leaderboard and leaderboard group names during creation, removing leading and trailing
1220 1225
blanks. These names can occur in URLs, and trailing blanks in particular may be trimmed,
... ...
@@ -1228,168 +1233,168 @@
1228 1233
<li>Competitor and course information can now be copied independently from one race to another within a Smartphone-tracked leaderboard.
1229 1234
</li>
1230 1235
</ul>
1231
- <h2 class="articleSubheadline">September 2015</h2>
1232
- <ul class="bulletList">
1233
- <li>A new scoring scheme for elimination rounds has been added. It will first be used
1234
- at a major wind surfing event.
1235
- </li>
1236
- <li>The "Device Configuration" tab has been moved into a new top-level tab
1237
- "Race Committee App".
1238
- </li>
1239
- <li>Included magnetic declination data for 2016 already.
1240
- </li>
1241
- <li>Bug fix: in rare cases, adding several series to a regatta in one go swapped the order
1242
- of the series to be created. This has now been fixed.
1243
- </li>
1244
- </ul>
1245
- <h2 class="articleSubheadline">August 2015</h2>
1246
- <ul class="bulletList">
1247
- <li>Race log tracking now allows administrators to set the start and end of tracking for a race.
1248
- Competitor and mark positions as well as wind data are filtered based on the start/end of tracking
1249
- intervals.
1250
- </li>
1251
- <li>Setting the boat class for a regatta and when creating a competitor has been unified and now
1252
- uses a suggest text box which makes suggestions based on all the boat classes known by the
1253
- application. In both cases can users now also enter a "free-form" boat class which is then
1254
- created by the server if not known yet. Note that for such boat classes no boat class icon
1255
- will be present when showing the regatta on the web page.
1256
- </li>
1257
- <li>Added boat classes Soling, Lago 26, Kielzugvogel, PWA (Professional Windsurfers Association)
1258
- </li>
1259
- </ul>
1260
- <h2 class="articleSubheadline">June 2015</h2>
1261
- <ul class="bulletList">
1262
- <li>An event an now have a "Sailors' Info" URL configured. If provided, there will be a button
1263
- displayed on the event's web page that navigates to this link. It can be used, e.g., to link
1264
- to official documents such as the notice of race, sailing instructions, weather information
1265
- or similar.
1266
- </li>
1267
- </ul>
1268
- <h2 class="articleSubheadline">April 2015</h2>
1269
- <ul class="bulletList">
1270
- <li>Competitors can now have a flag image assigned. This image should ideally be
1271
- sized 18x11px. If such an image is assigned, it overrules the nationality flag.
1272
- Use this feature to provide club flags for sailing league events.
1273
- </li>
1274
- </ul>
1275
- <h2 class="articleSubheadline">February 2015</h2>
1276
- <ul class="bulletList">
1277
- <li>The Event panel now links the event name to the event page in the new design. The old "RegattaOverview"
1278
- link is now shown in the panel below, shown when selecting the event in the table above, called
1279
- "Event Overview."
1280
- </li>
1281
- </ul>
1236
+ <h2 class="articleSubheadline">September 2015</h2>
1237
+ <ul class="bulletList">
1238
+ <li>A new scoring scheme for elimination rounds has been added. It will first be used
1239
+ at a major wind surfing event.
1240
+ </li>
1241
+ <li>The "Device Configuration" tab has been moved into a new top-level tab
1242
+ "Race Committee App".
1243
+ </li>
1244
+ <li>Included magnetic declination data for 2016 already.
1245
+ </li>
1246
+ <li>Bug fix: in rare cases, adding several series to a regatta in one go swapped the order
1247
+ of the series to be created. This has now been fixed.
1248
+ </li>
1249
+ </ul>
1250
+ <h2 class="articleSubheadline">August 2015</h2>
1251
+ <ul class="bulletList">
1252
+ <li>Race log tracking now allows administrators to set the start and end of tracking for a race.
1253
+ Competitor and mark positions as well as wind data are filtered based on the start/end of tracking
1254
+ intervals.
1255
+ </li>
1256
+ <li>Setting the boat class for a regatta and when creating a competitor has been unified and now
1257
+ uses a suggest text box which makes suggestions based on all the boat classes known by the
1258
+ application. In both cases can users now also enter a "free-form" boat class which is then
1259
+ created by the server if not known yet. Note that for such boat classes no boat class icon
1260
+ will be present when showing the regatta on the web page.
1261
+ </li>
1262
+ <li>Added boat classes Soling, Lago 26, Kielzugvogel, PWA (Professional Windsurfers Association)
1263
+ </li>
1264
+ </ul>
1265
+ <h2 class="articleSubheadline">June 2015</h2>
1266
+ <ul class="bulletList">
1267
+ <li>An event an now have a "Sailors' Info" URL configured. If provided, there will be a button
1268
+ displayed on the event's web page that navigates to this link. It can be used, e.g., to link
1269
+ to official documents such as the notice of race, sailing instructions, weather information
1270
+ or similar.
1271
+ </li>
1272
+ </ul>
1273
+ <h2 class="articleSubheadline">April 2015</h2>
1274
+ <ul class="bulletList">
1275
+ <li>Competitors can now have a flag image assigned. This image should ideally be
1276
+ sized 18x11px. If such an image is assigned, it overrules the nationality flag.
1277
+ Use this feature to provide club flags for sailing league events.
1278
+ </li>
1279
+ </ul>
1280
+ <h2 class="articleSubheadline">February 2015</h2>
1281
+ <ul class="bulletList">
1282
+ <li>The Event panel now links the event name to the event page in the new design. The old "RegattaOverview"
1283
+ link is now shown in the panel below, shown when selecting the event in the table above, called
1284
+ "Event Overview."
1285
+ </li>
1286
+ </ul>
1282 1287
1283
- <h2 class="articleSubheadline">December 2014</h2>
1284
- <ul class="bulletList">
1285
- <li>We added user management. The /gwt/AdminConsole.html entry point for a fresh server set-up uses
1286
- admin/admin as username/password. You can change the password in the "Advanced &gt; User Management"
1287
- tab where also new users can be created. If you assign a use the role "admin" then the user will
1288
- be able to use the administration console. Stay tuned for a more sophisticated set of roles and
1289
- permissions to be added in the future.
1290
- </li>
1291
- <li>Reverse replication is now possible for selected events. When a replica instance receives a
1292
- modifying operation, such as a user logging in (creating a user session) or a wind fix being
1293
- entered through the Race Committee App, this change will be sent from the replica to the master
1294
- and from there be replicated to all other replicas attached.
1295
- </li>
1296
- <li>Starting a server with auto-replication enabled has been changed. The REPLICATE_ON_START environment
1297
- variable no longer is a Boolean value (True/False) but now has to list the replication services to be
1298
- replicated from the master. The default environments for replicas at
1299
- <a href="http://releases.sapsailing.com/environments">http://releases.sapsailing.com/environments</a>
1300
- show how this works.
1301
- </li>
1302
- <li>The "Connectors" category has a new tab in the administration console, entitled "Regatta Structure Import".
1303
- If your regatta management system happens to be <a href="http://manage2sail.com">Manage2Sail</a>
1304
- you can enter an event ID and show the list of regattas, then set defaults for how they shall be
1305
- created in the SAP Sailing Analytics. This allows you to import and create many regattas at once,
1306
- saving the laborious effort of manually creating them. Obviously, this can come in handy at large
1307
- events with regattas on many course areas in several different boat classes.
1308
- </li>
1309
- </ul>
1310
-
1311
- <h2 class="articleSubheadline">July 2014</h2>
1312
- <ul class="bulletList">
1313
- <li>Replication has become much more robust and efficient. The initial load which used to be sent in a
1314
- single huge (although compressed) stream of data from the master to the replica(s) was hard to get
1315
- transmitted in the face of flaky and slow network connections. We've changed this: now the initial
1316
- load is transmitted as a sequence of messages using a message broker infrastructure. If a single
1317
- message doesn't arrive, it will be re-sent until it got through. The messages are buffered for several
1318
- minutes, so the initial load transmission can even survive and recover from severe network outages.<p>
1319
-
1320
- For the incremental replication process, we added compression, making the transmission more bandwidth-efficient
1321
- and therefore quicker and leaner. In addition, we've cleaned up the protocol a little, avoiding the
1322
- sending of redundant data, adding to the effects of compression. Replicating five live races with
1323
- approximately 40 to 50 competitors each, with four active wind measurement units each, requires approximately
1324
- 30kB/s of network bandwidth between master and replica.
1325
- </li>
1326
- <li>Events now have lots of new attributes, particularly start/end date and multimedia content URLs</li>
1327
-
1328
- <li>Regattas can now be edited to <em>not</em> perform start time inference based on start mark passings.
1329
- Usually, when no start time is set by the race committee app or by the tracking provider or manually
1330
- through the administration console, the start time is inferred from the mark passings for the start
1331
- line. However, this can lead to unpleasant effects when the race committee aborts or postpones a race
1332
- and doesn't set a new start time for some period of time. When during this period one or more boats
1333
- cross the start line, a new start time would be inferred implicitly, showing scores in the leaderboard
1334
- and starting to compute all sorts of metrics. To avoid this, uncheck the checkbox
1335
- "Use start time inference from start mark passings" in the regatta create / edit dialog.</li>
1336
-
1337
- <li>When creating a regatta in the administration console, the regatta name is now taken from the create
1338
- dialog's "Name" field as-is and is no longer automatically extended by appending the boat class name
1339
- in parentheses to the base name. This is important to know if you so far have created several regattas
1340
- within the scope of the same event by simply providing the event name and the boat class name, relying
1341
- on the administration console to extend the regatta name by the boat class name because now with this
1342
- strategy your regattas would all be named the same. If you want to continue using some base name and
1343
- see the boat class name after the base name in parentheses you will now have to add that to the "Name"
1344
- field yourself, as in "Kieler Woche 2014 (470)". With this change, you can avoid having special
1345
- characters such as "/" in the regatta name which used to be a problem in particular for RESTful web services
1346
- that use the regatta name as a URL element. Boat classes such as "B/one" and "J/70" traditionally
1347
- had issues with this. Now, the regatta can simply be named "My Event (J70)" instead, and web service
1348
- access is hassle-free. The boat class can still be called "J/70" which can be useful if the result
1349
- management tool or the tracking partner spells it that way.</li>
1350
- </ul>
1351
-
1352
- <h2 class="articleSubheadline">March 2014</h2>
1353
- <ul class="bulletList">
1354
- <li>XML export of leaderboards now also taking into account competitors that haven't sailed a race but got a score</li>
1355
- </ul>
1356
-
1357
- <h2 class="articleSubheadline">February 2014</h2>
1358
- <ul class="bulletList">
1359
- <li>Series name can be edited</li>
1288
+ <h2 class="articleSubheadline">December 2014</h2>
1289
+ <ul class="bulletList">
1290
+ <li>We added user management. The /gwt/AdminConsole.html entry point for a fresh server set-up uses
1291
+ admin/admin as username/password. You can change the password in the "Advanced &gt; User Management"
1292
+ tab where also new users can be created. If you assign a use the role "admin" then the user will
1293
+ be able to use the administration console. Stay tuned for a more sophisticated set of roles and
1294
+ permissions to be added in the future.
1295
+ </li>
1296
+ <li>Reverse replication is now possible for selected events. When a replica instance receives a
1297
+ modifying operation, such as a user logging in (creating a user session) or a wind fix being
1298
+ entered through the Race Committee App, this change will be sent from the replica to the master
1299
+ and from there be replicated to all other replicas attached.
1300
+ </li>
1301
+ <li>Starting a server with auto-replication enabled has been changed. The REPLICATE_ON_START environment
1302
+ variable no longer is a Boolean value (True/False) but now has to list the replication services to be
1303
+ replicated from the master. The default environments for replicas at
1304
+ <a href="http://releases.sapsailing.com/environments">http://releases.sapsailing.com/environments</a>
1305
+ show how this works.
1306
+ </li>
1307
+ <li>The "Connectors" category has a new tab in the administration console, entitled "Regatta Structure Import".
1308
+ If your regatta management system happens to be <a href="http://manage2sail.com">Manage2Sail</a>
1309
+ you can enter an event ID and show the list of regattas, then set defaults for how they shall be
1310
+ created in the SAP Sailing Analytics. This allows you to import and create many regattas at once,
1311
+ saving the laborious effort of manually creating them. Obviously, this can come in handy at large
1312
+ events with regattas on many course areas in several different boat classes.
1313
+ </li>
1314
+ </ul>
1315
+
1316
+ <h2 class="articleSubheadline">July 2014</h2>
1317
+ <ul class="bulletList">
1318
+ <li>Replication has become much more robust and efficient. The initial load which used to be sent in a
1319
+ single huge (although compressed) stream of data from the master to the replica(s) was hard to get
1320
+ transmitted in the face of flaky and slow network connections. We've changed this: now the initial
1321
+ load is transmitted as a sequence of messages using a message broker infrastructure. If a single
1322
+ message doesn't arrive, it will be re-sent until it got through. The messages are buffered for several
1323
+ minutes, so the initial load transmission can even survive and recover from severe network outages.<p>
1324
+
1325
+ For the incremental replication process, we added compression, making the transmission more bandwidth-efficient
1326
+ and therefore quicker and leaner. In addition, we've cleaned up the protocol a little, avoiding the
1327
+ sending of redundant data, adding to the effects of compression. Replicating five live races with
1328
+ approximately 40 to 50 competitors each, with four active wind measurement units each, requires approximately
1329
+ 30kB/s of network bandwidth between master and replica.
1330
+ </li>
1331
+ <li>Events now have lots of new attributes, particularly start/end date and multimedia content URLs</li>
1332
+
1333
+ <li>Regattas can now be edited to <em>not</em> perform start time inference based on start mark passings.
1334
+ Usually, when no start time is set by the race committee app or by the tracking provider or manually
1335
+ through the administration console, the start time is inferred from the mark passings for the start
1336
+ line. However, this can lead to unpleasant effects when the race committee aborts or postpones a race
1337
+ and doesn't set a new start time for some period of time. When during this period one or more boats
1338
+ cross the start line, a new start time would be inferred implicitly, showing scores in the leaderboard
1339
+ and starting to compute all sorts of metrics. To avoid this, uncheck the checkbox
1340
+ "Use start time inference from start mark passings" in the regatta create / edit dialog.</li>
1341
+
1342
+ <li>When creating a regatta in the administration console, the regatta name is now taken from the create
1343
+ dialog's "Name" field as-is and is no longer automatically extended by appending the boat class name
1344
+ in parentheses to the base name. This is important to know if you so far have created several regattas
1345
+ within the scope of the same event by simply providing the event name and the boat class name, relying
1346
+ on the administration console to extend the regatta name by the boat class name because now with this
1347
+ strategy your regattas would all be named the same. If you want to continue using some base name and
1348
+ see the boat class name after the base name in parentheses you will now have to add that to the "Name"
1349
+ field yourself, as in "Kieler Woche 2014 (470)". With this change, you can avoid having special
1350
+ characters such as "/" in the regatta name which used to be a problem in particular for RESTful web services
1351
+ that use the regatta name as a URL element. Boat classes such as "B/one" and "J/70" traditionally
1352
+ had issues with this. Now, the regatta can simply be named "My Event (J70)" instead, and web service
1353
+ access is hassle-free. The boat class can still be called "J/70" which can be useful if the result
1354
+ management tool or the tracking partner spells it that way.</li>
1355
+ </ul>
1356
+
1357
+ <h2 class="articleSubheadline">March 2014</h2>
1358
+ <ul class="bulletList">
1359
+ <li>XML export of leaderboards now also taking into account competitors that haven't sailed a race but got a score</li>
1360
+ </ul>
1361
+
1362
+ <h2 class="articleSubheadline">February 2014</h2>
1363
+ <ul class="bulletList">
1364
+ <li>Series name can be edited</li>
1360 1365
1361
- <li>Now one can add a new series to an existing regatta</li>
1366
+ <li>Now one can add a new series to an existing regatta</li>
1362 1367
1363
- <li>Introduced new series scheme where competitors are scored contigously over all fleets</li>
1368
+ <li>Introduced new series scheme where competitors are scored contigously over all fleets</li>
1364 1369
</ul>
1365
- <h2 class="articleSubheadline">January 2014</h2>
1366
- <ul class="bulletList">
1367
- <li>New version of TracTrac connector that fixes issues with concurrent loading
1368
- of many races</li>
1370
+ <h2 class="articleSubheadline">January 2014</h2>
1371
+ <ul class="bulletList">
1372
+ <li>New version of TracTrac connector that fixes issues with concurrent loading
1373
+ of many races</li>
1369 1374
1370
- <li>Wind data can be imported from Expedition log files and from Igtimi WindBots</li>
1375
+ <li>Wind data can be imported from Expedition log files and from Igtimi WindBots</li>
1371 1376
1372
- <li>Competitors can be assigned fixed colors</li>
1377
+ <li>Competitors can be assigned fixed colors</li>
1373 1378
1374
- <li>Video files can be interactively linked to races</li>
1379
+ <li>Video files can be interactively linked to races</li>
1375 1380
1376
- <li>Admin Console consistently sorts alpha-numeric items such that
1377
- numbers embedded in text are sorted by their numeric values (Race 2
1378
- precedes Race 11)</li>
1381
+ <li>Admin Console consistently sorts alpha-numeric items such that
1382
+ numbers embedded in text are sorted by their numeric values (Race 2
1383
+ precedes Race 11)</li>
1379 1384
1380
- <li>AdminConsole has more consistent filter behavior as more columns are
1381
- used for filtering; some sorting options were added</li>
1385
+ <li>AdminConsole has more consistent filter behavior as more columns are
1386
+ used for filtering; some sorting options were added</li>
1382 1387
1383
- <li>Added a button to set the start time received of a tracked race. This time
1384
- isn't persistent, so it'll be forgotten after a server restart</li>
1388
+ <li>Added a button to set the start time received of a tracked race. This time
1389
+ isn't persistent, so it'll be forgotten after a server restart</li>
1385 1390
1386
- <li>Tracking a race with a wrong regatta is now forbidden</li>
1387
- </ul>
1388
- </div>
1389
- </div>
1390
- </div>
1391
- <div class="spaceBar"></div>
1392
- </div>
1391
+ <li>Tracking a race with a wrong regatta is now forbidden</li>
1392
+ </ul>
1393
+ </div>
1394
+ </div>
1395
+ </div>
1396
+ <div class="spaceBar"></div>
1397
+ </div>
1393 1398
</body>
1394 1399
1395 1400
</html>
java/com.sap.sse.debranding/.classpath
... ...
@@ -0,0 +1,7 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<classpath>
3
+ <classpathentry kind="src" path="src"/>
4
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
6
+ <classpathentry kind="output" path="bin"/>
7
+</classpath>
java/com.sap.sse.debranding/.gitignore
... ...
@@ -0,0 +1 @@
1
+/bin
java/com.sap.sse.debranding/.project
... ...
@@ -0,0 +1,28 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<projectDescription>
3
+ <name>com.sap.sse.debranding</name>
4
+ <comment></comment>
5
+ <projects>
6
+ </projects>
7
+ <buildSpec>
8
+ <buildCommand>
9
+ <name>org.eclipse.jdt.core.javabuilder</name>
10
+ <arguments>
11
+ </arguments>
12
+ </buildCommand>
13
+ <buildCommand>
14
+ <name>org.eclipse.pde.ManifestBuilder</name>
15
+ <arguments>
16
+ </arguments>
17
+ </buildCommand>
18
+ <buildCommand>
19
+ <name>org.eclipse.pde.SchemaBuilder</name>
20
+ <arguments>
21
+ </arguments>
22
+ </buildCommand>
23
+ </buildSpec>
24
+ <natures>
25
+ <nature>org.eclipse.pde.PluginNature</nature>
26
+ <nature>org.eclipse.jdt.core.javanature</nature>
27
+ </natures>
28
+</projectDescription>
java/com.sap.sse.debranding/.settings/org.eclipse.jdt.core.prefs
... ...
@@ -0,0 +1,15 @@
1
+eclipse.preferences.version=1
2
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6
+org.eclipse.jdt.core.compiler.compliance=1.8
7
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
9
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
12
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
13
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
14
+org.eclipse.jdt.core.compiler.release=disabled
15
+org.eclipse.jdt.core.compiler.source=1.8
java/com.sap.sse.debranding/META-INF/MANIFEST.MF
... ...
@@ -0,0 +1,15 @@
1
+Manifest-Version: 1.0
2
+Bundle-ManifestVersion: 2
3
+Bundle-Name: debranding
4
+Bundle-SymbolicName: com.sap.sse.debranding
5
+Automatic-Module-Name: com.sap.sse.debranding
6
+Bundle-Version: 1.0.0.qualifier
7
+Bundle-Vendor: SAP
8
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
9
+Import-Package: javax.servlet;version="3.1.0",
10
+ javax.servlet.http;version="3.1.0",
11
+ org.apache.http
12
+Bundle-ClassPath: .
13
+Bundle-ActivationPolicy: lazy
14
+Require-Bundle: org.apache.commons.io
15
+Export-Package: com.sap.sse.debranding
java/com.sap.sse.debranding/build.properties
... ...
@@ -0,0 +1,4 @@
1
+source.. = src/
2
+output.. = bin/
3
+bin.includes = META-INF/,\
4
+ .
java/com.sap.sse.debranding/pom.xml
... ...
@@ -0,0 +1,15 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project
3
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
4
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
5
+ <modelVersion>4.0.0</modelVersion>
6
+
7
+ <parent>
8
+ <artifactId>root</artifactId>
9
+ <groupId>com.sap.sailing</groupId>
10
+ <version>1.0.0-SNAPSHOT</version>
11
+ </parent>
12
+
13
+ <artifactId>com.sap.sse.debranding</artifactId>
14
+ <packaging>eclipse-plugin</packaging>
15
+</project>
java/com.sap.sse.debranding/src/com/sap/sse/debranding/ClientConfigurationServlet.java
... ...
@@ -0,0 +1,124 @@
1
+package com.sap.sse.debranding;
2
+
3
+import java.io.IOException;
4
+import java.io.InputStream;
5
+import java.util.HashMap;
6
+import java.util.Map;
7
+import java.util.concurrent.ConcurrentHashMap;
8
+import java.util.logging.Level;
9
+import java.util.logging.Logger;
10
+
11
+import javax.servlet.ServletException;
12
+import javax.servlet.http.HttpServlet;
13
+import javax.servlet.http.HttpServletRequest;
14
+import javax.servlet.http.HttpServletResponse;
15
+
16
+import org.apache.commons.io.IOUtils;
17
+import org.apache.http.HttpStatus;
18
+
19
+/**
20
+ * Use ${[variable name]} to get strings replaced within static pages. No escape syntax is currently available. All occurrences of the variables listed below
21
+ * that are found in the document will be replaced. The following variables are available at the moment:
22
+ * <table border="1">
23
+ * <tr>
24
+ * <th>Variablename</th>
25
+ * <th>branded value</th>
26
+ * <th>debranded/whitelabeled</th>
27
+ * </tr>
28
+ * <tr>
29
+ * <td>"SAP"</td>
30
+ * <td>"SAP&nbsp;"</td>
31
+ * <td>""</td>
32
+ * </tr>
33
+ * <tr>
34
+ * <td>"debrandingActive"</td>
35
+ * <td>"false"</td>
36
+ * <td>"true"</td>
37
+ * </tr>
38
+ * <tr>
39
+ * <td>"whitelabeled"</td>
40
+ * <td>""</td>
41
+ * <td>"-whitelabeled"</td>
42
+ * </tr>
43
+ * </table>
44
+ * <p>
45
+ *
46
+ * Register as a servlet for all the URLs that produce such static pages that you'd like to run replacements on. Example
47
+ * registration in a {@code web.xml} configuration file:
48
+ *
49
+ * <pre>
50
+ * &lt;servlet&gt;
51
+ * &lt;display-name&gt;ClientConfigurationServlet&lt;/display-name&gt;
52
+ * &lt;servlet-name&gt;ClientConfigurationServlet&lt;/servlet-name&gt;
53
+ * &lt;servlet-class&gt;com.sap.sse.debranding.ClientConfigurationServlet&lt;/servlet-class&gt;
54
+ * &lt;/servlet&gt;
55
+ * &lt;servlet-mapping&gt;
56
+ * &lt;servlet-name&gt;ClientConfigurationServlet&lt;/servlet-name&gt;
57
+ * &lt;url-pattern&gt;*.html&lt;/url-pattern&gt;
58
+ * &lt;/servlet-mapping&gt;
59
+ * </pre>
60
+ * <p>
61
+ *
62
+ * The servlet caches the results, both, for the branded as well as the unbranded/replaced contents.
63
+ *
64
+ * @see com.sap.sailing.server.gateway.test.support.WhitelabelSwitchServlet
65
+ * @author Georg Herdt
66
+ *
67
+ */
68
+public class ClientConfigurationServlet extends HttpServlet {
69
+
70
+ private static final Logger logger = Logger.getLogger(ClientConfigurationServlet.class.getName());
71
+
72
+ /** serial version uid */
73
+ private static final long serialVersionUID = -2228462977010198686L;
74
+
75
+ public static final String DEBRANDING_PROPERTY_NAME = "com.sap.sse.debranding";
76
+
77
+ private final ConcurrentHashMap<String, byte[]> cache = new ConcurrentHashMap<>();
78
+
79
+ @Override
80
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
81
+ final boolean deBrandingActive = Boolean.valueOf(System.getProperty(DEBRANDING_PROPERTY_NAME, "false"));
82
+ final String servletPath = req.getServletPath();
83
+ final byte[] cachedPage;
84
+ final String pageKey = generateKey(servletPath, deBrandingActive);
85
+ if ((cachedPage = cache.get(pageKey)) != null) {
86
+ IOUtils.write(cachedPage, resp.getOutputStream());
87
+ } else {
88
+ try (InputStream in = this.getServletContext().getResourceAsStream(servletPath)) {
89
+ byte[] buffer = IOUtils.toByteArray(in);
90
+ String content = new String(buffer);
91
+ for (Map.Entry<String, String> item : createReplacementMap(deBrandingActive).entrySet()) {
92
+ content = content.replace("${" + item.getKey() + "}", item.getValue());
93
+ }
94
+ byte[] bytes = content.getBytes();
95
+ IOUtils.write(bytes, resp.getOutputStream());
96
+ cache.computeIfAbsent(pageKey, key -> bytes);
97
+ } catch (RuntimeException e) {
98
+ logger.log(Level.WARNING, "could not process or read resource " + servletPath, e);
99
+ resp.sendError(HttpStatus.SC_INTERNAL_SERVER_ERROR);
100
+ }
101
+ }
102
+ }
103
+
104
+ private String generateKey(String servletPath, boolean active) {
105
+ return servletPath + "_" + active;
106
+ }
107
+
108
+ private Map<String,String> createReplacementMap(boolean deBrandingActive) {
109
+ final Map<String,String> map = new HashMap<>();
110
+ final String title;
111
+ final String whitelabeled;
112
+ if (deBrandingActive) {
113
+ title = "";
114
+ whitelabeled = "-whitelabeled";
115
+ } else {
116
+ title = "SAP ";
117
+ whitelabeled = "";
118
+ }
119
+ map.put("SAP", title);
120
+ map.put("debrandingActive", Boolean.toString(deBrandingActive));
121
+ map.put("whitelabeled", whitelabeled);
122
+ return map;
123
+ }
124
+}
java/com.sap.sse.gwt.adminconsole/src/com/sap/sse/gwt/adminconsole/AdminConsolePanel.java
... ...
@@ -26,6 +26,7 @@ import com.sap.sse.gwt.client.ServerInfoDTO;
26 26
import com.sap.sse.gwt.client.panels.AbstractTabLayoutPanel;
27 27
import com.sap.sse.gwt.client.panels.HorizontalTabLayoutPanel;
28 28
import com.sap.sse.gwt.client.panels.VerticalTabLayoutPanel;
29
+import com.sap.sse.gwt.shared.ClientConfiguration;
29 30
import com.sap.sse.security.shared.HasPermissions;
30 31
import com.sap.sse.security.shared.WildcardPermission;
31 32
import com.sap.sse.security.shared.dto.UserDTO;
... ...
@@ -205,8 +206,11 @@ public class AdminConsolePanel extends HeaderPanel implements HandleTabSelectabl
205 206
informationPanel.add(errorReporter.getPersistentInformationWidget(), DockPanel.CENTER);
206 207
SystemInformationPanel sysinfoPanel = new SystemInformationPanel(serverInfo, errorReporter, stringMessages);
207 208
sysinfoPanel.ensureDebugId("SystemInformation");
208
- final Anchor releaseNotesLink = new Anchor(new SafeHtmlBuilder().appendEscaped(releaseNotesAnchorLabel).toSafeHtml(), releaseNotesURL);
209
- sysinfoPanel.add(releaseNotesLink);
209
+ if (ClientConfiguration.getInstance().isBrandingActive()) {
210
+ final Anchor releaseNotesLink = new Anchor(
211
+ new SafeHtmlBuilder().appendEscaped(releaseNotesAnchorLabel).toSafeHtml(), releaseNotesURL);
212
+ sysinfoPanel.add(releaseNotesLink);
213
+ }
210 214
informationPanel.add(sysinfoPanel, DockPanel.EAST);
211 215
informationPanel.setCellHorizontalAlignment(sysinfoPanel, HasHorizontalAlignment.ALIGN_RIGHT);
212 216
this.setFooterWidget(informationPanel);
java/com.sap.sse.gwt/StorageMessaging.html
... ...
@@ -12,7 +12,7 @@
12 12
<!-- -->
13 13
<!-- Consider inlining CSS to reduce the number of requested files -->
14 14
<!-- -->
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
18 18
<!-- -->
java/com.sap.sse.gwt/StorageMessagingTest.html
... ...
@@ -12,7 +12,7 @@
12 12
<!-- -->
13 13
<!-- Consider inlining CSS to reduce the number of requested files -->
14 14
<!-- -->
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
18 18
<!-- -->
java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/context/data/ClientConfigurationContextDataJSO.java
... ...
@@ -0,0 +1,22 @@
1
+package com.sap.sse.gwt.client.context.data;
2
+
3
+import com.google.gwt.core.client.JavaScriptObject;
4
+
5
+/**
6
+ * Access custom information for GWT client from static browser page.
7
+ *
8
+ * @see com.sap.sse.gwt.client.context.impl.ClientConfigurationContextDataFactoryImpl
9
+ * @see com.sap.sse.gwt.shared.ClientConfiguration
10
+ * @author Georg Herdt
11
+ *
12
+ */
13
+public class ClientConfigurationContextDataJSO extends JavaScriptObject {
14
+
15
+ protected ClientConfigurationContextDataJSO() {
16
+ }
17
+
18
+ public final native boolean isDebrandingActive() /*-{
19
+ return this.debrandingActive;
20
+ }-*/;
21
+
22
+}
... ...
\ No newline at end of file
java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/context/impl/ClientConfigurationContextDataFactoryImpl.java
... ...
@@ -0,0 +1,23 @@
1
+package com.sap.sse.gwt.client.context.impl;
2
+
3
+import com.sap.sse.gwt.client.context.data.ClientConfigurationContextDataJSO;
4
+
5
+/**
6
+ * <p>
7
+ * Accessor to the custom object structure used for providing static configuration from the server to the GWT client.
8
+ * An example can be seen here {@link /com.sap.sailing.gwt.ui/Home.html}
9
+ * </p>
10
+ * <p>
11
+ * {@link ClientConfigurationContextDataJSO} provides access to the individual fields.
12
+ * </p>
13
+ * @see com.sap.sse.gwt.shared.ClientConfiguration
14
+ * @author Georg Herdt
15
+ *
16
+ */
17
+public final class ClientConfigurationContextDataFactoryImpl {
18
+
19
+ public native ClientConfigurationContextDataJSO getInstance() /*-{
20
+ return $doc.clientConfigurationContext;
21
+ }-*/;
22
+
23
+}
java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/sapheader/SAPHeader.java
... ...
@@ -11,6 +11,8 @@ import com.google.gwt.uibinder.client.UiField;
11 11
import com.google.gwt.user.client.ui.Composite;
12 12
import com.google.gwt.user.client.ui.SimplePanel;
13 13
import com.google.gwt.user.client.ui.Widget;
14
+import com.sap.sse.gwt.shared.ClientConfiguration;
15
+import com.sap.sse.gwt.shared.DebugConstants;
14 16
15 17
/**
16 18
* Generic header widget that is designed with a SAP logo and SAP color scheme.
... ...
@@ -52,6 +54,13 @@ public class SAPHeader extends Composite {
52 54
logoAnchor.setHref(LOGO_URL);
53 55
String sapSailingUrl = applicationBaseUrl + "?locale=" + LocaleInfo.getCurrentLocale().getLocaleName();
54 56
applicationNameAnchor.setHref(sapSailingUrl);
57
+
58
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
59
+ logoAnchor.getStyle().setDisplay(Display.NONE);
60
+ applicationNameAnchor.setHref("");
61
+ }
62
+ logoAnchor.setAttribute(DebugConstants.DEBUG_ID_ATTRIBUTE, "logoAnchor");
63
+ applicationNameAnchor.setAttribute(DEBUG_ID_PREFIX, "applicationNameAnchor");
55 64
}
56 65
57 66
public void setHeaderTitle(String title) {
java/com.sap.sse.gwt/src/com/sap/sse/gwt/shared/ClientConfiguration.java
... ...
@@ -0,0 +1,60 @@
1
+package com.sap.sse.gwt.shared;
2
+
3
+import com.google.gwt.core.client.GWT;
4
+import com.sap.sse.gwt.client.context.data.ClientConfigurationContextDataJSO;
5
+import com.sap.sse.gwt.client.context.impl.ClientConfigurationContextDataFactoryImpl;
6
+
7
+/**
8
+ * Provides information for the GWT client if debranding/whitelabeling is currently brandingActive.
9
+ * Data is read from the static HTML page which starts the GWT client code.
10
+ * Within the header there is script section that contains such a structure:
11
+ * <pre>
12
+ * document.clientConfigurationContext = &lbrace;
13
+ * debrandingActive: true&rbrace;;
14
+ * </pre>
15
+ * The data in this structure is integrated into the document object tree within the browser.
16
+ * That can be accessed from here using the {@link ClientConfigurationContextDataJSO}.
17
+ *
18
+ * The structure in the HTML is generated by the server see ClientConfigurationServlet for that.
19
+ *
20
+ * To add new fields the following steps must be performed:
21
+ * <ul>
22
+ * <li>template within the HTML page must be extend by a new field declaration inside {@code document.clientConfigurationContext}.</li>
23
+ * <li>corresponding variable must be declared and filled with the appropriate value in {@link ClientConfigurationServlet}</li>
24
+ * <li>class {@link ClientConfigurationContextDataJSO} must be extended with an getter for the new field</li>
25
+ * </ul>
26
+ *
27
+ * @author Georg Herdt
28
+ *
29
+ */
30
+public class ClientConfiguration {
31
+
32
+ private static final ClientConfiguration INSTANCE;
33
+
34
+ static {
35
+ INSTANCE = new ClientConfiguration();
36
+ }
37
+
38
+ public static ClientConfiguration getInstance() {
39
+ return INSTANCE;
40
+ }
41
+
42
+ private boolean brandingActive = true;
43
+
44
+ public ClientConfiguration() {
45
+ try {
46
+ ClientConfigurationContextDataJSO dataJso = new ClientConfigurationContextDataFactoryImpl().getInstance();
47
+ brandingActive = !dataJso.isDebrandingActive();
48
+ } catch (RuntimeException e) {
49
+ GWT.log("no debranding information found.");
50
+ }
51
+ }
52
+
53
+ /**
54
+ * Access whitelabeling information.
55
+ * @return true when branding information shall be shown
56
+ */
57
+ public boolean isBrandingActive() {
58
+ return brandingActive;
59
+ }
60
+}
java/com.sap.sse.security.ui/EditProfile.html
... ...
@@ -12,17 +12,21 @@
12 12
<!-- -->
13 13
<!-- Consider inlining CSS to reduce the number of requested files -->
14 14
<!-- -->
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
18 18
<!-- -->
19 19
<!-- Any title is fine -->
20 20
<!-- -->
21
- <title>SAP Sailing Analytics Login</title>
21
+ <title>${SAP}Sailing Analytics Login</title>
22 22
23 23
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
24 24
<link rel="stylesheet" type="text/css" href="Register.css">
25
-
25
+ <script>
26
+ document.clientConfigurationContext = {
27
+ debrandingActive: ${debrandingActive}
28
+ };
29
+ </script>
26 30
<!-- -->
27 31
<!-- This script loads your compiled module. -->
28 32
<!-- If you add any GWT meta tags, they must -->
java/com.sap.sse.security.ui/EmailValidation.html
... ...
@@ -12,17 +12,21 @@
12 12
<!-- -->
13 13
<!-- Consider inlining CSS to reduce the number of requested files -->
14 14
<!-- -->
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
18 18
<!-- -->
19 19
<!-- Any title is fine -->
20 20
<!-- -->
21
- <title>SAP Sailing Analytics Login</title>
21
+ <title>${SAP}Sailing Analytics Login</title>
22 22
23 23
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
24 24
<link rel="stylesheet" type="text/css" href="Register.css">
25
-
25
+ <script>
26
+ document.clientConfigurationContext = {
27
+ debrandingActive: ${debrandingActive}
28
+ };
29
+ </script>
26 30
<!-- -->
27 31
<!-- This script loads your compiled module. -->
28 32
<!-- If you add any GWT meta tags, they must -->
java/com.sap.sse.security.ui/Login.html
... ...
@@ -18,12 +18,16 @@
18 18
<!-- -->
19 19
<!-- Any title is fine -->
20 20
<!-- -->
21
- <title>SAP Sailing Analytics Login</title>
21
+ <title>${SAP}Sailing Analytics Login</title>
22 22
23 23
<link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
24 24
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
25 25
<link rel="stylesheet" type="text/css" href="Login.css">
26
-
26
+ <script>
27
+ document.clientConfigurationContext = {
28
+ debrandingActive: ${debrandingActive}
29
+ };
30
+ </script>
27 31
<!-- -->
28 32
<!-- This script loads your compiled module. -->
29 33
<!-- If you add any GWT meta tags, they must -->
java/com.sap.sse.security.ui/META-INF/MANIFEST.MF
... ...
@@ -21,6 +21,7 @@ Require-Bundle: javax.servlet;bundle-version="3.1.0",
21 21
com.sap.sse.gwt,
22 22
org.apache.shiro.core;bundle-version="1.2.2",
23 23
org.apache.shiro.web;bundle-version="1.2.2",
24
+ com.sap.sse.debranding,
24 25
com.sap.sse.replication,
25 26
com.sap.sse.security.common,
26 27
com.sap.sse.mail
java/com.sap.sse.security.ui/OAuthLogin.html
... ...
@@ -12,7 +12,7 @@
12 12
<!-- -->
13 13
<!-- Consider inlining CSS to reduce the number of requested files -->
14 14
<!-- -->
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
18 18
<!-- -->
java/com.sap.sse.security.ui/Register.html
... ...
@@ -12,18 +12,22 @@
12 12
<!-- -->
13 13
<!-- Consider inlining CSS to reduce the number of requested files -->
14 14
<!-- -->
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
15
+<link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
18 18
<!-- -->
19 19
<!-- Any title is fine -->
20 20
<!-- -->
21
- <title>SAP Sailing Analytics - Registration</title>
21
+ <title>${SAP}Sailing Analytics - Registration</title>
22 22
23 23
<link rel="stylesheet" type="text/css" href="/sailing-normalize-3.0.2.cache.css">
24 24
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
25 25
<link rel="stylesheet" type="text/css" href="Register.css">
26
-
26
+ <script>
27
+ document.clientConfigurationContext = {
28
+ debrandingActive: ${debrandingActive}
29
+ };
30
+ </script>
27 31
<!-- -->
28 32
<!-- This script loads your compiled module. -->
29 33
<!-- If you add any GWT meta tags, they must -->
java/com.sap.sse.security.ui/UserManagement.html
... ...
@@ -12,17 +12,21 @@
12 12
<!-- -->
13 13
<!-- Consider inlining CSS to reduce the number of requested files -->
14 14
<!-- -->
15
- <link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
15
+ <link rel="shortcut icon" type="image/x-icon" href="images/sap${whitelabeled}.ico" />
16 16
17 17
18 18
<!-- -->
19 19
<!-- Any title is fine -->
20 20
<!-- -->
21
- <title>SAP Sailing Analytics User Management</title>
21
+ <title>{SAP} Sailing Analytics User Management</title>
22 22
23 23
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
24 24
<link rel="stylesheet" type="text/css" href="UserManagement.css">
25
-
25
+ <script>
26
+ document.clientConfigurationContext = {
27
+ debrandingActive: ${debrandingActive}
28
+ };
29
+ </script>
26 30
<!-- -->
27 31
<!-- This script loads your compiled module. -->
28 32
<!-- If you add any GWT meta tags, they must -->
java/com.sap.sse.security.ui/WEB-INF/web.xml
... ...
@@ -1,48 +1,48 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
- xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
4
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
5
- version="2.5">
6
-
7
- <!-- Disable directory listing: -->
8
- <servlet>
9
- <servlet-name>default</servlet-name>
10
- <servlet-class>org.eclipse.jetty.servlet.DefaultServlet
11
- </servlet-class>
12
- <init-param>
13
- <param-name>dirAllowed</param-name>
14
- <param-value>false</param-value>
15
- </init-param>
16
- <init-param>
17
- <param-name>useFileMappedBuffer</param-name>
18
- <param-value>false</param-value>
19
- </init-param>
20
- </servlet>
3
+ xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
4
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
5
+ version="2.5">
6
+
7
+ <!-- Disable directory listing: -->
8
+ <servlet>
9
+ <servlet-name>default</servlet-name>
10
+ <servlet-class>org.eclipse.jetty.servlet.DefaultServlet
11
+ </servlet-class>
12
+ <init-param>
13
+ <param-name>dirAllowed</param-name>
14
+ <param-value>false</param-value>
15
+ </init-param>
16
+ <init-param>
17
+ <param-name>useFileMappedBuffer</param-name>
18
+ <param-value>false</param-value>
19
+ </init-param>
20
+ </servlet>
21 21
22
- <!-- Apache Shiro -->
23
- <context-param>
24
- <param-name>shiroEnvironmentClass</param-name>
25
- <param-value>org.apache.shiro.web.env.IniWebEnvironment</param-value>
26
- </context-param>
27
- <listener>
28
- <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener
29
- </listener-class>
30
- </listener>
31
- <filter>
32
- <filter-name>ShiroFilter</filter-name>
33
- <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
34
- </filter>
35
- <!-- Make sure any request you want accessible to Shiro is filtered. "/*"
36
- catches all requests. Usually this filter mapping is defined first (before all
37
- others) to ensure that Shiro works in subsequent filters in the filter chain: -->
38
- <filter-mapping>
39
- <filter-name>ShiroFilter</filter-name>
40
- <url-pattern>/*</url-pattern>
41
- <dispatcher>REQUEST</dispatcher>
42
- <dispatcher>FORWARD</dispatcher>
43
- <dispatcher>INCLUDE</dispatcher>
44
- <dispatcher>ERROR</dispatcher>
45
- </filter-mapping>
22
+ <!-- Apache Shiro -->
23
+ <context-param>
24
+ <param-name>shiroEnvironmentClass</param-name>
25
+ <param-value>org.apache.shiro.web.env.IniWebEnvironment</param-value>
26
+ </context-param>
27
+ <listener>
28
+ <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener
29
+ </listener-class>
30
+ </listener>
31
+ <filter>
32
+ <filter-name>ShiroFilter</filter-name>
33
+ <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
34
+ </filter>
35
+ <!-- Make sure any request you want accessible to Shiro is filtered. "/*"
36
+ catches all requests. Usually this filter mapping is defined first (before all
37
+ others) to ensure that Shiro works in subsequent filters in the filter chain: -->
38
+ <filter-mapping>
39
+ <filter-name>ShiroFilter</filter-name>
40
+ <url-pattern>/*</url-pattern>
41
+ <dispatcher>REQUEST</dispatcher>
42
+ <dispatcher>FORWARD</dispatcher>
43
+ <dispatcher>INCLUDE</dispatcher>
44
+ <dispatcher>ERROR</dispatcher>
45
+ </filter-mapping>
46 46
47 47
<filter>
48 48
<filter-name>GWTCacheControlServletFilter</filter-name>
... ...
@@ -52,47 +52,57 @@
52 52
<filter-name>GWTCacheControlServletFilter</filter-name>
53 53
<url-pattern>/*</url-pattern>
54 54
</filter-mapping>
55
-
56
- <filter>
57
- <filter-name>LocaleInjectionFilter</filter-name>
58
- <filter-class>com.sap.sse.security.ui.server.LocaleInjectionFilter</filter-class>
59
- </filter>
60
- <filter-mapping>
61
- <filter-name>LocaleInjectionFilter</filter-name>
62
- <url-pattern>*.html</url-pattern>
63
- </filter-mapping>
64 55
65
- <servlet>
66
- <display-name>User Management Service</display-name>
67
- <servlet-name>UserManagementService</servlet-name>
68
- <servlet-class>com.sap.sse.security.ui.server.UserManagementServiceImpl</servlet-class>
69
- </servlet>
70
- <servlet-mapping>
71
- <servlet-name>UserManagementService</servlet-name>
72
- <url-pattern>/service/usermanagement</url-pattern>
73
- </servlet-mapping>
56
+ <servlet>
57
+ <display-name>ClientConfigurationServlet</display-name>
58
+ <servlet-name>ClientConfigurationServlet</servlet-name>
59
+ <servlet-class>com.sap.sse.debranding.ClientConfigurationServlet</servlet-class>
60
+ </servlet>
61
+ <servlet-mapping>
62
+ <servlet-name>ClientConfigurationServlet</servlet-name>
63
+ <url-pattern>*.html</url-pattern>
64
+ </servlet-mapping>
65
+
66
+ <filter>
67
+ <filter-name>LocaleInjectionFilter</filter-name>
68
+ <filter-class>com.sap.sse.security.ui.server.LocaleInjectionFilter</filter-class>
69
+ </filter>
70
+ <filter-mapping>
71
+ <filter-name>LocaleInjectionFilter</filter-name>
72
+ <url-pattern>*.html</url-pattern>
73
+ </filter-mapping>
74
+
75
+ <servlet>
76
+ <display-name>User Management Service</display-name>
77
+ <servlet-name>UserManagementService</servlet-name>
78
+ <servlet-class>com.sap.sse.security.ui.server.UserManagementServiceImpl</servlet-class>
79
+ </servlet>
80
+ <servlet-mapping>
81
+ <servlet-name>UserManagementService</servlet-name>
82
+ <url-pattern>/service/usermanagement</url-pattern>
83
+ </servlet-mapping>
74 84
75
- <servlet>
76
- <display-name>Redirect Servlet</display-name>
77
- <servlet-name>RedirectServlet</servlet-name>
78
- <servlet-class>com.sap.sse.security.ui.servlet.RedirectServlet</servlet-class>
79
- </servlet>
80
- <servlet-mapping>
81
- <servlet-name>RedirectServlet</servlet-name>
82
- <url-pattern>/redirect</url-pattern>
83
- </servlet-mapping>
85
+ <servlet>
86
+ <display-name>Redirect Servlet</display-name>
87
+ <servlet-name>RedirectServlet</servlet-name>
88
+ <servlet-class>com.sap.sse.security.ui.servlet.RedirectServlet</servlet-class>
89
+ </servlet>
90
+ <servlet-mapping>
91
+ <servlet-name>RedirectServlet</servlet-name>
92
+ <url-pattern>/redirect</url-pattern>
93
+ </servlet-mapping>
84 94
85
- <!-- enabling remote logging -->
86
- <servlet>
87
- <servlet-name>remoteLogging</servlet-name>
88
- <servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class>
89
- </servlet>
90
- <servlet-mapping>
91
- <servlet-name>remoteLogging</servlet-name>
92
- <url-pattern>/com.sap.sse.security.ui.OAuthLogin/remote_logging</url-pattern>
93
- <url-pattern>/com.sap.sse.security.ui.Login/remote_logging</url-pattern>
94
- <url-pattern>/com.sap.sse.security.ui.UserManagement/remote_logging</url-pattern>
95
- <url-pattern>/com.sap.sse.security.ui.EditProfile/remote_logging</url-pattern>
96
- <url-pattern>/com.sap.sse.security.ui.EmailValidation/remote_logging</url-pattern>
97
- </servlet-mapping>
95
+ <!-- enabling remote logging -->
96
+ <servlet>
97
+ <servlet-name>remoteLogging</servlet-name>
98
+ <servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class>
99
+ </servlet>
100
+ <servlet-mapping>
101
+ <servlet-name>remoteLogging</servlet-name>
102
+ <url-pattern>/com.sap.sse.security.ui.OAuthLogin/remote_logging</url-pattern>
103
+ <url-pattern>/com.sap.sse.security.ui.Login/remote_logging</url-pattern>
104
+ <url-pattern>/com.sap.sse.security.ui.UserManagement/remote_logging</url-pattern>
105
+ <url-pattern>/com.sap.sse.security.ui.EditProfile/remote_logging</url-pattern>
106
+ <url-pattern>/com.sap.sse.security.ui.EmailValidation/remote_logging</url-pattern>
107
+ </servlet-mapping>
98 108
</web-app>
java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/authentication/login/LoginHintContent.java
... ...
@@ -2,6 +2,7 @@ package com.sap.sse.security.ui.authentication.login;
2 2
3 3
import com.google.gwt.core.client.GWT;
4 4
import com.google.gwt.dom.client.Element;
5
+import com.google.gwt.dom.client.Style.Display;
5 6
import com.google.gwt.event.dom.client.ClickEvent;
6 7
import com.google.gwt.event.dom.client.ClickHandler;
7 8
import com.google.gwt.uibinder.client.UiBinder;
... ...
@@ -12,6 +13,7 @@ import com.google.gwt.user.client.EventListener;
12 13
import com.google.gwt.user.client.ui.Anchor;
13 14
import com.google.gwt.user.client.ui.Composite;
14 15
import com.google.gwt.user.client.ui.Widget;
16
+import com.sap.sse.gwt.shared.ClientConfiguration;
15 17
16 18
/**
17 19
* Widget that shows a message to inform the user that it has benefits to log in. There are two links the user can
... ...
@@ -68,5 +70,10 @@ public class LoginHintContent extends Composite {
68 70
}
69 71
}
70 72
});
73
+
74
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
75
+ moreInfo.getElement().getStyle().setDisplay(Display.NONE);
76
+ }
77
+
71 78
}
72 79
}
java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java
... ...
@@ -3,6 +3,8 @@ package com.sap.sse.security.ui.login;
3 3
import java.util.Collections;
4 4
5 5
import com.google.gwt.core.client.GWT;
6
+import com.google.gwt.dom.client.ImageElement;
7
+import com.google.gwt.dom.client.Style.Display;
6 8
import com.google.gwt.event.dom.client.ClickEvent;
7 9
import com.google.gwt.event.logical.shared.AttachEvent;
8 10
import com.google.gwt.event.logical.shared.AttachEvent.Handler;
... ...
@@ -22,6 +24,7 @@ import com.sap.sse.gwt.client.Notification.NotificationType;
22 24
import com.sap.sse.gwt.client.controls.PasswordTextBoxWithWatermark;
23 25
import com.sap.sse.gwt.client.controls.TextBoxWithWatermark;
24 26
import com.sap.sse.gwt.client.dialog.DialogUtils;
27
+import com.sap.sse.gwt.shared.ClientConfiguration;
25 28
import com.sap.sse.security.ui.client.EntryPointLinkFactory;
26 29
import com.sap.sse.security.ui.client.UserManagementServiceAsync;
27 30
import com.sap.sse.security.ui.client.UserService;
... ...
@@ -47,6 +50,7 @@ public class LoginView extends Composite {
47 50
@UiField Button loginButton;
48 51
@UiField Anchor signUpAnchor;
49 52
@UiField HTMLPanel oAuthPanel;
53
+ @UiField ImageElement logoImage;
50 54
51 55
public LoginView(UserManagementServiceAsync userManagementService, UserService userService, StringMessages stringMessages, String appName) {
52 56
this.userManagementService = userManagementService;
... ...
@@ -69,6 +73,10 @@ public class LoginView extends Composite {
69 73
userNameTextBox.setFocus(true);
70 74
}
71 75
});
76
+
77
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
78
+ logoImage.getStyle().setDisplay(Display.NONE);
79
+ }
72 80
}
73 81
74 82
@UiHandler("loginButton")
java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml
... ...
@@ -8,7 +8,7 @@
8 8
type="com.sap.sse.security.ui.login.LoginViewResources" />
9 9
<g:HTMLPanel styleName="{local_res.css.loginform}">
10 10
<div class="{local_res.css.loginform_header}">
11
- <img src="{icon_res.sapLogo.getSafeUri}" />
11
+ <img ui:field="logoImage" src="{icon_res.sapLogo.getSafeUri}" />
12 12
<g:Label styleName="{local_res.css.loginform_header_appname}"
13 13
ui:field="appNameLabel" />
14 14
</div>
java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/registration/RegisterView.java
... ...
@@ -3,6 +3,8 @@ package com.sap.sse.security.ui.registration;
3 3
import java.util.HashMap;
4 4
5 5
import com.google.gwt.core.client.GWT;
6
+import com.google.gwt.dom.client.ImageElement;
7
+import com.google.gwt.dom.client.Style.Display;
6 8
import com.google.gwt.event.dom.client.ClickEvent;
7 9
import com.google.gwt.event.dom.client.KeyUpEvent;
8 10
import com.google.gwt.event.dom.client.KeyUpHandler;
... ...
@@ -20,6 +22,7 @@ import com.sap.sse.gwt.client.Notification.NotificationType;
20 22
import com.sap.sse.gwt.client.controls.PasswordTextBoxWithWatermark;
21 23
import com.sap.sse.gwt.client.controls.TextBoxWithWatermark;
22 24
import com.sap.sse.gwt.client.dialog.DialogUtils;
25
+import com.sap.sse.gwt.shared.ClientConfiguration;
23 26
import com.sap.sse.security.shared.UserManagementException;
24 27
import com.sap.sse.security.shared.dto.UserDTO;
25 28
import com.sap.sse.security.ui.client.EntryPointLinkFactory;
... ...
@@ -43,6 +46,7 @@ public class RegisterView extends Composite {
43 46
@UiField TextBoxWithWatermark emailTextBox;
44 47
@UiField PasswordTextBoxWithWatermark passwordTextBox;
45 48
@UiField PasswordTextBoxWithWatermark password2TextBox;
49
+ @UiField ImageElement logoImage;
46 50
47 51
public RegisterView(UserManagementServiceAsync userManagementService, StringMessages stringMessages, String appName) {
48 52
this.userManagementService = userManagementService;
... ...
@@ -74,6 +78,9 @@ public class RegisterView extends Composite {
74 78
password2TextBox.addKeyUpHandler(keyUpHandler);
75 79
76 80
DialogUtils.linkEnterToButton(signUpButton, usernameTextBox, emailTextBox, passwordTextBox, password2TextBox);
81
+ if (!ClientConfiguration.getInstance().isBrandingActive()) {
82
+ logoImage.getStyle().setDisplay(Display.NONE);
83
+ }
77 84
}
78 85
79 86
@UiHandler("signUpButton")
java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/registration/RegisterView.ui.xml
... ...
@@ -7,7 +7,7 @@
7 7
<ui:with field="local_res" type="com.sap.sse.security.ui.registration.RegisterViewResources" />
8 8
<g:HTMLPanel styleName="{local_res.css.registrationform}">
9 9
<div class="{local_res.css.registrationform_header}">
10
- <img src="{icon_res.sapLogo.getSafeUri}" />
10
+ <img ui:field="logoImage" src="{icon_res.sapLogo.getSafeUri}" />
11 11
<g:Label styleName="{local_res.css.registrationform_header_appname}" ui:field="appNameLabel" />
12 12
</div>
13 13
<div class="{local_res.css.registrationform_content}">
java/pom.xml
... ...
@@ -174,6 +174,7 @@
174 174
<module>com.sap.sailing.server.trackfiles</module>
175 175
<module>com.sap.sailing.feature.runtime</module>
176 176
<module>com.sap.sailing.gwt.ui</module>
177
+ <module>com.sap.sse.debranding</module>
177 178
<module>com.sap.sailing.domain.test</module>
178 179
<module>com.sap.sse.replication.testsupport</module>
179 180
<module>com.sap.sailing.server.testsupport</module>
java/target/env.sh
... ...
@@ -162,8 +162,12 @@ else
162 162
export JAVA_8_ARGS="-XX:ThreadPriorityPolicy=2 -XX:+UseG1GC ${LOGGING_ARGS}"
163 163
JAVA_VERSION_SPECIFIC_ARGS=$JAVA_8_ARGS
164 164
fi
165
+
166
+# White labeling: use -Dcom.sap.sse.debranding=true to remove branding images and text
167
+#ADDITIONAL_JAVA_ARGS="$ADDITIONAL_JAVA_ARGS -Dcom.sap.sse.debranding=true"
165 168
ADDITIONAL_JAVA_ARGS="$JAVA_VERSION_SPECIFIC_ARGS $ADDITIONAL_JAVA_ARGS -Dpersistentcompetitors.clear=false -Drestore.tracked.races=true -Dpolardata.source.url=https://www.sapsailing.com -Dwindestimation.source.url=https://www.sapsailing.com -XX:MaxGCPauseMillis=500"
166 169
170
+
167 171
# Custom event management URL: use -Dcom.sap.sailing.eventmanagement.url to modify hardcoded default, e.g https://dev.sapsailing.com
168 172
#ADDITIONAL_JAVA_ARGS="$ADDITIONAL_JAVA_ARGS -Dcom.sap.sailing.eventmanagement.url=https://dev.sapsailing.com"
169 173
wiki/howto/whitelabelling.md
... ...
@@ -3,7 +3,7 @@ Changes regarding whitellabelling are collected here:
3 3
4 4
Runtime configuration of debranding:
5 5
6
-1. The activation of the debranding could be done by providing a system property during startup of the server side application, e.g. -Dcom.sap.sailing.debranding=true
6
+1. The activation of the debranding could be done by providing a system property during startup of the server side application, e.g. -Dcom.sap.sse.debranding=true
7 7
8 8
2. The debranding switch is delivered to the clients within the startup pages.
9 9
Therefore we can put placeholders inside the existing static pages and deliver them through servlets to the client. The servlets will process the placeholders in the pages. The debranding switch will show up in the page. The GWT client can read this information during startup in the browser. The URLs for loading the pages are unchanged.
... ...
\ No newline at end of file
wiki/info/landscape/amazon-ec2.md
... ...
@@ -133,7 +133,13 @@ To set up a multi instance for a server with name "SSV", subdomain "ssv.sapsaili
133 133
</pre>
134 134
Optional: setup event management URL by setting <pre>com.sap.sailing.eventmanagement.url</pre> system property. See ADDITIONAL_JAVA_ARGS at <pre>env.sh</pre>.
135 135
136
-8. Find the next unused ports for the variables SERVER_PORT, TELNET_PORT and EXPEDITION_PORT. You can do this by extracting all existing variable assignments from all env.sh files within the /home/sailing/servers directory.
136
+8. White label switch, uncomment this line in env.sh
137
+ <pre>
138
+ #ADDITIONAL_JAVA_ARGS="$ADDITIONAL_JAVA_ARGS -Dcom.sap.sse.debranding=true"
139
+ </pre>
140
+ to enable white labeling.
141
+
142
+9. Find the next unused ports for the variables SERVER_PORT, TELNET_PORT and EXPEDITION_PORT. You can do this by extracting all existing variable assignments from all env.sh files within the /home/sailing/servers directory.
137 143
138 144
<pre>
139 145
for i in /home/sailing/servers/*/env.sh; do cat $i | grep "^ *SERVER_PORT=" | tail -1 | tr -d "SERVER_PORT="; done | sort -n
... ...
@@ -143,7 +149,7 @@ To set up a multi instance for a server with name "SSV", subdomain "ssv.sapsaili
143 149
144 150
If this is the first multi instance on the server, use the values SERVER_PORT=8888, TELNET_PORT=14888, EXPEDITION_PORT=2010.
145 151
146
-9. Append the following variable assignments to your env.sh file.
152
+10. Append the following variable assignments to your env.sh file.
147 153
<pre>
148 154
SERVER_NAME=SSV
149 155
TELNET_PORT=14888
... ...
@@ -155,7 +161,7 @@ To set up a multi instance for a server with name "SSV", subdomain "ssv.sapsaili
155 161
DEPLOY_TO=ssv
156 162
</pre>
157 163
158
-10. Append the following description to the /home/sailing/servers/README file.
164
+11. Append the following description to the /home/sailing/servers/README file.
159 165
160 166
<pre>
161 167
# ssv (Schwartauer Segler-Verein, www.ssv-net.de, Alexander Probst, webmaster@alexprobst.de)
... ...
@@ -166,15 +172,15 @@ To set up a multi instance for a server with name "SSV", subdomain "ssv.sapsaili
166 172
EXPEDITION_PORT=2000
167 173
</pre>
168 174
169
-11. Start the multi instance.
175
+12. Start the multi instance.
170 176
<pre>
171 177
cd /home/sailing/servers/ssv
172 178
./start
173 179
</pre>
174 180
175
-12. Change the admin password now and create a new user with admin role.
181
+13. Change the admin password now and create a new user with admin role.
176 182
177
-13. Your multi instance is now configured and started. It can be reached over ec2-34-250-136-229.eu-west-1.compute.amazonaws.com:8888.
183
+14. Your multi instance is now configured and started. It can be reached over ec2-34-250-136-229.eu-west-1.compute.amazonaws.com:8888.
178 184
179 185
180 186
##### Reachability