private static Protos.Resource.Builder setValue( Protos.Resource.Builder builder, Protos.Value value) { builder.setType(value.getType()); switch (value.getType()) { case SCALAR: builder.setScalar(value.getScalar()); return builder; case RANGES: builder.setRanges(value.getRanges()); return builder; case SET: builder.setSet(value.getSet()); return builder; default: throw new IllegalArgumentException( String.format("Unsupported spec value type: %s", value.getType()) ); } }
@SuppressWarnings("deprecation") // for Resource.setRole() private static Protos.Resource toUnreservedResource(String resourceName, Protos.Value value, boolean isMountDisk) { Protos.Resource.Builder resourceBuilder = Protos.Resource.newBuilder() .setRole("*") .setName(resourceName) .setType(value.getType()); switch (value.getType()) { case SCALAR: resourceBuilder.setScalar(value.getScalar()); break; case RANGES: resourceBuilder.setRanges(value.getRanges()); break; case SET: resourceBuilder.setSet(value.getSet()); break; default: throw new IllegalArgumentException("Unsupported value type: " + value); } if (isMountDisk) { resourceBuilder.getDiskBuilder().getSourceBuilder() .setType(Protos.Resource.DiskInfo.Source.Type.MOUNT) .getMountBuilder().setRoot("test-mount-root"); } return resourceBuilder.build(); } }
@SuppressWarnings("deprecation") // for Resource.setRole() private static Protos.Resource getUnreservedResource(String name, Protos.Value value, String role) { Protos.Resource.Builder resBuilder = Protos.Resource.newBuilder() .setName(name) .setType(value.getType()) .setRole(role); if (!role.equals(Constants.ANY_ROLE)) { // Fill in the prereserved role info: resBuilder.addReservationsBuilder() .setRole(role) .setPrincipal(TestConstants.PRINCIPAL); } switch (value.getType()) { case SCALAR: return resBuilder.setScalar(value.getScalar()).build(); case RANGES: return resBuilder.setRanges(value.getRanges()).build(); case SET: return resBuilder.setSet(value.getSet()).build(); default: return null; } } }