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

  • Constructor Details

    • VariationController

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

    • getVariations

      @GetMapping("/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations") public VariationListWsDTO getVariations(@PathVariable String catalog, @PathVariable String catalogVersion, @PathVariable 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
    • createVariationListWsDTO

      protected VariationListWsDTO createVariationListWsDTO(List<VariationData> variations)
    • createVariation

      @PostMapping(value="/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations", consumes={"application/json","application/xml"}) @ResponseStatus(CREATED) public org.springframework.http.ResponseEntity<VariationData> createVariation(@PathVariable String catalog, @PathVariable String catalogVersion, @PathVariable 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

      @PutMapping(value="/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations/{variationCode}", consumes={"application/json","application/xml"}) public VariationData updateVariation(@PathVariable String catalog, @PathVariable String catalogVersion, @PathVariable String customizationCode, @PathVariable 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

      @DeleteMapping("/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations/{variationCode}") @ResponseStatus(NO_CONTENT) public void deleteVariation(@PathVariable String catalog, @PathVariable String catalogVersion, @PathVariable String customizationCode, @PathVariable 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

      @GetMapping("/v1/catalogs/{catalog}/catalogVersions/{catalogVersion}/customizations/{customizationCode}/variations/{variationCode}") public VariationData getVariation(@PathVariable String catalog, @PathVariable String catalogVersion, @PathVariable String customizationCode, @PathVariable 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)