mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-04 10:09:42 +00:00
Merge branch 'ubilabs--rcapp--bug-3570' into ubilabs--rcapp--develop
This commit is contained in:
commit
4fa09eb223
9 files changed
+26
-26
No files matched your search
+1
-3
@@ -5,7 +5,6 @@ import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
@@ -104,8 +103,7 @@ public class OnlineDataManager extends DataManager {
|
||||
|
||||
public void addRaces(Collection<ManagedRace> data) {
|
||||
int index = 0;
|
||||
Collection<ManagedRace> copy = new HashSet<>(data);
|
||||
for (ManagedRace race : copy) {
|
||||
for (ManagedRace race : data) {
|
||||
dataStore.addRace(index++, race);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ public class CompetitorsDataHandler extends DataHandler<Collection<Competitor>>
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResult(Collection<Competitor> data) {
|
||||
public void onResult(Collection<Competitor> data, boolean isCached) {
|
||||
race.setCompetitors(data);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ public class CourseBaseHandler extends DataHandler<CourseBase> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResult(CourseBase data) {
|
||||
public void onResult(CourseBase data, boolean isCached) {
|
||||
race.setCourseOnServer(data);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ public abstract class DataHandler<T> {
|
||||
this.manager = manager;
|
||||
}
|
||||
|
||||
public abstract void onResult(T data);
|
||||
public abstract void onResult(T data, boolean isCached);
|
||||
|
||||
public boolean hasCachedResults() {
|
||||
return false;
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ public class EventsDataHandler extends DataHandler<Collection<EventBase>> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResult(Collection<EventBase> data) {
|
||||
public void onResult(Collection<EventBase> data, boolean isCached) {
|
||||
manager.addEvents(data);
|
||||
}
|
||||
|
||||
|
||||
+12
-10
@@ -26,18 +26,20 @@ public class ManagedRacesDataHandler extends DataHandler<Collection<ManagedRace>
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResult(Collection<ManagedRace> data) {
|
||||
Set<DeleteFromDataStore> deleteList = new HashSet<>();
|
||||
for (ManagedRace race : manager.getDataStore().getRaces()) {
|
||||
if (!data.contains(race)) {
|
||||
deleteList.add(new DeleteFromDataStore(manager, race));
|
||||
public void onResult(Collection<ManagedRace> data, boolean isCached) {
|
||||
if (!isCached) {
|
||||
Set<DeleteFromDataStore> deleteList = new HashSet<>();
|
||||
for (ManagedRace race : manager.getDataStore().getRaces()) {
|
||||
if (!data.contains(race)) {
|
||||
deleteList.add(new DeleteFromDataStore(manager, race));
|
||||
}
|
||||
}
|
||||
for (DeleteFromDataStore action : deleteList) {
|
||||
action.run();
|
||||
}
|
||||
manager.addRaces(data);
|
||||
calcRaceState(data);
|
||||
}
|
||||
for (DeleteFromDataStore action : deleteList) {
|
||||
action.run();
|
||||
}
|
||||
manager.addRaces(data);
|
||||
calcRaceState(data);
|
||||
}
|
||||
|
||||
private void calcRaceState(Collection<ManagedRace> data) {
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ public class MarksDataHandler extends DataHandler<Collection<Mark>> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResult(Collection<Mark> data) {
|
||||
public void onResult(Collection<Mark> data, boolean isCached) {
|
||||
manager.addMarks(data);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ public class NullDataHandler<T> extends DataHandler<T> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResult(T data) {
|
||||
public void onResult(T data, boolean isCached) {
|
||||
// no operation
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -1,5 +1,10 @@
|
||||
package com.sap.sailing.racecommittee.app.data.loaders;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.net.URL;
|
||||
|
||||
import android.content.AsyncTaskLoader;
|
||||
import android.content.Context;
|
||||
import android.content.Loader;
|
||||
@@ -10,11 +15,6 @@ import com.sap.sailing.android.shared.logging.ExLog;
|
||||
import com.sap.sailing.racecommittee.app.data.handlers.DataHandler;
|
||||
import com.sap.sailing.racecommittee.app.data.parsers.DataParser;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* A {@link Loader} that loads data by accessing a remote resource.
|
||||
@@ -27,7 +27,7 @@ import java.net.URL;
|
||||
* <p/>
|
||||
* <p>
|
||||
* The data returned by the remote resource is parsed by the given {@link DataParser} and may be cached through your
|
||||
* implementation of {@link DataHandler#onResult(Object)}.
|
||||
* implementation of {@link DataHandler#onResult(Object, boolean)}.
|
||||
* </p>
|
||||
*
|
||||
* @param <T> result type.
|
||||
@@ -78,7 +78,7 @@ public class OnlineDataLoader<T> extends AsyncTaskLoader<DataLoaderResult<T>> {
|
||||
@Override
|
||||
public void deliverResult(DataLoaderResult<T> result) {
|
||||
if (result.isSuccessful()) {
|
||||
dataHandler.onResult(result.getResult());
|
||||
dataHandler.onResult(result.getResult(), result.isResultCached());
|
||||
}
|
||||
super.deliverResult(result);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user