Java 类javax.ws.rs.core.Request 实例源码

项目:mid-tier    文件:EventServiceExposureTest.java   
@Test
public void testGetEvent() throws URISyntaxException {
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    Request request = mock(Request.class);

    when(archivist.getEvent("5479-123456","eventSID"))
            .thenReturn(new Event(new URI("accounts/5479-1234567/transactions/txSID")));

    Response response = service.getSingle(ui, request, "application/hal+json", "5479-123456", "eventSID");
    EventRepresentation er = (EventRepresentation) response.getEntity();

    assertEquals("http://mock/accounts/5479-1234567/transactions/txSID", er.getOrigin().getHref());
    assertEquals("default", er.getCategory());
    assertEquals("http://mock/account-events/default/" + er.getId(), er.getSelf().getHref());

    response = service.getSingle(ui, request, "application/hal+json;no-real-type", "5479-123456", "eventSID");
    assertEquals(415,response.getStatus());

}
项目:outland    文件:OpenApiDiscoveryResource.java   
private Response cacheAwareResponse(
    Request request, String entity, EntityTag etag, Date lastModified, int maxAge
) {

  final Response.ResponseBuilder builderLastMod = request.evaluatePreconditions(lastModified);
  if (builderLastMod != null) {
    return builderLastMod.build();
  }

  final Response.ResponseBuilder builderEtag = request.evaluatePreconditions(etag);
  if (builderEtag != null) {
    return builderEtag.build();
  }

  final CacheControl cc = new CacheControl();
  cc.setMaxAge(maxAge);

  return Response.ok(entity)
      .tag(etag)
      .lastModified(lastModified)
      .cacheControl(cc)
      .build();
}
项目:http-progressive-download-examples    文件:VideoResource.java   
@GET
public Response get(@PathParam("id") String id, @Context Request request,
                    @HeaderParam("Range") Optional<String> range,
                    @HeaderParam("If-Range") Optional<String> ifRange) {

  Optional<File> video = videosRepository.findById(id);
  if (!video.isPresent()) return Response.status(NOT_FOUND).build();

  Optional<Response> notModifiedResponse = evaluateRequestPreconditions(video.get(), request);
  if (notModifiedResponse.isPresent()) return notModifiedResponse.get();

  if (range.isPresent() && (!ifRange.isPresent() || ifRangePreconditionMatches(video.get(), ifRange.get())))
    return videoPartResponse(video.get(), range.get());

  return fullVideoResponse(video.get());
}
项目:neo4j-sparql-extension-yars    文件:SPARQLQuery.java   
/**
 * Query via GET.
 *
 * @see <a href="http://www.w3.org/TR/sparql11-protocol/#query-operation">
 * SPARQL 1.1 Protocol
 * </a>
 * @param req JAX-RS {@link Request} object
 * @param uriInfo JAX-RS {@link UriInfo} object
 * @param queryString the "query" query parameter
 * @param defgraphs the "default-graph-uri" query parameter
 * @param namedgraphs the "named-graph-uri" query parameter
 * @param inference the "inference" query parameter
 * @return the result of the SPARQL query
 */
@GET
@Produces({
    RDFMediaType.SPARQL_RESULTS_JSON,
    RDFMediaType.SPARQL_RESULTS_XML,
    RDFMediaType.SPARQL_RESULTS_CSV,
    RDFMediaType.SPARQL_RESULTS_TSV,
    RDFMediaType.RDF_TURTLE,
    RDFMediaType.RDF_YARS,
    RDFMediaType.RDF_NTRIPLES,
    RDFMediaType.RDF_XML,
    RDFMediaType.RDF_JSON
})
public Response query(
        @Context Request req,
        @Context UriInfo uriInfo,
        @QueryParam("query") String queryString,
        @QueryParam("default-graph-uri") List<String> defgraphs,
        @QueryParam("named-graph-uri") List<String> namedgraphs,
        @QueryParam("inference") String inference) {
    return handleQuery(
            req, uriInfo, queryString, defgraphs, namedgraphs, inference);
}
项目:mid-tier    文件:LocationServiceExposure.java   
@GET
@Produces({"application/hal+json", "application/hal+json;concept=location;v=1"})
@ApiOperation(value = "lists locations", response = LocationsRepresentation.class,
        authorizations = {
                @Authorization(value = "oauth2", scopes = {}),
                @Authorization(value = "oauth2-cc", scopes = {}),
                @Authorization(value = "oauth2-ac", scopes = {}),
                @Authorization(value = "oauth2-rop", scopes = {}),
                @Authorization(value = "Bearer")
        },
        extensions = {@Extension(name = "roles", properties = {
                @ExtensionProperty(name = "advisor", value = "advisors are allowed getting every location"),
                @ExtensionProperty(name = "customer", value = "customer only allowed getting own locations")}
        )},
        produces = "application/hal+json, application/hal+json;concept=locations;v=1",
        notes = "List all locations in a default projection, which is Location version 1" +
                "Supported projections and versions are: " +
                "Locations in version 1 " +
                "The Accept header for the default version is application/hal+json;concept=location;v=1.0.0.... " +
                "The format for the default version is {....}", nickname = "listLocations")
