introduced RacingProcedureWithConfigurableStartModeFlagConfigurationImpl; more factoring out of common DTO--config copying parts

Change-Id: I05247092d08a71e44bfdd83c45560b43e40c6c95
This commit is contained in:
Axel Uhl committed 2016-11-29 16:09:21 +01:00
1 parent 43048a3a2b
commit 7dd5755df8
8 files changed
+71 -71

No files matched your search

@@ -1,21 +1,12 @@
package com.sap.sailing.domain.base.configuration.impl;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.ESSConfiguration;
public class ESSConfigurationImpl extends RacingProcedureConfigurationImpl implements ESSConfiguration {
private static final long serialVersionUID = 5406098147408723197L;
protected ESSConfiguration copy() {
ESSConfigurationImpl copy = (ESSConfigurationImpl) super.copy(new ESSConfigurationImpl());
return copy;
protected ESSConfigurationImpl newInstance() {
return new ESSConfigurationImpl();
}
@Override
public RacingProcedureConfiguration merge(RacingProcedureConfiguration update) {
ESSConfigurationImpl target = (ESSConfigurationImpl) super.merge(update);
return target;
}
}
@@ -41,12 +41,16 @@ public class GateStartConfigurationImpl extends RacingProcedureConfigurationImpl
return target;
}
@Override
protected GateStartConfigurationImpl newInstance() {
return new GateStartConfigurationImpl();
}
protected GateStartConfiguration copy() {
GateStartConfigurationImpl copy = (GateStartConfigurationImpl) super.copy(new GateStartConfigurationImpl());
GateStartConfigurationImpl copy = (GateStartConfigurationImpl) super.copy();
copy.setHasPathfinder(hasPathfinder);
copy.setHasAdditionalGolfDownTime(hasAdditionalGolfDownTime);
return copy;
}
}
@@ -1,20 +1,11 @@
package com.sap.sailing.domain.base.configuration.impl;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.LeagueConfiguration;
public class LeagueConfigurationImpl extends RacingProcedureConfigurationImpl implements LeagueConfiguration {
private static final long serialVersionUID = 3625803505541394766L;
protected LeagueConfigurationImpl copy() {
LeagueConfigurationImpl copy = (LeagueConfigurationImpl) super.copy(new LeagueConfigurationImpl());
return copy;
protected LeagueConfigurationImpl newInstance() {
return new LeagueConfigurationImpl();
}
@Override
public RacingProcedureConfiguration merge(RacingProcedureConfiguration update) {
LeagueConfigurationImpl target = (LeagueConfigurationImpl) super.merge(update);
return target;
}
}
@@ -1,27 +1,13 @@
package com.sap.sailing.domain.base.configuration.impl;
import java.util.List;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.RRS26Configuration;
import com.sap.sailing.domain.common.racelog.Flags;
public class RRS26ConfigurationImpl extends RacingProcedureConfigurationImpl implements
RRS26Configuration {
public class RRS26ConfigurationImpl extends RacingProcedureWithConfigurableStartModeFlagConfigurationImpl
implements RRS26Configuration {
private static final long serialVersionUID = 260941807346644026L;
private List<Flags> startModeFlags;
@Override
public List<Flags> getStartModeFlags() {
return startModeFlags;
}
public void setStartModeFlags(List<Flags> flags) {
this.startModeFlags = flags;
}
@Override
public RacingProcedureConfiguration merge(RacingProcedureConfiguration value) {
RRS26Configuration update = (RRS26Configuration) value;
@@ -32,10 +18,8 @@ public class RRS26ConfigurationImpl extends RacingProcedureConfigurationImpl imp
return target;
}
protected RRS26Configuration copy() {
RRS26ConfigurationImpl copy = (RRS26ConfigurationImpl) super.copy(new RRS26ConfigurationImpl());
copy.setStartModeFlags(startModeFlags);
return copy;
protected RRS26ConfigurationImpl newInstance() {
return new RRS26ConfigurationImpl();
}
}
@@ -49,8 +49,12 @@ public class RacingProcedureConfigurationImpl implements RacingProcedureConfigur
this.isResultEntryEnabled = isResultEntryEnabled;
}
protected RacingProcedureConfigurationImpl newInstance() {
return new RacingProcedureConfigurationImpl();
}
protected RacingProcedureConfiguration copy() {
return copy(new RacingProcedureConfigurationImpl());
return copy(newInstance());
}
protected RacingProcedureConfiguration copy(RacingProcedureConfigurationImpl target) {
@@ -0,0 +1,40 @@
package com.sap.sailing.domain.base.configuration.impl;
import java.util.List;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.LineStartConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCConfiguration;
import com.sap.sailing.domain.common.racelog.Flags;
public abstract class RacingProcedureWithConfigurableStartModeFlagConfigurationImpl extends RacingProcedureConfigurationImpl implements LineStartConfiguration {
private static final long serialVersionUID = 5141617199229598965L;
private List<Flags> startModeFlags;
@Override
public List<Flags> getStartModeFlags() {
return startModeFlags;
}
public void setStartModeFlags(List<Flags> flags) {
this.startModeFlags = flags;
}
@Override
public RacingProcedureConfiguration merge(RacingProcedureConfiguration value) {
SWCConfiguration update = (SWCConfiguration) value;
RacingProcedureWithConfigurableStartModeFlagConfigurationImpl target = (RacingProcedureWithConfigurableStartModeFlagConfigurationImpl) super.merge(update);
if (update.getStartModeFlags() != null) {
target.setStartModeFlags(update.getStartModeFlags());
}
return target;
}
protected LineStartConfiguration copy() {
RacingProcedureWithConfigurableStartModeFlagConfigurationImpl copy = (RacingProcedureWithConfigurableStartModeFlagConfigurationImpl) super.copy();
copy.setStartModeFlags(startModeFlags);
return copy;
}
}
@@ -1,27 +1,13 @@
package com.sap.sailing.domain.base.configuration.impl;
import java.util.List;
import com.sap.sailing.domain.base.configuration.RacingProcedureConfiguration;
import com.sap.sailing.domain.base.configuration.procedures.SWCConfiguration;
import com.sap.sailing.domain.common.racelog.Flags;
public class SWCConfigurationImpl extends RacingProcedureConfigurationImpl implements
SWCConfiguration {
public class SWCConfigurationImpl extends RacingProcedureWithConfigurableStartModeFlagConfigurationImpl
implements SWCConfiguration {
private static final long serialVersionUID = 5141617199229598965L;
private List<Flags> startModeFlags;
@Override
public List<Flags> getStartModeFlags() {
return startModeFlags;
}
public void setStartModeFlags(List<Flags> flags) {
this.startModeFlags = flags;
}
@Override
public RacingProcedureConfiguration merge(RacingProcedureConfiguration value) {
SWCConfiguration update = (SWCConfiguration) value;
@@ -31,11 +17,4 @@ public class SWCConfigurationImpl extends RacingProcedureConfigurationImpl imple
}
return target;
}
protected SWCConfiguration copy() {
SWCConfigurationImpl copy = (SWCConfigurationImpl) super.copy(new SWCConfigurationImpl());
copy.setStartModeFlags(startModeFlags);
return copy;
}
}
@@ -127,6 +127,7 @@ import com.sap.sailing.domain.base.configuration.impl.GateStartConfigurationImpl
import com.sap.sailing.domain.base.configuration.impl.LeagueConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RRS26ConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RacingProcedureConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RacingProcedureWithConfigurableStartModeFlagConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.RegattaConfigurationImpl;
import com.sap.sailing.domain.base.configuration.impl.SWCConfigurationImpl;
import com.sap.sailing.domain.base.configuration.procedures.LineStartConfiguration;
@@ -4913,13 +4914,13 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
if (dto.rrs26Configuration != null) {
RRS26ConfigurationImpl config = new RRS26ConfigurationImpl();
applyGeneralRacingProcedureConfigProperties(dto.rrs26Configuration, config);
config.setStartModeFlags(dto.rrs26Configuration.startModeFlags);
applyRacingProcedureWithConfigurableStartModeFlagConfigProperties(dto.rrs26Configuration, config);
configuration.setRRS26Configuration(config);
}
if (dto.swcStartConfiguration != null) {
SWCConfigurationImpl config = new SWCConfigurationImpl();
applyGeneralRacingProcedureConfigProperties(dto.swcStartConfiguration, config);
config.setStartModeFlags(dto.swcStartConfiguration.startModeFlags);
applyRacingProcedureWithConfigurableStartModeFlagConfigProperties(dto.swcStartConfiguration, config);
configuration.setSWCConfiguration(config);
}
if (dto.gateStartConfiguration != null) {
@@ -4954,6 +4955,12 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
config.setResultEntryEnabled(racingProcedureConfigurationDTO.isResultEntryEnabled);
}
private void applyRacingProcedureWithConfigurableStartModeFlagConfigProperties(
RacingProcedureWithConfigurableStartModeFlagConfigurationDTO racingProcedureConfigurationDTO,
RacingProcedureWithConfigurableStartModeFlagConfigurationImpl config) {
config.setStartModeFlags(racingProcedureConfigurationDTO.startModeFlags);
}
@Override
public boolean setStartTimeAndProcedure(RaceLogSetStartTimeAndProcedureDTO dto) {
TimePoint newStartTime = getService().setStartTimeAndProcedure(dto.leaderboardName, dto.raceColumnName,