Merge remote-tracking branch 'origin/newhome' into boatclasses_masterdata

This commit is contained in:
fmittag committed 2014-08-08 14:56:51 +02:00
commit c98150e0c9
23 files changed
+103 -82

No files matched your search

@@ -19,7 +19,7 @@ public class TrackedRaceStatisticsDTO implements Serializable {
public Integer measuredWindSourcesCount;
public Duration averageWindDataSampleInterval;
public Integer audioTracksCount;
public Integer mediaTracksCount;
public Integer videoTracksCount;
public Integer totalLegsCount;
public Integer currentLegNo;
@@ -195,15 +195,15 @@ public class DomainFactoryImpl extends SharedDomainFactoryImpl implements Domain
// media data
if(mediaTracks != null) {
statisticsDTO.hasAudioData = true;
statisticsDTO.hasVideoData = true;
for(MediaTrack track: mediaTracks) {
switch(track.mimeType.mediaType) {
case audio:
statisticsDTO.hasAudioData = true;
statisticsDTO.audioTracksCount = statisticsDTO.audioTracksCount == null ? 1 : statisticsDTO.audioTracksCount++;
break;
case video:
statisticsDTO.audioTracksCount = statisticsDTO.audioTracksCount == null ? 1 : statisticsDTO.audioTracksCount++;
statisticsDTO.hasVideoData = true;
statisticsDTO.videoTracksCount = statisticsDTO.videoTracksCount == null ? 1 : statisticsDTO.videoTracksCount++;
break;
}
}
@@ -16,6 +16,7 @@ import com.sap.sailing.gwt.home.client.place.start.StartPlace;
public class PlaceNavigatorImpl implements PlaceNavigator {
private final PlaceController placeController;
private final static String DEFAULT_SAPSAILING_SERVER = "newhome.sapsailing.com"; // www.sapsailing.com
private final static String DEFAULT_SAPSAILING_SERVER_URL = "http://" + DEFAULT_SAPSAILING_SERVER;
protected PlaceNavigatorImpl(PlaceController placeController) {
super();
@@ -73,7 +74,7 @@ public class PlaceNavigatorImpl implements PlaceNavigator {
if(isLocationOnLocalhost(baseUrl) || isLocationOnDefaultSapSailingServer(baseUrl)) {
placeController.goTo(destinationPlace);
} else {
String homeUrl = buildRemotePlaceUrl(DEFAULT_SAPSAILING_SERVER, destinationPlace, tokenizer);
String homeUrl = buildRemotePlaceUrl(DEFAULT_SAPSAILING_SERVER_URL, destinationPlace, tokenizer);
Window.Location.replace(homeUrl);
}
}
@@ -52,7 +52,7 @@ public class EventActivity extends AbstractActivity {
public void start(final AcceptsOneWidget panel, final EventBus eventBus) {
final long clientTimeWhenRequestWasSent = System.currentTimeMillis();
UUID eventUUID = UUID.fromString(eventPlace.getEventUuidAsString());
clientFactory.getSailingService().getEventById(eventUUID, new AsyncCallback<EventDTO>() {
clientFactory.getSailingService().getEventById(eventUUID, true, new AsyncCallback<EventDTO>() {
@Override
public void onSuccess(final EventDTO event) {
if(event.getLeaderboardGroups().size() > 0) {
@@ -106,6 +106,8 @@
position: absolute;
top: 0;
left: 0;
max-width: 140px !important;
height: auto;
}
.eventheader_intro_name {
display: inline-block;
@@ -13,6 +13,7 @@ import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.place.event.EventPageNavigator;
import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil;
import com.sap.sailing.gwt.ui.shared.CourseAreaDTO;
@@ -91,6 +92,9 @@ public class EventHeader extends Composite {
isFinishedDiv.getStyle().setDisplay(Display.NONE);
} else if (event.isFinished()) {
isLiveDiv.getStyle().setDisplay(Display.NONE);
} else {
isFinishedDiv.getStyle().setDisplay(Display.NONE);
isLiveDiv.getStyle().setDisplay(Display.NONE);
}
setDataNavigationType("normal");
@@ -146,6 +150,7 @@ public class EventHeader extends Composite {
}
} else {
seriesLeaderboardDiv.getStyle().setDisplay(Display.NONE);
regattaNameInSeriesDiv.getStyle().setDisplay(Display.NONE);
}
eventNameSpan.setInnerHTML(eventName);
@@ -158,6 +163,14 @@ public class EventHeader extends Composite {
eventDescriptionDiv.setInnerHTML(event.getDescription());
}
if(event.getOfficialWebsiteURL() != null) {
String title = event.getOfficialWebsiteURL();
if(title.startsWith("http://")) {
title = title.substring("http://".length(), title.length());
}
if(title.length() > 35) {
title = TextMessages.INSTANCE.officalEventWebsite();
}
officalWebsiteAnchor.setText(title);
officalWebsiteAnchor.setHref(event.getOfficialWebsiteURL());
} else {
officalWebsiteAnchor.setVisible(false);
@@ -29,7 +29,8 @@
<div class="{local_res.css.eventheader}">
<div class="{res.mainCss.grid}">
<div class="{res.mediaCss.small9} {res.mediaCss.large8} {res.mediaCss.columns}">
<div class="{local_res.css.eventheader_intro}"><img ui:field='eventLogo' alt="" class="{local_res.css.eventheader_intro_logo}"></img>
<div class="{local_res.css.eventheader_intro}">
<img ui:field="eventLogo" alt="" class="{local_res.css.eventheader_intro_logo}"></img>
<h3 class="{local_res.css.eventheader_intro_name}"><span ui:field='eventNameSpan' /></h3>
<div ui:field="isLiveDiv" data-labeltype="live" class="{res.mainCss.label}"><ui:text from='{i18n.live}'/></div>
<div ui:field="isFinishedDiv" data-labeltype="finished" class="{res.mainCss.label}"><ui:text from='{i18n.finished}'/></div>
@@ -40,9 +41,7 @@
<img src="images/location-icon.png" class="{local_res.css.locationicon}"></img>
<span ui:field='venueNameSpan' />
</div>
<g:Anchor ui:field="officalWebsiteAnchor" href="javascript:;" target="_blank" styleName="{local_res.css.eventheader_intro_details_item} {local_res.css.eventheader_intro_details_itemlink}">
<ui:text from='{i18n.officalEventWebsite}'/>
</g:Anchor>
<g:Anchor ui:field="officalWebsiteAnchor" href="javascript:;" target="_blank" styleName="{local_res.css.eventheader_intro_details_item} {local_res.css.eventheader_intro_details_itemlink}" />
</div>
<div ui:field="eventDescriptionDiv" class="{local_res.css.eventheader_intro"></div>
</div>
@@ -53,7 +53,7 @@ public class Regatta extends Composite {
@UiField SpanElement trackedRacesCount;
@UiField DivElement isLiveDiv;
// @UiField TableElement isLiveDiv2;
@UiField DivElement isFinishedDiv;
// @UiField DivElement isFinishedDiv;
// @UiField DivElement isFinishedDiv2;
// @UiField DivElement isScheduledDiv;
@UiField AnchorElement leaderboardLink;
@@ -107,7 +107,7 @@ public class Regatta extends Composite {
boolean isFinished = !hasLiveRace;
if(!isFinished) {
isFinishedDiv.getStyle().setDisplay(Display.NONE);
// isFinishedDiv.getStyle().setDisplay(Display.NONE);
// isFinishedDiv2.getStyle().setDisplay(Display.NONE);
}
@@ -25,7 +25,9 @@
</a>
<h3 ui:field="regattaNameHeading2" class="{local_res.css.regatta_intro_header_name}"></h3>
<div ui:field="isLiveDiv" data-labeltype="live" class="{res.mainCss.label}"><ui:text from='{i18n.live}'/></div>
<!-- not used as long as we don't have start and end date of regatta
<div ui:field="isFinishedDiv" data-labeltype="finished" class="{res.mainCss.label}"><ui:text from='{i18n.finished}'/></div>
-->
</div>
<div class="{res.mediaCss.small8} {res.mediaCss.columns}">
<div class="{local_res.css.regatta_intro_header_details}">
@@ -9,6 +9,7 @@ import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.AnchorElement;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.SpanElement;
import com.google.gwt.dom.client.Style.Display;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
@@ -40,7 +41,8 @@ public class EventRegattaList extends Composite {
@UiField DivElement regattaListNavigationDiv;
@UiField DivElement regattaListItemsDiv;
@UiField AnchorElement filterNoLeaderboardGroupsAnchor;
@UiField SpanElement allBoatClassesSelected;
private final EventDTO event;
private final Map<String, List<Regatta>> regattaElementsByLeaderboardGroup;
@@ -108,6 +110,7 @@ public class EventRegattaList extends Composite {
private void filterRegattaListByLeaderboardGroup(LeaderboardGroupDTO leaderboardGroup) {
if (leaderboardGroup != null) {
allBoatClassesSelected.getStyle().setDisplay(Display.NONE);
// hide all regattas of the not selected leaderboardgroup
for (LeaderboardGroupDTO lg : event.getLeaderboardGroups()) {
boolean isVisible = leaderboardGroup.getName().equals(lg.getName());
@@ -118,6 +121,7 @@ public class EventRegattaList extends Composite {
}
} else {
// make all regattas visible
allBoatClassesSelected.getStyle().setDisplay(Display.INLINE_BLOCK);
for (LeaderboardGroupDTO lg : event.getLeaderboardGroups()) {
List<Regatta> regattaElements = regattaElementsByLeaderboardGroup.get(lg.getName());
for (Regatta regatta : regattaElements) {
@@ -11,7 +11,7 @@
<div ui:field="regattaListNavigationDiv" class="{local_res.css.eventregattalist_navigation} {res.mainCss.navbar}">
<div class="{res.mainCss.grid}">
<div ui:field="regattaGroupsNavigationPanel" class="{res.mediaCss.small12} {res.mediaCss.columns}">
<a ui:field="filterNoLeaderboardGroupsAnchor" href="javascript:;" class="{res.mainCss.navbar_button} {res.mainCss.navbar_buttonactive}"><ui:text from='{i18n.eventRegattaListAllBoatClasses}'/></a>
<a ui:field="filterNoLeaderboardGroupsAnchor" href="javascript:;" class="{res.mainCss.navbar_button} {res.mainCss.navbar_buttonactive}"><span ui:field="allBoatClassesSelected">&#10003;&nbsp;</span><ui:text from='{i18n.eventRegattaListAllBoatClasses}'/></a>
</div>
</div>
</div>
@@ -187,9 +187,13 @@ public class EventRegattaRacesRace extends UIObject {
}
if(!race.trackedRaceStatistics.hasVideoData) {
featureVideo.addClassName(EventRegattaRacesResources.INSTANCE.css().eventregattarace_featureunavailable());
} else {
featureVideo.setTitle(String.valueOf(race.trackedRaceStatistics.videoTracksCount));
}
if(!race.trackedRaceStatistics.hasAudioData) {
featureAudio.addClassName(EventRegattaRacesResources.INSTANCE.css().eventregattarace_featureunavailable());
} else {
featureAudio.setTitle(String.valueOf(race.trackedRaceStatistics.audioTracksCount));
}
}
@@ -294,9 +294,7 @@ public interface SailingService extends RemoteService {
void renameEvent(UUID eventId, String newName);
EventDTO getEventByName(String eventName);
EventDTO getEventById(UUID id);
EventDTO getEventById(UUID id, boolean withStatisticalData);
Iterable<String> getScoreCorrectionProviderNames();
@@ -333,13 +333,6 @@ public interface SailingServiceAsync {
void getPublicEventsOfAllSailingServers(AsyncCallback<List<EventBaseDTO>> callback);
/**
* Creates a {@link EventDTO} for the {@link com.sap.sailing.domain.base.Event} with the name <code>eventName</code>, which contains the
* name, the description and a list with {@link RegattaDTO RegattaDTOs} contained in the event.<br />
* If no event with the name <code>eventName</code> is known, an {@link IllegalArgumentException} is thrown.
*/
void getEventByName(String eventName, AsyncCallback<EventDTO> callback);
/**
* Renames the event with the name <code>oldName</code> to the <code>newName</code>.<br />
* If there's no event with the name <code>oldName</code> or there's already a event with the name
@@ -550,7 +543,7 @@ public interface SailingServiceAsync {
void importWindFromIgtimi(List<RaceDTO> selectedRaces, boolean correctByDeclination, AsyncCallback<Map<RegattaAndRaceIdentifier, Integer>> asyncCallback);
void getEventById(UUID id, AsyncCallback<EventDTO> callback);
void getEventById(UUID id, boolean withStatisticalData, AsyncCallback<EventDTO> callback);
void getLeaderboardsByEvent(EventDTO event, AsyncCallback<List<StrippedLeaderboardDTO>> callback);
@@ -281,8 +281,10 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
private LatLngBounds currentMapBounds;
private int currentZoomLevel;
private boolean autoZooming = false;
private LatLngBounds newLatLngBounds;
private boolean autoZoomIn = false;
private boolean autoZoomOut = false;
private int autoZoomLevel;
LatLngBounds autoZoomLatLngBounds;
private WindStreamletsRaceboardOverlay streamletOverlay;
private final boolean showViewStreamlets;
@@ -372,9 +374,11 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
map.addZoomChangeHandler(new ZoomChangeMapHandler() {
@Override
public void onEvent(ZoomChangeMapEvent event) {
// stop automatic zoom after a manual zoom event; automatic zoom in zoomMapToNewBounds will restore old settings
final List<RaceMapZoomSettings.ZoomTypes> emptyList = Collections.emptyList();
settings.getZoomSettings().setTypesToConsiderOnZoom(emptyList);
if (!autoZoomIn && !autoZoomOut) {
// stop automatic zoom after a manual zoom event; automatic zoom in zoomMapToNewBounds will restore old settings
final List<RaceMapZoomSettings.ZoomTypes> emptyList = Collections.emptyList();
settings.getZoomSettings().setTypesToConsiderOnZoom(emptyList);
}
}
});
map.addDragEndHandler(new DragEndMapHandler() {
@@ -388,9 +392,13 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
map.addIdleHandler(new IdleMapHandler() {
@Override
public void onEvent(IdleMapEvent event) {
if (autoZooming) {
map.panTo(newLatLngBounds.getCenter());
autoZooming = false;
if (autoZoomIn) {
map.setZoom(autoZoomLevel);
autoZoomIn = false;
}
if (autoZoomOut) {
map.panTo(autoZoomLatLngBounds.getCenter());
autoZoomOut = false;
}
}
});
@@ -1224,8 +1232,8 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
// only change bounds if the new bounds don't fit into the current map zoom
List<ZoomTypes> oldZoomSettings = settings.getZoomSettings().getTypesToConsiderOnZoom();
setAutoZoomInProgress(true);
newLatLngBounds = BoundsUtil.getAsLatLngBounds(newBounds);
int newZoomLevel = getZoomLevel(newLatLngBounds);
autoZoomLatLngBounds = BoundsUtil.getAsLatLngBounds(newBounds);
int newZoomLevel = getZoomLevel(autoZoomLatLngBounds);
if (newZoomLevel != map.getZoom()) {
// remove the canvas animations for boats
for (BoatOverlay boatOverlay : RaceMap.this.getBoatOverlays().values()) {
@@ -1235,10 +1243,16 @@ public class RaceMap extends AbsolutePanel implements TimeListener, CompetitorSe
for(CompetitorInfoOverlay infoOverlay: competitorInfoOverlays.values()) {
infoOverlay.removeCanvasPositionAndRotationTransition();
}
autoZooming = true;
map.setZoom(newZoomLevel);
autoZoomIn = newZoomLevel > map.getZoom();
autoZoomOut = !autoZoomIn;
autoZoomLevel = newZoomLevel;
if (autoZoomIn) {
map.panTo(autoZoomLatLngBounds.getCenter());
} else {
map.setZoom(autoZoomLevel);
}
} else {
map.panTo(newLatLngBounds.getCenter());
map.panTo(autoZoomLatLngBounds.getCenter());
}
settings.getZoomSettings().setTypesToConsiderOnZoom(oldZoomSettings);
setAutoZoomInProgress(false);
@@ -297,7 +297,7 @@ public class RegattaOverviewPanel extends SimplePanel {
}
private void retrieveEvent() {
sailingService.getEventById(eventId, new MarkedAsyncCallback<EventDTO>(
sailingService.getEventById(eventId, false, new MarkedAsyncCallback<EventDTO>(
new AsyncCallback<EventDTO>() {
@Override
public void onFailure(Throwable cause) {
@@ -3019,7 +3019,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
String requestBaseURL = getRequestBaseURL().toString();
List<EventDTO> result = new ArrayList<EventDTO>();
for (Event event : getService().getAllEvents()) {
EventDTO eventDTO = convertToEventDTO(event);
EventDTO eventDTO = convertToEventDTO(event, false);
eventDTO.setBaseURL(requestBaseURL);
eventDTO.setIsOnRemoteServer(false);
result.add(eventDTO);
@@ -3111,7 +3111,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
new UpdateEvent(eventId, eventName, eventDescription, startTimePoint, endTimePoint, venue.getName(),
isPublic, leaderboardGroupIds, logoImageURL, officialWebsiteURL, imageURLs, videoURLs,
sponsorimagieURLs));
return getEventById(eventId);
return getEventById(eventId, false);
}
/**
@@ -3139,7 +3139,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
for (String courseAreaName : courseAreaNames) {
createCourseArea(eventUuid, courseAreaName);
}
return getEventById(eventUuid);
return getEventById(eventUuid, false);
}
@Override
@@ -3166,23 +3166,11 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
}
@Override
public EventDTO getEventByName(String eventName) {
EventDTO result = null;
for (Event event : getService().getAllEvents()) {
if(event.getName().equals(eventName)) {
result = convertToEventDTO(event);
break;
}
}
return result;
}
@Override
public EventDTO getEventById(UUID id) {
public EventDTO getEventById(UUID id, boolean withStatisticalData) {
EventDTO result = null;
Event event = getService().getEvent(id);
if (event != null) {
result = convertToEventDTO(event);
result = convertToEventDTO(event, withStatisticalData);
}
return result;
}
@@ -3231,7 +3219,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
}
}
private EventDTO convertToEventDTO(Event event) {
private EventDTO convertToEventDTO(Event event, boolean withStatisticalData) {
EventDTO eventDTO = new EventDTO(event.getName());
copyEventBaseFieldsToDTO(event, eventDTO);
eventDTO.regattas = new ArrayList<RegattaDTO>();
@@ -3247,7 +3235,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
eventDTO.venue.getCourseAreas().add(courseAreaDTO);
}
for (LeaderboardGroup lg : event.getLeaderboardGroups()) {
eventDTO.addLeaderboardGroup(convertToLeaderboardGroupDTO(lg, /* withGeoLocationData */false, /* withStatisticalData */ true));
eventDTO.addLeaderboardGroup(convertToLeaderboardGroupDTO(lg, /* withGeoLocationData */false, withStatisticalData));
}
return eventDTO;
}
@@ -74,6 +74,7 @@
<source path='ui/actions' />
<source path='ui/simulator' />
<source path='ui/regattaoverview' />
<source path='ui/leaderboard'/>
<source path='home' />
<source path='idangerous' />
</module>
@@ -250,7 +250,7 @@
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>com.sap.sailing.server.gateway.jaxrs.AccessControlResponseFilter</param-value>
<param-value>com.sap.sailing.server.gateway.jaxrs.AccessControlAndEncodingResponseFilter</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
@@ -267,7 +267,7 @@
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>com.sap.sailing.server.gateway.jaxrs.AccessControlResponseFilter</param-value>
<param-value>com.sap.sailing.server.gateway.jaxrs.AccessControlAndEncodingResponseFilter</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
@@ -0,0 +1,22 @@
package com.sap.sailing.server.gateway.jaxrs;
import javax.ws.rs.core.MultivaluedMap;
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerResponse;
import com.sun.jersey.spi.container.ContainerResponseFilter;
public class AccessControlAndEncodingResponseFilter implements ContainerResponseFilter {
@Override
public ContainerResponse filter(ContainerRequest request, ContainerResponse response) {
MultivaluedMap<String, Object> httpHeaders = response.getHttpHeaders();
httpHeaders.add("Access-Control-Allow-Origin", "*");
httpHeaders.add("Access-Control-Allow-Headers", "Authorization, Origin, X-Requested-With, Content-Type");
httpHeaders.add("Access-Control-Expose-Headers", "Location, Content-Disposition");
httpHeaders.add("Access-Control-Allow-Methods", "POST, PUT, GET, DELETE, HEAD, OPTIONS");
httpHeaders.remove("Content-Type");
httpHeaders.add("Content-Type", "application/json;charset=UTF-8");
return response;
}
}
@@ -1,20 +0,0 @@
package com.sap.sailing.server.gateway.jaxrs;
import javax.ws.rs.core.MultivaluedMap;
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerResponse;
import com.sun.jersey.spi.container.ContainerResponseFilter;
public class AccessControlResponseFilter implements ContainerResponseFilter {
@Override
public ContainerResponse filter(ContainerRequest request, ContainerResponse response) {
MultivaluedMap<String, Object> httpHeaders = response.getHttpHeaders();
httpHeaders.add("Access-Control-Allow-Origin", "*");
httpHeaders.add("Access-Control-Allow-Headers", "Authorization, Origin, X-Requested-With, Content-Type");
httpHeaders.add("Access-Control-Expose-Headers", "Location, Content-Disposition");
httpHeaders.add("Access-Control-Allow-Methods", "POST, PUT, GET, DELETE, HEAD, OPTIONS");
return response;
}
}
@@ -19,7 +19,7 @@
<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.7"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console -clean"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dexpedition.udp.port=2010 -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 -Digtimi.client.id=7fcdd217e0aa16090edb4ad55b09ec43b2021090e209541fc9b7003c2a2b70c6 -Digtimi.client.secret=aa569cf4909bdc7b0e04b11873f3c4ea20687421e010fcc25b771cca9e6f3f9a -Digtimi.client.redirecturi=http://127.0.0.1:8888/igtimi/oauth/v1/authorizationcallback -DspatialWind=true"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dfile.encoding=cp1252 -Dexpedition.udp.port=2010 -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 -Digtimi.client.id=7fcdd217e0aa16090edb4ad55b09ec43b2021090e209541fc9b7003c2a2b70c6 -Digtimi.client.secret=aa569cf4909bdc7b0e04b11873f3c4ea20687421e010fcc25b771cca9e6f3f9a -Digtimi.client.redirecturi=http://127.0.0.1:8888/igtimi/oauth/v1/authorizationcallback -DspatialWind=true"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc}"/>
<stringAttribute key="pde.version" value="3.3"/>
<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_ADAPTIVE%CTX_KEY%false%CTX_ENTRY%"/>
@@ -103,7 +103,7 @@ public class RemoteSailingServerSet {
logger.fine("Updating events for remote server "+ref+" from URL "+eventsURL);
URLConnection urlConnection = eventsURL.openConnection();
urlConnection.connect();
bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));
JSONParser parser = new JSONParser();
Object eventsAsObject = parser.parse(bufferedReader);
EventBaseJsonDeserializer deserializer = new EventBaseJsonDeserializer(new VenueJsonDeserializer(