MetricMapperImpl.java

package io.featureprobe.api.mapper;

import io.featureprobe.api.dao.entity.Metric;
import io.featureprobe.api.dto.MetricConfigResponse;
import io.featureprobe.api.dto.MetricCreateRequest;
import io.featureprobe.api.dto.MetricResponse;
import javax.annotation.Generated;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2023-10-07T17:43:36+0800",
    comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_382 (Red Hat, Inc.)"
)
public class MetricMapperImpl implements MetricMapper {

    @Override
    public MetricResponse entityToResponse(Metric metric) {
        if ( metric == null ) {
            return null;
        }

        MetricResponse metricResponse = new MetricResponse();

        metricResponse.setId( metric.getId() );
        metricResponse.setName( metric.getName() );
        metricResponse.setDescription( metric.getDescription() );
        metricResponse.setUnit( metric.getUnit() );
        metricResponse.setWinCriteria( metric.getWinCriteria() );
        metricResponse.setDenominator( metric.getDenominator() );
        metricResponse.setType( metric.getType() );

        metricResponse.setEvents( toEventResponses(metric.getEvents()) );

        return metricResponse;
    }

    @Override
    public MetricConfigResponse entityToConfigResponse(Metric metric) {
        if ( metric == null ) {
            return null;
        }

        MetricConfigResponse metricConfigResponse = new MetricConfigResponse();

        metricConfigResponse.setMetricType( metric.getType() );
        metricConfigResponse.setId( metric.getId() );
        metricConfigResponse.setName( metric.getName() );
        metricConfigResponse.setDescription( metric.getDescription() );
        metricConfigResponse.setUnit( metric.getUnit() );
        metricConfigResponse.setWinCriteria( metric.getWinCriteria() );
        metricConfigResponse.setDenominator( metric.getDenominator() );

        metricConfigResponse.setEventName( toEventName(metric) );
        metricConfigResponse.setEventType( toEventType(metric) );
        metricConfigResponse.setMatcher( toEventMatcher(metric) );
        metricConfigResponse.setUrl( toEventUrl(metric) );
        metricConfigResponse.setSelector( toEventSelector(metric) );

        return metricConfigResponse;
    }

    @Override
    public void mapEntity(MetricCreateRequest createRequest, Metric metric) {
        if ( createRequest == null ) {
            return;
        }

        metric.setType( createRequest.getMetricType() );
        metric.setName( createRequest.getName() );
        metric.setDescription( createRequest.getDescription() );
        metric.setUnit( createRequest.getUnit() );
        metric.setWinCriteria( createRequest.getWinCriteria() );
        metric.setDenominator( createRequest.getDenominator() );

        metric.setEvents( toEmptyEvents() );
    }
}