Search in sources :

Example 71 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class JAXRSClientIT method getTitleIsNullTest.

/*
     * @testName: getTitleIsNullTest
     * 
     * @assertion_ids: JAXRS:JAVADOC:794;
     * 
     * @test_Strategy: Returns the value associated with the link "title" param, or
     * null if this param is not specified.
     */
@Test
public void getTitleIsNullTest() throws Fault {
    Link link = linkFromResource("get");
    String title = link.getTitle();
    assertTrue(title == null, "#getTitle is unexpected " + title);
    logMsg("#getTitle( returns null as expected");
}
Also used : Link(jakarta.ws.rs.core.Link) Test(org.junit.jupiter.api.Test)

Example 72 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class LinkExamples method example2.

/**
 * 2-step process: Build Link from String and build Response.
 *
 * @return response.
 */
public Response example2() {
    Link link = Link.fromUri("http://foo.bar/employee/john").rel("manager").rel("friend").title("employee").type("application/xml").build();
    System.out.println("Link = " + link);
    return Response.ok().links(link).build();
}
Also used : Link(jakarta.ws.rs.core.Link)

Example 73 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class ClientTest method test.

public void test() {
    Client client = ClientBuilder.newClient();
    // Get cluster representation -- entry point
    Response rc = client.target("/cluster").request("application/json").get();
    // Ensure cluster is online
    if (rc.hasLink("onliner")) {
        client.invocation(rc.getLink("onliner")).buildPost(null).invoke();
    }
    // Start all machines in cluster
    Cluster c = rc.readEntity(Cluster.class);
    for (Machine m : c.getMachines()) {
        // Machine name is need for URI template in link
        Link l = rc.getLinkBuilder("item").build(m.getName());
        // Create invocation from link and call invoke()
        Response rm = client.invocation(l).buildGet().invoke();
        // Start machine if not started already
        if (rm.hasLink("starter")) {
            client.invocation(rm.getLink("starter")).buildPost(null).invoke();
        }
    }
}
Also used : Response(jakarta.ws.rs.core.Response) Client(jakarta.ws.rs.client.Client) Link(jakarta.ws.rs.core.Link)

Example 74 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class ClusterResource method getTransitionalLinks.

private Link[] getTransitionalLinks() {
    URI uri = uriInfo.getRequestUri();
    URI baseUri = uriInfo.getBaseUri();
    Link self = Link.fromMethod(getClass(), "self").baseUri(baseUri).rel("self").buildRelativized(uri);
    Link item = Link.fromMethod(MachineResource.class, "self").baseUri(baseUri).rel("item").buildRelativized(uri);
    Link onliner = Link.fromMethod(getClass(), "onliner").baseUri(baseUri).rel("onliner").buildRelativized(uri);
    Link offliner = Link.fromMethod(getClass(), "offliner").baseUri(baseUri).rel("offliner").buildRelativized(uri);
    return cluster.getStatus() == Status.ONLINE ? new Link[] { self, item, offliner } : new Link[] { self, item, onliner };
}
Also used : URI(java.net.URI) Link(jakarta.ws.rs.core.Link)

Example 75 with Link

use of jakarta.ws.rs.core.Link in project jaxrs-api by eclipse-ee4j.

the class MachineResource method getTransitionalLinks.

private Link[] getTransitionalLinks() {
    String name = machine.getName();
    URI uri = uriInfo.getRequestUri();
    URI baseUri = uriInfo.getBaseUri();
    Link self = Link.fromMethod(getClass(), "self").baseUri(baseUri).rel("self").buildRelativized(uri, name);
    Link starter = Link.fromMethod(getClass(), "starter").baseUri(baseUri).rel("starter").buildRelativized(uri, name);
    Link stopper = Link.fromMethod(getClass(), "stopper").baseUri(baseUri).rel("stopper").buildRelativized(uri, name);
    Link suspender = Link.fromMethod(getClass(), "suspender").baseUri(baseUri).rel("suspender").buildRelativized(uri, name);
    switch(machine.getStatus()) {
        case STOPPED:
            return new Link[] { self, starter };
        case STARTED:
            return new Link[] { self, stopper, suspender };
        case SUSPENDED:
            return new Link[] { self, starter };
        default:
            throw new IllegalStateException();
    }
}
Also used : URI(java.net.URI) Link(jakarta.ws.rs.core.Link)

Aggregations

Link (jakarta.ws.rs.core.Link)84 Test (org.junit.jupiter.api.Test)69 Builder (jakarta.ws.rs.core.Link.Builder)37 UriBuilder (jakarta.ws.rs.core.UriBuilder)27 Response (jakarta.ws.rs.core.Response)23 URI (java.net.URI)19 ClientBuilder (jakarta.ws.rs.client.ClientBuilder)14 URISyntaxException (java.net.URISyntaxException)7 Path (jakarta.ws.rs.Path)4 POST (jakarta.ws.rs.POST)3 Client (jakarta.ws.rs.client.Client)3 ClientRequestContext (jakarta.ws.rs.client.ClientRequestContext)3 ClientResponseContext (jakarta.ws.rs.client.ClientResponseContext)3 UriBuilderException (jakarta.ws.rs.core.UriBuilderException)3 GET (jakarta.ws.rs.GET)2 ResponseBuilder (jakarta.ws.rs.core.Response.ResponseBuilder)2 JAXBContext (jakarta.xml.bind.JAXBContext)2 JAXBException (jakarta.xml.bind.JAXBException)2 Marshaller (jakarta.xml.bind.Marshaller)2 ByteArrayInputStream (java.io.ByteArrayInputStream)2