use of org.opensmartgridplatform.domain.core.valueobjects.smartmetering.CosemObjectDefinition in project open-smart-grid-platform by OSGP.
the class PushSetupSmsMappingTest method testPushSetupSmsMappingWithLists.
// To test Mapping if lists contain values
@Test
public void testPushSetupSmsMappingWithLists() {
// build test data
final CosemObisCode logicalName = new CosemObisCode(new int[] { 1, 2, 3, 4, 5, 6 });
final CosemObjectDefinition cosemObjectDefinition = new CosemObjectDefinition(1, logicalName, 2);
final CosemDateTime startTime = new CosemDateTime(new CosemDate(2016, 3, 17), new CosemTime(11, 52, 45), 0, new ClockStatus(ClockStatus.STATUS_NOT_SPECIFIED));
final CosemDateTime endTime = new CosemDateTime(new CosemDate(2016, 3, 17), new CosemTime(11, 52, 45), 0, new ClockStatus(ClockStatus.STATUS_NOT_SPECIFIED));
final WindowElement windowElement = new WindowElement(startTime, endTime);
final PushSetupSms pushSetupSms = new PushSetupSmsBuilder().withFilledLists(cosemObjectDefinition, windowElement).build();
// actual mapping
final PushSetupSmsDto pushSetupSmsDto = this.configurationMapper.map(pushSetupSms, PushSetupSmsDto.class);
// check values
this.checkCosemObisCodeMapping(pushSetupSms.getLogicalName(), pushSetupSmsDto.getLogicalName());
this.checkSendDestinationAndMethodMapping(pushSetupSms, pushSetupSmsDto);
this.checkIntegerMapping(pushSetupSms, pushSetupSmsDto);
this.checkNonEmptyListMapping(pushSetupSms, pushSetupSmsDto);
}
use of org.opensmartgridplatform.domain.core.valueobjects.smartmetering.CosemObjectDefinition in project open-smart-grid-platform by OSGP.
the class PushSetupAlarmMappingTest method testPushSetupAlarmMappingWithEmptyLists.
// To test if a PushSetupAlarm can be mapped if instance variables are
// initialized and lists are empty.
@Test
public void testPushSetupAlarmMappingWithEmptyLists() {
// build test data
final ArrayList<CosemObjectDefinition> pushObjectList = new ArrayList<>();
final ArrayList<WindowElement> communicationWindow = new ArrayList<>();
final PushSetupAlarm pushSetupAlarm = new PushSetupAlarmBuilder().withEmptyLists(pushObjectList, communicationWindow).build();
// actual mapping
final PushSetupAlarmDto pushSetupAlarmDto = this.configurationMapper.map(pushSetupAlarm, PushSetupAlarmDto.class);
// check values
this.checkCosemObisCodeMapping(pushSetupAlarm.getLogicalName(), pushSetupAlarmDto.getLogicalName());
this.checkSendDestinationAndMethodMapping(pushSetupAlarm, pushSetupAlarmDto);
this.checkIntegerMapping(pushSetupAlarm, pushSetupAlarmDto);
assertThat(pushSetupAlarmDto.getPushObjectList()).isNotNull();
assertThat(pushSetupAlarmDto.getCommunicationWindow()).isNotNull();
}
use of org.opensmartgridplatform.domain.core.valueobjects.smartmetering.CosemObjectDefinition in project open-smart-grid-platform by OSGP.
the class PushSetupAlarmDtoConverterTest method convertTest.
@Test
void convertTest() {
final List<WindowElement> testList = Collections.singletonList(new WindowElement(new CosemDateTime(), new CosemDateTime()));
when(this.pushSetupAlarm.getCommunicationWindow()).thenReturn(testList);
final CosemObisCode code = new CosemObisCode(1, 2, 3, 4, 5, 6);
when(this.pushSetupAlarm.getPushObjectList()).thenReturn(Collections.singletonList(new CosemObjectDefinition(1, code, 2)));
final PushSetupAlarmDto result = this.pushSetupAlarmDtoConverter.convert(this.pushSetupAlarm, null, this.mappingContext);
assertThat(result.getCommunicationWindow()).isNotNull();
assertThat(result.getPushObjectList()).isNotNull();
}
use of org.opensmartgridplatform.domain.core.valueobjects.smartmetering.CosemObjectDefinition in project open-smart-grid-platform by OSGP.
the class PushSetupAlarmConverter method convertFrom.
@Override
public PushSetupAlarm convertFrom(final org.opensmartgridplatform.adapter.ws.schema.smartmetering.configuration.PushSetupAlarm source, final Type<PushSetupAlarm> destinationType, final MappingContext context) {
if (source == null) {
return null;
}
final PushSetupAlarm.Builder builder = new PushSetupAlarm.Builder();
if (source.getHost() != null && source.getPort() != null) {
final String destination = source.getHost() + ":" + source.getPort();
final SendDestinationAndMethod sendDestinationAndMethod = new SendDestinationAndMethod(TransportServiceType.TCP, destination, MessageType.A_XDR_ENCODED_X_DLMS_APDU);
builder.withSendDestinationAndMethod(sendDestinationAndMethod);
}
final List<PushObject> sourcePushObjects = source.getPushObjectList();
if (sourcePushObjects != null) {
final List<CosemObjectDefinition> convertedPushObjectList = this.mapperFacade.mapAsList(source.getPushObjectList(), CosemObjectDefinition.class);
builder.withPushObjectList(convertedPushObjectList);
}
return builder.build();
}
use of org.opensmartgridplatform.domain.core.valueobjects.smartmetering.CosemObjectDefinition in project open-smart-grid-platform by OSGP.
the class PushSetupAlarmMappingTest method testPushSetupAlarmMapping.
/**
* Tests if mapping a PushSetupAlarm object succeeds.
*/
@Test
public void testPushSetupAlarmMapping() {
// build test data
final PushSetupAlarm pushSetupAlarmOriginal = new PushSetupAlarm();
pushSetupAlarmOriginal.setHost(HOST);
pushSetupAlarmOriginal.setPort(PORT);
pushSetupAlarmOriginal.getPushObjectList().addAll(PUSH_OBJECT_LIST);
// actual mapping
final org.opensmartgridplatform.domain.core.valueobjects.smartmetering.PushSetupAlarm pushSetupAlarmMapped = this.configurationMapper.map(pushSetupAlarmOriginal, org.opensmartgridplatform.domain.core.valueobjects.smartmetering.PushSetupAlarm.class);
assertThat(pushSetupAlarmMapped).isNotNull();
// port and host are combined into destination. The converter sets default values for the other
// two variables of a SendDestinationAndMethod.
assertThat(pushSetupAlarmMapped.getSendDestinationAndMethod().getDestination()).isEqualTo(DESTINATION);
assertThat(pushSetupAlarmMapped.getSendDestinationAndMethod().getTransportService().name()).isEqualTo(TRANSPORTSERVICETYPE.name());
assertThat(pushSetupAlarmMapped.getSendDestinationAndMethod().getMessage().name()).isEqualTo(MESSAGETYPE.name());
// check mapping of PushObjectList
assertThat(pushSetupAlarmMapped.getPushObjectList()).hasSize(1);
final CosemObjectDefinition pushObject = pushSetupAlarmMapped.getPushObjectList().get(0);
assertThat(pushObject.getClassId()).isEqualTo(PUSH_OBJECT_CLASS_ID);
assertThat(pushObject.getLogicalName()).isEqualToComparingFieldByField(PUSH_OBJECT_OBIS_CODE);
assertThat(pushObject.getAttributeIndex()).isEqualTo(PUSH_OBJECT_ATTRIBUTE_ID);
assertThat(pushObject.getDataIndex()).isEqualTo(PUSH_OBJECT_DATA_INDEX);
// Only SendDestinationAndMethod and PushObjectList are mapped:
assertThat(pushSetupAlarmMapped.getLogicalName()).isNull();
assertThat(pushSetupAlarmMapped.getCommunicationWindow()).isNull();
assertThat(pushSetupAlarmMapped.getNumberOfRetries()).isNull();
assertThat(pushSetupAlarmMapped.getRandomisationStartInterval()).isNull();
assertThat(pushSetupAlarmMapped.getRepetitionDelay()).isNull();
}
Aggregations