@ApiResponses(value = {
        @ApiResponse(code = 415, message = "Content type not supported.")
    })
public Response list(@Context UriInfo uriInfo, @Context Request request, @HeaderParam("Accept") String accept) {
    return locationsProducers.getOrDefault(accept, this::handleUnsupportedContentType).getResponse(uriInfo, request);
}
项目:mid-tier    文件:AccountServiceExposureTest.java   
@Test
public void testList() {
    Request request = mock(Request.class);

    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    when(archivist.listAccounts("0"))
        .thenReturn(Arrays.asList(new Account("5479", "1", "Checking account", "cust-1"),
                new Account("5479", "2", "Savings account", "cust-1")));

    Response response = service.list(ui, request, "0", "application/hal+json");
    AccountsRepresentation accounts = (AccountsRepresentation) response.getEntity();

    assertEquals(2, accounts.getAccounts().size());
    assertEquals("http://mock/accounts", accounts.getSelf().getHref());

    response = service.list(ui, request, "0", "application/hal+json;concept=non.existing;type");
    assertEquals(415,response.getStatus());

}
项目:mid-tier    文件:VirtualAccountServiceExposure.java   
@LogDuration(limit = 50)
Response getServiceGeneration1Version1(UriInfo uriInfo, Request request, String accountNo) {
    Long no;
    try {
        no = Long.parseLong(accountNo);
    } catch (NumberFormatException e) {
        throw new WebApplicationException(Response.Status.BAD_REQUEST);
    }
    VirtualAccount virtualaccount = archivist.getAccount(no);
    LOGGER.info("Usage - application/hal+json;concept=virtualaccount;v=1");
    return new EntityResponseBuilder<>(virtualaccount, ac -> new VirtualAccountRepresentation(ac, uriInfo))
            .name("virtualaccount")
            .version("1")
            .maxAge(120)
            .build(request);
}
项目:mid-tier    文件:VirtualAccountServiceExposureTest.java   
@Test
public void testCreate() throws Exception {
    Request request = mock(Request.class);
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));
    when(ui.getPath()).thenReturn("http://mock");

    VirtualAccountUpdateRepresentation account = mock(VirtualAccountUpdateRepresentation.class);
    when(account.getVaNumber()).thenReturn("34");
    when(account.getTotalBalance()).thenReturn("9890");
    when(account.getCommittedBalance()).thenReturn("5123");
    when(account.getUnCommittedBalance()).thenReturn("4767");

    when(archivist.findAccountByAccountNumber(34L)).thenReturn(Optional.empty());

    VirtualAccountRepresentation resp = (VirtualAccountRepresentation) service.createOrUpdate(ui, request,
            "34", account).getEntity();
    assertEquals("34", resp.getVaNumber());
    assertEquals("9890", account.getTotalBalance());
    assertEquals("5123", account.getCommittedBalance());
    assertEquals("4767", account.getUnCommittedBalance());
    assertEquals("http://mock/virtualaccounts/" + resp.getVaNumber(), resp.getSelf().getHref());
}
项目:mid-tier    文件:VirtualAccountServiceExposureTest.java   
@Test
public void testUpdate() throws Exception {
    Request request = mock(Request.class);
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));
    when(ui.getPath()).thenReturn("http://mock");

    VirtualAccount account = new VirtualAccount(1L, new BigDecimal(10), new BigDecimal(20), new BigDecimal(30));

    VirtualAccountUpdateRepresentation accountlocationUpdate = mock(VirtualAccountUpdateRepresentation.class);
    when(accountlocationUpdate.getVaNumber()).thenReturn("55");
    when(accountlocationUpdate.getUnCommittedBalance()).thenReturn("5555");

    when(archivist.findAccountByAccountNumber(55L)).thenReturn(Optional.of(account));

    VirtualAccountRepresentation resp = ( VirtualAccountRepresentation) service.createOrUpdate(ui, request,
            "55", accountlocationUpdate).getEntity();

    assertEquals(account.getVaNumber().toString(), resp.getVaNumber());
    assertEquals(account.getTotalBalance().toString(), resp.getTotalBalance());
    assertEquals(account.getComittedBalance().toString(), resp.getCommittedBalance());
    assertEquals(account.getUnCommittedBalance().toString(), resp.getUncommittedBalance());

    assertEquals("http://mock/virtualaccounts/" + resp.getVaNumber(), resp.getSelf().getHref());
}
项目:mid-tier    文件:CustomerServiceExposure.java   
@GET
@Produces({"application/hal+json", "application/hal+json;concept=customers;v=1"})
@ApiOperation(value = "lists customers", response = CustomersRepresentation.class,
        authorizations = {
                @Authorization(value = "oauth2", scopes = {}),
                @Authorization(value = "oauth2-cc", scopes = {}),
                @Authorization(value = "oauth2-ac", scopes = {}),
                @Authorization(value = "oauth2-rop", scopes = {}),
                @Authorization(value = "Bearer")
        },
        extensions = {@Extension(name = "roles", properties = {
                @ExtensionProperty(name = "advisor", value = "advisors are allowed getting every customer"),
                @ExtensionProperty(name = "customer", value = "customer only allowed getting own information")}
        )},
        produces = "application/hal+json, application/hal+json;concept=customers;v=1",
        notes = "List all customers in a default projection, which is Customers version 1" +
                "Supported projections and versions are: " +
                "Customers in version 1 " +
                "The Accept header for the default version is application/hal+json;concept=customers;v=1.0.0.... " +
                "The format for the default version is {....}", nickname = "listCustomers")
