You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2016/10/18 13:07:54 UTC
[3/3] jclouds-labs git commit: Null guards
Null guards
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/2e387430
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/2e387430
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/2e387430
Branch: refs/heads/master
Commit: 2e3874301895557c366bc0c613605d68704f9305
Parents: 3e5c92d
Author: Ignasi Barrera <na...@apache.org>
Authored: Tue Oct 18 12:31:46 2016 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Tue Oct 18 12:32:08 2016 +0200
----------------------------------------------------------------------
.../functions/VirtualMachineToNodeMetadata.java | 45 +++++++++++++-------
1 file changed, 29 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/2e387430/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VirtualMachineToNodeMetadata.java
----------------------------------------------------------------------
diff --git a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VirtualMachineToNodeMetadata.java b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VirtualMachineToNodeMetadata.java
index 6527d25..5e98fbf 100644
--- a/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VirtualMachineToNodeMetadata.java
+++ b/azurecompute-arm/src/main/java/org/jclouds/azurecompute/arm/compute/functions/VirtualMachineToNodeMetadata.java
@@ -156,14 +156,19 @@ public class VirtualMachineToNodeMetadata implements Function<VirtualMachine, No
// the VM
VirtualMachineInstance instanceDetails = api.getVirtualMachineApi(azureGroup).getInstanceDetails(
virtualMachine.name());
- builder.status(POWERSTATE_TO_NODESTATUS.apply(instanceDetails.powerState()));
- builder.backendStatus(Joiner.on(',').join(
- transform(instanceDetails.statuses(), new Function<VirtualMachineStatus, String>() {
- @Override
- public String apply(VirtualMachineStatus input) {
- return input.code();
- }
- })));
+ if (instanceDetails != null && instanceDetails.powerState() != null) {
+ builder.status(POWERSTATE_TO_NODESTATUS.apply(instanceDetails.powerState()));
+ builder.backendStatus(Joiner.on(',').join(
+ transform(instanceDetails.statuses(), new Function<VirtualMachineStatus, String>() {
+ @Override
+ public String apply(VirtualMachineStatus input) {
+ return input.code();
+ }
+ })));
+ } else {
+ builder.status(NodeMetadata.Status.PENDING);
+ builder.backendStatus(provisioningState.name());
+ }
} else {
builder.status(PROVISIONINGSTATE_TO_NODESTATUS.apply(provisioningState));
builder.backendStatus(provisioningState.name());
@@ -207,8 +212,13 @@ public class VirtualMachineToNodeMetadata implements Function<VirtualMachine, No
List<String> privateIpAddresses = Lists.newArrayList();
for (IdReference networkInterfaceCardIdReference : idReferences) {
NetworkInterfaceCard networkInterfaceCard = getNetworkInterfaceCard(networkInterfaceCardIdReference);
- for (IpConfiguration ipConfiguration : networkInterfaceCard.properties().ipConfigurations()) {
- privateIpAddresses.add(ipConfiguration.properties().privateIPAddress());
+ if (networkInterfaceCard != null && networkInterfaceCard.properties() != null
+ && networkInterfaceCard.properties().ipConfigurations() != null) {
+ for (IpConfiguration ipConfiguration : networkInterfaceCard.properties().ipConfigurations()) {
+ if (ipConfiguration.properties().privateIPAddress() != null) {
+ privateIpAddresses.add(ipConfiguration.properties().privateIPAddress());
+ }
+ }
}
}
return privateIpAddresses;
@@ -226,12 +236,15 @@ public class VirtualMachineToNodeMetadata implements Function<VirtualMachine, No
List<String> publicIpAddresses = Lists.newArrayList();
for (IdReference networkInterfaceCardIdReference : idReferences) {
NetworkInterfaceCard networkInterfaceCard = getNetworkInterfaceCard(networkInterfaceCardIdReference);
- String resourceGroup = Iterables.get(Splitter.on("/").split(networkInterfaceCardIdReference.id()), 4);
- for (IpConfiguration ipConfiguration : networkInterfaceCard.properties().ipConfigurations()) {
- if (ipConfiguration.properties().publicIPAddress() != null) {
- String publicIpId = ipConfiguration.properties().publicIPAddress().id();
- publicIpAddresses.add(api.getPublicIPAddressApi(resourceGroup)
- .get(Iterables.getLast(Splitter.on("/").split(publicIpId))).properties().ipAddress());
+ if (networkInterfaceCard != null && networkInterfaceCard.properties() != null
+ && networkInterfaceCard.properties().ipConfigurations() != null) {
+ String resourceGroup = Iterables.get(Splitter.on("/").split(networkInterfaceCardIdReference.id()), 4);
+ for (IpConfiguration ipConfiguration : networkInterfaceCard.properties().ipConfigurations()) {
+ if (ipConfiguration.properties().publicIPAddress() != null) {
+ String publicIpId = ipConfiguration.properties().publicIPAddress().id();
+ publicIpAddresses.add(api.getPublicIPAddressApi(resourceGroup)
+ .get(Iterables.getLast(Splitter.on("/").split(publicIpId))).properties().ipAddress());
+ }
}
}
}