mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-01 08:40:52 +00:00
Merge branch 'master' into bug1018
This commit is contained in:
commit
ece7378c4f
885 files changed
+28791
-679
No files matched your search
@@ -0,0 +1,7 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sse.common")
|
||||
compile project(":java:com.sap.sse.security.common")
|
||||
compile project(":java:com.sap.sse.datamining.shared")
|
||||
}
|
||||
-1
@@ -109,7 +109,6 @@ public class MongoGPSFixStoreImpl implements MongoGPSFixStore {
|
||||
public void loadCompetitorTrack(DynamicGPSFixTrack<Competitor, GPSFixMoving> track, AbstractLog<?, ?> log, Competitor competitor)
|
||||
throws NoCorrespondingServiceRegisteredException, TransformationException{
|
||||
List<DeviceMapping<Competitor>> mappings = new DeviceCompetitorMappingFinder<>(log).analyze().get(competitor);
|
||||
|
||||
if (mappings != null) {
|
||||
for (DeviceMapping<Competitor> mapping : mappings) {
|
||||
loadTrack(track, mapping.getDevice(), mapping.getTimeRange().from(), mapping.getTimeRange().to(), true /*inclusive*/);
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sailing.domain.common")
|
||||
compile project(":java:com.sap.sse.common")
|
||||
compile project(":java:com.sap.sse.datamining.shared")
|
||||
compile project(":java:com.sap.sse.shared.android")
|
||||
}
|
||||
-1
@@ -21,7 +21,6 @@ public class DeviceCompetitorMappingFinder<LogT extends AbstractLog<EventT, Visi
|
||||
public LogAnalyzer<Map<Competitor, List<DeviceMapping<Competitor>>>> createAnalyzer(AbstractLog<?, ?> log) {
|
||||
return new DeviceCompetitorMappingFinder(log);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public DeviceCompetitorMappingFinder(LogT log) {
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
/* local dependencies */
|
||||
compile project(":java:com.googlecode.java-diff-utils")
|
||||
compile project(":java:com.sap.sailing.domain.common")
|
||||
compile project(":java:com.sap.sailing.domain.shared.android")
|
||||
compile project(":java:com.sap.sailing.geocoding")
|
||||
compile project(":java:com.sap.sse.replication")
|
||||
}
|
||||
@@ -582,7 +582,7 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene
|
||||
for (Event event : eventFetcher.getAllEvents()) {
|
||||
event.removeRegatta(this);
|
||||
for (CourseArea courseArea : event.getVenue().getCourseAreas()) {
|
||||
if (defaultCourseArea != null && courseArea.getId().equals(defaultCourseArea)) {
|
||||
if (defaultCourseArea != null && courseArea.getId().equals(defaultCourseArea.getId())) {
|
||||
event.addRegatta(this);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ public class BaseRegattaLikeImpl implements IsRegattaLike {
|
||||
private final RegattaLikeIdentifier identifier;
|
||||
private transient Set<RegattaLikeListener> listeners = new HashSet<>();
|
||||
|
||||
public BaseRegattaLikeImpl(RegattaLikeIdentifier identifier, RegattaLogStore store) {
|
||||
public BaseRegattaLikeImpl(final RegattaLikeIdentifier identifier, RegattaLogStore store) {
|
||||
regattaLog = store.getRegattaLog(identifier, /*ignoreCache*/ true);
|
||||
this.identifier = identifier;
|
||||
|
||||
|
||||
+5
@@ -86,4 +86,9 @@ public class ScoreCorrectionProviderImpl implements ScoreCorrectionProvider, Res
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOptionalSampleURL() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile "com.googlecode.json-simple:json-simple:1.1.1"
|
||||
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sailing.domain.common")
|
||||
}
|
||||
Regular → Executable
File mode changed.
@@ -1,2 +1 @@
|
||||
deploy
|
||||
classes
|
||||
deploy
|
||||
@@ -0,0 +1 @@
|
||||
/*
|
||||
Whitespace-only changes.
Regular → Executable
File mode changed.
Regular → Executable
File mode changed.
+9
-10
@@ -62,17 +62,16 @@ public class RaceLogTrackingCompetitorRegistrationsDialog extends AbstractSaveDi
|
||||
}
|
||||
|
||||
private void move(CompetitorTableWrapper<?> from, CompetitorTableWrapper<?> to, Collection<CompetitorDTO> toMove) {
|
||||
if (toMove.isEmpty()) {
|
||||
return;
|
||||
if (!toMove.isEmpty()) {
|
||||
List<CompetitorDTO> newFromList = new ArrayList<>();
|
||||
Util.addAll(from.getFilterField().getAll(), newFromList);
|
||||
newFromList.removeAll(toMove);
|
||||
from.getFilterField().updateAll(newFromList);
|
||||
List<CompetitorDTO> newToList = new ArrayList<>();
|
||||
Util.addAll(to.getFilterField().getAll(), newToList);
|
||||
newToList.addAll(toMove);
|
||||
to.getFilterField().updateAll(newToList);
|
||||
}
|
||||
List<CompetitorDTO> newFromList = new ArrayList<>();
|
||||
Util.addAll(from.getFilterField().getAll(), newFromList);
|
||||
newFromList.removeAll(toMove);
|
||||
from.getFilterField().updateAll(newFromList);
|
||||
List<CompetitorDTO> newToList = new ArrayList<>();
|
||||
Util.addAll(to.getFilterField().getAll(), newToList);
|
||||
newToList.addAll(toMove);
|
||||
to.getFilterField().updateAll(newToList);
|
||||
}
|
||||
|
||||
private void moveSelected(CompetitorTableWrapper<MultiSelectionModel<CompetitorDTO>> from,
|
||||
|
||||
+14
-15
@@ -20,6 +20,7 @@ import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.TextfieldEntryDialog;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
@@ -37,17 +38,15 @@ public class ResultImportUrlsManagementPanel extends FlowPanel {
|
||||
private final Button refreshButton;
|
||||
|
||||
public ResultImportUrlsManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter,
|
||||
StringMessages stringMessages) {
|
||||
final StringMessages stringMessages) {
|
||||
final Label sampleURLLabel = new Label();
|
||||
this.sailingService = sailingService;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
|
||||
urlListBox = new ListBox();
|
||||
urlListBox.setMultipleSelect(true);
|
||||
|
||||
urlProviderSelectionListBox = new ListBox();
|
||||
urlListBox.setMultipleSelect(false);
|
||||
|
||||
urlProviderSelectionListBox.addChangeHandler(new ChangeHandler() {
|
||||
@Override
|
||||
public void onChange(ChangeEvent event) {
|
||||
@@ -56,10 +55,13 @@ public class ResultImportUrlsManagementPanel extends FlowPanel {
|
||||
addButton.setEnabled(buttonsEnabled);
|
||||
removeButton.setEnabled(buttonsEnabled);
|
||||
refreshButton.setEnabled(buttonsEnabled);
|
||||
final String value = urlProviderSelectionListBox.getValue(selectedIndex);
|
||||
// believe it or not: adding an item with (someString, null) results in an item
|
||||
// whose getValue() returns "null" and not null...
|
||||
sampleURLLabel.setText(value == null || value.equals("null") ? "" : stringMessages.sampleURL(value));
|
||||
refreshUrlList();
|
||||
}
|
||||
});
|
||||
|
||||
addButton = new Button(stringMessages.add());
|
||||
removeButton = new Button(stringMessages.remove());
|
||||
refreshButton = new Button(stringMessages.refresh());
|
||||
@@ -85,18 +87,15 @@ public class ResultImportUrlsManagementPanel extends FlowPanel {
|
||||
HorizontalPanel providerSelectionPanel = new HorizontalPanel();
|
||||
providerSelectionPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
|
||||
vp.add(providerSelectionPanel);
|
||||
|
||||
providerSelectionPanel.add(new Label("URL Providers:"));
|
||||
providerSelectionPanel.add(new Label(stringMessages.urlProviders()));
|
||||
providerSelectionPanel.add(urlProviderSelectionListBox);
|
||||
|
||||
sailingService.getUrlResultProviderNames(new AsyncCallback<List<String>>() {
|
||||
|
||||
sailingService.getUrlResultProviderNamesAndOptionalSampleURL(new AsyncCallback<List<Pair<String, String>>>() {
|
||||
@Override
|
||||
public void onSuccess(List<String> urlProviderNames) {
|
||||
public void onSuccess(List<Pair<String, String>> urlProviderNamesAndOptionalSampleURL) {
|
||||
urlProviderSelectionListBox.clear();
|
||||
urlProviderSelectionListBox.addItem("Please select a URL provider...");
|
||||
for(String urlProviderName: urlProviderNames) {
|
||||
urlProviderSelectionListBox.addItem(urlProviderName);
|
||||
urlProviderSelectionListBox.addItem(stringMessages.pleaseSelectAURLProvider());
|
||||
for (Pair<String, String> urlProviderNameAndSampleURL : urlProviderNamesAndOptionalSampleURL) {
|
||||
urlProviderSelectionListBox.addItem(urlProviderNameAndSampleURL.getA(), urlProviderNameAndSampleURL.getB());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,8 +103,8 @@ public class ResultImportUrlsManagementPanel extends FlowPanel {
|
||||
public void onFailure(Throwable caught) {
|
||||
}
|
||||
});
|
||||
|
||||
vp.add(urlListBox);
|
||||
vp.add(sampleURLLabel);
|
||||
HorizontalPanel buttonPanel = new HorizontalPanel();
|
||||
vp.add(buttonPanel);
|
||||
buttonPanel.add(addButton);
|
||||
|
||||
+1
-1
@@ -333,7 +333,7 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS
|
||||
void updateLeaderboardScoreCorrectionMetadata(String leaderboardName, Date timePointOfLastCorrectionValidity,
|
||||
String comment);
|
||||
|
||||
List<String> getUrlResultProviderNames();
|
||||
List<Pair<String, String>> getUrlResultProviderNamesAndOptionalSampleURL();
|
||||
|
||||
void updateRaceCourse(RegattaAndRaceIdentifier raceIdentifier, List<Util.Pair<ControlPointDTO, PassingInstruction>> controlPoints);
|
||||
|
||||
|
||||
+2
-1
@@ -78,6 +78,7 @@ import com.sap.sailing.gwt.ui.shared.VenueDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDTO;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.search.KeywordQuery;
|
||||
import com.sap.sse.gwt.client.BuildVersionRetriever;
|
||||
import com.sap.sse.gwt.client.filestorage.FileStorageManagementGwtServiceAsync;
|
||||
@@ -431,7 +432,7 @@ public interface SailingServiceAsync extends BuildVersionRetriever, FileStorageM
|
||||
|
||||
void addResultImportUrl(String resultProviderName, String url, AsyncCallback<Void> callback);
|
||||
|
||||
void getUrlResultProviderNames(AsyncCallback<List<String>> callback);
|
||||
void getUrlResultProviderNamesAndOptionalSampleURL(AsyncCallback<List<Pair<String, String>>> callback);
|
||||
|
||||
void addColumnsToLeaderboard(String leaderboardName, List<Util.Pair<String, Boolean>> columnsToAdd,
|
||||
AsyncCallback<Void> callback);
|
||||
|
||||
+3
@@ -1271,4 +1271,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
|
||||
String changed();
|
||||
String matcher();
|
||||
String any();
|
||||
String urlProviders();
|
||||
String pleaseSelectAURLProvider();
|
||||
String sampleURL(String sampleURL);
|
||||
}
|
||||
+4
-1
@@ -1238,4 +1238,7 @@ competitorsCount[one]={0,number} competitor
|
||||
clone=Clone
|
||||
changed=Changed
|
||||
matcher=Matcher
|
||||
any=Any
|
||||
any=Any
|
||||
urlProviders=URL-based result providers
|
||||
pleaseSelectAURLProvider=Please select a URL-based result provider...
|
||||
sampleURL=Sample URL: {0}
|
||||
+4
-1
@@ -1230,4 +1230,7 @@ dashboardWindBotLoadingMessage=Depending on your connection this operation might
|
||||
clone=Clone
|
||||
changed=Changed
|
||||
matcher=Matcher
|
||||
any=Any
|
||||
any=Any
|
||||
urlProviders=URL-based result providers
|
||||
pleaseSelectAURLProvider=Please select a URL-based result provider...
|
||||
sampleURL=Sample URL: {0}
|
||||
+4
-1
@@ -1228,4 +1228,7 @@ competitorsCount[one]={0,number} Team
|
||||
clone=Clone
|
||||
changed=Changed
|
||||
matcher=Matcher
|
||||
any=Any
|
||||
any=Any
|
||||
urlProviders=URL-basierte Ergebnisdienste
|
||||
pleaseSelectAURLProvider=Bitte einen URL-basierten Ergebnisdienst auswählen...
|
||||
sampleURL=Beispiel-URL: {0}
|
||||
+4
-1
@@ -1177,4 +1177,7 @@ competitorsCount[one]={0,number} competitor
|
||||
clone=Clone
|
||||
changed=Changed
|
||||
matcher=Matcher
|
||||
any=Any
|
||||
any=Any
|
||||
urlProviders=URL-based result providers
|
||||
pleaseSelectAURLProvider=Please select a URL-based result provider...
|
||||
sampleURL=Sample URL: {0}
|
||||
+3
-3
@@ -3714,11 +3714,11 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getUrlResultProviderNames() {
|
||||
List<String> result = new ArrayList<String>();
|
||||
public List<Pair<String, String>> getUrlResultProviderNamesAndOptionalSampleURL() {
|
||||
List<Pair<String, String>> result = new ArrayList<>();
|
||||
for (ScoreCorrectionProvider scp : getAllScoreCorrectionProviders()) {
|
||||
if (scp instanceof ResultUrlProvider) {
|
||||
result.add(scp.getName());
|
||||
result.add(new Pair<>(scp.getName(), ((ResultUrlProvider) scp).getOptionalSampleURL()));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
/WindLatticeDTO.java
|
||||
/WindLatticeGenParamsDTO.java
|
||||
+5
@@ -137,4 +137,9 @@ public class ScoreCorrectionProviderImpl implements ScoreCorrectionProvider, Res
|
||||
public Iterable<URL> getUrls() {
|
||||
return resultUrlRegistry.getResultUrls(NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOptionalSampleURL() {
|
||||
return "http://manage2sail.com/api/public/links/event/d30883d3-2876-4d7e-af49-891af6cbae1b?accesstoken=bDAv8CwsTM94ujZ&mediaType=json";
|
||||
}
|
||||
}
|
||||
+11
@@ -16,6 +16,17 @@ import com.sap.sailing.domain.common.CompetitorGenderType;
|
||||
import com.sap.sse.InvalidDateException;
|
||||
import com.sap.sse.util.DateParser;
|
||||
|
||||
/**
|
||||
* URLs should be of the form
|
||||
* <pre>
|
||||
* http://manage2sail.com/api/public/links/event/d30883d3-2876-4d7e-af49-891af6cbae1b?accesstoken=bDAv8CwsTM94ujZ&mediaType=json
|
||||
* </pre>
|
||||
* where the UUID following the <code>event</code> path element represents the event ID. Events can be
|
||||
* discovered by the manage2sail.com website.
|
||||
*
|
||||
* @author Axel Uhl (D043530)
|
||||
*
|
||||
*/
|
||||
public class Manage2SailEventResultsParserImpl implements Manage2SailEventResultsParser {
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.sap.sailing.mongodb</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
+10
@@ -3,5 +3,15 @@ package com.sap.sailing.resultimport;
|
||||
import java.net.URL;
|
||||
|
||||
public interface ResultUrlProvider {
|
||||
/**
|
||||
* The URLs configured for this provider
|
||||
*/
|
||||
Iterable<URL> getUrls();
|
||||
|
||||
/**
|
||||
* An optional example for how the URLs should be structured. Can be shown by a
|
||||
* user interface for URL list editing to instruct the user how to craft the URLs
|
||||
* for this provider. May return <code>null</code>.
|
||||
*/
|
||||
String getOptionalSampleURL();
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sailing.domain.common")
|
||||
compile project(":java:com.sap.sailing.domain.shared.android")
|
||||
compile project(":java:com.sap.sse.common")
|
||||
compile project(":java:org.json.simple")
|
||||
}
|
||||
+3
-1
@@ -2,6 +2,7 @@ package com.sap.sailing.server.gateway.serialization.impl;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
@@ -63,7 +64,8 @@ public class CompetitorJsonSerializer implements JsonSerializer<Competitor> {
|
||||
// Also see the corresponding case distinction in the deserialized which first tries to parse a string as a UUID becore
|
||||
// returning the ID as is.
|
||||
result.put(FIELD_ID_TYPE, competitor.getId().getClass().getName());
|
||||
for (Entry<Object, Object> idKeyAndValue : getCompetitorIdQuery(competitor).entrySet()) {
|
||||
Set<Entry<Object, Object>> entries = getCompetitorIdQuery(competitor).entrySet();
|
||||
for (Entry<Object, Object> idKeyAndValue : entries) {
|
||||
result.put(idKeyAndValue.getKey(), idKeyAndValue.getValue());
|
||||
}
|
||||
result.put(FIELD_NAME, competitor.getName());
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile "com.googlecode.json-simple:json-simple:1.1.1"
|
||||
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sailing.domain")
|
||||
compile project(":java:com.sap.sailing.domain.common")
|
||||
compile project(":java:com.sap.sailing.domain.shared.android")
|
||||
compile project(":java:com.sap.sse.common")
|
||||
compile project(":java:net.sf.marineapi")
|
||||
}
|
||||
+11
-3
@@ -1,5 +1,7 @@
|
||||
package com.sap.sailing.server.gateway.jaxrs.api;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URI;
|
||||
@@ -18,6 +20,7 @@ import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
import javax.ws.rs.core.Response.Status;
|
||||
|
||||
import org.apache.commons.fileupload.util.Streams;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
@@ -117,8 +120,7 @@ public class CompetitorsResource extends AbstractSailingServerResource {
|
||||
@Path("{competitor-id}/team/image")
|
||||
@Produces("application/json;charset=UTF-8")
|
||||
public String setTeamImage(@PathParam("competitor-id") String competitorId, InputStream uploadedInputStream,
|
||||
@HeaderParam("Content-Type") String fileType, @HeaderParam("Content-Length") long sizeInBytes) {
|
||||
|
||||
@HeaderParam("Content-Type") String fileType, @HeaderParam("Content-Length") long sizeInBytes) throws IOException {
|
||||
RacingEventService service = getService();
|
||||
CompetitorStore store = service.getCompetitorStore();
|
||||
Competitor competitor = store.getExistingCompetitorByIdAsString(competitorId);
|
||||
@@ -134,7 +136,13 @@ public class CompetitorsResource extends AbstractSailingServerResource {
|
||||
} else if (fileType.equals("image/png")) {
|
||||
fileExtension = ".png";
|
||||
}
|
||||
|
||||
if (sizeInBytes <= 0) {
|
||||
// size not provided; read the stream and determine length locally:
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
Streams.copy(uploadedInputStream, bos, /* close output stream */ true);
|
||||
sizeInBytes = bos.size();
|
||||
uploadedInputStream = new ByteArrayInputStream(bos.toByteArray());
|
||||
}
|
||||
URI imageUri;
|
||||
try {
|
||||
if (sizeInBytes > 1024 * 1024 * MAX_SIZE_IN_MB) {
|
||||
|
||||
Executable → Regular
File mode changed.
@@ -0,0 +1,13 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
/* local dependencies */
|
||||
compile project(":java:org.json.simple")
|
||||
compile project(":java:com.sap.sse.datamining.shared")
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile "javax.servlet:javax.servlet-api:3.1.0"
|
||||
compile "org.eclipse:osgi:3.10.0-v20140606-1445"
|
||||
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sse.common")
|
||||
compile project(":java:com.sap.sse")
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.sap.sse.gwt.theme.client.showcase.components;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sse.gwt.theme.client.component.videogallery.VideoGallery;
|
||||
import com.sap.sse.gwt.theme.client.component.videogallery.VideoGalleryData;
|
||||
|
||||
public class VideoGalleryShowcase extends Composite {
|
||||
|
||||
private static VideoGalleryShowcaseUiBinder uiBinder = GWT.create(VideoGalleryShowcaseUiBinder.class);
|
||||
|
||||
interface VideoGalleryShowcaseUiBinder extends UiBinder<Widget, VideoGalleryShowcase> {
|
||||
}
|
||||
|
||||
@UiField(provided=true)
|
||||
VideoGallery videoGallery;
|
||||
|
||||
public VideoGalleryShowcase() {
|
||||
videoGallery = new VideoGallery(new VideoGalleryData("My video gallery"));
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile "com.rabbitmq:amqp-client:2.8.4"
|
||||
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sse.common")
|
||||
compile project(":java:com.sap.sse.operationaltransformation")
|
||||
compile project(":java:com.sap.sse")
|
||||
compile project(":java:com.sap.sse.gateway")
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sse.common")
|
||||
}
|
||||
@@ -1,2 +1 @@
|
||||
deploy
|
||||
classes
|
||||
deploy
|
||||
@@ -0,0 +1 @@
|
||||
*
|
||||
Whitespace-only changes.
@@ -0,0 +1,12 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
/* local dependencies */
|
||||
compile project(":java:com.sap.sse.common")
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
@@ -1,12 +1,12 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -4,7 +4,7 @@ Bundle-Name: json-simple
|
||||
Bundle-SymbolicName: org.json.simple
|
||||
Bundle-Version: 1.1.0.qualifier
|
||||
Bundle-Vendor: JSON Simple
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: org.json.simple,
|
||||
org.json.simple.parser
|
||||
@@ -0,0 +1,7 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs = ["src"]
|
||||
}
|
||||
}
|
||||
@@ -27,4 +27,5 @@ armin: armin,spectator,moderator,administrator
|
||||
steffen: steffen,spectator,moderator,administrator
|
||||
jacob@sejlsport.dk: !hsf/sf67, eventmanager
|
||||
m.welte@stg-academy.org: mwelte, eventmanager
|
||||
e.anders@stg-academy.org: eanders, eventmanager
|
||||
e.anders@stg-academy.org: eanders, eventmanager
|
||||
siegmund@ubilabs.net: psiegmund,spectator,moderator,administrator
|
||||
Reference in new issue
Block a user