mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-20 19:20:04 +00:00
fix for bug 3446: entity identity comparator for device configurations now compares the list of device names
Change-Id: I72f7d20cdb95d64cc403e7645f46c86a3f8c8384
This commit is contained in:
1 parent
c0f30fd545
commit
209066b87b
24 files changed
+38
-120
No files matched your search
@@ -10,7 +10,6 @@ Export-Package: com.sap.sailing.domain.common,
|
||||
com.sap.sailing.domain.common.abstractlog,
|
||||
com.sap.sailing.domain.common.confidence,
|
||||
com.sap.sailing.domain.common.confidence.impl,
|
||||
com.sap.sailing.domain.common.configuration,
|
||||
com.sap.sailing.domain.common.dto,
|
||||
com.sap.sailing.domain.common.impl,
|
||||
com.sap.sailing.domain.common.media,
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package com.sap.sailing.domain.common.configuration;
|
||||
|
||||
public enum DeviceConfigurationMatcherType {
|
||||
|
||||
SINGLE(1);
|
||||
|
||||
private int matchingRank;
|
||||
|
||||
private DeviceConfigurationMatcherType(int rank) {
|
||||
this.matchingRank = rank;
|
||||
}
|
||||
|
||||
public int getRank() {
|
||||
return matchingRank;
|
||||
}
|
||||
}
|
||||
+1
-4
@@ -156,7 +156,6 @@ import com.sap.sailing.domain.common.SpeedWithBearing;
|
||||
import com.sap.sailing.domain.common.Wind;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.domain.common.WindSourceType;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sailing.domain.common.impl.DegreeBearingImpl;
|
||||
import com.sap.sailing.domain.common.impl.DegreePosition;
|
||||
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
|
||||
@@ -1972,8 +1971,6 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
}
|
||||
|
||||
private DeviceConfigurationMatcher loadConfigurationMatcher(DBObject matcherObject) {
|
||||
DeviceConfigurationMatcherType type = DeviceConfigurationMatcherType.valueOf(
|
||||
matcherObject.get(FieldNames.CONFIGURATION_MATCHER_TYPE.name()).toString());
|
||||
List<String> clientIdentifiers = new ArrayList<String>();
|
||||
BasicDBList clientIdentifiersObject = (BasicDBList) matcherObject.get(FieldNames.CONFIGURATION_MATCHER_CLIENTS.name());
|
||||
if (clientIdentifiersObject != null) {
|
||||
@@ -1981,7 +1978,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory {
|
||||
clientIdentifiers.add(clientIdentifier.toString());
|
||||
}
|
||||
}
|
||||
return baseDomainFactory.getOrCreateDeviceConfigurationMatcher(type, clientIdentifiers);
|
||||
return baseDomainFactory.getOrCreateDeviceConfigurationMatcher(clientIdentifiers);
|
||||
}
|
||||
|
||||
private DeviceConfiguration loadConfiguration(DBObject configObject) {
|
||||
|
||||
+1
-1
@@ -120,7 +120,7 @@ public enum FieldNames {
|
||||
SERVER_IS_STANDALONE,
|
||||
|
||||
// configurations
|
||||
CONFIGURATION_MATCHER, CONFIGURATION_CONFIG, CONFIGURATION_MATCHER_ID, CONFIGURATION_MATCHER_TYPE, CONFIGURATION_MATCHER_CLIENTS,
|
||||
CONFIGURATION_MATCHER, CONFIGURATION_CONFIG, CONFIGURATION_MATCHER_ID, CONFIGURATION_MATCHER_CLIENTS,
|
||||
CONFIGURATION_CONFIG_ALLOWED_COURSE_AREA_NAMES, CONFIGURATION_CONFIG_MIN_ROUNDS, CONFIGURATION_CONFIG_MAX_ROUNDS, CONFIGURATION_CONFIG_RESULTS_MAIL,
|
||||
CONFIGURATION_CONFIG_PROCEDURES,
|
||||
|
||||
|
||||
-1
@@ -1270,7 +1270,6 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory {
|
||||
|
||||
private DBObject createDeviceConfigurationMatcherObject(DeviceConfigurationMatcher matcher) {
|
||||
DBObject matcherObject = new BasicDBObject();
|
||||
matcherObject.put(FieldNames.CONFIGURATION_MATCHER_TYPE.name(), matcher.getMatcherType().name());
|
||||
if (matcher instanceof DeviceConfigurationMatcherSingle) {
|
||||
BasicDBList client = new BasicDBList();
|
||||
client.add(((DeviceConfigurationMatcherSingle)matcher).getClientIdentifier());
|
||||
|
||||
+1
-2
@@ -8,7 +8,6 @@ import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver;
|
||||
import com.sap.sailing.domain.base.configuration.DeviceConfigurationMatcher;
|
||||
import com.sap.sailing.domain.common.MarkType;
|
||||
import com.sap.sailing.domain.common.PassingInstruction;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
|
||||
public interface SharedDomainFactory extends CompetitorFactory {
|
||||
|
||||
@@ -100,7 +99,7 @@ public interface SharedDomainFactory extends CompetitorFactory {
|
||||
/**
|
||||
* Hm.
|
||||
*/
|
||||
DeviceConfigurationMatcher getOrCreateDeviceConfigurationMatcher(DeviceConfigurationMatcherType type, List<String> clientIdentifiers);
|
||||
DeviceConfigurationMatcher getOrCreateDeviceConfigurationMatcher(List<String> clientIdentifiers);
|
||||
|
||||
Mark getExistingMarkByIdAsString(String toStringRepresentationOfID);
|
||||
|
||||
|
||||
+1
-21
@@ -3,35 +3,15 @@ package com.sap.sailing.domain.base.configuration;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.sap.sailing.domain.base.SharedDomainFactory;
|
||||
import com.sap.sailing.domain.base.configuration.impl.DeviceConfigurationMapImpl;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Classes implementing this interface are matching {@link DeviceConfigurationIdentifier}s to associate them with a
|
||||
* {@link DeviceConfiguration}.
|
||||
* </p>
|
||||
*
|
||||
* <p>The rank (see {@link DeviceConfigurationMatcher#getMatchingRank()}) is used as a priority when multiple matchers
|
||||
* are matching a {@link DeviceConfigurationIdentifier} (see also {@link DeviceConfigurationMapImpl}) (lower wins).</p>
|
||||
* </p>
|
||||
*/
|
||||
public interface DeviceConfigurationMatcher extends IsManagedByCache<SharedDomainFactory>, Serializable {
|
||||
|
||||
/**
|
||||
* Returns the kind of matching used by this matcher.
|
||||
*
|
||||
* @return the {@link Type}.
|
||||
*/
|
||||
DeviceConfigurationMatcherType getMatcherType();
|
||||
|
||||
/**
|
||||
* Gets the matcher's rank.
|
||||
*
|
||||
* @return the rank.
|
||||
*/
|
||||
int getMatchingRank();
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> if this {@link DeviceConfigurationMatcher} matches the given
|
||||
* {@link DeviceConfigurationIdentifier}; otherwise <code>false</code>.
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ public class DeviceConfigurationMapImpl extends ConcurrentHashMap<DeviceConfigur
|
||||
DeviceConfigurationMatcher match = null;
|
||||
for (Entry<DeviceConfigurationMatcher, DeviceConfiguration> entry : entrySet()) {
|
||||
if (entry.getKey().matches(key)) {
|
||||
if (match == null || match.getMatchingRank() > entry.getKey().getMatchingRank()) {
|
||||
if (match == null) {
|
||||
match = entry.getKey();
|
||||
}
|
||||
}
|
||||
|
||||
+1
-12
@@ -6,7 +6,6 @@ import java.util.Arrays;
|
||||
import com.sap.sailing.domain.base.SharedDomainFactory;
|
||||
import com.sap.sailing.domain.base.configuration.DeviceConfigurationIdentifier;
|
||||
import com.sap.sailing.domain.base.configuration.DeviceConfigurationMatcher;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sse.common.IsManagedByCache;
|
||||
|
||||
/**
|
||||
@@ -26,16 +25,6 @@ public class DeviceConfigurationMatcherSingle implements DeviceConfigurationMatc
|
||||
return this.clientIdentifier.equals(identifier.getClientIdentifier());
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeviceConfigurationMatcherType getMatcherType() {
|
||||
return DeviceConfigurationMatcherType.SINGLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMatchingRank() {
|
||||
return getMatcherType().getRank();
|
||||
}
|
||||
|
||||
public String getClientIdentifier() {
|
||||
return clientIdentifier;
|
||||
}
|
||||
@@ -52,7 +41,7 @@ public class DeviceConfigurationMatcherSingle implements DeviceConfigurationMatc
|
||||
|
||||
@Override
|
||||
public IsManagedByCache<SharedDomainFactory> resolve(SharedDomainFactory domainFactory) {
|
||||
return domainFactory.getOrCreateDeviceConfigurationMatcher(getMatcherType(), Arrays.asList(clientIdentifier));
|
||||
return domainFactory.getOrCreateDeviceConfigurationMatcher(Arrays.asList(clientIdentifier));
|
||||
}
|
||||
|
||||
}
|
||||
+4
-14
@@ -31,7 +31,6 @@ import com.sap.sailing.domain.base.configuration.impl.DeviceConfigurationMatcher
|
||||
import com.sap.sailing.domain.common.BoatClassMasterdata;
|
||||
import com.sap.sailing.domain.common.MarkType;
|
||||
import com.sap.sailing.domain.common.PassingInstruction;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.common.Duration;
|
||||
import com.sap.sse.common.WithID;
|
||||
@@ -349,9 +348,8 @@ public class SharedDomainFactoryImpl implements SharedDomainFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeviceConfigurationMatcher getOrCreateDeviceConfigurationMatcher(DeviceConfigurationMatcherType type,
|
||||
List<String> clientIdentifiers) {
|
||||
DeviceConfigurationMatcher probe = createMatcher(type, clientIdentifiers);
|
||||
public DeviceConfigurationMatcher getOrCreateDeviceConfigurationMatcher(List<String> clientIdentifiers) {
|
||||
DeviceConfigurationMatcher probe = createMatcher(clientIdentifiers);
|
||||
DeviceConfigurationMatcher matcher = configurationMatcherCache.get(probe.getMatcherIdentifier());
|
||||
if (matcher == null) {
|
||||
configurationMatcherCache.put(probe.getMatcherIdentifier(), probe);
|
||||
@@ -360,16 +358,8 @@ public class SharedDomainFactoryImpl implements SharedDomainFactory {
|
||||
return matcher;
|
||||
}
|
||||
|
||||
private DeviceConfigurationMatcher createMatcher(DeviceConfigurationMatcherType type, List<String> clientIdentifiers) {
|
||||
DeviceConfigurationMatcher matcher = null;
|
||||
switch (type) {
|
||||
case SINGLE:
|
||||
matcher = new DeviceConfigurationMatcherSingle(clientIdentifiers.get(0));
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException("Unknown matcher type: " + type);
|
||||
}
|
||||
return matcher;
|
||||
private DeviceConfigurationMatcher createMatcher(List<String> clientIdentifiers) {
|
||||
return new DeviceConfigurationMatcherSingle(clientIdentifiers.get(0));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-13
@@ -6,7 +6,6 @@ import java.util.List;
|
||||
import com.google.gwt.user.client.ui.Grid;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceConfigurationMatcherDTO;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
@@ -16,24 +15,18 @@ public class DeviceConfigurationCreateSingleMatcherDialog extends DataEntryDialo
|
||||
public static class MatcherValidator implements Validator<DeviceConfigurationMatcherDTO> {
|
||||
|
||||
private List<DeviceConfigurationMatcherDTO> allMatchers;
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
public MatcherValidator(List<DeviceConfigurationMatcherDTO> allMatchers) {
|
||||
public MatcherValidator(List<DeviceConfigurationMatcherDTO> allMatchers, StringMessages stringMessages) {
|
||||
this.allMatchers = allMatchers;
|
||||
this.stringMessages = stringMessages;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getErrorMessage(DeviceConfigurationMatcherDTO valueToValidate) {
|
||||
for (DeviceConfigurationMatcherDTO existingMatcher : allMatchers) {
|
||||
if (existingMatcher.type.equals(valueToValidate.type)) {
|
||||
switch (valueToValidate.type) {
|
||||
case SINGLE:
|
||||
if (existingMatcher.clients.containsAll(valueToValidate.clients)) {
|
||||
return "There is already a configuration for such a matcher.";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (existingMatcher.clients.containsAll(valueToValidate.clients)) {
|
||||
return stringMessages.thereIsAlreadyAConfigurationForThisDevice();
|
||||
}
|
||||
}
|
||||
for (String identifier : valueToValidate.clients) {
|
||||
@@ -67,7 +60,6 @@ public class DeviceConfigurationCreateSingleMatcherDialog extends DataEntryDialo
|
||||
@Override
|
||||
protected DeviceConfigurationMatcherDTO getResult() {
|
||||
DeviceConfigurationMatcherDTO matcher = new DeviceConfigurationMatcherDTO();
|
||||
matcher.type = DeviceConfigurationMatcherType.SINGLE;
|
||||
matcher.clients = Arrays.asList(identifierBox.getValue());
|
||||
return matcher;
|
||||
}
|
||||
|
||||
+2
-2
@@ -58,12 +58,12 @@ public abstract class DeviceConfigurationListComposite extends Composite {
|
||||
refreshableConfigurationSelectionModel = new RefreshableMultiSelectionModel<>(new EntityIdentityComparator<DeviceConfigurationMatcherDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(DeviceConfigurationMatcherDTO dto1, DeviceConfigurationMatcherDTO dto2) {
|
||||
return Util.equalsWithNull(dto1.type.name(), dto2.type.name());
|
||||
return Util.equalsWithNull(dto1.clients, dto2.clients);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode(DeviceConfigurationMatcherDTO t) {
|
||||
return t.type.name() == null ? 0 : t.type.name().hashCode();
|
||||
return t.clients == null ? 0 : t.clients.hashCode();
|
||||
}
|
||||
}, configurationsDataProvider);
|
||||
configurationTable.setSelectionModel(refreshableConfigurationSelectionModel);
|
||||
|
||||
+2
-2
@@ -152,7 +152,7 @@ public abstract class DeviceConfigurationPanel extends SimplePanel implements De
|
||||
|
||||
private void createConfiguration(final List<DeviceConfigurationMatcherDTO> allMatchers, final DeviceConfigurationDTO configuration) {
|
||||
getCreateDialog(stringMessages,
|
||||
new DeviceConfigurationCreateSingleMatcherDialog.MatcherValidator(allMatchers),
|
||||
new DeviceConfigurationCreateSingleMatcherDialog.MatcherValidator(allMatchers, stringMessages),
|
||||
new DialogCallback<DeviceConfigurationMatcherDTO>() {
|
||||
@Override
|
||||
public void ok(DeviceConfigurationMatcherDTO createdMatcher) {
|
||||
@@ -191,7 +191,7 @@ public abstract class DeviceConfigurationPanel extends SimplePanel implements De
|
||||
detailComposite.setConfiguration(null);
|
||||
detailComposite.setVisible(false);
|
||||
for (DeviceConfigurationMatcherDTO identifier : refreshableMultiSelectionModel.getSelectedSet()) {
|
||||
sailingService.removeDeviceConfiguration(identifier.type, identifier.clients, new AsyncCallback<Boolean>() {
|
||||
sailingService.removeDeviceConfiguration(identifier.clients, new AsyncCallback<Boolean>() {
|
||||
@Override
|
||||
public void onSuccess(Boolean result) {
|
||||
listComposite.refreshTable();
|
||||
|
||||
+1
-2
@@ -29,7 +29,6 @@ import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.UnableToCloseDeviceMappingException;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.domain.common.abstractlog.NotRevokableException;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
@@ -436,7 +435,7 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS
|
||||
|
||||
DeviceConfigurationMatcherDTO createOrUpdateDeviceConfiguration(DeviceConfigurationMatcherDTO matcherDTO, DeviceConfigurationDTO configurationDTO);
|
||||
|
||||
boolean removeDeviceConfiguration(DeviceConfigurationMatcherType type, List<String> clientIds);
|
||||
boolean removeDeviceConfiguration(List<String> clientIds);
|
||||
|
||||
boolean setStartTimeAndProcedure(RaceLogSetStartTimeAndProcedureDTO dto);
|
||||
|
||||
|
||||
+1
-3
@@ -24,7 +24,6 @@ import com.sap.sailing.domain.common.RegattaIdentifier;
|
||||
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
|
||||
import com.sap.sailing.domain.common.ScoringSchemeType;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
@@ -583,8 +582,7 @@ public interface SailingServiceAsync extends ServerInfoRetriever, FileStorageMan
|
||||
void createOrUpdateDeviceConfiguration(DeviceConfigurationMatcherDTO matcherDTO,
|
||||
DeviceConfigurationDTO configurationDTO, AsyncCallback<DeviceConfigurationMatcherDTO> callback);
|
||||
|
||||
void removeDeviceConfiguration(DeviceConfigurationMatcherType type, List<String> clientIds,
|
||||
AsyncCallback<Boolean> asyncCallback);
|
||||
void removeDeviceConfiguration(List<String> clientIds, AsyncCallback<Boolean> asyncCallback);
|
||||
|
||||
/**
|
||||
* Sets the a new start time.
|
||||
|
||||
+1
@@ -1472,4 +1472,5 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
|
||||
String createDeviceConfiguration();
|
||||
String forWhichDeviceShouldConfigurationApply();
|
||||
String create();
|
||||
String thereIsAlreadyAConfigurationForThisDevice();
|
||||
}
|
||||
+2
-1
@@ -1438,4 +1438,5 @@ matchingDevices=Matching devices
|
||||
addDevice=Add Device
|
||||
createDeviceConfiguration=Create Device Configuration
|
||||
forWhichDeviceShouldConfigurationApply=Specify for which device the new configuration should apply
|
||||
create=Create
|
||||
create=Create
|
||||
thereIsAlreadyAConfigurationForThisDevice=There is already a configuration for this device.
|
||||
+2
-1
@@ -1429,4 +1429,5 @@ matchingDevices=Passende Geräte
|
||||
addDevice=Gerät hinzufügen
|
||||
createDeviceConfiguration=Gerätekonfiguration anlegen
|
||||
forWhichDeviceShouldConfigurationApply=Für welches Gerät soll die neue Konfiguration gelten?
|
||||
create=Anlegen
|
||||
create=Anlegen
|
||||
thereIsAlreadyAConfigurationForThisDevice=Es gibt bereits eine Konfiguration für dieses Gerät.
|
||||
+2
-1
@@ -1360,4 +1360,5 @@ matchingDevices=Matching devices
|
||||
addDevice=Add Device
|
||||
createDeviceConfiguration=Create Device Configuration
|
||||
forWhichDeviceShouldConfigurationApply=Specify for which device the new configuration should apply
|
||||
create=Create
|
||||
create=Create
|
||||
thereIsAlreadyAConfigurationForThisDevice=There is already a configuration for this device.
|
||||
+2
-1
@@ -1375,4 +1375,5 @@ matchingDevices=Matching devices
|
||||
addDevice=Add Device
|
||||
createDeviceConfiguration=Create Device Configuration
|
||||
forWhichDeviceShouldConfigurationApply=Specify for which device the new configuration should apply
|
||||
create=Create
|
||||
create=Create
|
||||
thereIsAlreadyAConfigurationForThisDevice=There is already a configuration for this device.
|
||||
+7
-10
@@ -177,7 +177,6 @@ import com.sap.sailing.domain.common.Wind;
|
||||
import com.sap.sailing.domain.common.WindSource;
|
||||
import com.sap.sailing.domain.common.WindSourceType;
|
||||
import com.sap.sailing.domain.common.abstractlog.NotRevokableException;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sailing.domain.common.dto.BoatClassDTO;
|
||||
import com.sap.sailing.domain.common.dto.BoatDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
@@ -4707,7 +4706,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
|
||||
@Override
|
||||
public DeviceConfigurationDTO getDeviceConfiguration(DeviceConfigurationMatcherDTO matcherDto) {
|
||||
DeviceConfigurationMatcher matcher = convertToDeviceConfigurationMatcher(matcherDto.type, matcherDto.clients);
|
||||
DeviceConfigurationMatcher matcher = convertToDeviceConfigurationMatcher(matcherDto.clients);
|
||||
DeviceConfiguration configuration = getService().getAllDeviceConfigurations().get(matcher);
|
||||
if (configuration == null) {
|
||||
return null;
|
||||
@@ -4718,15 +4717,15 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
|
||||
@Override
|
||||
public DeviceConfigurationMatcherDTO createOrUpdateDeviceConfiguration(DeviceConfigurationMatcherDTO matcherDTO, DeviceConfigurationDTO configurationDTO) {
|
||||
DeviceConfigurationMatcher matcher = convertToDeviceConfigurationMatcher(matcherDTO.type, matcherDTO.clients);
|
||||
DeviceConfigurationMatcher matcher = convertToDeviceConfigurationMatcher(matcherDTO.clients);
|
||||
DeviceConfiguration configuration = convertToDeviceConfiguration(configurationDTO);
|
||||
getService().createOrUpdateDeviceConfiguration(matcher, configuration);
|
||||
return convertToDeviceConfigurationMatcherDTO(matcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeDeviceConfiguration(DeviceConfigurationMatcherType type, List<String> clientIds) {
|
||||
DeviceConfigurationMatcher matcher = convertToDeviceConfigurationMatcher(type, clientIds);
|
||||
public boolean removeDeviceConfiguration(List<String> clientIds) {
|
||||
DeviceConfigurationMatcher matcher = convertToDeviceConfigurationMatcher(clientIds);
|
||||
getService().removeDeviceConfiguration(matcher);
|
||||
return true;
|
||||
}
|
||||
@@ -4737,14 +4736,12 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
clients.add(((DeviceConfigurationMatcherSingle)matcher).getClientIdentifier());
|
||||
}
|
||||
DeviceConfigurationMatcherDTO dto = new DeviceConfigurationMatcherDTO(
|
||||
matcher.getMatcherType(),
|
||||
clients,
|
||||
matcher.getMatchingRank());
|
||||
clients);
|
||||
return dto;
|
||||
}
|
||||
|
||||
private DeviceConfigurationMatcher convertToDeviceConfigurationMatcher(DeviceConfigurationMatcherType type, List<String> clientIds) {
|
||||
return baseDomainFactory.getOrCreateDeviceConfigurationMatcher(type, clientIds);
|
||||
private DeviceConfigurationMatcher convertToDeviceConfigurationMatcher(List<String> clientIds) {
|
||||
return baseDomainFactory.getOrCreateDeviceConfigurationMatcher(clientIds);
|
||||
}
|
||||
|
||||
private DeviceConfigurationDTO convertToDeviceConfigurationDTO(DeviceConfiguration configuration) {
|
||||
|
||||
+1
-8
@@ -3,22 +3,15 @@ package com.sap.sailing.gwt.ui.shared;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
|
||||
public class DeviceConfigurationMatcherDTO implements IsSerializable {
|
||||
|
||||
public List<String> clients;
|
||||
public DeviceConfigurationMatcherType type;
|
||||
public int rank;
|
||||
|
||||
public DeviceConfigurationMatcherDTO() {
|
||||
|
||||
}
|
||||
|
||||
public DeviceConfigurationMatcherDTO(DeviceConfigurationMatcherType type, List<String> clients, int rank) {
|
||||
public DeviceConfigurationMatcherDTO(List<String> clients) {
|
||||
this.clients = clients;
|
||||
this.type = type;
|
||||
this.rank = rank;
|
||||
}
|
||||
|
||||
}
|
||||
-2
@@ -44,7 +44,6 @@ public class StoreAndLoadDeviceConfigurationsTest extends AbstractMongoDBTest {
|
||||
|
||||
assertEquals(1, Util.size(configurations));
|
||||
Entry<DeviceConfigurationMatcher, DeviceConfiguration> entry = configurations.iterator().next();
|
||||
assertEquals(matcher.getMatcherType(), entry.getKey().getMatcherType());
|
||||
assertNull(entry.getValue().getAllowedCourseAreaNames());
|
||||
assertNull(entry.getValue().getByNameCourseDesignerCourseNames());
|
||||
assertNull(entry.getValue().getResultsMailRecipient());
|
||||
@@ -64,7 +63,6 @@ public class StoreAndLoadDeviceConfigurationsTest extends AbstractMongoDBTest {
|
||||
|
||||
assertEquals(1, Util.size(configurations));
|
||||
Entry<DeviceConfigurationMatcher, DeviceConfiguration> entry = configurations.iterator().next();
|
||||
assertEquals(matcher.getMatcherType(), entry.getKey().getMatcherType());
|
||||
assertNotNull(entry.getValue().getAllowedCourseAreaNames());
|
||||
assertEquals(2, entry.getValue().getAllowedCourseAreaNames().size());
|
||||
assertEquals(2, entry.getValue().getByNameCourseDesignerCourseNames().size());
|
||||
|
||||
-1
@@ -23,7 +23,6 @@ public class DeviceConfigurationReplicationTest extends AbstractServerReplicatio
|
||||
Thread.sleep(1000);
|
||||
Map<DeviceConfigurationMatcher, DeviceConfiguration> configurationMap = replica.getAllDeviceConfigurations();
|
||||
assertEquals(1, configurationMap.size());
|
||||
assertEquals(matcher.getMatcherType(), configurationMap.keySet().iterator().next().getMatcherType());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in new issue
Block a user