@ApiResponses(value = {
        @ApiResponse(code = 415, message = "Content type not supported.")
    })
public Response list(@Context UriInfo uriInfo, @Context Request request, @HeaderParam("Accept") String accept) {
    return customersProducers.getOrDefault(accept, this::handleUnsupportedContentType).getResponse(uriInfo, request);
}
项目:mid-tier    文件:EventServiceExposureTest.java   
@Test
public void testListEventsByCategory() throws URISyntaxException {
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    Request request = mock(Request.class);

    when(archivist.getEventsForCategory(Event.getCategory("5479", "123456"), Optional.empty()))
            .thenReturn(Collections.singletonList(new Event(new URI("account-events/5479-1234567/eventSID"),
                    "5479-123456", CurrentTime.now())));

    Response response = service.getByCategory(ui, request, "application/hal+json", "5479-123456", "");
    EventsRepresentation events = (EventsRepresentation) response.getEntity();

    assertEquals(1, events.getEvents().size());
    assertEquals("http://mock/account-events", events.getSelf().getHref());

    response = service.getByCategory(ui, request, "application/hal+json;no-real-type", "5479-123456", "");
    assertEquals(415,response.getStatus());
}
项目:mid-tier    文件:LocationEventServiceExposureTest.java   
@Test
public void testListEventsByCategory() throws URISyntaxException {
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    Request request = mock(Request.class);

    when(archivist.getEventsForCategory(Event.getCategory("some", "category"), Optional.empty()))
            .thenReturn(Collections.singletonList(new Event(new URI("customer-events/some-category/eventSID"),
                    "some-category", CurrentTime.now())));

    Response response = service.getByCategory(ui, request, "application/hal+json", "some-category", "");
    EventsRepresentation events = (EventsRepresentation) response.getEntity();

    assertEquals(1, events.getEvents().size());
    assertEquals("http://mock/customer-events", events.getSelf().getHref());

    response = service.getByCategory(ui, request, "application/hal+json;no-real-type", "some-category", "");
    assertEquals(415,response.getStatus());
}
项目:mid-tier    文件:AccountServiceExposureTest.java   
@Test
public void testUpdate() throws Exception {
    Request request = mock(Request.class);
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));
    when(ui.getPath()).thenReturn("http://mock");

    Account existingAcc = new Account("5479", "12345678", "Savings account", "cust-1");
    when(archivist.findAccount("5479", "12345678")).thenReturn(Optional.of(existingAcc));

    AccountUpdateRepresentation accountUpdate = mock(AccountUpdateRepresentation.class);
    when(accountUpdate.getName()).thenReturn("new name");
    when(accountUpdate.getRegNo()).thenReturn("5479");
    when(accountUpdate.getAccountNo()).thenReturn("12345678");

    AccountRepresentation resp = (AccountRepresentation) service.createOrUpdate(ui, request, "5479", "12345678", accountUpdate).getEntity();

    //name of the existing account should be updated
    assertEquals("new name", existingAcc.getName());
    assertEquals("new name", resp.getName());
    assertEquals("5479", resp.getRegNo());
    assertEquals("12345678", resp.getAccountNo());
    assertEquals("0", existingAcc.getBalance().toString());
    assertEquals("0", resp.getBalance().toString());
    assertEquals("http://mock/accounts/5479-12345678", resp.getSelf().getHref());
}
项目:mid-tier    文件:CustomerEventFeedMetadataServiceExposure.java   
@GET
@Produces({"application/hal+json", "application/hal+json;concept=metadata;v=1"})
@ApiOperation(
        value = "metadata for the events endpoint", response = EventsMetadataRepresentation.class,
        authorizations = {
                @Authorization(value = "oauth2", scopes = {}),
                @Authorization(value = "oauth2-cc", scopes = {}),
                @Authorization(value = "oauth2-ac", scopes = {}),
                @Authorization(value = "oauth2-rop", scopes = {}),
                @Authorization(value = "Bearer")
        },
        notes = " the events are signalled by this resource as this this is the authoritative resource for all events that " +
                "subscribers to the customer service should be able to listen for and react to. In other words this is the authoritative" +
                "feed for the customer service",
        tags = {"events"},
        produces = "application/hal+json,  application/hal+json;concept=metadata;v=1",
        nickname = "getCustomerMetadata"
    )
