org.jclouds.openstack.nova.v2_0.compute.functions
Class ServerInZoneToNodeMetadata

java.lang.Object
  extended by org.jclouds.openstack.nova.v2_0.compute.functions.ServerInZoneToNodeMetadata
All Implemented Interfaces:
com.google.common.base.Function<ServerInZone,NodeMetadata>

public class ServerInZoneToNodeMetadata
extends Object
implements com.google.common.base.Function<ServerInZone,NodeMetadata>

A function for transforming a nova-specific Server into a generic NodeMetadata object.

Author:
Matt Stephenson, Adam Lowe, Adrian Cole

Field Summary
protected  com.google.common.base.Supplier<Set<? extends Hardware>> hardwares
           
protected  com.google.common.base.Supplier<Set<? extends Image>> images
           
static com.google.common.base.Predicate<String> isInet4Address
           
protected  com.google.common.base.Supplier<Map<String,Location>> locationIndex
           
protected  Logger logger
           
protected  GroupNamingConvention nodeNamingConvention
           
protected  Map<Server.Status,NodeMetadata.Status> toPortableNodeStatus
           
 
Constructor Summary
ServerInZoneToNodeMetadata(Map<Server.Status,NodeMetadata.Status> toPortableNodeStatus, com.google.common.base.Supplier<Map<String,Location>> locationIndex, com.google.common.base.Supplier<Set<? extends Image>> images, com.google.common.base.Supplier<Set<? extends Hardware>> hardwares, GroupNamingConvention.Factory namingConvention)
           
 
Method Summary
 NodeMetadata apply(ServerInZone serverInZone)
           
protected  Hardware findHardwareForServerOrNull(ServerInZone serverInZone)
           
<T extends ComputeMetadata>
T
findObjectOfTypeForServerOrNull(Set<? extends T> supply, String type, String objectId, ZoneAndId serverInZone)
           
protected  OperatingSystem findOperatingSystemForServerOrNull(ServerInZone serverInZone)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.google.common.base.Function
equals
 

Field Detail

logger

@Named(value="jclouds.compute")
protected Logger logger

toPortableNodeStatus

protected Map<Server.Status,NodeMetadata.Status> toPortableNodeStatus

locationIndex

protected final com.google.common.base.Supplier<Map<String,Location>> locationIndex

images

protected final com.google.common.base.Supplier<Set<? extends Image>> images

hardwares

protected final com.google.common.base.Supplier<Set<? extends Hardware>> hardwares

nodeNamingConvention

protected final GroupNamingConvention nodeNamingConvention

isInet4Address

public static final com.google.common.base.Predicate<String> isInet4Address
Constructor Detail

ServerInZoneToNodeMetadata

@Inject
public ServerInZoneToNodeMetadata(Map<Server.Status,NodeMetadata.Status> toPortableNodeStatus,
                                         com.google.common.base.Supplier<Map<String,Location>> locationIndex,
                                         com.google.common.base.Supplier<Set<? extends Image>> images,
                                         com.google.common.base.Supplier<Set<? extends Hardware>> hardwares,
                                         GroupNamingConvention.Factory namingConvention)
Method Detail

apply

public NodeMetadata apply(ServerInZone serverInZone)
Specified by:
apply in interface com.google.common.base.Function<ServerInZone,NodeMetadata>

findHardwareForServerOrNull

protected Hardware findHardwareForServerOrNull(ServerInZone serverInZone)

findOperatingSystemForServerOrNull

protected OperatingSystem findOperatingSystemForServerOrNull(ServerInZone serverInZone)

findObjectOfTypeForServerOrNull

public <T extends ComputeMetadata> T findObjectOfTypeForServerOrNull(Set<? extends T> supply,
                                                                     String type,
                                                                     String objectId,
                                                                     ZoneAndId serverInZone)


Copyright © 2009-2012 jclouds. All Rights Reserved.