コード例 #1
0
  @SuppressWarnings({"unchecked", "rawtypes"})
  @Override
  public NodeMetadata apply(ServerInfo from) {
    NodeMetadataBuilder builder = new NodeMetadataBuilder();
    builder.ids(from.getUuid());
    builder.name(from.getName());
    builder.location(locationSupplier.get());
    builder.group(parseGroupFromName(from.getName()));

    String imageId = getImageIdFromServer.apply(from);
    if (imageId != null) {
      Image image = findImageForId.apply(imageId);
      if (image != null) {
        builder.operatingSystem(image.getOperatingSystem());
        builder.adminPassword(image.getAdminPassword());
      }
    }
    builder.hardware(
        new HardwareBuilder()
            .ids(from.getUuid())
            .processors(ImmutableList.of(new Processor(1, from.getCpu())))
            .ram(from.getMem())
            .volumes(
                (List)
                    ImmutableList.of(
                        Iterables.transform(from.getDevices().values(), deviceToVolume)))
            .build());
    builder.state(serverStatusToNodeState.get(from.getStatus()));
    builder.publicAddresses(ImmutableSet.<String>of(from.getVnc().getIp()));
    builder.privateAddresses(ImmutableSet.<String>of());
    builder.credentials(credentialStore.get("node#" + from.getUuid()));
    return builder.build();
  }