@ApiResponses(value = {
        @ApiResponse(code = 415, message = "Content type not supported.")
    })
public Response getCustomerServiceMetadata(@Context UriInfo uriInfo, @Context Request request, @HeaderParam("Accept") String accept) {
    return eventMetadataProducers.getOrDefault(accept, this::handleUnsupportedContentType).getResponse(uriInfo, request);
}
项目:mid-tier    文件:TransactionServiceExposureTest.java   
@Test
public void testGet() {
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    Request request = mock(Request.class);

    Account account = mock(Account.class);
    when(account.getRegNo()).thenReturn("5479");
    when(account.getAccountNo()).thenReturn("123456");
    Transaction dbTransaction = new Transaction(account, new BigDecimal("1234.42"), "description");
    when(archivist.getTransaction("5479", "123456", "xxx-yyy")).thenReturn(dbTransaction);

    Response response = service.get(ui, request, "application/hal+json","5479", "123456", "xxx-yyy");
    TransactionRepresentation transaction = (TransactionRepresentation) response.getEntity();

    assertEquals("1234.42", transaction.getAmount());
    assertEquals("http://mock/accounts/5479-123456/transactions/" + dbTransaction.getId(), transaction.getSelf().getHref());

    response = service.get(ui, request, "application/hal+json;concept=non.existing;type", "5479", "123456", "xxx-yyy");
    assertEquals(415,response.getStatus());
}
项目:mid-tier    文件:CustomerServiceExposureTest.java   
@Test
public void testList() {
    Request request = mock(Request.class);

    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    when(archivist.listCustomers())
        .thenReturn(Arrays.asList(new Customer("Hans", "Peter", "Hansen"), new Customer("Anders", "P", "Dinesen")));

    Response response = service.list(ui, request, "application/hal+json");
    CustomersRepresentation customers = (CustomersRepresentation) response.getEntity();

    assertEquals(2, customers.getCustomers().size());
    assertEquals("http://mock/customers", customers.getSelf().getHref());

    response = service.list(ui, request, "application/hal+json;concept=non.existing;type");
    assertEquals(415,response.getStatus());

}
项目:mid-tier    文件:CustomerServiceExposureTest.java   
@Test
public void testCreate() throws Exception {
    Request request = mock(Request.class);
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));
    when(ui.getPath()).thenReturn("http://mock");

    CustomerUpdateRepresentation customerUpdate = mock(CustomerUpdateRepresentation.class);
    when(customerUpdate.getFirstName()).thenReturn("Walther");
    when(customerUpdate.getMiddleName()).thenReturn("Gunnar");
    when(customerUpdate.getSirname()).thenReturn("Olesen");
    when(customerUpdate.getNumber()).thenReturn("1234567890");

    when(archivist.findCustomer("1234567890")).thenReturn(Optional.empty());

    CustomerRepresentation resp = (CustomerRepresentation) service.createOrUpdate(ui, request, "1234567890",
            customerUpdate).getEntity();

    assertEquals("Olesen", resp.getSirname());
    assertEquals("Walther", resp.getFirstName());
    assertEquals("Gunnar", resp.getMiddleName());
    assertEquals("http://mock/customers/" + resp.getNumber(), resp.getSelf().getHref());
}
项目:mid-tier    文件:AccountEventFeedMetadataServiceExposure.java   
@GET
@Produces({"application/hal+json", "application/hal+json;concept=metadata;v=1"})
@ApiOperation(
        value = "metadata for the events endpoint", response = EventsMetadataRepresentation.class,
        authorizations = {
                @Authorization(value = "oauth2", scopes = {}),
                @Authorization(value = "oauth2-cc", scopes = {}),
                @Authorization(value = "oauth2-ac", scopes = {}),
                @Authorization(value = "oauth2-rop", scopes = {}),
                @Authorization(value = "Bearer")
        },
        notes = " the events are signalled by this resource as this this is the authoritative resource for all events that " +
                "subscribers to the account service should be able to listen for and react to. In other words this is the authoritative" +
                "feed for the account service",
        tags = {"events"},
        produces = "application/hal+json,  application/hal+json;concept=metadata;v=1",
        nickname = "getAccountMetadata"
    )
