Commit deb868af authored by Anastasios Poimenidis's avatar Anastasios Poimenidis
Browse files

refactor: remove all product APIs

parent 0e7c3893
Loading
Loading
Loading
Loading
+0 −31
Original line number Diff line number Diff line
package org.etsi.osl.hypo.api.tmf.product.catalog.mapper;

import java.util.UUID;
import org.etsi.osl.hypo.api.tmf.product.catalog.model.ProductCatalogResponseDTO;
import org.etsi.osl.hypo.api.tmf.product.catalog.schema.Catalog;
import org.mapstruct.BeanMapping;
import org.mapstruct.InjectionStrategy;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.SubclassExhaustiveStrategy;

@Mapper(
        componentModel = "cdi",
        injectionStrategy = InjectionStrategy.CONSTRUCTOR,
        subclassExhaustiveStrategy = SubclassExhaustiveStrategy.RUNTIME_EXCEPTION)
public interface ProductCatalogEntityToResponseMapper {

    String STRING_TO_UUID = "stringToUuid";
    String ID = "id";

    @Mapping(target = ID, source = ID, qualifiedByName = STRING_TO_UUID)
    @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
    ProductCatalogResponseDTO productCatalogEntityToResponseDTO(Catalog createdCatalogEntity);

    @Named(STRING_TO_UUID)
    default UUID stringToUuid(String stringInput) {
        return UUID.fromString(stringInput);
    }
}
+0 −31
Original line number Diff line number Diff line
package org.etsi.osl.hypo.api.tmf.product.catalog.mapper;

import java.util.UUID;
import org.etsi.osl.hypo.api.tmf.product.catalog.model.ProductCategoryResponseDTO;
import org.etsi.osl.hypo.api.tmf.product.catalog.schema.Category;
import org.mapstruct.BeanMapping;
import org.mapstruct.InjectionStrategy;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.SubclassExhaustiveStrategy;

@Mapper(
        componentModel = "cdi",
        injectionStrategy = InjectionStrategy.CONSTRUCTOR,
        subclassExhaustiveStrategy = SubclassExhaustiveStrategy.RUNTIME_EXCEPTION)
public interface ProductCategoryEntityToResponseMapper {

    String STRING_TO_UUID = "stringToUuid";
    String ID = "id";

    @Mapping(target = ID, source = ID, qualifiedByName = STRING_TO_UUID)
    @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
    ProductCategoryResponseDTO productCategoryEntityToResponseDTO(Category createdCatalogEntity);

    @Named(STRING_TO_UUID)
    default UUID stringToUuid(String stringInput) {
        return UUID.fromString(stringInput);
    }
}
+0 −32
Original line number Diff line number Diff line
package org.etsi.osl.hypo.api.tmf.product.catalog.mapper;

import java.util.UUID;
import org.etsi.osl.hypo.api.tmf.product.catalog.model.ProductOfferingResponseDTO;
import org.etsi.osl.hypo.api.tmf.product.catalog.schema.ProductOffering;
import org.mapstruct.BeanMapping;
import org.mapstruct.InjectionStrategy;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.SubclassExhaustiveStrategy;

@Mapper(
        componentModel = "cdi",
        injectionStrategy = InjectionStrategy.CONSTRUCTOR,
        subclassExhaustiveStrategy = SubclassExhaustiveStrategy.RUNTIME_EXCEPTION)
public interface ProductOfferingEntityToResponseMapper {

    String STRING_TO_UUID = "stringToUuid";
    String ID = "id";

    @Mapping(target = ID, source = ID, qualifiedByName = STRING_TO_UUID)
    @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
    ProductOfferingResponseDTO productOfferingEntityToResponseDTO(
            ProductOffering createdCatalogEntity);

    @Named(STRING_TO_UUID)
    default UUID stringToUuid(String stringInput) {
        return UUID.fromString(stringInput);
    }
}
+0 −71
Original line number Diff line number Diff line
package org.etsi.osl.hypo.api.tmf.product.catalog.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.UUID;
import lombok.Data;
import org.etsi.osl.hypo.api.tmf.common.api.model.RelatedPartyDTO;
import org.etsi.osl.hypo.api.tmf.common.schema.ValidFor;
import org.etsi.osl.hypo.api.tmf.product.catalog.schema.CategoryRef;
import org.etsi.osl.hypo.api.tmf.services.order.schema.deserializers.OffsetDateTimeCustomDeserializer;
import org.etsi.osl.hypo.api.tmf.services.order.schema.serializers.OffsetDateTimeCustomSerializer;

/**
 * A collection of Product Offerings, intended for a specific DistributionChannel, enhanced with
 * additional information such as SLA parameters, invoicing and shipping details
 */
@Data
@JsonPropertyOrder({
    "id",
    "href",
    "catalogType",
    "description",
    "lastUpdate",
    "lifecycleStatus",
    "name",
    "version",
    "category",
    "relatedParty",
    "validFor"
})
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProductCatalogResponseDTO {

    private UUID id;

    @JsonProperty("@baseType")
    private String baseType;

    @JsonProperty("@schemaLocation")
    private String schemaLocation;

    @JsonProperty("@type")
    private String type;

    private String href;

    private String catalogType;

    private String description;

    @JsonDeserialize(using = OffsetDateTimeCustomDeserializer.class)
    @JsonSerialize(using = OffsetDateTimeCustomSerializer.class)
    private OffsetDateTime lastUpdate;

    private String lifecycleStatus;

    private String name;

    private String version;

    private List<CategoryRef> category;

    private List<RelatedPartyDTO> relatedParty;

    private ValidFor validFor;
}
+0 −70
Original line number Diff line number Diff line
package org.etsi.osl.hypo.api.tmf.product.catalog.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.UUID;
import lombok.Data;
import org.etsi.osl.hypo.api.tmf.common.schema.ValidFor;
import org.etsi.osl.hypo.api.tmf.common.schema.product.ProductOfferingRef;
import org.etsi.osl.hypo.api.tmf.product.catalog.schema.CategoryRef;
import org.etsi.osl.hypo.api.tmf.services.order.schema.deserializers.OffsetDateTimeCustomDeserializer;
import org.etsi.osl.hypo.api.tmf.services.order.schema.serializers.OffsetDateTimeCustomSerializer;

@Data
@JsonPropertyOrder({
    "id",
    "href",
    "description",
    "isRoot",
    "lastUpdate",
    "lifecycleStatus",
    "name",
    "parentId",
    "version",
    "productOffering",
    "subCategory",
    "validFor"
})
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProductCategoryResponseDTO {

    private UUID id;

    @JsonProperty("@baseType")
    private String baseType;

    @JsonProperty("@schemaLocation")
    private String schemaLocation;

    @JsonProperty("@type")
    private String type;

    private String href;

    private String description;

    private Boolean isRoot;

    @JsonDeserialize(using = OffsetDateTimeCustomDeserializer.class)
    @JsonSerialize(using = OffsetDateTimeCustomSerializer.class)
    private OffsetDateTime lastUpdate;

    private String lifecycleStatus;

    private String name;

    private String parentId;

    private String version;

    private List<ProductOfferingRef> productOffering;

    private List<CategoryRef> subCategory;

    private ValidFor validFor;
}
Loading