@Test public void testGetVirtualNetworksArray() { final Set<VirtualNetwork> vnetSet = ImmutableSet.of(vnet1, vnet2, vnet3, vnet4); expect(mockVnetAdminService.getTenantIds()).andReturn(ImmutableSet.of(tenantId3)).anyTimes(); replay(mockVnetAdminService); expect(mockVnetService.getVirtualNetworks(tenantId3)).andReturn(vnetSet).anyTimes(); replay(mockVnetService); WebTarget wt = target(); String response = wt.path("vnets").request().get(String.class); assertThat(response, containsString("{\"vnets\":[")); final JsonObject result = Json.parse(response).asObject(); assertThat(result, notNullValue()); assertThat(result.names(), hasSize(1)); assertThat(result.names().get(0), is("vnets")); final JsonArray vnetJsonArray = result.get("vnets").asArray(); assertThat(vnetJsonArray, notNullValue()); assertEquals("Virtual networks array is not the correct size.", vnetSet.size(), vnetJsonArray.size()); vnetSet.forEach(vnet -> assertThat(vnetJsonArray, hasVnet(vnet))); verify(mockVnetService); verify(mockVnetAdminService); }
@GET @Produces(MediaType.APPLICATION_JSON) public Response getVirtualNetworks() { Set<TenantId> tenantIds = vnetAdminService.getTenantIds(); List<VirtualNetwork> allVnets = tenantIds.stream() .map(tenantId -> vnetService.getVirtualNetworks(tenantId)) .flatMap(Collection::stream) .collect(Collectors.toList()); return ok(encodeArray(VirtualNetwork.class, "vnets", allVnets)).build(); }
VirtualNetworkWebResource extends AbstractWebResource { @GET @Produces(MediaType.APPLICATION_JSON) public Response getVirtualNetworks() { Set<TenantId> tenantIds = vnetAdminService.getTenantIds(); List<VirtualNetwork> allVnets = tenantIds.stream() .map(tenantId -> vnetService.getVirtualNetworks(tenantId)) .flatMap(Collection::stream) .collect(Collectors.toList()); return ok(encodeArray(VirtualNetwork.class, "vnets", allVnets)).build(); } }
VirtualNetworkWebResource extends AbstractWebResource { @GET @Produces(MediaType.APPLICATION_JSON) public Response getVirtualNetworks() { Set<TenantId> tenantIds = vnetAdminService.getTenantIds(); List<VirtualNetwork> allVnets = tenantIds.stream() .map(tenantId -> vnetService.getVirtualNetworks(tenantId)) .flatMap(Collection::stream) .collect(Collectors.toList()); return ok(encodeArray(VirtualNetwork.class, "vnets", allVnets)).build(); }  }
VirtualNetworkWebResource extends AbstractWebResource { @GET @Produces(MediaType.APPLICATION_JSON) public Response getVirtualNetworks() { Set<TenantId> tenantIds = vnetAdminService.getTenantIds(); List<VirtualNetwork> allVnets = tenantIds.stream() .map(tenantId -> vnetService.getVirtualNetworks(tenantId)) .flatMap(Collection::stream) .collect(Collectors.toList()); return ok(encodeArray(VirtualNetwork.class, "vnets", allVnets)).build(); }  @GET @Produces(MediaType.APPLICATION_JSON) Response getVirtualNetworks(); @GET @Produces(MediaType.APPLICATION_JSON) @Path("{tenantId}") Response getVirtualNetworkById(@PathParam("tenantId") String tenantId); @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) Response createVirtualNetwork(InputStream stream); @DELETE @Path("{networkId}") Response removeVirtualNetwork(@PathParam("networkId") long networkId); @GET @Produces(MediaType.APPLICATION_JSON) @Path("{networkId}/devices") Response getVirtualDevices(@PathParam("networkId") long networkId); @POST @Path("{networkId}/devices") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) Response createVirtualDevice(@PathParam("networkId") long networkId,
                                        InputStream stream); @DELETE @Path("{networkId}/devices/{deviceId}") Response removeVirtualDevice(@PathParam("networkId") long networkId,
                                        @PathParam("deviceId") String deviceId); @GET @Produces(MediaType.APPLICATION_JSON) @Path("{networkId}/devices/{deviceId}/ports") Response getVirtualPorts(@PathParam("networkId") long networkId,
                                    @PathParam("deviceId") String deviceId); @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @Path("{networkId}/devices/{deviceId}/ports") Response createVirtualPort(@PathParam("networkId") long networkId,
                                      @PathParam("deviceId") String virtDeviceId,
                                      InputStream stream); @DELETE @Path("{networkId}/devices/{deviceId}/ports/{portNum}") Response removeVirtualPort(@PathParam("networkId") long networkId,
                                      @PathParam("deviceId") String deviceId,
                                      @PathParam("portNum") long portNum); @GET @Produces(MediaType.APPLICATION_JSON) @Path("{networkId}/links") Response getVirtualLinks(@PathParam("networkId") long networkId); @POST @Path("{networkId}/links") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) Response createVirtualLink(@PathParam("networkId") long networkId,
                                      InputStream stream); @DELETE @Path("{networkId}/links") @Consumes(MediaType.APPLICATION_JSON) Response removeVirtualLink(@PathParam("networkId") long networkId,
                                      InputStream stream); }
