Skip to content
Snippets Groups Projects
Commit f7a4be20 authored by George Tziavas's avatar George Tziavas
Browse files

added mappers, fixed MCJ UPD queue

parent 121b854c
No related branches found
No related tags found
2 merge requests!5MR for Release 2024Q4,!1Creating first version of metrico
Pipeline #10553 failed
package org.etsi.osl.metrico; package org.etsi.osl.metrico;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJobMVO;
import java.io.IOException; import java.io.IOException;
...@@ -12,4 +14,15 @@ public class JsonUtil { ...@@ -12,4 +14,15 @@ public class JsonUtil {
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
return mapper.readValue( content, valueType); 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
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
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
...@@ -3,6 +3,7 @@ package org.etsi.osl.metrico.services; ...@@ -3,6 +3,7 @@ package org.etsi.osl.metrico.services;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import org.apache.camel.ProducerTemplate; import org.apache.camel.ProducerTemplate;
import org.etsi.osl.metrico.JsonUtil; 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.mapper.JobMapper;
import org.etsi.osl.metrico.model.Job; import org.etsi.osl.metrico.model.Job;
import org.etsi.osl.metrico.prometheus.PrometheusQueries; import org.etsi.osl.metrico.prometheus.PrometheusQueries;
...@@ -65,12 +66,13 @@ public class MetricoService { ...@@ -65,12 +66,13 @@ public class MetricoService {
dataFilterMap.addMappingsItem(dataFilterMapItem); dataFilterMap.addMappingsItem(dataFilterMapItem);
givenDataAccessEndpoint.setUriQueryFilter(dataFilterMap); givenDataAccessEndpoint.setUriQueryFilter(dataFilterMap);
List<DataAccessEndpoint> newDataAccessEndpoint = new ArrayList<>(); List<DataAccessEndpointMVO> newDataAccessEndpointMVO = new ArrayList<>();
newDataAccessEndpoint.add(givenDataAccessEndpoint); 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; return promResponse;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment