001package co.codewizards.cloudstore.ls.rest.client.request; 002 003import static java.util.Objects.*; 004 005import javax.ws.rs.client.Entity; 006import javax.ws.rs.client.WebTarget; 007import javax.ws.rs.core.MediaType; 008 009import co.codewizards.cloudstore.ls.core.dto.RepoInfoRequestDto; 010import co.codewizards.cloudstore.ls.core.dto.RepoInfoResponseDto; 011 012public class RepoInfoRequest extends AbstractRequest<RepoInfoResponseDto> { 013 014 private final RepoInfoRequestDto repoInfoRequestDto; 015 016 public RepoInfoRequest(final RepoInfoRequestDto repoInfoRequestDto) { 017 this.repoInfoRequestDto = requireNonNull(repoInfoRequestDto, "repoInfoRequestDto"); 018 } 019 020 @Override 021 public RepoInfoResponseDto execute() { 022 final WebTarget webTarget = createWebTarget("RepoInfo"); 023 final RepoInfoResponseDto repoInfoResponseDto = assignCredentials(webTarget.request(MediaType.APPLICATION_XML_TYPE)).post(Entity.entity(repoInfoRequestDto, MediaType.APPLICATION_XML_TYPE), RepoInfoResponseDto.class); 024 return repoInfoResponseDto; 025 } 026 027 @Override 028 public boolean isResultNullable() { 029 return false; 030 } 031 032}