Commit f7a4be20 authored by George Tziavas's avatar George Tziavas
Browse files

added mappers, fixed MCJ UPD queue

parent 121b854c
Loading
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
package org.etsi.osl.metrico;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJobMVO;

import java.io.IOException;

@@ -12,4 +14,15 @@ public class JsonUtil {
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        return mapper.readValue( content, valueType);
    }

    public static <T> String toJsonString(T object) {
        ObjectMapper mapper = new ObjectMapper();
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        try {
            return mapper.writeValueAsString(object);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
            return null;
        }
    }
}
 No newline at end of file
+45 −0
Original line number Diff line number Diff line
package org.etsi.osl.metrico.mapper;

import org.etsi.osl.tmf.pm628.model.DataAccessEndpoint;
import org.etsi.osl.tmf.pm628.model.DataAccessEndpointMVO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;

@Mapper
public interface DataAccessEndpointMapper {
    DataAccessEndpointMapper INSTANCE = Mappers.getMapper(DataAccessEndpointMapper.class);

    @Mapping(target = "type", source = "type")
    @Mapping(target = "baseType", source = "baseType")
    @Mapping(target = "schemaLocation", source = "schemaLocation")
    @Mapping(target = "href", source = "href")
    @Mapping(target = "uuid", source = "uuid")
    @Mapping(target = "category", source = "category")
    @Mapping(target = "description", source = "description")
    @Mapping(target = "name", source = "name")
    @Mapping(target = "endOperatingDate", source = "endOperatingDate")
    @Mapping(target = "administrativeState", source = "administrativeState")
    @Mapping(target = "operationalState", source = "operationalState")
    @Mapping(target = "resourceStatus", source = "resourceStatus")
    @Mapping(target = "usageState", source = "usageState")
    @Mapping(target = "validFor", source = "validFor")
    @Mapping(target = "note", source = "note")
    @Mapping(target = "resourceOrderItem", source = "resourceOrderItem")
    @Mapping(target = "place", source = "place")
    @Mapping(target = "relatedParty", source = "relatedParty")
    @Mapping(target = "resourceRelationship", source = "resourceRelationship")
    @Mapping(target = "resourceCharacteristic", source = "resourceCharacteristic")
    @Mapping(target = "attachment", source = "attachment")
    @Mapping(target = "resourceSpecification", source = "resourceSpecification")
    @Mapping(target = "startOperatingDate", source = "startOperatingDate")
    @Mapping(target = "resourceVersion", source = "resourceVersion")
    @Mapping(target = "activationFeature", source = "activationFeature")
    @Mapping(target = "intent", source = "intent")
    @Mapping(target = "externalIdentifier", source = "externalIdentifier")
    @Mapping(target = "value", source = "value")
    @Mapping(target = "uri", source = "uri")
    @Mapping(target = "uriQueryFilter", source = "uriQueryFilter")
    @Mapping(target = "apiType", source = "apiType")
    DataAccessEndpointMVO toDataAccessEndpointMVO(DataAccessEndpoint dataAccessEndpoint);
}
 No newline at end of file
+55 −0
Original line number Diff line number Diff line
package org.etsi.osl.metrico.mapper;

import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJob;
import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJobMVO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;

@Mapper
public interface MeasurementCollectionJobMapper {

    MeasurementCollectionJobMapper INSTANCE = Mappers.getMapper(MeasurementCollectionJobMapper.class);

