Use enum for master import sub progresses

This commit is contained in:
Benjamin Barth committed 2016-04-27 13:42:12 +02:00
1 parent 65d62298e8
commit a43e61d3e3
9 files changed
+43 -51

No files matched your search

@@ -18,6 +18,7 @@ import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
import com.sap.sailing.domain.abstractlog.race.RaceLog;
import com.sap.sailing.domain.abstractlog.race.RaceLogStartTimeEvent;
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver;
import com.sap.sailing.domain.abstractlog.regatta.RegattaLog;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.base.CompetitorStore;
import com.sap.sailing.domain.base.CourseArea;
@@ -40,6 +41,7 @@ import com.sap.sailing.domain.base.configuration.DeviceConfigurationIdentifier;
import com.sap.sailing.domain.base.configuration.DeviceConfigurationMatcher;
import com.sap.sailing.domain.base.configuration.RegattaConfiguration;
import com.sap.sailing.domain.common.DataImportProgress;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.RaceFetcher;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
@@ -548,12 +550,10 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch
DataImportLockWithProgress getDataImportLock();
DataImportProgress createOrUpdateDataImportProgressWithReplication(UUID importOperationId,
double overallProgressPct,
String subProgressName, double subProgressPct);
double overallProgressPct, DataImportSubProgress subProgress, double subProgressPct);
DataImportProgress createOrUpdateDataImportProgressWithoutReplication(UUID importOperationId,
double overallProgressPct,
String subProgressName, double subProgressPct);
double overallProgressPct, DataImportSubProgress subProgress, double subProgressPct);
void setDataImportFailedWithReplication(UUID importOperationId, String errorMessage);
@@ -91,6 +91,7 @@ import com.sap.sailing.domain.base.impl.EventImpl;
import com.sap.sailing.domain.base.impl.RegattaImpl;
import com.sap.sailing.domain.base.impl.RemoteSailingServerReferenceImpl;
import com.sap.sailing.domain.common.DataImportProgress;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.Distance;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
@@ -3034,19 +3035,19 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
@Override
public DataImportProgress createOrUpdateDataImportProgressWithReplication(UUID importOperationId,
double overallProgressPct, String subProgressName, double subProgressPct) {
double overallProgressPct, DataImportSubProgress subProgress, double subProgressPct) {
// Create/Update locally
DataImportProgress progress = createOrUpdateDataImportProgressWithoutReplication(importOperationId,
overallProgressPct, subProgressName, subProgressPct);
overallProgressPct, subProgress, subProgressPct);
// Create/Update on replicas
replicate(new CreateOrUpdateDataImportProgress(importOperationId, overallProgressPct, subProgressName,
replicate(new CreateOrUpdateDataImportProgress(importOperationId, overallProgressPct, subProgress,
subProgressPct));
return progress;
}
@Override
public DataImportProgress createOrUpdateDataImportProgressWithoutReplication(UUID importOperationId,
double overallProgressPct, String subProgressName, double subProgressPct) {
double overallProgressPct, DataImportSubProgress subProgress, double subProgressPct) {
DataImportProgress progress = dataImportLock.getProgress(importOperationId);
boolean newObject = false;
if (progress == null) {
@@ -3054,7 +3055,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes
newObject = true;
}
progress.setOverAllProgressPct(overallProgressPct);
progress.setNameOfCurrentSubProgress(subProgressName);
progress.setCurrentSubProgress(subProgress);
progress.setCurrentSubProgressPct(subProgressPct);
if (newObject) {
dataImportLock.addProgress(importOperationId, progress);
@@ -1,8 +1,5 @@
package com.sap.sailing.server.masterdata;
import static com.sap.sailing.domain.common.DataImportProgress.SubProgress.TRANSFER_COMPLETED;
import static com.sap.sailing.domain.common.DataImportProgress.SubProgress.TRANSFER_STARTED;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
@@ -15,6 +12,7 @@ import com.sap.sailing.domain.base.DomainFactory;
import com.sap.sailing.domain.base.Regatta;
import com.sap.sailing.domain.base.impl.MasterDataImportInformation;
import com.sap.sailing.domain.base.impl.RegattaImpl;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.MasterDataImportObjectCreationCount;
import com.sap.sailing.domain.common.impl.MasterDataImportObjectCreationCountImpl;
import com.sap.sailing.domain.masterdataimport.TopLevelMasterData;
@@ -39,7 +37,7 @@ public class MasterDataImporter {
ObjectInputStreamResolvingAgainstCache<DomainFactory> objectInputStream = racingEventService.getBaseDomainFactory()
.createObjectInputStreamResolvingAgainstThisFactory(inputStream);
racingEventService.createOrUpdateDataImportProgressWithReplication(importOperationId, 0.03,
TRANSFER_STARTED.getMessageKey(), 0.5);
DataImportSubProgress.TRANSFER_STARTED, 0.5);
RaceLogStore raceLogStore = MongoRaceLogStoreFactory.INSTANCE.getMongoRaceLogStore(
racingEventService.getMongoObjectFactory(), racingEventService.getDomainObjectFactory());
@@ -68,7 +66,7 @@ public class MasterDataImporter {
}
racingEventService.createOrUpdateDataImportProgressWithReplication(importOperationId, 0.3,
TRANSFER_COMPLETED.getMessageKey(), 0.5);
DataImportSubProgress.TRANSFER_COMPLETED, 0.5);
applyMasterDataImportOperation(topLevelMasterData, importOperationId, override);
}
@@ -2,30 +2,31 @@ package com.sap.sailing.server.operationaltransformation;
import java.util.UUID;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.server.RacingEventService;
import com.sap.sailing.server.RacingEventServiceOperation;
public class CreateOrUpdateDataImportProgress extends AbstractRacingEventServiceOperation<Void> {
private static final long serialVersionUID = 7619972832594152077L;
private static final long serialVersionUID = 1980532937717924118L;
private UUID importOperationId;
private double overallProgressPct;
private String subProgressName;
private DataImportSubProgress subProgress;
private double subProgressPct;
public CreateOrUpdateDataImportProgress(UUID importOperationId, double overallProgressPct, String subProgressName,
double subProgressPct) {
public CreateOrUpdateDataImportProgress(UUID importOperationId, double overallProgressPct,
DataImportSubProgress subProgress, double subProgressPct) {
this.importOperationId = importOperationId;
this.overallProgressPct = overallProgressPct;
this.subProgressName = subProgressName;
this.subProgress = subProgress;
this.subProgressPct = subProgressPct;
}
@Override
public Void internalApplyTo(RacingEventService toState) throws Exception {
toState.createOrUpdateDataImportProgressWithoutReplication(importOperationId, overallProgressPct,
subProgressName, subProgressPct);
subProgress, subProgressPct);
return null;
}
@@ -1,10 +1,5 @@
package com.sap.sailing.server.operationaltransformation;
import static com.sap.sailing.domain.common.DataImportProgress.SubProgress.IMPORT_LEADERBOARD_GROUPS;
import static com.sap.sailing.domain.common.DataImportProgress.SubProgress.IMPORT_WAIT;
import static com.sap.sailing.domain.common.DataImportProgress.SubProgress.IMPORT_WIND_TRACKS;
import static com.sap.sailing.domain.common.DataImportProgress.SubProgress.UPDATE_EVENT_LEADERBOARD_GROUP_LINKS;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
@@ -31,6 +26,7 @@ import com.sap.sailing.domain.base.configuration.DeviceConfiguration;
import com.sap.sailing.domain.base.configuration.DeviceConfigurationMatcher;
import com.sap.sailing.domain.base.impl.RegattaImpl;
import com.sap.sailing.domain.common.DataImportProgress;
import com.sap.sailing.domain.common.DataImportSubProgress;
import com.sap.sailing.domain.common.RaceIdentifier;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.Wind;
@@ -101,10 +97,10 @@ public class ImportMasterDataOperation extends
public MasterDataImportObjectCreationCountImpl internalApplyTo(RacingEventService toState) throws Exception {
final DataImportLockWithProgress dataImportLock = toState.getDataImportLock();
this.progress = dataImportLock.getProgress(importOperationId);
progress.setNameOfCurrentSubProgress(IMPORT_WAIT.getMessageKey());
progress.setCurrentSubProgress(DataImportSubProgress.IMPORT_WAIT);
LockUtil.lockForWrite(dataImportLock);
try {
progress.setNameOfCurrentSubProgress(IMPORT_LEADERBOARD_GROUPS.getMessageKey());
progress.setCurrentSubProgress(DataImportSubProgress.IMPORT_LEADERBOARD_GROUPS);
progress.setCurrentSubProgressPct(0);
int numOfGroupsToImport = masterData.getLeaderboardGroups().size();
int i = 0;
@@ -113,7 +109,7 @@ public class ImportMasterDataOperation extends
i++;
progress.setCurrentSubProgressPct((double) i / numOfGroupsToImport);
}
progress.setNameOfCurrentSubProgress(UPDATE_EVENT_LEADERBOARD_GROUP_LINKS.getMessageKey());
progress.setCurrentSubProgress(DataImportSubProgress.UPDATE_EVENT_LEADERBOARD_GROUP_LINKS);
progress.setOverAllProgressPct(0.4);
progress.setCurrentSubProgressPct(0);
final Iterable<Event> allEvents = masterData.getAllEvents();
@@ -124,7 +120,7 @@ public class ImportMasterDataOperation extends
eventCounter++;
progress.setCurrentSubProgressPct((double) eventCounter / numOfEventsToHandle);
}
progress.setNameOfCurrentSubProgress(IMPORT_WIND_TRACKS.getMessageKey());
progress.setCurrentSubProgress(DataImportSubProgress.IMPORT_WIND_TRACKS);
progress.setOverAllProgressPct(0.5);
progress.setCurrentSubProgressPct(0);
createWindTracks(toState);