package co.codewizards.cloudstore.ls.rest.client.request; import static co.codewizards.cloudstore.core.util.AssertUtil.*; import javax.ws.rs.client.Entity; import javax.ws.rs.client.WebTarget; import co.codewizards.cloudstore.ls.core.invoke.MethodInvocationRequest; import co.codewizards.cloudstore.ls.core.invoke.MethodInvocationResponse; import co.codewizards.cloudstore.ls.core.provider.MediaTypeConst; public class InvokeMethod extends AbstractRequest<MethodInvocationResponse> { private final MethodInvocationRequest methodInvocationRequest; public InvokeMethod(MethodInvocationRequest methodInvocationRequest) { this.methodInvocationRequest = assertNotNull(methodInvocationRequest, "methodInvocationRequest"); } @Override public MethodInvocationResponse execute() { final WebTarget webTarget = createWebTarget("InvokeMethod"); final MethodInvocationResponse repoInfoResponseDto = assignCredentials(webTarget.request(MediaTypeConst.APPLICATION_JAVA_NATIVE_WITH_OBJECT_REF_TYPE)) .post(Entity.entity(methodInvocationRequest, MediaTypeConst.APPLICATION_JAVA_NATIVE_WITH_OBJECT_REF_TYPE), MethodInvocationResponse.class); return repoInfoResponseDto; } @Override public boolean isResultNullable() { return false; } }