package co.codewizards.cloudstore.rest.client.request; import static co.codewizards.cloudstore.core.util.AssertUtil.*; import javax.ws.rs.client.Entity; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import co.codewizards.cloudstore.core.dto.RepositoryDto; public class RequestRepoConnection extends VoidRequest { private final String repositoryName; private final String pathPrefix; private final RepositoryDto clientRepositoryDto; public RequestRepoConnection(final String repositoryName, final String pathPrefix, final RepositoryDto clientRepositoryDto) { this.repositoryName = assertNotNull(repositoryName, "repositoryName"); this.pathPrefix = pathPrefix; this.clientRepositoryDto = assertNotNull(clientRepositoryDto, "clientRepositoryDto"); assertNotNull(clientRepositoryDto.getRepositoryId(), "clientRepositoryDto.repositoryId"); assertNotNull(clientRepositoryDto.getPublicKey(), "clientRepositoryDto.publicKey"); } @Override public Response _execute() { return createWebTarget("_requestRepoConnection", urlEncode(repositoryName), urlEncode(pathPrefix)) .request().post(Entity.entity(clientRepositoryDto, MediaType.APPLICATION_XML)); } }