VirtualNetworkWebResource extends AbstractWebResource { @GET @Produces(MediaType.APPLICATION_JSON) public Response getVirtualNetworks() { Set<TenantId> tenantIds = vnetAdminService.getTenantIds(); List<VirtualNetwork> allVnets = tenantIds.stream() .map(tenantId -> vnetService.getVirtualNetworks(tenantId)) .flatMap(Collection::stream) .collect(Collectors.toList()); return ok(encodeArray(VirtualNetwork.class, "vnets", allVnets)).build(); }  @GET @Produces(MediaType.APPLICATION_JSON) Response getVirtualNetworks(); @GET @Produces(MediaType.APPLICATION_JSON) @Path("{tenantId}") Response getVirtualNetworkById(@PathParam("tenantId") String tenantId); @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) Response createVirtualNetwork(InputStream stream); @DELETE @Path("{networkId}") Response removeVirtualNetwork(@PathParam("networkId") long networkId); @GET @Produces(MediaType.APPLICATION_JSON) @Path("{networkId}/devices") Response getVirtualDevices(@PathParam("networkId") long networkId); @POST @Path("{networkId}/devices") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) Response createVirtualDevice(@PathParam("networkId") long networkId,
                                        InputStream stream); @DELETE @Path("{networkId}/devices/{deviceId}") Response removeVirtualDevice(@PathParam("networkId") long networkId,
                                        @PathParam("deviceId") String deviceId); @GET @Produces(MediaType.APPLICATION_JSON) @Path("{networkId}/devices/{deviceId}/ports") Response getVirtualPorts(@PathParam("networkId") long networkId,
                                    @PathParam("deviceId") String deviceId); @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @Path("{networkId}/devices/{deviceId}/ports") Response createVirtualPort(@PathParam("networkId") long networkId,
                                      @PathParam("deviceId") String virtDeviceId,
                                      InputStream stream); @DELETE @Path("{networkId}/devices/{deviceId}/ports/{portNum}") Response removeVirtualPort(@PathParam("networkId") long networkId,
                                      @PathParam("deviceId") String deviceId,
                                      @PathParam("portNum") long portNum); @GET @Produces(MediaType.APPLICATION_JSON) @Path("{networkId}/links") Response getVirtualLinks(@PathParam("networkId") long networkId); @POST @Path("{networkId}/links") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) Response createVirtualLink(@PathParam("networkId") long networkId,
                                      InputStream stream); @DELETE @Path("{networkId}/links") @Consumes(MediaType.APPLICATION_JSON) Response removeVirtualLink(@PathParam("networkId") long networkId,
                                      InputStream stream);  }