@Override public NodeMetadata apply(ServerInfo serverInfo) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(serverInfo.getUuid()); builder.name(serverInfo.getName()); builder.group(groupNamingConventionWithoutPrefix.extractGroup(serverInfo.getName())); builder.location(getOnlyElement(locations.get())); builder.hardware(new HardwareBuilder().ids(serverInfo.getUuid()).processor(new Processor(1, serverInfo.getCpu())) .ram(serverInfo.getMemory().intValue()) .volumes(Iterables.transform(serverInfo.getDrives(), serverDriveToVolume)).build()); builder.tags(readTags(serverInfo)); builder.userMetadata(serverInfo.getMeta()); builder.imageId(extractImageId(serverInfo)); builder.status(serverStatusToNodeStatus.get(serverInfo.getStatus())); builder.publicAddresses(filter(transform(serverInfo.getNics(), nicToAddress), notNull())); // CloudSigma does not provide a way to get the credentials. // Try to return them from the credential store Credentials credentials = credentialStore.get("node#" + serverInfo.getUuid()); if (credentials instanceof LoginCredentials) { builder.credentials(LoginCredentials.class.cast(credentials)); } return builder.build(); }
ServerInfoToNodeMetadata function = new ServerInfoToNodeMetadata(new ServerDriveToVolume(api), new NICToAddress(), serverStatusToNodeStatus, namingConvention, credentialStore, justProvider, api); NodeMetadata converted = function.apply(input); assertEquals(converted, expected); assertEquals(converted.getName(), expected.getName());
@Override public NodeMetadata apply(ServerInfo serverInfo) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(serverInfo.getUuid()); builder.name(serverInfo.getName()); builder.group(groupNamingConventionWithoutPrefix.extractGroup(serverInfo.getName())); builder.location(getOnlyElement(locations.get())); builder.hardware(new HardwareBuilder().ids(serverInfo.getUuid()).processor(new Processor(1, serverInfo.getCpu())) .ram(serverInfo.getMemory().intValue()) .volumes(Iterables.transform(serverInfo.getDrives(), serverDriveToVolume)).build()); builder.tags(readTags(serverInfo)); builder.userMetadata(serverInfo.getMeta()); builder.imageId(extractImageId(serverInfo)); builder.status(serverStatusToNodeStatus.get(serverInfo.getStatus())); builder.publicAddresses(filter(transform(serverInfo.getNics(), nicToAddress), notNull())); // CloudSigma does not provide a way to get the credentials. // Try to return them from the credential store Credentials credentials = credentialStore.get("node#" + serverInfo.getUuid()); if (credentials instanceof LoginCredentials) { builder.credentials(LoginCredentials.class.cast(credentials)); } return builder.build(); }