You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jclouds.apache.org by Andrew Phillips <no...@github.com> on 2013/11/01 01:37:29 UTC
Re: [jclouds-labs] Added a method to retrieve the Virtual Machine a
Volume is attached to (#31)
> + /**
> + * Retrieve the virtual machine this volume is attached to.
> + *
> + * @return The virtual machine this volume is attached to, or null if it is
> + * not attached.
> + */
> + public VirtualMachine getVirtualMachine() {
> + checkState(ATTACHED == VolumeState.valueOf(target.getState()), "Volume is not attached to a VM");
> + RESTLink vmLink = checkNotNull(target.searchLink(ParentLinkName.VIRTUAL_MACHINE),
> + ValidationErrors.MISSING_REQUIRED_LINK + " " + ParentLinkName.VIRTUAL_MACHINE);
> + vmLink.setType(VirtualMachineWithNodeExtendedDto.BASE_MEDIA_TYPE);
> + HttpResponse response = context.getApi().get(vmLink);
> +
> + ParseXMLWithJAXB<VirtualMachineWithNodeExtendedDto> parser = new ParseXMLWithJAXB<VirtualMachineWithNodeExtendedDto>(
> + context.utils().xml(),
> + TypeLiteral.get(VirtualMachineWithNodeExtendedDto.class));
> Personally, I think it is cleaner to use the method to get a generic link and manually call the parser to parse the result, than parsing
> the URI of the link to call a concrete method of the specific api class
Makes sense to me...and certainly I'm not the expert on the Abiquo API who could have a firm opinion here ;-) But getting the parser from the injector rather than trying to construct it ourselves certainly seems like an improvement.
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/31/files#r7361221