@ApiResponses(value = {
        @ApiResponse(code = 415, message = "Content type not supported.")
    })
public Response getMetadata(@Context UriInfo uriInfo, @Context Request request, @HeaderParam("Accept") String accept) {
    return eventMetadataProducers.getOrDefault(accept, this::handleUnsupportedContentType).getResponse(uriInfo, request);
}
项目:mid-tier    文件:ReconciledTransactionServiceExposureTest.java   
@Test
public void testGet() {
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    Request request = mock(Request.class);

    Account account = mock(Account.class);
    when(account.getRegNo()).thenReturn("5479");
    when(account.getAccountNo()).thenReturn("123456");
    Transaction tx = new Transaction(account,new BigDecimal("123.45"), "not much");
    ReconciledTransaction rtx = new ReconciledTransaction(true, "mocked decorated transaction", tx);
    when(archivist.getReconciledTransaction("5479", "123456", "xxx-yyy")).thenReturn(rtx);

    Response response = service.get( ui, request, "application/hal+json","5479", "123456", "xxx-yyy");
    ReconciledTransactionRepresentation reconciledTx = (ReconciledTransactionRepresentation) response.getEntity();

    assertEquals("mocked decorated transaction", reconciledTx.getNote());
    assertEquals(true, reconciledTx.getReconciled());
    assertEquals("http://mock/accounts/5479-123456/reconciled-transactions/" + tx.getId(), reconciledTx.getSelf().getHref());
    assertEquals("http://mock/accounts/5479-123456/transactions/" + tx.getId(), reconciledTx.getTransaction().getHref());

    response = service.get( ui, request, "application/hal+json;concept=non.existing;type","5479", "123456", "xxx-yyy");
    assertEquals(415,response.getStatus());
}
项目:mid-tier    文件:LocationEventServiceExposure.java   
@GET
@Produces({"application/hal+json", "application/hal+json;concept=events;v=1"})
@ApiOperation(
        value = "obtain all events emitted by the customer-event service", response = EventsRepresentation.class,
        notes = " the events are signalled by this resource as this this is the authoritative resource for all events that " +
                "subscribers to the customers service should be able to listen for and react to. In other words this is the authoritative" +
                "feed for the customers service",
        authorizations = {
                @Authorization(value = "oauth2", scopes = {}),
                @Authorization(value = "oauth2-cc", scopes = {}),
                @Authorization(value = "oauth2-ac", scopes = {}),
                @Authorization(value = "oauth2-rop", scopes = {}),
                @Authorization(value = "Bearer")
        },
        tags = {"interval", "events"},
        produces = "application/hal+json,  application/hal+json;concept=events;v=1",
        nickname = "listLocationAllEvents"
    )
@ApiResponses(value = {
        @ApiResponse(code = 415, message = "Content type not supported.")
    })
public Response listAll(@Context UriInfo uriInfo, @Context Request request,
                        @HeaderParam("Accept") String accept, @QueryParam("interval") String interval) {
    return eventsProducers.getOrDefault(accept, this::handleUnsupportedContentType)
            .getResponse(uriInfo, request, interval);
}
项目:mid-tier    文件:LocationServiceExposureTest.java   
@Test
public void testGet() {
    Request request = mock(Request.class);

    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    when(archivist.getLocation("57.0214422", "9.8906541,16")).thenReturn(new Location("57.0214422", "9.8906541,16", "2"));

    LocationRepresentation location = (LocationRepresentation) service.get(ui, request,
            "57.0214422", "9.8906541,16",
            "application/hal+json"
    ).getEntity();

    assertEquals("57.0214422", location.getLatitude());
    assertEquals("9.8906541,16", location.getLongitude());
    assertEquals("2", location.getAmplitude());
    assertEquals("1", location.getNumber());
    assertEquals("http://mock/locations/" + location.getLatitude() + "-" + location.getLongitude(),
            location.getSelf().getHref());

    Response response = service.get(ui, request, "57.0214422", "9.8906541,16",
            "application/hal+json;concept=location;v=0");
    assertEquals(415,response.getStatus());

}
项目:mid-tier    文件:AccountServiceExposure.java   
@GET
@Produces({"application/hal+json", "application/hal+json;concept=accountoverview;v=1"})
@ApiOperation(value = "lists accounts", response = AccountsRepresentation.class,
        authorizations = {
                @Authorization(value = "oauth2", scopes = {}),
                @Authorization(value = "oauth2-cc", scopes = {}),
                @Authorization(value = "oauth2-ac", scopes = {}),
                @Authorization(value = "oauth2-rop", scopes = {}),
                @Authorization(value = "Bearer")
        },
        extensions = {@Extension(name = "roles", properties = {
                @ExtensionProperty(name = "advisor", value = "advisors are allowed getting every account"),
                @ExtensionProperty(name = "customer", value = "customer only allowed getting own accounts")}
        )},
        produces = "application/hal+json, application/hal+json;concept=accountoverview;v=1",
        notes = "List all accounts in a default projection, which is AccountOverview version 1" +
                "Supported projections and versions are: " +
                "AccountOverview in version 1 " +
                "The Accept header for the default version is application/hal+json;concept=AccountOverview;v=1.0.0.... " +
                "The format for the default version is {....}", nickname = "listAccounts")
