Class VariationController


  • @RestController
    public class VariationController
    extends PersonalizationAbstractController
    Controller exposes functionality for customizations, variations and actions
    • Constructor Detail

      • VariationController

        @Autowired
        public VariationController​(VariationFacade cxVariationFacade,
                                   org.springframework.validation.Validator variationValidator)
    • Method Detail

      • getVariations

        @RequestMapping(value="/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations",
                        method=GET)
        public VariationListWsDTO getVariations​(@PathVariable
                                                java.lang.String catalog,
                                                @PathVariable
                                                java.lang.String catalogVersion,
                                                @PathVariable
                                                java.lang.String customizationCode)
        Returns all variations for given customization code
        Parameters:
        customizationCode - customization identifier
        Returns:
        Collection of all variations in given customziation
        Throws:
        NotFoundException - if customization with given code does not exists
      • createVariation

        @RequestMapping(value="/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations",
                        method=POST)
        @ResponseStatus(CREATED)
        public org.springframework.http.ResponseEntity<VariationData> createVariation​(@PathVariable
                                                                                      java.lang.String catalog,
                                                                                      @PathVariable
                                                                                      java.lang.String catalogVersion,
                                                                                      @PathVariable
                                                                                      java.lang.String customizationCode,
                                                                                      @RequestBody
                                                                                      VariationData variation,
                                                                                      org.springframework.web.util.UriComponentsBuilder builder)
        Creates variation in given customization
        Returns:
        created variation
        Throws:
        AlreadyExistsException - if variation with given code already exists
        WebserviceValidationException - if provided data is invalid
        NotFoundException - if catalog version doesn't exists
      • updateVariation

        @RequestMapping(value="/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations/{variationCode}",
                        method=PUT)
        public VariationData updateVariation​(@PathVariable
                                             java.lang.String catalog,
                                             @PathVariable
                                             java.lang.String catalogVersion,
                                             @PathVariable
                                             java.lang.String customizationCode,
                                             @PathVariable
                                             java.lang.String variationCode,
                                             @RequestBody
                                             VariationData variation)
        Updates variation with given code in customization with given code
        Returns:
        updated variation
        Throws:
        WebserviceValidationException - if provided data is invalid
        NotFoundException - if variation with given code does not exists or customization with given code does not exists or variation and customization are not related
      • deleteVariation

        @RequestMapping(value="/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations/{variationCode}",
                        method=DELETE)
        @ResponseStatus(NO_CONTENT)
        public void deleteVariation​(@PathVariable
                                    java.lang.String catalog,
                                    @PathVariable
                                    java.lang.String catalogVersion,
                                    @PathVariable
                                    java.lang.String customizationCode,
                                    @PathVariable
                                    java.lang.String variationCode)
        Removes variation with given code
        Throws:
        NotFoundException - if variation with given code does not exists or customization with given code does not exists or variation and customization are not related
      • getVariation

        @RequestMapping(value="/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations/{variationCode}",
                        method=GET)
        public VariationData getVariation​(@PathVariable
                                          java.lang.String catalog,
                                          @PathVariable
                                          java.lang.String catalogVersion,
                                          @PathVariable
                                          java.lang.String customizationCode,
                                          @PathVariable
                                          java.lang.String variationCode)
        Retrieves variation with given code from given customization
        Returns:
        variation with given code
        Throws:
        NotFoundException - if variation with given code does not exists or customization with given code does not exists or variation and customization are not related
      • validateVariation

        protected void validateVariation​(VariationData variation)