    @Mapping(source = "outputFormat", target = "outputFormat")
    @Mapping(source = "reportingPeriod", target = "reportingPeriod")
    @Mapping(source = "jobCollectionFilter", target = "jobCollectionFilter")
    @Mapping(source = "searchTaskFilter", target = "searchTaskFilter")
    @Mapping(source = "jobOnDemand", target = "jobOnDemand")
    @Mapping(source = "consumingApplicationId", target = "consumingApplicationId")
    @Mapping(source = "producingApplicationId", target = "producingApplicationId")
    @Mapping(source = "granularity", target = "granularity")
    @Mapping(source = "performanceIndicatorGroupSpecification", target = "performanceIndicatorGroupSpecification")
    @Mapping(source = "performanceIndicatorSpecification", target = "performanceIndicatorSpecification")
    @Mapping(source = "trackingRecord", target = "trackingRecord")
    @Mapping(source = "fileTransferData", target = "fileTransferData")
    @Mapping(source = "dataAccessEndpoint", target = "dataAccessEndpoint")
    @Mapping(source = "scheduleDefinition", target = "scheduleDefinition")
    @Mapping(source = "type", target = "type")
    @Mapping(source = "baseType", target = "baseType")
    @Mapping(source = "schemaLocation", target = "schemaLocation")
    @Mapping(source = "href", target = "href")
    @Mapping(source = "uuid", target = "uuid")
    MeasurementCollectionJobMVO toMeasurementCollectionJobMVO(MeasurementCollectionJob job);

    @Mapping(source = "outputFormat", target = "outputFormat")
    @Mapping(source = "reportingPeriod", target = "reportingPeriod")
    @Mapping(source = "jobCollectionFilter", target = "jobCollectionFilter")
    @Mapping(source = "searchTaskFilter", target = "searchTaskFilter")
    @Mapping(source = "jobOnDemand", target = "jobOnDemand")
    @Mapping(source = "consumingApplicationId", target = "consumingApplicationId")
    @Mapping(source = "producingApplicationId", target = "producingApplicationId")
    @Mapping(source = "granularity", target = "granularity")
    @Mapping(source = "performanceIndicatorGroupSpecification", target = "performanceIndicatorGroupSpecification")
    @Mapping(source = "performanceIndicatorSpecification", target = "performanceIndicatorSpecification")
    @Mapping(source = "trackingRecord", target = "trackingRecord")
    @Mapping(source = "fileTransferData", target = "fileTransferData")
    @Mapping(source = "dataAccessEndpoint", target = "dataAccessEndpoint")
    @Mapping(source = "scheduleDefinition", target = "scheduleDefinition")
    @Mapping(source = "type", target = "type")
    @Mapping(source = "baseType", target = "baseType")
    @Mapping(source = "schemaLocation", target = "schemaLocation")
    @Mapping(source = "href", target = "href")
    @Mapping(source = "uuid", target = "uuid")
    MeasurementCollectionJob toMeasurementCollectionJob(MeasurementCollectionJobMVO jobMVO);
}
 No newline at end of file
+6 −4
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ package org.etsi.osl.metrico.services;
import jakarta.validation.constraints.NotNull;
import org.apache.camel.ProducerTemplate;
import org.etsi.osl.metrico.JsonUtil;
import org.etsi.osl.metrico.mapper.DataAccessEndpointMapper;
import org.etsi.osl.metrico.mapper.JobMapper;
import org.etsi.osl.metrico.model.Job;
import org.etsi.osl.metrico.prometheus.PrometheusQueries;
@@ -65,12 +66,13 @@ public class MetricoService {
        dataFilterMap.addMappingsItem(dataFilterMapItem);
        givenDataAccessEndpoint.setUriQueryFilter(dataFilterMap);

        List<DataAccessEndpoint> newDataAccessEndpoint = new ArrayList<>();
        newDataAccessEndpoint.add(givenDataAccessEndpoint);
        List<DataAccessEndpointMVO> newDataAccessEndpointMVO = new ArrayList<>();
        newDataAccessEndpointMVO.add(DataAccessEndpointMapper.INSTANCE.toDataAccessEndpointMVO(givenDataAccessEndpoint));

        givenMCJ.setDataAccessEndpoint(newDataAccessEndpoint);
        MeasurementCollectionJobMVO promResponseMCJ = new MeasurementCollectionJobMVO();

        producerTemplate.sendBody(PM_MEASUREMENT_COLLECTION_JOB_UPDATE, givenMCJ);
        promResponseMCJ.setDataAccessEndpoint(newDataAccessEndpointMVO);
        producerTemplate.sendBodyAndHeader(PM_MEASUREMENT_COLLECTION_JOB_UPDATE, JsonUtil.toJsonString(promResponseMCJ),"mcjid",givenMCJ.getUuid() );

        return promResponse;
    }