@ApiResponses(value = {
        @ApiResponse(code = 415, message = "Content type not supported.")
    })
public Response list(@Context UriInfo uriInfo, @Context Request request, @QueryParam("customer") @DefaultValue("0") String customer, @HeaderParam("Accept") String accept) {
    return accountsProducers.getOrDefault(accept, this::handleUnsupportedContentType).getResponse(uriInfo, request, customer);
}
项目:mid-tier    文件:LocationEventMetadataServiceExposureTest.java   
@Test
public void testVersionedMetadata(){
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));
    Request request = mock(Request.class);
    Response response = service.getMetadata(ui, request, "application/hal+json;concept=metadata;v=1");
    EventsMetadataRepresentation info = (EventsMetadataRepresentation) response.getEntity();
    assertNotNull(info);
    assertTrue(info.getMetadata().contains("purpose"));
    assertEquals("http://mock/customer-events-metadata", info.getSelf().getHref());
}
项目:http-caching-and-concurrency-examples    文件:ClimateResource.java   
@GET
public Response get(@Context Request request) {
    ClimateDto currentClimate = stockholmClimateRepository.get();
    EntityTag currentETag = eTagGenerator.eTagFor(currentClimate);

    Optional<Response> notModifiedResponse = evaluateETagPrecondition(request, currentETag);
    if (notModifiedResponse.isPresent()) return notModifiedResponse.get();

    return Response.ok(currentClimate).tag(currentETag).build();
}
项目:mid-tier    文件:LocationEventServiceExposure.java   
@GET
@Path("{category}")
@Produces({ "application/hal+json", "application/hal+json;concept=eventcategory;v=1"})
@ApiOperation(value = "obtain all events scoped to a certain category", response = EventsRepresentation.class,
        notes = " the events are signalled by this resource as this this is the authoritative resource for all events that " +
                "subscribers to the customer service should be able to listen for and react to. In other words this is the authoritative" +
                "feed for the customer service, allowing for subscribers to have these grouped into categories",
        authorizations = {
                @Authorization(value = "oauth2", scopes = {}),
                @Authorization(value = "oauth2-cc", scopes = {}),
                @Authorization(value = "oauth2-ac", scopes = {}),
                @Authorization(value = "oauth2-rop", scopes = {}),
                @Authorization(value = "Bearer")
        },
        tags = {"interval", "events"},
        produces = "application/hal+json,  application/hal+json;concept=eventcategory;v=1",
        nickname = "getlocationEventsByCategory"
    )
@ApiResponses(value = {
        @ApiResponse(code = 415, message = "Content type not supported.")
    })
public Response getByCategory(@Context UriInfo uriInfo, @Context Request request,
                              @HeaderParam("Accept") String accept, @PathParam("category") String category,
                              @QueryParam("interval") String interval) {
    return eventCategoryProducers.getOrDefault(accept, this::handleUnsupportedContentType)
            .getResponse(uriInfo, request, category, interval);
}
项目:holon-jaxrs    文件:DefaultJaxrsHttpRequest.java   
/**
 * Construct and {@link HttpRequest} using JAX-RS context informations
 * @param request Request
 * @param uriInfo URI informations
 * @param headers Headers informations
 */
public DefaultJaxrsHttpRequest(Request request, UriInfo uriInfo, HttpHeaders headers) {
    super();
    ObjectUtils.argumentNotNull(uriInfo, "UriInfo must be not null");
    ObjectUtils.argumentNotNull(headers, "HttpHeaders must be not null");

    this.method = (request != null) ? request.getMethod() : null;
    this.uriInfo = uriInfo;
    this.headers = headers;
    this.queryParameters = uriInfo.getQueryParameters();
}
项目:mid-tier    文件:AccountEventFeedMetadataServiceExposure.java   
@LogDuration(limit = 50)
public Response getMetaDataSG1V1(UriInfo uriInfo, Request request) {
    EventsMetadataRepresentation em  = new EventsMetadataRepresentation("", uriInfo);
    CacheControl cc = new CacheControl();
    int maxAge = 4 * 7 * 24 * 60 * 60;
    cc.setMaxAge(maxAge);

    return Response.ok()
            .entity(em)
            .cacheControl(cc).expires(Date.from(CurrentTime.now().plusSeconds(maxAge)))
            .type("application/hal+json;concept=metadata;v=1")
            .build();
}
项目:mid-tier    文件:AccountServiceExposureTest.java   
@Test(expected = WebApplicationException.class)
public void testCreateInvalidRequest() throws Exception {
    Request request = mock(Request.class);
    UriInfo ui = mock(UriInfo.class);

    AccountUpdateRepresentation accountUpdate = mock(AccountUpdateRepresentation.class);
    when(accountUpdate.getRegNo()).thenReturn("5479");
    when(accountUpdate.getAccountNo()).thenReturn("12345678");

    service.createOrUpdate(ui, request, "5479", "87654321", accountUpdate);
    fail("Should have thrown exception before this step");
}
项目:neo4j-sparql-extension-yars    文件:GraphStore.java   
/**
 * Returns RDF data from a graph in the repository.
 *
 * @see RDFStreamingOutput
 * @param req JAX-RS {@link Request} object
 * @param def the "default" query parameter
 * @param graphString the "graph" query parameter
 * @return RDF data as HTTP response
 */
