triple = FleetIdentifierImpl.unescape(race.getId());
diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/ReadonlyDataManager.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/ReadonlyDataManager.java
index bdcf2653377..6f4426a62bb 100755
--- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/ReadonlyDataManager.java
+++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/ReadonlyDataManager.java
@@ -1,9 +1,7 @@
package com.sap.sailing.racecommittee.app.data;
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Map;
-import java.util.UUID;
+import android.support.v4.app.LoaderManager;
+import android.support.v4.app.LoaderManager.LoaderCallbacks;
import com.sap.sailing.domain.base.Boat;
import com.sap.sailing.domain.base.Competitor;
@@ -20,20 +18,22 @@ import com.sap.sailing.racecommittee.app.domain.ManagedRace;
import com.sap.sailing.racecommittee.app.domain.impl.LeaderboardResult;
import com.sap.sailing.racecommittee.app.ui.fragments.lists.PositionListFragment;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.app.LoaderManager.LoaderCallbacks;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Map;
+import java.util.UUID;
/**
*
* Interface for everything read related when working with data.
*
- *
+ *
*
* The result values of this interface's methods are meant to be used in conjunction with the Android's
* {@link LoaderManager} facility. Everything that is loaded by this interface is stored and cached in the underlying
* {@link DataStore}.
*
- *
+ *
*
* If there are cached results your {@link LoadClient}'s callback methods might be called twice (first cached results;
* afterwards remote results). See {@link LoadClient} for restrictions that apply to your data handling code.
@@ -43,144 +43,149 @@ public interface ReadonlyDataManager {
/**
* Gets the underlying data store.
- *
+ *
* @return the {@link DataStore}.
*/
DataStore getDataStore();
/**
* Creates a new {@link LoaderCallbacks} object for loading {@link EventBase}s.
- *
- * @param callback
- * {@link LoadClient} implementing your data handling code.
+ *
+ * @param callback {@link LoadClient} implementing your data handling code.
+ * @param eventIds Event IDs to filter the results.
* @return {@link LoaderCallbacks} to be used in
- * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
- * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
+ * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
+ * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
*/
LoaderCallbacks>> createEventsLoader(
- LoadClient> callback);
+ LoadClient> callback,
+ UUID... eventIds
+ );
/**
* Creates a new {@link LoaderCallbacks} object for loading {@link CourseArea}s.
- *
- * @param callback
- * {@link LoadClient} implementing your data handling code.
+ *
+ * @param callback {@link LoadClient} implementing your data handling code.
* @return {@link LoaderCallbacks} to be used in
- * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
- * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
+ * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
+ * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
*/
- LoaderCallbacks>> createCourseAreasLoader(Serializable parentEventId,
- LoadClient> callback);
+ LoaderCallbacks>> createCourseAreasLoader(
+ Serializable parentEventId,
+ LoadClient> callback
+ );
- LoaderCallbacks>> createCourseAreasLoader(EventBase parentEvent,
- LoadClient> callback);
+ LoaderCallbacks>> createCourseAreasLoader(
+ EventBase parentEvent,
+ LoadClient> callback
+ );
/**
* Creates a new {@link LoaderCallbacks} object for loading racing referee positions.
- *
+ *
* @return {@link LoaderCallbacks} to be used in
- * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
- * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
+ * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
+ * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
*/
LoaderCallbacks>> createPositionLoader(
PositionListFragment positionListFragment);
/**
* Creates a new {@link LoaderCallbacks} object for loading {@link ManagedRace}s of a specific {@link CourseArea}.
- *
- * @param courseAreaId
- * the {@link CourseArea}'s Identifier.
- * @param callback
- * {@link LoadClient} implementing your data handling code.
+ *
+ * @param courseAreaId the {@link CourseArea}'s Identifier.
+ * @param callback {@link LoadClient} implementing your data handling code.
* @return {@link LoaderCallbacks} to be used in
- * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
- * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
+ * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
+ * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
*/
- LoaderCallbacks>> createRacesLoader(Serializable courseAreaId,
- LoadClient> callback);
+ LoaderCallbacks>> createRacesLoader(
+ Serializable courseAreaId,
+ LoadClient> callback
+ );
/**
* Creates a new {@link LoaderCallbacks} object for loading a race's {@link Mark}s.
- *
- * @param managedRace
- * the {@link ManagedRace}.
- * @param callback
- * {@link LoadClient} implementing your data handling code.
+ *
+ * @param managedRace the {@link ManagedRace}.
+ * @param callback {@link LoadClient} implementing your data handling code.
* @return {@link LoaderCallbacks} to be used in
- * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
- * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
+ * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
+ * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
*/
- LoaderCallbacks>> createMarksLoader(ManagedRace managedRace,
- LoadClient> callback);
+ LoaderCallbacks>> createMarksLoader(
+ ManagedRace managedRace,
+ LoadClient> callback
+ );
/**
* Creates a new {@link LoaderCallbacks} object for loading a race's {@link CourseBase}.
- *
- * @param managedRace
- * the {@link ManagedRace}.
- * @param callback
- * {@link LoadClient} implementing your data handling code.
+ *
+ * @param managedRace the {@link ManagedRace}.
+ * @param callback {@link LoadClient} implementing your data handling code.
* @return {@link LoaderCallbacks} to be used in
- * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
- * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
+ * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
+ * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
*/
- LoaderCallbacks> createCourseLoader(ManagedRace managedRace,
- LoadClient callback);
+ LoaderCallbacks> createCourseLoader(
+ ManagedRace managedRace,
+ LoadClient callback
+ );
/**
* Creates a new {@link LoaderCallbacks} object for loading {@link Competitor}s.
- *
- * @param callback
- * {@link LoadClient} implementing your data handling code.
+ *
+ * @param callback {@link LoadClient} implementing your data handling code.
* @return {@link LoaderCallbacks} to be used in
- * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
- * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
+ * {@link LoaderManager#initLoader(int, android.os.Bundle, LoaderCallbacks)} or
+ * {@link LoaderManager#restartLoader(int, android.os.Bundle, LoaderCallbacks)}.
*/
- LoaderCallbacks>> createCompetitorsLoader(ManagedRace managedRace,
- LoadClient