private Response handleGet(
        Request req,
        String def,
        String graphString) {
    // select matching MIME-Type for response based on HTTP headers
    final Variant variant = req.selectVariant(rdfResultVariants);
    final MediaType mt = variant.getMediaType();
    final String mtstr = mt.getType() + "/" + mt.getSubtype();
    final RDFFormat format = getRDFFormat(mtstr);
    StreamingOutput stream;
    RepositoryConnection conn = null;
    try {
        // return data as RDF stream
        conn = getConnection();
        if (graphString != null) {
            Resource ctx = vf.createURI(graphString);
            if (conn.size(ctx) == 0) {
                return Response.status(Response.Status.NOT_FOUND).build();
            }
            stream = new RDFStreamingOutput(conn, format, ctx);
        } else {
            stream = new RDFStreamingOutput(conn, format);
        }
    } catch (RepositoryException ex) {
        // server error
        close(conn, ex);
        throw new WebApplicationException(ex);
    }
    return Response.ok(stream).build();
}
项目:personium-core    文件:CellResource.java   
/**
 * デフォルトボックスへのアクセス.
 * @param request HTPPサーブレットリクエスト
 * @param jaxRsRequest JAX-RS用HTTPリクエスト
 * @return BoxResource BoxResource Object
 */
@Path("__")
public BoxResource box(@Context final HttpServletRequest request,
        @Context final Request jaxRsRequest) {
    return new BoxResource(this.cell, Box.DEFAULT_BOX_NAME, this.accessContext,
            this.cellRsCmp, request, jaxRsRequest);
}
项目:mid-tier    文件:AccountServiceExposure.java   
@LogDuration(limit = 50)
Response getServiceGeneration1Version2(UriInfo uriInfo, Request request, String regNo, String accountNo) {
    Account account = archivist.getAccount(regNo, accountNo);
    LOGGER.info("Usage - application/hal+json;concept=account;v=2");
    return new EntityResponseBuilder<>(account, acc -> new AccountRepresentation(acc, acc.getTransactions(), uriInfo))
            .name("account")
            .version("2")
            .maxAge(60)
            .build(request);
}
项目:http-caching-and-concurrency-examples    文件:ClimateResource.java   
@PUT
public Response put(@Context Request request, @NotNull ClimateDto climate) {
    synchronized (transactionLock) {
        ClimateDto currentClimate = stockholmClimateRepository.get();
        EntityTag currentETag = eTagGenerator.eTagFor(currentClimate);

        Optional<Response> preconditionFailedResponse = evaluateETagPrecondition(request, currentETag);
        if (preconditionFailedResponse.isPresent()) return preconditionFailedResponse.get();

        stockholmClimateRepository.save(climate);
    }

    EntityTag eTag = eTagGenerator.eTagFor(climate);
    return Response.noContent().tag(eTag).build();
}
项目:mid-tier    文件:LocationServiceExposure.java   
@LogDuration(limit = 50)
Response getServiceGeneration1Version1(UriInfo uriInfo, Request request, String latitude, String longitude) {
    Location location = archivist.getLocation(latitude, longitude);
    LOGGER.info("Usage - application/hal+json;concept=location;v=1");
    return new EntityResponseBuilder<>(location, cust -> new LocationRepresentation(cust, uriInfo))
            .name("location")
            .version("1")
            .maxAge(120)
            .build(request);
}
项目:mid-tier    文件:ReconciledTransactionServiceExposureTest.java   
@Test
public void testList() {
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    Request request = mock(Request.class);
    Account account = mock(Account.class);

    when(account.getRegNo()).thenReturn("5479");
    when(account.getAccountNo()).thenReturn("123456");

    Transaction tx= new Transaction("human-readable-sid", account, new BigDecimal("1234.42"), "description");
    ReconciledTransaction rtx = new ReconciledTransaction(true,"This is a note", tx);
    when(account.getReconciledTransactions())
            .thenReturn(new HashSet<>(Collections.singletonList(rtx)));
    when(archivist.getAccount("5479", "123456")).thenReturn(account);

    Response response = service.list( ui, request, "application/hal+json","5479", "123456");
    ReconciledTransactionsRepresentation reconciledTxs = (ReconciledTransactionsRepresentation) response.getEntity();

    assertEquals(1, reconciledTxs.getReconciledTransactions().size());
    assertEquals("http://mock/accounts/5479-123456/reconciled-transactions", reconciledTxs.getSelf().getHref());

    response = service.list( ui, request, "application/hal+json;concept=non.existing;type","5479", "123456");
    assertEquals(415,response.getStatus());

}
项目:mid-tier    文件:VirtualAccountServiceExposureTest.java   
@Test(expected = WebApplicationException.class)
public void testCreateInvalidRequest() throws Exception {
    Request request = mock(Request.class);
    UriInfo ui = mock(UriInfo.class);

    VirtualAccountUpdateRepresentation account = mock(VirtualAccountUpdateRepresentation.class);
    when(account.getVaNumber()).thenReturn("1");

    service.createOrUpdate(ui, request, "2", account);
    fail("Should have thrown exception before this step");
}
项目:mid-tier    文件:LocationEventFeedMetadataServiceExposure.java   
@LogDuration(limit = 50)
public Response getMetaDataSG1V1(UriInfo uriInfo, Request request) {
    EventsMetadataRepresentation em  = new EventsMetadataRepresentation("", uriInfo);
    CacheControl cc = new CacheControl();
    int maxAge = 4 * 7 * 24 * 60 * 60;
    cc.setMaxAge(maxAge);

    return Response.ok()
            .entity(em)
            .cacheControl(cc).expires(Date.from(CurrentTime.now().plusSeconds(maxAge)))
            .type("application/hal+json;concept=metadata;v=1")
            .build();
}
项目:mid-tier    文件:CustomerServiceExposure.java   
Response listServiceGeneration1Version1(UriInfo uriInfo, Request request) {
    List<Customer> customers = archivist.listCustomers();
    return new EntityResponseBuilder<>(customers, list -> new CustomersRepresentation(list, uriInfo))
            .name("customers")
            .version("1")
            .maxAge(10)
            .build(request);
}
项目:mid-tier    文件:CustomerServiceExposure.java   
@LogDuration(limit = 50)
Response getServiceGeneration1Version1(UriInfo uriInfo, Request request, String customerNo) {
    Customer customer = archivist.getCustomer(customerNo);
    LOGGER.info("Usage - application/hal+json;concept=customer;v=1");
    return new EntityResponseBuilder<>(customer, cust -> new CustomerRepresentation(cust, uriInfo))
            .name("customer")
            .version("1")
            .maxAge(120)
            .build(request);
}
项目:mid-tier    文件:EventMetadataServiceExposureTest.java   
@Test
public void testVersionedMetadata(){
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));
    Request request = mock(Request.class);
    Response response = service.getMetadata(ui, request,"application/hal+json;concept=metadata;v=1");
    EventsMetadataRepresentation info = (EventsMetadataRepresentation) response.getEntity();
    assertNotNull(info);
    assertTrue(info.getMetadata().contains("purpose"));
    assertEquals("http://mock/account-events-metadata", info.getSelf().getHref());
}
项目:mid-tier    文件:TransactionServiceExposureTest.java   
@Test
public void testList() {
    UriInfo ui = mock(UriInfo.class);
    when(ui.getBaseUriBuilder()).then(new UriBuilderFactory(URI.create("http://mock")));

    Request request = mock(Request.class);

    Account account = mock(Account.class);
    when(account.getRegNo()).thenReturn("5479");
    when(account.getAccountNo()).thenReturn("123456");
    List<Sort> sort = Collections.emptyList();
    when(archivist.getTransactions("5479", "123456", Optional.empty(), Optional.empty(), sort)).thenReturn(
            Arrays.asList(
                    new Transaction(account, "id-1", new BigDecimal("1234.42"), "description 1", Instant.ofEpochMilli(1)),
                    new Transaction(account, "id-2", new BigDecimal("2345.42"), "description 2", Instant.ofEpochMilli(2))
            ));

    Response response = service.list(ui, request, "application/hal+json","5479", "123456", "", "", "");
    TransactionsRepresentation transactions = (TransactionsRepresentation) response.getEntity();

    assertEquals(2, transactions.getTransactions().size());
    assertEquals("http://mock/accounts/5479-123456/transactions", transactions.getSelf().getHref());

    response = service.list(ui, request, "application/hal+json;concept=non.existing;type","5479", "123456",
            "", "", "");
    assertEquals(415,response.getStatus());
}