You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/10/05 01:28:42 UTC
[1/7] Remove savvis-symphonyvpdc,
which hasn't been published in over a year.
Repository: jclouds-labs
Updated Branches:
refs/heads/master 591139c00 -> b91fd46cd
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/vm.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/vm.xml b/savvis-symphonyvpdc/src/test/resources/vm.xml
deleted file mode 100644
index 1258be8..0000000
--- a/savvis-symphonyvpdc/src/test/resources/vm.xml
+++ /dev/null
@@ -1,235 +0,0 @@
-<vApp:VApp xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vApps="http://schemas.api.sandbox.savvis.net/vpdci"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
- xmlns:svvs="http://schemas.api.sandbox.savvis.net/vpdci" status="4" name="znHost2"
- type="application/vnd.vmware.vcloud.vApp+xml"
- href="https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1001">
- <ovf:NetworkSection>
- <ovf:Info>The list of logical networks</ovf:Info>
- <ovf:Network ovf:name="VM Tier01">
- <ovf:Description>Customer Production Network used by this appliance</ovf:Description>
- </ovf:Network>
- </ovf:NetworkSection>
- <ovf:Section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="vApp:NetworkConfigSectionType"
- Network="VM Tier01" Gateway="0.0.0.0" Netmask="0.0.0.0">
- <ovf:Info>MAC=00:00:00:00:00:00</ovf:Info>
- <vApp:NetworkConfig>
- <vApp:Features>
- <vApp:FenceMode>allowInOut</vApp:FenceMode>
- <vApp:Dhcp>true</vApp:Dhcp>
- <vApp:Nat>
- <vApp:NatRule internalIP="10.76.2.4" externalIP="206.24.124.1"/>
- </vApp:Nat>
- </vApp:Features>
- </vApp:NetworkConfig>
- </ovf:Section>
- <ovf:Section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="vApp:NetworkConnectionType"
- Network="VM Tier01">
- <ovf:Info>Read only description of a network connection to a deployed vApp</ovf:Info>
- <vApp:IpAddress>10.76.0.5</vApp:IpAddress>
- </ovf:Section>
- <ovf:OperatingSystemSection ovf:id="80">
- <ovf:Info>Specifies the operating system installed</ovf:Info>
- <ovf:Description>Red Hat Enterprise Linux 5.x 64bit</ovf:Description>
- </ovf:OperatingSystemSection>
- <!-- **** The product section(vcenter information) available only selected customers who engaged with
- Savvis private cloud and this feature is provided as part of 2.0.3 release *** -->
- <ovf:ProductSection>
- <ovf:Info>vCenter Information</ovf:Info>
- <ovf:Property ovf:value="false" ovf:type="String" ovf:key="vmwareToolsEnabled">
- <ovf:Label>VMWare Tools Enabled status</ovf:Label>
- <ovf:Description>VMWare Tools Enabled status</ovf:Description>
- </ovf:Property>
- <ovf:Property ovf:value="10.12.46.171" ovf:type="String" ovf:key="vmwareESXHost">
- <ovf:Label>VMWare ESXHost Ipaddress</ovf:Label>
- <ovf:Description>VMWare ESXHost Ipaddress</ovf:Description>
- </ovf:Property>
- <ovf:Property ovf:value="cussl01s01c01alun088bal,cussl01s01c01alun089bal" ovf:type="String" ovf:key="datastores">
- <ovf:Label>Datastore Name</ovf:Label>
- <ovf:Description>Datastore Name</ovf:Description>
- </ovf:Property>
- <!-- **** capacity unit : bytes *** -->
- <ovf:Property ovf:value="[Totalcapacity=1335915184128,UsedCapacity=549755813888]" ovf:type="String"
- ovf:key="cussl01s01c01alun088bal">
- <ovf:Label>Datastore Capacity</ovf:Label>
- <ovf:Description>Datastore cussl01s01c01alun088bal Total Capacity, Used Capacity in comma separated
- </ovf:Description>
- </ovf:Property>
- <ovf:Property ovf:value="[Totalcapacity=1335915184129,UsedCapacity=549755813889]" ovf:type="String"
- ovf:key="cussl01s01c01alun089bal">
- <ovf:Label>Datastore Capacity</ovf:Label>
- <ovf:Description>Datastore cussl01s01c01alun089bal Total Capacity, Used Capacity in comma separated
- </ovf:Description>
- </ovf:Property>
- <ovf:Property ovf:value="[name=3282176-1949-bal-tier01,ip=0.0.0.0,mac=00:50:56:8c:3f:3c]" ovf:type="String"
- ovf:key="customerPortprofile">
- <ovf:Label>customerPortprofile</ovf:Label>
- <ovf:Description>customerPortprofile</ovf:Description>
- </ovf:Property>
- <ovf:Property ovf:value="[name=vm-server-mgmt,ip=0.0.0.0,mac=00:50:56:8c:39:75]" ovf:type="String"
- ovf:key="savvisPortprofile">
- <ovf:Label>savvisPortprofile</ovf:Label>
- <ovf:Description>savvisPortprofile</ovf:Description>
- </ovf:Property>
- </ovf:ProductSection>
- <!-- The product section(vcenter information)END -->
- <ovf:VirtualHardwareSection>
- <ovf:Info>UUID=52254cd2-d848-4e7d-b8f3-3d257fed7666</ovf:Info>
- <ovf:System>
- <vssd:AutomaticRecoveryAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:AutomaticShutdownAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:AutomaticStartupAction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:AutomaticStartupActionDelay xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:AutomaticStartupActionSequenceNumber xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:nil="true"/>
- <vssd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:ConfigurationDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:ConfigurationFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:ConfigurationID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:CreationTime xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:Description>Virtual Hardware Family</vssd:Description>
- <vssd:ElementName>znHost2</vssd:ElementName>
- <vssd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:InstanceID>1</vssd:InstanceID>
- <vssd:LogDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:RecoveryFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:SnapshotDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:SuspendDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:SwapFileDataRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <vssd:VirtualSystemIdentifier>znHost2</vssd:VirtualSystemIdentifier>
- <vssd:VirtualSystemType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- </ovf:System>
- <ovf:Item>
- <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AllocationUnits>3 GHz</rasd:AllocationUnits>
- <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Description>Number of Virtual CPUs</rasd:Description>
- <rasd:ElementName>1 CPU</rasd:ElementName>
- <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:InstanceID>2</rasd:InstanceID>
- <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceType>3</rasd:ResourceType>
- <rasd:VirtualQuantity>1</rasd:VirtualQuantity>
- <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- </ovf:Item>
- <ovf:Item>
- <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AllocationUnits>Gigabytes</rasd:AllocationUnits>
- <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Description>Memory Size</rasd:Description>
- <rasd:ElementName>Memory</rasd:ElementName>
- <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:InstanceID>3</rasd:InstanceID>
- <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceType>4</rasd:ResourceType>
- <rasd:VirtualQuantity>2</rasd:VirtualQuantity>
- <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- </ovf:Item>
- <ovf:Item>
- <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AllocationUnits xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Caption xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Connection>VM Tier01</rasd:Connection>
- <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ElementName>Network</rasd:ElementName>
- <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:InstanceID>4</rasd:InstanceID>
- <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceType>10</rasd:ResourceType>
- <rasd:VirtualQuantity>1</rasd:VirtualQuantity>
- <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- </ovf:Item>
- <ovf:Item>
- <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AllocationUnits>Gigabytes</rasd:AllocationUnits>
- <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Caption>1234567</rasd:Caption>
- <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Description>Hard Disk</rasd:Description>
- <rasd:ElementName>C:\</rasd:ElementName>
- <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:HostResource>boot</rasd:HostResource>
- <rasd:InstanceID>5</rasd:InstanceID>
- <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceType>27</rasd:ResourceType>
- <rasd:VirtualQuantity>25</rasd:VirtualQuantity>
- <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- </ovf:Item>
- <ovf:Item>
- <rasd:Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AddressOnParent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AllocationUnits>Gigabytes</rasd:AllocationUnits>
- <rasd:AutomaticAllocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:AutomaticDeallocation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Caption>1234568</rasd:Caption>
- <rasd:ChangeableType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConfigurationName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ConsumerVisibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Description>Hard Disk</rasd:Description>
- <rasd:ElementName>D:\</rasd:ElementName>
- <rasd:Generation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:HostResource>data</rasd:HostResource>
- <rasd:InstanceID>6</rasd:InstanceID>
- <rasd:Limit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:MappingBehavior xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:OtherResourceType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:PoolID xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:Reservation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceSubType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- <rasd:ResourceType>26</rasd:ResourceType>
- <rasd:VirtualQuantity>50</rasd:VirtualQuantity>
- <rasd:Weight xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
- </ovf:Item>
- </ovf:VirtualHardwareSection>
-</vApp:VApp>
\ No newline at end of file
[7/7] git commit: Remove savvis-symphonyvpdc,
which hasn't been published in over a year.
Posted by ad...@apache.org.
Remove savvis-symphonyvpdc, which hasn't been published in over a year.
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/b91fd46c
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/b91fd46c
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/b91fd46c
Branch: refs/heads/master
Commit: b91fd46cd77595d2b7c2dad480863b2b99f0c6aa
Parents: 591139c
Author: Adrian Cole <ad...@gmail.com>
Authored: Sat Oct 4 16:21:13 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Sat Oct 4 16:28:28 2014 -0700
----------------------------------------------------------------------
savvis-symphonyvpdc/pom.xml | 127 -------
.../java/org/jclouds/savvis/vpdc/VPDCApi.java | 82 -----
.../jclouds/savvis/vpdc/VPDCApiMetadata.java | 91 -----
.../org/jclouds/savvis/vpdc/VPDCAsyncApi.java | 82 -----
.../savvis/vpdc/VPDCProviderMetadata.java | 116 ------
.../binders/BaseBindVMSpecToXmlPayload.java | 199 ----------
.../BindCaptureVAppTemplateToXmlPayload.java | 98 -----
.../vpdc/binders/BindCloneVMToXmlPayload.java | 106 ------
.../binders/BindFirewallRuleToXmlPayload.java | 111 ------
.../vpdc/binders/BindVMSpecToXmlPayload.java | 48 ---
.../vpdc/binders/BindVMSpecsToXmlPayload.java | 57 ---
.../config/VPDCComputeServiceContextModule.java | 55 ---
.../functions/CIMOperatingSystemToImage.java | 42 ---
.../compute/functions/NetworkToLocation.java | 85 -----
.../compute/functions/VMSpecToHardware.java | 51 ---
.../compute/functions/VMToNodeMetadata.java | 87 -----
.../strategy/VPDCComputeServiceAdapter.java | 203 ----------
.../vpdc/config/VPDCRestClientModule.java | 189 ----------
.../savvis/vpdc/domain/FirewallRule.java | 219 -----------
.../savvis/vpdc/domain/FirewallService.java | 109 ------
.../org/jclouds/savvis/vpdc/domain/Link.java | 69 ----
.../org/jclouds/savvis/vpdc/domain/Network.java | 142 -------
.../vpdc/domain/NetworkConfigSection.java | 203 ----------
.../vpdc/domain/NetworkConnectionSection.java | 127 -------
.../org/jclouds/savvis/vpdc/domain/Org.java | 163 --------
.../jclouds/savvis/vpdc/domain/Resource.java | 36 --
.../savvis/vpdc/domain/ResourceImpl.java | 147 --------
.../org/jclouds/savvis/vpdc/domain/Task.java | 231 ------------
.../jclouds/savvis/vpdc/domain/TaskError.java | 147 --------
.../org/jclouds/savvis/vpdc/domain/VDC.java | 213 -----------
.../java/org/jclouds/savvis/vpdc/domain/VM.java | 368 -------------------
.../org/jclouds/savvis/vpdc/domain/VMSpec.java | 234 ------------
.../vpdc/domain/internal/VCloudSession.java | 27 --
.../savvis/vpdc/domain/vapp/Network.java | 71 ----
.../savvis/vpdc/features/BrowsingApi.java | 118 ------
.../savvis/vpdc/features/BrowsingAsyncApi.java | 133 -------
.../savvis/vpdc/features/FirewallApi.java | 55 ---
.../savvis/vpdc/features/FirewallAsyncApi.java | 73 ----
.../vpdc/features/ServiceManagementApi.java | 79 ----
.../features/ServiceManagementAsyncApi.java | 82 -----
.../org/jclouds/savvis/vpdc/features/VMApi.java | 150 --------
.../savvis/vpdc/features/VMAsyncApi.java | 156 --------
.../vpdc/filters/SetVCloudTokenCookie.java | 47 ---
.../savvis/vpdc/functions/DefaultOrgIfNull.java | 41 ---
.../ParseLoginResponseFromHeaders.java | 90 -----
.../savvis/vpdc/handlers/VPDCErrorHandler.java | 90 -----
.../jclouds/savvis/vpdc/internal/LoginApi.java | 28 --
.../savvis/vpdc/internal/LoginAsyncApi.java | 47 ---
.../jclouds/savvis/vpdc/internal/Network.java | 34 --
.../org/jclouds/savvis/vpdc/internal/Org.java | 34 --
.../savvis/vpdc/internal/VCloudToken.java | 34 --
.../org/jclouds/savvis/vpdc/internal/VDC.java | 34 --
.../savvis/vpdc/location/FirstNetwork.java | 64 ----
.../savvis/vpdc/options/BindGetVMOptions.java | 41 ---
.../savvis/vpdc/options/GetVMOptions.java | 63 ----
.../savvis/vpdc/predicates/TaskSuccess.java | 63 ----
.../savvis/vpdc/reference/VCloudMediaType.java | 204 ----------
.../savvis/vpdc/reference/VPDCConstants.java | 34 --
.../org/jclouds/savvis/vpdc/util/Utils.java | 96 -----
.../savvis/vpdc/xml/FirewallRuleHandler.java | 80 ----
.../savvis/vpdc/xml/FirewallServiceHandler.java | 86 -----
.../vpdc/xml/NetworkConfigSectionHandler.java | 59 ---
.../xml/NetworkConnectionSectionHandler.java | 54 ---
.../jclouds/savvis/vpdc/xml/NetworkHandler.java | 75 ----
.../savvis/vpdc/xml/NetworkSectionHandler.java | 63 ----
.../org/jclouds/savvis/vpdc/xml/OrgHandler.java | 78 ----
.../jclouds/savvis/vpdc/xml/OrgListHandler.java | 53 ---
.../jclouds/savvis/vpdc/xml/TaskHandler.java | 101 -----
.../savvis/vpdc/xml/TasksListHandler.java | 64 ----
.../org/jclouds/savvis/vpdc/xml/VDCHandler.java | 78 ----
.../org/jclouds/savvis/vpdc/xml/VMHandler.java | 88 -----
.../org.jclouds.providers.ProviderMetadata | 1 -
.../predefined_operatingsystems.json | 26 --
.../jclouds/savvis/vpdc/VPDCAsyncApiTest.java | 66 ----
.../jclouds/savvis/vpdc/VPDCProviderTest.java | 32 --
...BindCaptureVAppTemplateToXmlPayloadTest.java | 42 ---
.../binders/BindCloneVAppToXmlPayloadTest.java | 42 ---
.../BindFirewallRuleToXmlPayloadTest.java | 41 ---
.../binders/BindVMSpecsToXmlPayloadTest.java | 62 ----
.../VPDCComputeServiceLiveTestDisabled.java | 71 ----
.../compute/VPDCTemplateBuilderLiveTest.java | 87 -----
.../vpdc/features/BaseVPDCApiLiveTest.java | 69 ----
.../vpdc/features/BaseVPDCAsyncApiTest.java | 97 -----
.../vpdc/features/BrowsingApiLiveTest.java | 191 ----------
.../vpdc/features/BrowsingAsyncApiTest.java | 236 ------------
.../vpdc/features/FirewallApiLiveTest.java | 110 ------
.../vpdc/features/FirewallAsyncApiTest.java | 77 ----
.../features/ServiceManagementApiLiveTest.java | 85 -----
.../features/ServiceManagementAsyncApiTest.java | 106 ------
.../savvis/vpdc/features/VMApiLiveTest.java | 301 ---------------
.../savvis/vpdc/features/VMAsyncApiTest.java | 264 -------------
.../vpdc/filters/SetVCloudTokenCookieTest.java | 51 ---
.../vpdc/handlers/VPDCErrorHandlerTest.java | 124 -------
.../vpdc/xml/FirewallServiceHandlerTest.java | 60 ---
.../xml/NetworkConfigSectionHandlerTest.java | 47 ---
.../NetworkConnectionSectionHandlerTest.java | 48 ---
.../savvis/vpdc/xml/NetworkHandlerTest.java | 70 ----
.../jclouds/savvis/vpdc/xml/OrgHandlerTest.java | 68 ----
.../savvis/vpdc/xml/OrgListHandlerTest.java | 52 ---
.../savvis/vpdc/xml/TaskHandlerTest.java | 262 -------------
.../jclouds/savvis/vpdc/xml/VDCHandlerTest.java | 189 ----------
.../jclouds/savvis/vpdc/xml/VMHandlerTest.java | 146 --------
.../resources/capture-vapp-template-default.xml | 1 -
.../src/test/resources/cloneVApp-default.xml | 1 -
.../test/resources/firewallService-default.xml | 1 -
.../src/test/resources/firewallService.xml | 35 --
.../src/test/resources/log4j.xml | 151 --------
.../src/test/resources/network-nat.xml | 18 -
.../src/test/resources/network-unused.xml | 14 -
.../src/test/resources/network.xml | 10 -
.../src/test/resources/networkconfigsection.xml | 13 -
.../test/resources/networkconnectionsection.xml | 5 -
savvis-symphonyvpdc/src/test/resources/org.xml | 5 -
.../src/test/resources/org_no_vdc.xml | 4 -
.../src/test/resources/orglist.xml | 4 -
.../src/test/resources/task-error.xml | 11 -
.../src/test/resources/task-failed.xml | 14 -
.../src/test/resources/task-invalidsize.xml | 1 -
.../src/test/resources/task-queued.xml | 7 -
.../src/test/resources/task-running.xml | 15 -
.../src/test/resources/task-undeployedvdc.xml | 1 -
.../src/test/resources/task-unsupported.xml | 12 -
.../src/test/resources/task-vapp.xml | 14 -
.../src/test/resources/task-vmdk.xml | 14 -
.../src/test/resources/vdc-1net.xml | 14 -
.../src/test/resources/vdc-failed.xml | 11 -
.../src/test/resources/vdc-saved.xml | 14 -
savvis-symphonyvpdc/src/test/resources/vdc.xml | 13 -
.../src/test/resources/vm-default.xml | 1 -
.../src/test/resources/vm-multiple-default.xml | 1 -
.../src/test/resources/vm-withdisks.xml | 18 -
savvis-symphonyvpdc/src/test/resources/vm.xml | 235 ------------
132 files changed, 10885 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/pom.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/pom.xml b/savvis-symphonyvpdc/pom.xml
deleted file mode 100644
index 5dcf1e0..0000000
--- a/savvis-symphonyvpdc/pom.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jclouds.labs</groupId>
- <artifactId>jclouds-labs</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- </parent>
-
- <!-- TODO: when out of labs, switch to org.jclouds.provider -->
- <groupId>org.apache.jclouds.labs</groupId>
- <artifactId>savvis-symphonyvpdc</artifactId>
- <name>jclouds savvis-vpdc vpdc</name>
- <description>jclouds components to access Savvis Symphony VPDC</description>
- <packaging>bundle</packaging>
-
- <properties>
- <test.savvis-symphonyvpdc.endpoint>https://api.savvis.net/vpdc</test.savvis-symphonyvpdc.endpoint>
- <test.savvis-symphonyvpdc.api-version>1.0</test.savvis-symphonyvpdc.api-version>
- <test.savvis-symphonyvpdc.build-version>2.3</test.savvis-symphonyvpdc.build-version>
- <test.savvis-symphonyvpdc.identity>FIXME</test.savvis-symphonyvpdc.identity>
- <test.savvis-symphonyvpdc.credential>FIXME</test.savvis-symphonyvpdc.credential>
- <test.savvis-symphonyvpdc.template />
- <test.savvis-symphonyvpdc.vdc-email>FIXME</test.savvis-symphonyvpdc.vdc-email>
- <test.savvis-symphonyvpdc.loginUser>FIXME</test.savvis-symphonyvpdc.loginUser>
- <test.savvis-symphonyvpdc.loginPassword>FIXME</test.savvis-symphonyvpdc.loginPassword>
- <jclouds.osgi.export>org.jclouds.savvis.vpdc*;version="${project.version}"</jclouds.osgi.export>
- <jclouds.osgi.import>
- org.jclouds.compute.internal;version="${project.version}",
- org.jclouds.rest.internal;version="${project.version}",
- org.jclouds*;version="${project.version}",
- *
- </jclouds.osgi.import>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-compute</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-compute</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds</groupId>
- <artifactId>jclouds-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds.driver</groupId>
- <artifactId>jclouds-sshj</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jclouds.driver</groupId>
- <artifactId>jclouds-log4j</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.jamesmurty.utils</groupId>
- <artifactId>java-xmlbuilder</artifactId>
- <version>0.4</version>
- </dependency>
- </dependencies>
- <profiles>
- <profile>
- <id>live</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <executions>
- <execution>
- <id>integration</id>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <threadCount>1</threadCount>
- <systemPropertyVariables>
- <test.savvis-symphonyvpdc.endpoint>${test.savvis-symphonyvpdc.endpoint}</test.savvis-symphonyvpdc.endpoint>
- <test.savvis-symphonyvpdc.api-version>${test.savvis-symphonyvpdc.api-version}</test.savvis-symphonyvpdc.api-version>
- <test.savvis-symphonyvpdc.build-version>${test.savvis-symphonyvpdc.build-version}</test.savvis-symphonyvpdc.build-version>
- <test.savvis-symphonyvpdc.identity>${test.savvis-symphonyvpdc.identity}</test.savvis-symphonyvpdc.identity>
- <test.savvis-symphonyvpdc.credential>${test.savvis-symphonyvpdc.credential}</test.savvis-symphonyvpdc.credential>
- <test.savvis-symphonyvpdc.template>${test.savvis-symphonyvpdc.template}</test.savvis-symphonyvpdc.template>
- <test.savvis-symphonyvpdc.vdc-email>${test.savvis-symphonyvpdc.vdc-email}</test.savvis-symphonyvpdc.vdc-email>
- <test.savvis-symphonyvpdc.loginUser>${test.savvis-symphonyvpdc.loginUser}</test.savvis-symphonyvpdc.loginUser>
- <test.savvis-symphonyvpdc.loginPassword>${test.savvis-symphonyvpdc.loginPassword}</test.savvis-symphonyvpdc.loginPassword>
- </systemPropertyVariables>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCApi.java
deleted file mode 100644
index b01ff38..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCApi.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc;
-
-import java.util.Set;
-
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.rest.annotations.Delegate;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.features.BrowsingApi;
-import org.jclouds.savvis.vpdc.features.FirewallApi;
-import org.jclouds.savvis.vpdc.features.ServiceManagementApi;
-import org.jclouds.savvis.vpdc.features.VMApi;
-import org.jclouds.savvis.vpdc.internal.Org;
-
-import com.google.inject.Provides;
-
-/**
- * Provides synchronous access to VPDC.
- * <p/>
- *
- * @see VPDCAsyncApi
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-public interface VPDCApi {
-
- /**
- * Provides synchronous access to Browsing features.
- */
- @Delegate
- BrowsingApi getBrowsingApi();
-
- /**
- * Provides synchronous access to VM Operation features.
- */
- @Delegate
- VMApi getVMApi();
-
- /**
- * Provides synchronous access to Firewall Operation features.
- */
- @Delegate
- FirewallApi getFirewallApi();
-
- /**
- * Provides synchronous access to ServiceManagement Operation features.
- */
- @Delegate
- ServiceManagementApi getServiceManagementApi();
-
- /**
- *
- * @return a listing of all orgs that the current user has access to.
- */
- @Provides
- @Org
- Set<Resource> listOrgs();
-
- /**
- * predefined by default in the classpath resource {@code
- * /savvis-symphonyvpdc/predefined_operatingsystems.json}
- *
- * @return the operating systems that are predefined in the provider
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/addSingleVM.html" />
- */
- @Provides
- Set<CIMOperatingSystem> listPredefinedOperatingSystems();
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCApiMetadata.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCApiMetadata.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCApiMetadata.java
deleted file mode 100644
index 618372b..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCApiMetadata.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc;
-
-import static org.jclouds.reflect.Reflection2.typeToken;
-import static org.jclouds.savvis.vpdc.reference.VPDCConstants.PROPERTY_VPDC_TIMEOUT_TASK_COMPLETED;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.internal.BaseRestApiMetadata;
-import org.jclouds.savvis.vpdc.compute.config.VPDCComputeServiceContextModule;
-import org.jclouds.savvis.vpdc.config.VPDCRestClientModule;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.reflect.TypeToken;
-import com.google.inject.Module;
-
-/**
- * Implementation of {@link org.jclouds.types.ApiMetadata} for Savvis Symphony VPDC services.
- */
-public class VPDCApiMetadata extends BaseRestApiMetadata {
-
- public static final TypeToken<RestContext<VPDCApi, VPDCAsyncApi>> CONTEXT_TOKEN = new TypeToken<RestContext<VPDCApi, VPDCAsyncApi>>() {
- private static final long serialVersionUID = 1L;
- };
-
- @Override
- public Builder toBuilder() {
- return new Builder().fromApiMetadata(this);
- }
-
- public VPDCApiMetadata() {
- this(new Builder());
- }
-
- protected VPDCApiMetadata(Builder builder) {
- super(builder);
- }
-
- public static Properties defaultProperties() {
- Properties properties = BaseRestApiMetadata.defaultProperties();
- properties.setProperty(PROPERTY_VPDC_TIMEOUT_TASK_COMPLETED, 600l * 1000l + "");
- return properties;
- }
-
- public static class Builder extends BaseRestApiMetadata.Builder<Builder> {
-
- protected Builder() {
- super(VPDCApi.class, VPDCAsyncApi.class);
- id("savvis-symphonyvpdc")
- .name("Savvis Symphony VPDC API")
- .identityName("Username")
- .credentialName("Password")
- .documentation(URI.create("https://api.savvis.net/doc/spec/api/index.html"))
- .version("1.0")
- .buildVersion("2.3")
- .defaultEndpoint("https://api.savvis.net/vpdc")
- .defaultProperties(VPDCApiMetadata.defaultProperties())
- .view(typeToken(ComputeServiceContext.class))
- .defaultModules(ImmutableSet.<Class<? extends Module>>of(VPDCRestClientModule.class, VPDCComputeServiceContextModule.class));
-
- }
-
- @Override
- public VPDCApiMetadata build() {
- return new VPDCApiMetadata(this);
- }
-
- @Override
- protected Builder self() {
- return this;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCAsyncApi.java
deleted file mode 100644
index 81af371..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCAsyncApi.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc;
-
-import java.util.Set;
-
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.rest.annotations.Delegate;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.features.BrowsingAsyncApi;
-import org.jclouds.savvis.vpdc.features.FirewallAsyncApi;
-import org.jclouds.savvis.vpdc.features.ServiceManagementAsyncApi;
-import org.jclouds.savvis.vpdc.features.VMAsyncApi;
-import org.jclouds.savvis.vpdc.internal.Org;
-
-import com.google.inject.Provides;
-
-/**
- * Provides asynchronous access to VPDC via their REST API.
- * <p/>
- *
- * @see VPDCApi
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-public interface VPDCAsyncApi {
-
- /**
- * Provides asynchronous access to Browsing features.
- */
- @Delegate
- BrowsingAsyncApi getBrowsingApi();
-
- /**
- * Provides asynchronous access to VM Operation features.
- */
- @Delegate
- VMAsyncApi getVMApi();
-
- /**
- * Provides asynchronous access to Firewall Operation features.
- */
- @Delegate
- FirewallAsyncApi getFirewallApi();
-
- /**
- * Provides asynchronous access to ServiceManagement Operation features.
- */
- @Delegate
- ServiceManagementAsyncApi getServiceManagementApi();
-
- /**
- *
- * @return a listing of all orgs that the current user has access to.
- */
- @Provides
- @Org
- Set<Resource> listOrgs();
-
- /**
- * predefined by default in the classpath resource {@code
- * /savvis-symphonyvpdc/predefined_operatingsystems.json}
- *
- * @return the operating systems that are predefined in the provider
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/addSingleVM.html" />
- */
- @Provides
- Set<CIMOperatingSystem> listPredefinedOperatingSystems();
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCProviderMetadata.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCProviderMetadata.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCProviderMetadata.java
deleted file mode 100644
index 2f5a082..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/VPDCProviderMetadata.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc;
-
-import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadata;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Savvis Symphony VPDC services.
- */
-public class VPDCProviderMetadata extends BaseProviderMetadata {
-
- public static Builder builder() {
- return new Builder();
- }
-
- @Override
- public Builder toBuilder() {
- return builder().fromProviderMetadata(this);
- }
-
- public VPDCProviderMetadata() {
- super(builder());
- }
-
- public VPDCProviderMetadata(Builder builder) {
- super(builder);
- }
-
- public static Properties defaultProperties() {
- Properties properties = new Properties();
- properties.setProperty(TEMPLATE, "osFamily=RHEL,os64Bit=true");
- return properties;
- }
-
- public static class Builder extends BaseProviderMetadata.Builder {
-
- protected Builder() {
- id("savvis-symphonyvpdc")
- .name("Savvis Symphony VPDC")
- .apiMetadata(new VPDCApiMetadata())
- .homepage(URI.create("https://api.savvis.net/doc/spec/api/index.html"))
- .console(URI.create("https://www.savvisstation.com"))
- /**
- * {@inheritDoc}
- * list of data centers from savvisstation colocation guide
- * https://www.savvisstation.com/DocumentViewer?GUID=a95f0387-cbfe-43eb-b25b-4f2b0f68498f&sessionid=SavvisCCC%3ac9a8984b9655b01916be587e5204b2cf
- * Once we have confirmation from Savvis as to what data centers are used for vpdc deployments,
- * iso codes for those will be entered here
- *
- * City Code
- * Lithia Springs, GA AT1
-* Waltham, MA BO1
-* Waltham, MA BO2
-* Waltham, MA B03
-* Elk Grove Village, IL CH3
-* Chicago, IL CH4
-* Sterling, VA DC2
-* Sterling, VA DC3
-* Sterling, VA DC4 Phase I
-* Sterling, VA DC4 Phase II
-* Fort Worth, TX DL1
-* Fort Worth, TX DL2
-* El Segundo, CA LA1
-* Jersey City, NJ NJ1
-* Weehawken, NJ NJ2
-* Piscataway, NJ NJ3
-* Piscataway, NJ 2nd floor NJ3
-* Weehawken, NJ NJ2X
-* Irvine, CA OC2
-* Santa Clara, CA SC4
-* Santa Clara, CA SC5
-* Santa Clara, CA SC8
-* Santa Clara, CA SC9
-* Tukwila, WA 1st floor SE2
-* Montreal, Canada MR1
-* Toronto, Canada TR1
-* Vancouver, Canada VC1
- */
- .iso3166Codes("US", "CA")
- .endpoint("https://api.savvis.net/vpdc")
- .defaultProperties(VPDCProviderMetadata.defaultProperties());
- }
-
- @Override
- public VPDCProviderMetadata build() {
- return new VPDCProviderMetadata(this);
- }
-
- @Override
- public Builder fromProviderMetadata(ProviderMetadata in) {
- super.fromProviderMetadata(in);
- return this;
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BaseBindVMSpecToXmlPayload.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BaseBindVMSpecToXmlPayload.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BaseBindVMSpecToXmlPayload.java
deleted file mode 100644
index 4272352..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BaseBindVMSpecToXmlPayload.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-
-import javax.ws.rs.core.MediaType;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.jclouds.cim.ResourceAllocationSettingData.ResourceType;
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.MapBinder;
-import org.jclouds.rest.binders.BindToStringPayload;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-
-import com.google.common.base.Throwables;
-import com.jamesmurty.utils.XMLBuilder;
-
-public abstract class BaseBindVMSpecToXmlPayload<T> extends BindToStringPayload implements MapBinder {
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object toBind) {
- throw new IllegalStateException("BindVMSpecToXmlPayload needs parameters");
- }
-
- protected abstract T findSpecInArgsOrNull(GeneratedHttpRequest gRequest);
-
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) {
- checkArgument(checkNotNull(request, "request") instanceof GeneratedHttpRequest,
- "this binder is only valid for GeneratedHttpRequests!");
- GeneratedHttpRequest gRequest = (GeneratedHttpRequest) request;
- request = super.bindToRequest(request, generateXml(findSpecInArgsOrNull(gRequest)));
- request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_XML);
- return request;
- }
-
- public String generateXml(T spec) {
- try {
- XMLBuilder rootBuilder = buildRoot();
- bindSpec(spec, rootBuilder);
- Properties outputProperties = new Properties();
- outputProperties.put(javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION, "yes");
- return rootBuilder.asString(outputProperties);
- } catch (Exception e) {
- throw Throwables.propagate(e);
- }
- }
-
- protected abstract void bindSpec(T spec, XMLBuilder rootBuilder) throws ParserConfigurationException,
- FactoryConfigurationError;
-
- protected void checkSpec(VMSpec spec) {
- checkNotNull(spec, "VMSpec");
- checkNotNull(spec.getName(), "name");
- checkNotNull(spec.getNetworkTierName(), "networkTierName");
- }
-
- protected void addOperatingSystemAndVirtualHardware(VMSpec spec, XMLBuilder vAppBuilder) {
- addOperatingSystemSection(vAppBuilder, spec.getOperatingSystem());
- // TODO: Savvis returns network names with a - instead of space on getNetworkInVDC
- // call,
- // fix this once savvis api starts returning correctly
- addVirtualHardwareSection(vAppBuilder, spec.getName(), spec.getNetworkTierName().replace("-", " "), spec);
- }
-
- void addVirtualHardwareSection(XMLBuilder rootBuilder, String name, String networkName, VMSpec spec) {
- XMLBuilder virtualHardwareSectionBuilder = rootBuilder.e("ovf:VirtualHardwareSection");
- virtualHardwareSectionBuilder.e("ovf:Info").t("Virtual Hardware");
- addSystem(virtualHardwareSectionBuilder, name);
- addItems(virtualHardwareSectionBuilder, spec, networkName);
- }
-
- void addItems(XMLBuilder virtualHardwareSectionBuilder, VMSpec spec, String networkName) {
- // todo make this work with fractional, which I think means setting speed to half
- addCPU(virtualHardwareSectionBuilder, (int) spec.getProcessorCount());
- addMemory(virtualHardwareSectionBuilder, spec.getMemoryInGig());
- addNetwork(virtualHardwareSectionBuilder, networkName);
- addDisks(virtualHardwareSectionBuilder, spec);
- }
-
- private void addSystem(XMLBuilder virtualHardwareSectionBuilder, String name) {
- XMLBuilder systemBuilder = virtualHardwareSectionBuilder.e("ovf:System");
- systemBuilder.e("vssd:Description").t("Virtual Hardware Family");
- systemBuilder.e("vssd:ElementName").t(name);
- systemBuilder.e("vssd:InstanceID").t("1");
- systemBuilder.e("vssd:VirtualSystemIdentifier").t(name);
- }
-
- private void addOperatingSystemSection(XMLBuilder rootBuilder, CIMOperatingSystem operatingSystem) {
- XMLBuilder sectionBuilder = rootBuilder.e("ovf:OperatingSystemSection").a("ovf:id",
- operatingSystem.getOsType().getCode() + "");
- sectionBuilder.e("ovf:Info").t("Specifies the operating system installed");
- sectionBuilder.e("ovf:Description").t(operatingSystem.getDescription());
- }
-
- private void addCPU(XMLBuilder sectionBuilder, int processorCount) {
- XMLBuilder cpuBuilder = sectionBuilder.e("ovf:Item");
- cpuBuilder.e("rasd:AllocationUnits").t("3 GHz");
- cpuBuilder.e("rasd:Description").t("Number of Virtual CPUs");
- cpuBuilder.e("rasd:ElementName").t(processorCount + " CPU");
- cpuBuilder.e("rasd:InstanceID").t("1");
- cpuBuilder.e("rasd:ResourceType").t(ResourceType.PROCESSOR.value());
- cpuBuilder.e("rasd:VirtualQuantity").t(processorCount + "");
- }
-
- private void addMemory(XMLBuilder sectionBuilder, int memoryInGig) {
- XMLBuilder memoryBuilder = sectionBuilder.e("ovf:Item");
- memoryBuilder.e("rasd:AllocationUnits").t("Gigabytes");
- memoryBuilder.e("rasd:Description").t("Memory Size");
- memoryBuilder.e("rasd:ElementName").t("Memory");
- memoryBuilder.e("rasd:InstanceID").t("2");
- memoryBuilder.e("rasd:ResourceType").t(ResourceType.MEMORY.value());
- memoryBuilder.e("rasd:VirtualQuantity").t(memoryInGig + "");
- }
-
- private void addNetwork(XMLBuilder sectionBuilder, String networkName) {
- XMLBuilder networkBuilder = sectionBuilder.e("ovf:Item");
- networkBuilder.e("rasd:Caption").t("false");
- networkBuilder.e("rasd:Connection").t(networkName);
- networkBuilder.e("rasd:ElementName").t("Network");
- networkBuilder.e("rasd:InstanceID").t("3");
- networkBuilder.e("rasd:ResourceType").t(ResourceType.ETHERNET_ADAPTER.value());
- networkBuilder.e("rasd:VirtualQuantity").t("1");
- }
-
- private void addDisks(XMLBuilder sectionBuilder, VMSpec spec) {
- XMLBuilder bootDiskBuilder = sectionBuilder.e("ovf:Item");
- bootDiskBuilder.e("rasd:AllocationUnits").t("Gigabytes");
- bootDiskBuilder.e("rasd:Caption").t("");
- bootDiskBuilder.e("rasd:Description").t("Hard Disk");
- bootDiskBuilder.e("rasd:ElementName").t(spec.getBootDeviceName());
- bootDiskBuilder.e("rasd:HostResource").t("boot");
- bootDiskBuilder.e("rasd:InstanceID").t("4");
- bootDiskBuilder.e("rasd:ResourceType").t(ResourceType.BASE_PARTITIONABLE_UNIT.value());
- bootDiskBuilder.e("rasd:VirtualQuantity").t(spec.getBootDiskSize() + "");
-
- int instanceId = 5;
- for (Entry<String, Integer> dataDisk : spec.getDataDiskDeviceNameToSizeInGig().entrySet()) {
- XMLBuilder dataDiskBuilder = sectionBuilder.e("ovf:Item");
- dataDiskBuilder.e("rasd:AllocationUnits").t("Gigabytes");
- dataDiskBuilder.e("rasd:Caption").t("");
- dataDiskBuilder.e("rasd:Description").t("Hard Disk");
- dataDiskBuilder.e("rasd:ElementName").t(dataDisk.getKey());
- dataDiskBuilder.e("rasd:HostResource").t("data");
- dataDiskBuilder.e("rasd:InstanceID").t("" + instanceId++);
- dataDiskBuilder.e("rasd:ResourceType").t(ResourceType.PARTITIONABLE_UNIT.value());
- dataDiskBuilder.e("rasd:VirtualQuantity").t(dataDisk.getValue() + "");
- }
- }
-
- protected XMLBuilder buildRoot() throws ParserConfigurationException, FactoryConfigurationError {
- XMLBuilder rootBuilder = XMLBuilder.create("vApp:VApp").a("xmlns:vApp", "http://www.vmware.com/vcloud/v0.8").a(
- "xmlns:ovf", "http://schemas.dmtf.org/ovf/envelope/1").a("xmlns:vssd",
- "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData").a("xmlns:common",
- "http://schemas.dmtf.org/wbem/wscim/1/common").a("xmlns:rasd",
- "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData");
- return rootBuilder;
- }
-
- protected XMLBuilder buildChildren(XMLBuilder rootBuilder) throws ParserConfigurationException,
- FactoryConfigurationError {
- XMLBuilder vAppChildrenBuilder = rootBuilder.e("vApp:Children");
- return vAppChildrenBuilder;
- }
-
- protected XMLBuilder buildRootForName(XMLBuilder rootBuilder, String name) throws ParserConfigurationException,
- FactoryConfigurationError {
- XMLBuilder vAppBuilder = rootBuilder.e("vApp:VApp").a("name", name).a("type",
- "application/vnd.vmware.vcloud.vApp+xml");
- return vAppBuilder;
- }
-
- protected String ifNullDefaultTo(String value, String defaultValue) {
- return value != null ? value : checkNotNull(defaultValue, "defaultValue");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindCaptureVAppTemplateToXmlPayload.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindCaptureVAppTemplateToXmlPayload.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindCaptureVAppTemplateToXmlPayload.java
deleted file mode 100644
index 22dc216..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindCaptureVAppTemplateToXmlPayload.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.MapBinder;
-import org.jclouds.rest.binders.BindToStringPayload;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-
-import com.jamesmurty.utils.XMLBuilder;
-
-@Singleton
-public class BindCaptureVAppTemplateToXmlPayload extends BindToStringPayload implements MapBinder {
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object toBind) {
- throw new IllegalStateException("BindFirewallRuleToXmlPayload needs parameters");
-
- }
-
- protected URI findVAppURIInArgsOrNull(GeneratedHttpRequest gRequest) {
- for (Object arg : gRequest.getInvocation().getArgs()) {
- if (arg instanceof URI) {
- return (URI) arg;
- } else if (arg instanceof URI[]) {
- URI[] rules = (URI[]) arg;
- return (rules.length > 0) ? rules[0] : null;
- }
- }
- return null;
- }
-
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) {
- checkArgument(checkNotNull(request, "request") instanceof GeneratedHttpRequest,
- "this binder is only valid for GeneratedHttpRequests!");
- GeneratedHttpRequest gRequest = (GeneratedHttpRequest) request;
- request = super.bindToRequest(request,
- generateXml(findVAppURIInArgsOrNull(gRequest)));
- request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_XML);
- return request;
- }
-
- public String generateXml(URI vAppURI) {
- checkNotNull(vAppURI, "vAppURI");
-
- try {
- XMLBuilder rootBuilder = buildRoot();
- addSourceSection(rootBuilder, vAppURI);
- Properties outputProperties = new Properties();
- return rootBuilder.asString(outputProperties);
- } catch (Exception e) {
- return null;
- }
- }
-
- void addSourceSection(XMLBuilder rootBuilder, URI vAppURI) {
- rootBuilder.e("Description").t("Save Template");
- rootBuilder.e("Source").a("href", vAppURI.toString());
- }
-
- protected XMLBuilder buildRoot() throws ParserConfigurationException, FactoryConfigurationError {
- XMLBuilder rootBuilder = XMLBuilder.create("CaptureVAppParams")
- .a("xmlns", "http://schemas.api.sandbox.savvis.net/vpdci")
- .a("name", "CaptureTemplate");
- return rootBuilder;
- }
-
- protected String ifNullDefaultTo(String value, String defaultValue) {
- return value != null ? value : checkNotNull(defaultValue, "defaultValue");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindCloneVMToXmlPayload.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindCloneVMToXmlPayload.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindCloneVMToXmlPayload.java
deleted file mode 100644
index 22f5eee..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindCloneVMToXmlPayload.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.MapBinder;
-import org.jclouds.rest.binders.BindToStringPayload;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-
-import com.jamesmurty.utils.XMLBuilder;
-
-@Singleton
-public class BindCloneVMToXmlPayload extends BindToStringPayload implements MapBinder {
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object toBind) {
- throw new IllegalStateException("BindFirewallRuleToXmlPayload needs parameters");
-
- }
-
- protected URI findVAppURIInArgsOrNull(GeneratedHttpRequest gRequest) {
- for (Object arg : gRequest.getInvocation().getArgs()) {
- if (arg instanceof URI) {
- return (URI) arg;
- } else if (arg instanceof URI[]) {
- URI[] rules = (URI[]) arg;
- return (rules.length > 0) ? rules[0] : null;
- }
- }
- return null;
- }
-
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) {
- checkArgument(checkNotNull(request, "request") instanceof GeneratedHttpRequest,
- "this binder is only valid for GeneratedHttpRequests!");
- GeneratedHttpRequest gRequest = (GeneratedHttpRequest) request;
- request = super.bindToRequest(request,
- generateXml(findVAppURIInArgsOrNull(gRequest), (String) postParams.get("name"), (String) postParams.get("networkTierName")));
- request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_XML);
- return request;
- }
-
- public String generateXml(URI vAppURI, String newVAppName, String networkTierName) {
- checkNotNull(vAppURI, "vAppURI");
-
- try {
- XMLBuilder rootBuilder = buildRoot(newVAppName);
- addVAppSection(rootBuilder, vAppURI, networkTierName);
- Properties outputProperties = new Properties();
- return rootBuilder.asString(outputProperties);
- } catch (Exception e) {
- return null;
- }
- }
-
- void addVAppSection(XMLBuilder rootBuilder, URI vAppURI, String networkTierName) {
- String vAppStr = "vApp/";
- // TODO: Savvis returns network names with a - instead of space on getNetworkInVDC call,
- // fix this once savvis api starts returning correctly
- rootBuilder.e("Description").t(networkTierName.replace("-", " "));
- String genericVAppURI = vAppURI.toString().substring(0, vAppURI.toString().indexOf("vApp") + vAppStr.length());
- rootBuilder.e("VApp").a("href", genericVAppURI).a("type", "application/vnd.vmware.vcloud.vApp+xml");
- }
-
- protected XMLBuilder buildRoot(String newVAppName) throws ParserConfigurationException, FactoryConfigurationError {
- XMLBuilder rootBuilder = XMLBuilder.create("CloneVAppParams")
- .a("xmlns", "http://www.vmware.com/vcloud/v0.8")
- .a("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
- .a("name", newVAppName)
- .a("deploy" , "true")
- .a("powerOn" , "true")
- .a("xsi:schemaLocation", "http://www.vmware.com/vcloud/v0.8 https://api.savvis.net/ns/vcloud.xsd");
- return rootBuilder;
- }
-
- protected String ifNullDefaultTo(String value, String defaultValue) {
- return value != null ? value : checkNotNull(defaultValue, "defaultValue");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindFirewallRuleToXmlPayload.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindFirewallRuleToXmlPayload.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindFirewallRuleToXmlPayload.java
deleted file mode 100644
index 25d7d8c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindFirewallRuleToXmlPayload.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-import java.util.Properties;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.MapBinder;
-import org.jclouds.rest.binders.BindToStringPayload;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-
-import com.jamesmurty.utils.XMLBuilder;
-
-@Singleton
-public class BindFirewallRuleToXmlPayload extends BindToStringPayload implements MapBinder {
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object toBind) {
- throw new IllegalStateException("BindFirewallRuleToXmlPayload needs parameters");
-
- }
-
- protected FirewallRule findRuleInArgsOrNull(GeneratedHttpRequest gRequest) {
- for (Object arg : gRequest.getInvocation().getArgs()) {
- if (arg instanceof FirewallRule) {
- return (FirewallRule) arg;
- } else if (arg instanceof FirewallRule[]) {
- FirewallRule[] rules = (FirewallRule[]) arg;
- return (rules.length > 0) ? rules[0] : null;
- }
- }
- return null;
- }
-
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) {
- checkArgument(checkNotNull(request, "request") instanceof GeneratedHttpRequest,
- "this binder is only valid for GeneratedHttpRequests!");
- GeneratedHttpRequest gRequest = (GeneratedHttpRequest) request;
- request = super.bindToRequest(request,
- generateXml(findRuleInArgsOrNull(gRequest)));
- request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_XML);
- return request;
- }
-
- public String generateXml(FirewallRule firewallRule) {
- checkNotNull(firewallRule, "FirewallRule");
-
- try {
- XMLBuilder rootBuilder = buildRoot();
- addFirewallRuleSection(rootBuilder, firewallRule);
- Properties outputProperties = new Properties();
- outputProperties.put(javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION, "yes");
- return rootBuilder.asString(outputProperties);
- } catch (Exception e) {
- return null;
- }
- }
-
- void addFirewallRuleSection(XMLBuilder rootBuilder, FirewallRule firewallRule) {
- XMLBuilder firewallRuleBuilder = rootBuilder.e("svvs:FirewallRule");
- firewallRuleBuilder.e("svvs:IsEnabled").t(firewallRule.isEnabled() ? "true" : "false");
- firewallRuleBuilder.e("svvs:Description").t("Server Tier Firewall Rule");
- firewallRuleBuilder.e("svvs:Type").t(firewallRule.getFirewallType());
- firewallRuleBuilder.e("svvs:Log").t(firewallRule.isLogged() ? "yes" : "no");
- firewallRuleBuilder.e("svvs:Policy").t(firewallRule.getPolicy());
- firewallRuleBuilder.e("svvs:Protocols").e("svvs:"+firewallRule.getProtocol()).t("true").up().up();
- firewallRuleBuilder.e("svvs:Port").t(firewallRule.getPort());
- firewallRuleBuilder.e("svvs:Destination").t(firewallRule.getDestination());
- firewallRuleBuilder.e("svvs:Source").t(firewallRule.getSource());
- }
-
- protected XMLBuilder buildRoot() throws ParserConfigurationException, FactoryConfigurationError {
- XMLBuilder rootBuilder = XMLBuilder.create("svvs:FirewallService")
- .a("xmlns:common", "http://schemas.dmtf.org/wbem/wscim/1/common")
- .a("xmlns:vApp", "http://www.vmware.com/vcloud/v0.8")
- .a("xmlns:rasd", "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData")
- .a("xmlns:vssd", "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData")
- .a("xmlns:ovf", "http://schemas.dmtf.org/ovf/envelope/1")
- .a("xmlns:svvs", "http://schemas.api.sandbox.savvis.net/vpdci");
- return rootBuilder;
- }
-
- protected String ifNullDefaultTo(String value, String defaultValue) {
- return value != null ? value : checkNotNull(defaultValue, "defaultValue");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindVMSpecToXmlPayload.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindVMSpecToXmlPayload.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindVMSpecToXmlPayload.java
deleted file mode 100644
index b473bdb..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindVMSpecToXmlPayload.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import javax.inject.Singleton;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-
-import com.jamesmurty.utils.XMLBuilder;
-
-@Singleton
-public class BindVMSpecToXmlPayload extends BaseBindVMSpecToXmlPayload<VMSpec> {
-
- protected VMSpec findSpecInArgsOrNull(GeneratedHttpRequest gRequest) {
- for (Object arg : gRequest.getInvocation().getArgs()) {
- if (arg instanceof VMSpec) {
- return VMSpec.class.cast(arg);
- }
- }
- throw new IllegalArgumentException("Iterable<VMSpec> must be included in the argument list");
- }
-
- @Override
- protected void bindSpec(VMSpec spec, XMLBuilder rootBuilder) throws ParserConfigurationException,
- FactoryConfigurationError {
- checkSpec(spec);
- rootBuilder.a("name", spec.getName()).a("type", "application/vnd.vmware.vcloud.vApp+xml").a("href", "");
- addOperatingSystemAndVirtualHardware(spec, rootBuilder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindVMSpecsToXmlPayload.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindVMSpecsToXmlPayload.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindVMSpecsToXmlPayload.java
deleted file mode 100644
index 89a8fe7..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/binders/BindVMSpecsToXmlPayload.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import javax.inject.Singleton;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-
-import com.google.common.collect.Iterables;
-import com.jamesmurty.utils.XMLBuilder;
-
-@Singleton
-public class BindVMSpecsToXmlPayload extends BaseBindVMSpecToXmlPayload<Iterable<VMSpec>> {
-
- @SuppressWarnings("unchecked")
- protected Iterable<VMSpec> findSpecInArgsOrNull(GeneratedHttpRequest gRequest) {
- for (Object arg : gRequest.getInvocation().getArgs()) {
- if (arg instanceof Iterable<?>) {
- Iterable<VMSpec> specs = (Iterable<VMSpec>) arg;
- checkArgument(Iterables.size(specs) > 0,
- "At least one VMSpec must be included in the argument list");
- return specs;
- }
- }
- throw new IllegalArgumentException("Iterable<VMSpec> must be included in the argument list");
- }
-
- @Override
- protected void bindSpec(Iterable<VMSpec> specs, XMLBuilder rootBuilder) throws ParserConfigurationException, FactoryConfigurationError {
- rootBuilder.a("name", "");
- XMLBuilder specBuilder = buildChildren(rootBuilder);
- for (VMSpec spec : specs) {
- checkSpec(spec);
- XMLBuilder vAppBuilder = buildRootForName(specBuilder, spec.getName());
- addOperatingSystemAndVirtualHardware(spec, vAppBuilder);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/config/VPDCComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/config/VPDCComputeServiceContextModule.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/config/VPDCComputeServiceContextModule.java
deleted file mode 100644
index 12562f3..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/config/VPDCComputeServiceContextModule.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.compute.config;
-
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.config.ComputeServiceAdapterContextModule;
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.domain.Location;
-import org.jclouds.savvis.vpdc.compute.functions.CIMOperatingSystemToImage;
-import org.jclouds.savvis.vpdc.compute.functions.NetworkToLocation;
-import org.jclouds.savvis.vpdc.compute.functions.VMSpecToHardware;
-import org.jclouds.savvis.vpdc.compute.functions.VMToNodeMetadata;
-import org.jclouds.savvis.vpdc.compute.strategy.VPDCComputeServiceAdapter;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-
-import com.google.common.base.Function;
-import com.google.inject.TypeLiteral;
-
-public class VPDCComputeServiceContextModule extends
- ComputeServiceAdapterContextModule<VM, VMSpec, CIMOperatingSystem, Network> {
-
- @Override
- protected void configure() {
- super.configure();
- bind(new TypeLiteral<ComputeServiceAdapter<VM, VMSpec, CIMOperatingSystem, Network>>() {
- }).to(VPDCComputeServiceAdapter.class);
- bind(new TypeLiteral<Function<VM, NodeMetadata>>() {
- }).to(VMToNodeMetadata.class);
- bind(new TypeLiteral<Function<CIMOperatingSystem, org.jclouds.compute.domain.Image>>() {
- }).to(CIMOperatingSystemToImage.class);
- bind(new TypeLiteral<Function<VMSpec, org.jclouds.compute.domain.Hardware>>() {
- }).to(VMSpecToHardware.class);
- bind(new TypeLiteral<Function<Network, Location>>() {
- }).to(NetworkToLocation.class);
- // to have the compute service adapter override default locations
- install(new LocationsFromComputeServiceAdapterModule<VM, VMSpec, CIMOperatingSystem, Network>(){});
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/CIMOperatingSystemToImage.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/CIMOperatingSystemToImage.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/CIMOperatingSystemToImage.java
deleted file mode 100644
index 4cf06dc..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/CIMOperatingSystemToImage.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.compute.functions;
-
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.ImageBuilder;
-import org.jclouds.compute.domain.Image.Status;
-
-import com.google.common.base.Function;
-
-@Singleton
-public class CIMOperatingSystemToImage implements Function<CIMOperatingSystem, Image> {
-
- @Override
- public Image apply(CIMOperatingSystem from) {
- ImageBuilder builder = new ImageBuilder();
- builder.ids(from.getOsType().getCode() + "");
- builder.name(from.getName());
- builder.description(from.getDescription());
- builder.operatingSystem(from);
- builder.status(Status.AVAILABLE);
- return builder.build();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/NetworkToLocation.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/NetworkToLocation.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/NetworkToLocation.java
deleted file mode 100644
index 75a8d85..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/NetworkToLocation.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.compute.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LocationBuilder;
-import org.jclouds.domain.LocationScope;
-import org.jclouds.location.Iso3166;
-import org.jclouds.location.Provider;
-import org.jclouds.savvis.vpdc.VPDCApi;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.VDC;
-
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-
-@Singleton
-public class NetworkToLocation implements Function<Network, Location> {
- // rest/api/v0.8/org/1/vdc/22/network/VM-Tier01
- public static final Pattern netPattern = Pattern.compile(".*org/([0-9.]+)/vdc/([0-9.]+)/network/(.*)$");
-
- private final String providerName;
- private final Supplier<URI> endpoint;
- private final Set<String> isoCodes;
- private VPDCApi api;
-
- @Inject
- public NetworkToLocation(@Iso3166 Set<String> isoCodes, @Provider String providerName, @Provider Supplier<URI> endpoint,
- VPDCApi api) {
- this.providerName = checkNotNull(providerName, "providerName");
- this.endpoint = checkNotNull(endpoint, "endpoint");
- this.isoCodes = checkNotNull(isoCodes, "isoCodes");
- this.api = checkNotNull(api, "api");
- }
-
- @Override
- public Location apply(Network from) {
- Matcher matcher = netPattern.matcher(from.getHref().toASCIIString());
- if (matcher.find()) {
- Location provider = new LocationBuilder().scope(LocationScope.PROVIDER).id(providerName).description(
- endpoint.get().toASCIIString()).iso3166Codes(isoCodes).build();
-
- Org org = api.getBrowsingApi().getOrg(matcher.group(1));
-
- Location orgLocation = new LocationBuilder().scope(LocationScope.REGION).id(org.getId()).description(
- org.getDescription()).parent(provider).build();
-
- VDC vdc = api.getBrowsingApi().getVDCInOrg(org.getId(), matcher.group(2));
-
- Location vdcLocation = new LocationBuilder().scope(LocationScope.ZONE).id(vdc.getId()).description(
- vdc.getDescription()).parent(orgLocation).build();
-
- return new LocationBuilder().scope(LocationScope.NETWORK).id(from.getId()).description(from.getName()).parent(
- vdcLocation).build();
- } else {
- throw new IllegalArgumentException("network unparsable: " + from);
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/VMSpecToHardware.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/VMSpecToHardware.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/VMSpecToHardware.java
deleted file mode 100644
index 560f54b..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/VMSpecToHardware.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.compute.functions;
-
-import java.util.Map.Entry;
-
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.domain.VolumeBuilder;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-
-import com.google.common.base.Function;
-
-@Singleton
-public class VMSpecToHardware implements Function<VMSpec, Hardware> {
-
- @Override
- public Hardware apply(VMSpec from) {
- HardwareBuilder builder = new HardwareBuilder();
- builder.ids(from.toString());
- for (int i = 0; i < from.getProcessorCount(); i++)
- builder.processor(new Processor(1, 3.0));
- builder.ram(from.getMemoryInGig() * 1024);
- builder.volume(new VolumeBuilder().type(Volume.Type.LOCAL).device(from.getBootDeviceName()).size(
- new Float(from.getBootDiskSize())).bootDevice(true).durable(true).build());
- for (Entry<String, Integer> disk : from.getDataDiskDeviceNameToSizeInGig().entrySet())
- builder.volume(new VolumeBuilder().type(Volume.Type.LOCAL).device(disk.getKey()).size(
- new Float(disk.getValue())).durable(true).build());
- builder.hypervisor("VMware");
- return builder.build();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/VMToNodeMetadata.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/VMToNodeMetadata.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/VMToNodeMetadata.java
deleted file mode 100644
index e328eba..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/functions/VMToNodeMetadata.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.compute.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Predicates.not;
-import static com.google.common.collect.FluentIterable.from;
-import static com.google.common.collect.Iterables.filter;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.collect.Memoized;
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.NodeMetadata.Status;
-import org.jclouds.compute.domain.NodeMetadataBuilder;
-import org.jclouds.compute.functions.GroupNamingConvention;
-import org.jclouds.domain.Location;
-import org.jclouds.location.predicates.LocationPredicates;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.util.Utils;
-import org.jclouds.util.InetAddresses2.IsPrivateIPAddress;
-
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-
-@Singleton
-public class VMToNodeMetadata implements Function<VM, NodeMetadata> {
-
- public static final Map<VM.Status, Status> VAPPSTATUS_TO_NODESTATE = ImmutableMap
- .<VM.Status, Status> builder().put(VM.Status.OFF, Status.SUSPENDED).put(VM.Status.ON,
- Status.RUNNING).put(VM.Status.RESOLVED, Status.PENDING).put(VM.Status.UNRECOGNIZED,
- Status.UNRECOGNIZED).put(VM.Status.UNKNOWN, Status.UNRECOGNIZED).put(VM.Status.SUSPENDED,
- Status.SUSPENDED).put(VM.Status.UNRESOLVED, Status.PENDING).build();
-
- private final Supplier<Set<? extends Location>> locations;
- private final GroupNamingConvention nodeNamingConvention;
-
- @Inject
- VMToNodeMetadata(@Memoized Supplier<Set<? extends Location>> locations,
- GroupNamingConvention.Factory namingConvention) {
- this.nodeNamingConvention = checkNotNull(namingConvention, "namingConvention").createWithoutPrefix();
- this.locations = checkNotNull(locations, "locations");
- }
-
- @Override
- public NodeMetadata apply(VM from) {
- NodeMetadataBuilder builder = new NodeMetadataBuilder();
- builder.ids(from.getHref().toASCIIString());
- builder.name(from.getName());
- String locationId = Iterables.get(from.getNetworkSection().getNetworks(), 0).getName();
- builder.location(from(locations.get()).firstMatch(LocationPredicates.idEquals(locationId)).orNull());
- builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName()));
- try {
- builder.operatingSystem(CIMOperatingSystem.toComputeOs(from.getOperatingSystemSection()));
- } catch (NullPointerException e) {
- // os section was null
- }
- // TODO build from resource allocation section
- // builder.hardware(findHardwareForVM.apply(from));
- builder.status(VAPPSTATUS_TO_NODESTATE.get(from.getStatus()));
- Set<String> addresses = Utils.getIpsFromVM(from);
- builder.publicAddresses(filter(addresses, not(IsPrivateIPAddress.INSTANCE)));
- builder.privateAddresses(filter(addresses, IsPrivateIPAddress.INSTANCE));
- return builder.build();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/strategy/VPDCComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/strategy/VPDCComputeServiceAdapter.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/strategy/VPDCComputeServiceAdapter.java
deleted file mode 100644
index 27fe4f0..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/compute/strategy/VPDCComputeServiceAdapter.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.compute.strategy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jclouds.util.Predicates2.retry;
-import static org.jclouds.savvis.vpdc.options.GetVMOptions.Builder.withPowerState;
-import static org.jclouds.savvis.vpdc.reference.VPDCConstants.PROPERTY_VPDC_VDC_EMAIL;
-
-import java.net.URI;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.savvis.vpdc.VPDCApi;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-import org.jclouds.savvis.vpdc.predicates.TaskSuccess;
-import org.jclouds.savvis.vpdc.reference.VCloudMediaType;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-import com.google.common.collect.Iterables;
-import com.google.inject.Inject;
-
-;
-
-/**
- * defines the connection between the {@link VPDCApi} implementation and the
- * jclouds {@link ComputeService}
- */
-@Singleton
-public class VPDCComputeServiceAdapter implements ComputeServiceAdapter<VM, VMSpec, CIMOperatingSystem, Network> {
- private final VPDCApi api;
- private final Predicate<String> taskTester;
- @Inject(optional = true)
- @Named(PROPERTY_VPDC_VDC_EMAIL)
- String email;
-
- @Inject
- public VPDCComputeServiceAdapter(VPDCApi api, TaskSuccess taskSuccess) {
- this.api = checkNotNull(api, "api");
- // TODO: parameterize
- this.taskTester = retry(checkNotNull(taskSuccess, "taskSuccess"), 650, 10, SECONDS);
- }
-
- @Override
- public NodeAndInitialCredentials<VM> createNodeWithGroupEncodedIntoName(String tag, String name, Template template) {
- String networkTierName = template.getLocation().getId();
- String vpdcId = template.getLocation().getParent().getId();
- String billingSiteId = template.getLocation().getParent().getParent().getId();
-
- VMSpec.Builder specBuilder = VMSpec.builder();
- specBuilder.name(name);
- specBuilder.networkTierName(networkTierName);
- specBuilder.operatingSystem(CIMOperatingSystem.class.cast(template.getImage().getOperatingSystem()));
- specBuilder.processorCount(template.getHardware().getProcessors().size());
- specBuilder.memoryInGig(template.getHardware().getRam() / 1024);
-
- for (Volume volume : template.getHardware().getVolumes()) {
- if (volume.isBootDevice())
- specBuilder.bootDeviceName(volume.getDevice()).bootDiskSize(volume.getSize().intValue());
- else
- specBuilder.addDataDrive(volume.getDevice(), volume.getSize().intValue());
- }
-
- Task task = api.getVMApi().addVMIntoVDC(billingSiteId, vpdcId, specBuilder.build());
- // make sure there's no error
- if (task.getError() != null)
- throw new RuntimeException("cloud not add vm: " + task.getError().toString());
-
- if (taskTester.apply(task.getId())) {
- try {
- VM returnVal = this.getNode(task.getResult().getHref().toASCIIString());
- return new NodeAndInitialCredentials<VM>(returnVal, returnVal.getId(), null);
- } finally {
- // TODO: get the credentials relevant to the billingSiteId/Org
- // credentialStore.put(id, new Credentials(orgId, orgUser));
- }
- } else {
- throw new RuntimeException("task timed out: " + task);
- }
- }
-
- @Override
- public Iterable<VMSpec> listHardwareProfiles() {
- // TODO don't depend on OS
- return ImmutableSet.of(VMSpec.builder().operatingSystem(Iterables.get(listImages(), 0)).memoryInGig(2)
- .addDataDrive("/data01", 25).build());
- }
-
- @Override
- public Iterable<CIMOperatingSystem> listImages() {
- return api.listPredefinedOperatingSystems();
- }
-
- // cheat until we have a getImage command
- @Override
- public CIMOperatingSystem getImage(final String id) {
- return Iterables.find(listImages(), new Predicate<CIMOperatingSystem>() {
-
- @Override
- public boolean apply(CIMOperatingSystem input) {
- return (input.getOsType().getCode() + "").equals(id);
- }
-
- }, null);
- }
-
- @Override
- public Iterable<VM> listNodes() {
- Builder<VM> builder = ImmutableSet.builder();
- for (Resource org1 : api.listOrgs()) {
- Org org = api.getBrowsingApi().getOrg(org1.getId());
- for (Resource vdc : org.getVDCs()) {
- VDC VDC = api.getBrowsingApi().getVDCInOrg(org.getId(), vdc.getId());
- for (Resource vApp : Iterables.filter(VDC.getResourceEntities(), new Predicate<Resource>() {
-
- @Override
- public boolean apply(Resource arg0) {
- return VCloudMediaType.VAPP_XML.equals(arg0.getType());
- }
-
- })) {
- builder.add(api.getBrowsingApi().getVMInVDC(org.getId(), vdc.getId(), vApp.getId(),
- withPowerState()));
- }
- }
- }
- return builder.build();
- }
-
- @Override
- public Iterable<Network> listLocations() {
- Builder<Network> builder = ImmutableSet.builder();
- for (Resource org1 : api.listOrgs()) {
- Org org = api.getBrowsingApi().getOrg(org1.getId());
- for (Resource vdc : org.getVDCs()) {
- VDC VDC = api.getBrowsingApi().getVDCInOrg(org.getId(), vdc.getId());
- // optionally constrain locations
- if (email != null && VDC.getDescription().indexOf(email) != -1)
- continue;
- for (Resource network : VDC.getAvailableNetworks()) {
- builder.add(api.getBrowsingApi().getNetworkInVDC(org.getId(), vdc.getId(), network.getId()));
- }
- }
- }
- return builder.build();
- }
-
- @Override
- public VM getNode(String id) {
- return api.getBrowsingApi().getVM(URI.create(checkNotNull(id, "id")), withPowerState());
- }
-
- @Override
- public void destroyNode(String id) {
- taskTester.apply(api.getVMApi().removeVM(URI.create(checkNotNull(id, "id"))).getId());
- }
-
- @Override
- public void rebootNode(String id) {
- // there is no support for restart in savvis yet
- suspendNode(id);
- resumeNode(id);
- }
-
- @Override
- public void resumeNode(String id) {
- taskTester.apply(api.getServiceManagementApi().powerOnVM(URI.create(checkNotNull(id, "id"))).getId());
- }
-
- @Override
- public void suspendNode(String id) {
- taskTester.apply(api.getServiceManagementApi().powerOffVM(URI.create(checkNotNull(id, "id"))).getId());
- }
-}
[3/7] Remove savvis-symphonyvpdc,
which hasn't been published in over a year.
Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BrowsingApiLiveTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BrowsingApiLiveTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BrowsingApiLiveTest.java
deleted file mode 100644
index 5456069..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BrowsingApiLiveTest.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import static org.jclouds.savvis.vpdc.options.GetVMOptions.Builder.withPowerState;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.savvis.vpdc.domain.FirewallService;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.NetworkConnectionSection;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.reference.VCloudMediaType;
-import org.jclouds.util.InetAddresses2;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.common.net.HostSpecifier;
-
-@Test(groups = "live")
-public class BrowsingApiLiveTest extends BaseVPDCApiLiveTest {
-
- private BrowsingApi api;
-
- @Override
- @BeforeGroups(groups = { "live" })
- public void setupContext() {
- super.setupContext();
- api = restContext.getApi().getBrowsingApi();
- }
-
- @Test
- public void testOrg() throws Exception {
- for (Resource org : restContext.getApi().listOrgs()) {
- Org response = api.getOrg(org.getId());
-
- assertNotNull(response);
- assertNotNull(response.getId());
- assertNotNull(response.getHref());
- assertNotNull(response.getName());
- // savvis leaves this null for some reason
- assertEquals(response.getType(), null);
- assert response.getImages().size() >= 0;
- assert response.getDescription() != null;
- assert response.getVDCs().size() >= 0;
- assertEquals(api.getOrg(response.getId()).toString(), response.toString());
- }
- }
-
- @Test
- public void testVDC() throws Exception {
- for (Resource org1 : restContext.getApi().listOrgs()) {
- Org org = api.getOrg(org1.getId());
- for (Resource vdc : org.getVDCs()) {
- VDC response = api.getVDCInOrg(org.getId(), vdc.getId());
- assertNotNull(response);
- assertNotNull(response.getId());
- assertNotNull(response.getHref());
- assertNotNull(response.getName());
- assertNotNull(response.getStatus());
- assertEquals(response.getType(), "application/vnd.vmware.vcloud.vdc+xml");
- assertNotNull(response.getDescription());
- assertNotNull(response.getResourceEntities());
- assertNotNull(response.getAvailableNetworks());
- assertEquals(api.getVDCInOrg(org.getId(), response.getId()).toString(), response.toString());
- }
- }
- }
-
- @Test
- public void testNetwork() throws Exception {
- for (Resource org1 : restContext.getApi().listOrgs()) {
- Org org = api.getOrg(org1.getId());
- for (Resource vdc : org.getVDCs()) {
- VDC VDC = api.getVDCInOrg(org.getId(), vdc.getId());
- for (Resource vApp : VDC.getAvailableNetworks()) {
- Network response = api.getNetworkInVDC(org.getId(), vdc.getId(), vApp.getId());
- assertNotNull(response);
- assertNotNull(response.getId());
- assertNotNull(response.getHref());
- assertNotNull(response.getName());
- assertEquals(response.getType(), VCloudMediaType.NETWORK_XML);
- assertNotNull(response.getNetmask());
- assertNotNull(response.getGateway());
- assertNotNull(response.getInternalToExternalNATRules());
- assertEquals(api.getNetworkInVDC(org.getId(), vdc.getId(), response.getId()).toString(), response
- .toString());
- }
- }
- }
- }
-
- // test for a single vm, as savvis response times are very slow. So if there are multiple vpdc's with numerous vm's,
- // test execution will invariably take a long time
- @Test
- public void testVM() throws Exception {
- for (Resource org1 : restContext.getApi().listOrgs()) {
- Org org = api.getOrg(org1.getId());
- VDC_LOOP : for (Resource vdc : org.getVDCs()) {
- VDC VDC = api.getVDCInOrg(org.getId(), vdc.getId());
- for (Resource vApp : Iterables.filter(VDC.getResourceEntities(), new Predicate<Resource>() {
-
- @Override
- public boolean apply(Resource arg0) {
- return VCloudMediaType.VAPP_XML.equals(arg0.getType());
- }
-
- })) {
- VM response = api.getVMInVDC(org.getId(), vdc.getId(), vApp.getId());
- assertNotNull(response);
- assertNotNull(response.getId());
- assertNotNull(response.getHref());
- assertNotNull(response.getName());
- assertEquals(response.getType(), "application/vnd.vmware.vcloud.vApp+xml");
- assert (response.getNetworkConnectionSections().size() > 0) : response;
- for (NetworkConnectionSection networkConnection : response.getNetworkConnectionSections())
- assertNotNull(networkConnection.getIpAddress());
- assertNotNull(response.getStatus());
- assertNotNull(response.getOperatingSystemSection().getDescription());
- assertNotNull(response.getOperatingSystemSection().getId());
- assertNotNull(response.getNetworkSection());
- assertNotNull(response.getVirtualHardwareSections());
- // power state is the only thing that should change
- assertEquals(api.getVMInVDC(org.getId(), vdc.getId(), response.getId(), withPowerState()).toString()
- .replaceFirst("status=[A-Z]+", ""), response.toString().replaceFirst("status=[A-Z]+", ""));
-
- // check one ip is valid
- String ip = Iterables.get(response.getNetworkConnectionSections(), 0).getIpAddress();
- assert HostSpecifier.isValid(ip) : response;
- if (InetAddresses2.isPrivateIPAddress(ip)) {
- // get public ip
- ip = Iterables.get(response.getNetworkConfigSections(), 0).getInternalToExternalNATRules().get(ip);
- // could be null
- if (ip != null){
- assert HostSpecifier.isValid(ip) : response;
- }
- }
- break VDC_LOOP;
- }
- }
- }
- }
-
- @Test
- public void testGetFirewallRules() throws Exception {
- for (Resource org1 : restContext.getApi().listOrgs()) {
- Org org = api.getOrg(org1.getId());
- for (Resource vdc : org.getVDCs()) {
- FirewallService response = api.listFirewallRules(org.getId(), vdc.getId());
- Set<FirewallRule> firewallRules = response.getFirewallRules();
- if (firewallRules != null) {
- Iterator<FirewallRule> iter = firewallRules.iterator();
- while (iter.hasNext()) {
- FirewallRule firewallRule = iter.next();
- assertNotNull(firewallRule);
- // these are null for firewall rules
- assertEquals(response.getHref(), null);
- assertEquals(response.getType(), null);
- assertNotNull(firewallRule.getFirewallType());
- assertNotNull(firewallRule.getProtocol());
- assertNotNull(firewallRule.getSource());
- assertNotNull(firewallRule.getDestination());
- }
- }
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApiTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApiTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApiTest.java
deleted file mode 100644
index b38e667..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApiTest.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.savvis.vpdc.options.GetVMOptions;
-import org.jclouds.savvis.vpdc.xml.FirewallServiceHandler;
-import org.jclouds.savvis.vpdc.xml.NetworkHandler;
-import org.jclouds.savvis.vpdc.xml.OrgHandler;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-import org.jclouds.savvis.vpdc.xml.VDCHandler;
-import org.jclouds.savvis.vpdc.xml.VMHandler;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.common.reflect.Invokable;
-
-/**
- * Tests annotation parsing of {@code BrowsingAsyncApi}
- */
-@Test(groups = "unit", testName = "BrowsingAsyncApiTest")
-public class BrowsingAsyncApiTest extends BaseVPDCAsyncApiTest<BrowsingAsyncApi> {
-
- public void testOrg() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getOrg", String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11"));
-
- assertRequestLineEquals(request, "GET https://api.savvis.net/vpdc/v1.0/org/11 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, OrgHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testOrgNull() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getOrg", String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList((String) null));
-
- assertRequestLineEquals(request, "GET https://api.savvis.net/vpdc/v1.0/org/1 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, OrgHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testVDC() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getVDCInOrg", String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22"));
-
- assertRequestLineEquals(request, "GET https://api.savvis.net/vpdc/v1.0/org/11/vdc/22 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, VDCHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testVDCWhenOrgNull() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getVDCInOrg", String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList((String) null, "22"));
-
- assertRequestLineEquals(request, "GET https://api.savvis.net/vpdc/v1.0/org/1/vdc/22 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, VDCHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testNetwork() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getNetworkInVDC", String.class, String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", "VM-Tier01"));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/network/VM-Tier01 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, NetworkHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testNetworkWhenOrgNull() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getNetworkInVDC", String.class, String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList((String) null, "22", "VM-Tier01"));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/vpdc/v1.0/org/1/vdc/22/network/VM-Tier01 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, NetworkHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testVMVDC() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getVMInVDC", String.class, String.class, String.class,
- GetVMOptions[].class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", "33"));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, VMHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testVM() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getVM", URI.class, GetVMOptions[].class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI
- .create("https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33")));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, VMHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testVMWithPowerState() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getVMInVDC", String.class, String.class, String.class,
- GetVMOptions[].class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", "VM-Tier01", GetVMOptions.Builder
- .withPowerState()));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/VM-Tier01/withpowerstate HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, VMHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testVMWhenOrgNull() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getVMInVDC", String.class, String.class, String.class,
- GetVMOptions[].class);
- GeneratedHttpRequest request = processor.createRequest(method, Lists.<Object> newArrayList((String) null, "22", "VM-Tier01"));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/vpdc/v1.0/org/1/vdc/22/vApp/VM-Tier01 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, VMHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testGetTask() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "getTask", String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("1"));
-
- assertRequestLineEquals(request, "GET https://api.savvis.net/vpdc/v1.0/task/1 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testListFirewallRules() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(BrowsingAsyncApi.class, "listFirewallRules", String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22"));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/FirewallService HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, FirewallServiceHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/FirewallApiLiveTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/FirewallApiLiveTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/FirewallApiLiveTest.java
deleted file mode 100644
index 6c829ca..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/FirewallApiLiveTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-
-public class FirewallApiLiveTest extends BaseVPDCApiLiveTest {
-
- private FirewallApi api;
- private String billingSiteId;
- private String vpdcId;
-
- @Override
- @BeforeGroups(groups = { "live" })
- public void setupContext() {
- super.setupContext();
- api = restContext.getApi().getFirewallApi();
- }
-
- @Test(groups = "live")
- public void testAddFirewallRule() throws Exception {
- billingSiteId = restContext.getApi().getBrowsingApi().getOrg(null).getId();// default
- vpdcId = Iterables.find(restContext.getApi().getBrowsingApi().getOrg(billingSiteId).getVDCs(),
- new Predicate<Resource>() {
-
- // try to find the first VDC owned by the current user
- // check here for what the email property might be, or in
- // the jclouds-wire.log
- @Override
- public boolean apply(Resource arg0) {
- String description = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId,
- arg0.getId()).getDescription();
- return description.indexOf(email) != -1;
- }
-
- }).getId();
-
- String networkTierName = Iterables.get(
- restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId, vpdcId).getAvailableNetworks(), 0)
- .getName();
-
- FirewallRule firewallRule = FirewallRule.builder().firewallType("SERVER_TIER_FIREWALL").isEnabled(true).source("internet")
- .destination(networkTierName).port("10000").protocol("Tcp").policy("allow").description("Server Tier Firewall Rule").isLogged(false).build();
-
- System.out.printf("adding firewall rule:%s in vpdc %s %n", firewallRule.toString(), vpdcId);
-
- Task task = api.addFirewallRule(billingSiteId, vpdcId, firewallRule);
-
- // make sure there's no error
- assert task.getId() != null && task.getError() == null : task;
-
- assert this.taskTester.apply(task.getId());
- }
-
- @Test(groups = "live", dependsOnMethods = {"testAddFirewallRule"})
- public void testDeleteFirewallRule() throws Exception {
- billingSiteId = restContext.getApi().getBrowsingApi().getOrg(null).getId();// default
- vpdcId = Iterables.find(restContext.getApi().getBrowsingApi().getOrg(billingSiteId).getVDCs(),
- new Predicate<Resource>() {
-
- // try to find the first VDC owned by the current user
- // check here for what the email property might be, or in
- // the jclouds-wire.log
- @Override
- public boolean apply(Resource arg0) {
- String description = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId,
- arg0.getId()).getDescription();
- return description.indexOf(email) != -1;
- }
-
- }).getId();
-
- String networkTierName = Iterables.get(
- restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId, vpdcId).getAvailableNetworks(), 0)
- .getName();
-
- FirewallRule firewallRule = FirewallRule.builder().firewallType("SERVER_TIER_FIREWALL").isEnabled(true).source("internet")
- .destination(networkTierName).port("10000").protocol("Tcp").policy("allow").description("Server Tier Firewall Rule").isLogged(false).build();
-
- System.out.printf("deleting firewall rule:%s in vpdc %s %n", firewallRule.toString(), vpdcId);
-
- Task task = api.deleteFirewallRule(billingSiteId, vpdcId, firewallRule);
-
- // make sure there's no error
- assert task.getId() != null && task.getError() == null : task;
-
- assert this.taskTester.apply(task.getId());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApiTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApiTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApiTest.java
deleted file mode 100644
index 0fe40e7..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApiTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.reflect.Invokable;
-/**
- * Tests annotation parsing of {@code FirewallAsyncApi}
- */
-@Test(groups = "unit")
-public class FirewallAsyncApiTest extends BaseVPDCAsyncApiTest<FirewallAsyncApi> {
-
- public void testAddFirewallRule() throws NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(FirewallAsyncApi.class, "addFirewallRule", String.class, String.class,
- FirewallRule.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", FirewallRule.builder().firewallType(
- "SERVER_TIER_FIREWALL").isEnabled(true).source("internet").destination("VM Tier01").port("22").protocol(
- "Tcp").policy("allow").description("Server Tier Firewall Rule").isLogged(false).build()));
-
- assertRequestLineEquals(request,
- "PUT https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/FirewallService HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, Strings2.toStringAndClose(getClass().getResourceAsStream(
- "/firewallService-default.xml")), "application/xml", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
-
- checkFilters(request);
- }
-
- public void testDeleteFirewallRule() throws NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(FirewallAsyncApi.class, "deleteFirewallRule", String.class, String.class,
- FirewallRule.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", FirewallRule.builder().firewallType(
- "SERVER_TIER_FIREWALL").isEnabled(true).source("internet").destination("VM Tier01").port("22").protocol(
- "Tcp").policy("allow").description("Server Tier Firewall Rule").isLogged(false).build()));
-
- assertRequestLineEquals(request,
- "DELETE https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/FirewallService HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, Strings2.toStringAndClose(getClass().getResourceAsStream(
- "/firewallService-default.xml")), "application/xml", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/ServiceManagementApiLiveTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/ServiceManagementApiLiveTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/ServiceManagementApiLiveTest.java
deleted file mode 100644
index e902673..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/ServiceManagementApiLiveTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import static org.jclouds.savvis.vpdc.options.GetVMOptions.Builder.withPowerState;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeoutException;
-
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.reference.VCloudMediaType;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-
-@Test(groups = "live")
-public class ServiceManagementApiLiveTest extends BaseVPDCApiLiveTest {
-
- private ServiceManagementApi api;
-
- @Override
- @BeforeGroups(groups = { "live" })
- public void setupContext() {
- super.setupContext();
- api = restContext.getApi().getServiceManagementApi();
- }
-
- // test for a single vm, as savvis response times are very slow. So if there are multiple vpdc's with numerous vm's,
- // test execution will invariably take a long time
- public void testLifeCycle() throws InterruptedException, ExecutionException, TimeoutException, IOException {
- for (Resource org1 : restContext.getApi().listOrgs()) {
- Org org = restContext.getApi().getBrowsingApi().getOrg(org1.getId());
- VDC_LOOP : for (Resource vdc : org.getVDCs()) {
- VDC VDC = restContext.getApi().getBrowsingApi().getVDCInOrg(org.getId(), vdc.getId());
- for (Resource vmHandle : Iterables.filter(VDC.getResourceEntities(), new Predicate<Resource>() {
-
- @Override
- public boolean apply(Resource arg0) {
- return VCloudMediaType.VAPP_XML.equals(arg0.getType());
- }
-
- })) {
-
- Task powerOffTask = api.powerOffVM(vmHandle.getHref());
- assert taskTester.apply(powerOffTask.getId());
-
- VM vm = restContext.getApi().getBrowsingApi().getVM(vmHandle.getHref(), withPowerState());
- assertEquals(vm.getStatus(), VM.Status.OFF);
-
- Task powerOnTask = api.powerOnVM(vmHandle.getHref());
- assert taskTester.apply(powerOnTask.getId());
-
- vm = restContext.getApi().getBrowsingApi().getVM(vmHandle.getHref(), withPowerState());
-
- assertEquals(vm.getStatus(), VM.Status.ON);
-
- break VDC_LOOP;
- }
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApiTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApiTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApiTest.java
deleted file mode 100644
index fb0faf2..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApiTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.reflect.Invokable;
-/**
- * Tests annotation parsing of {@code ServiceManagementAsyncApi}
- */
-@Test(groups = "unit")
-public class ServiceManagementAsyncApiTest extends BaseVPDCAsyncApiTest<ServiceManagementAsyncApi> {
-
- public void testPowerOnVMVDC() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ServiceManagementAsyncApi.class, "powerOnVMInVDC", String.class, String.class,
- String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", "33"));
-
- assertRequestLineEquals(request,
- "POST https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33/action/powerOn HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
- checkFilters(request);
- }
-
- public void testPowerOnVM() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ServiceManagementAsyncApi.class, "powerOnVM", URI.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI
- .create("https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33")));
-
- assertRequestLineEquals(request,
- "POST https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33/action/powerOn HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
- checkFilters(request);
- }
-
- public void testPowerOffVMVDC() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ServiceManagementAsyncApi.class, "powerOffVMInVDC", String.class, String.class,
- String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", "33"));
-
- assertRequestLineEquals(request,
- "POST https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33/action/powerOff HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
- checkFilters(request);
- }
-
- public void testPowerOffVM() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(ServiceManagementAsyncApi.class, "powerOffVM", URI.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI
- .create("https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33")));
-
- assertRequestLineEquals(request,
- "POST https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33/action/powerOff HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
- checkFilters(request);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/VMApiLiveTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/VMApiLiveTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/VMApiLiveTest.java
deleted file mode 100644
index 2139d23..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/VMApiLiveTest.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jclouds.util.Predicates2.retry;
-import static org.testng.Assert.assertEquals;
-
-import java.util.Set;
-
-import org.jclouds.cim.OSType;
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.compute.domain.ExecResponse;
-import org.jclouds.domain.LoginCredentials;
-import org.jclouds.predicates.SocketOpen;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-import org.jclouds.savvis.vpdc.options.GetVMOptions;
-import org.jclouds.savvis.vpdc.reference.VCloudMediaType;
-import org.jclouds.ssh.SshClient;
-import org.testng.annotations.AfterGroups;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-import com.google.common.collect.Iterables;
-import com.google.common.net.HostAndPort;
-
-@Test(groups = "live")
-public class VMApiLiveTest extends BaseVPDCApiLiveTest {
-
- private VMApi api;
- private VM vm;
- private Predicate<HostAndPort> socketTester;
-
- private String username = checkNotNull(System.getProperty("test." + provider + ".loginUser"), "test." + provider
- + ".loginUser");
- private String password = checkNotNull(System.getProperty("test." + provider + ".loginPassword"), "test." + provider
- + ".loginPassword");
-
- @Override
- @BeforeGroups(groups = { "live" })
- public void setupContext() {
- super.setupContext();
- api = restContext.getApi().getVMApi();
- SocketOpen socketOpen = context.utils().injector().getInstance(SocketOpen.class);
- socketTester = retry(socketOpen, 130, 10, SECONDS);// make
- }
-
- private String billingSiteId;
- private String vpdcId;
-
- public void testCreateVirtualMachine() throws Exception {
- billingSiteId = restContext.getApi().getBrowsingApi().getOrg(null).getId();// default
- vpdcId = Iterables.find(restContext.getApi().getBrowsingApi().getOrg(billingSiteId).getVDCs(),
- new Predicate<Resource>() {
-
- // try to find the first VDC owned by the current user
- // check here for what the email property might be, or in
- // the jclouds-wire.log
- @Override
- public boolean apply(Resource arg0) {
- String description = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId,
- arg0.getId()).getDescription();
- return description.indexOf(email) != -1;
- }
-
- }).getId();
-
- String networkTierName = Iterables.get(
- restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId, vpdcId).getAvailableNetworks(), 0)
- .getName();
- String name = prefix;
-
- VDC vpdc = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId, vpdcId);
-
- CIMOperatingSystem os = Iterables.find(restContext.getApi().listPredefinedOperatingSystems(),
- new Predicate<CIMOperatingSystem>() {
-
- @Override
- public boolean apply(CIMOperatingSystem arg0) {
- return arg0.getOsType() == OSType.RHEL_64;
- }
-
- });
- System.out.printf("Creating vm - vpdcId %s, vpdcName %s, networkName %s, name %s, os %s%n", vpdcId, vpdc.getName(), networkTierName, name, os);
-
- // TODO: determine the sizes available in the VDC, for example there's
- // a minimum size of boot disk, and also a preset combination of cpu count vs ram
- Task task = api.addVMIntoVDC(billingSiteId, vpdcId, VMSpec.builder().name(name).networkTierName(
- networkTierName).operatingSystem(os).memoryInGig(2).addDataDrive("/data01", 25).build());
-
- // make sure there's no error
- assert task.getId() != null && task.getError() == null : task;
-
- assert this.taskTester.apply(task.getId());
-
- // fetch the task again, in savvis, task.getOwner is populated with vApp after task has finished
- task = restContext.getApi().getBrowsingApi().getTask(task.getId());
-
- vm = restContext.getApi().getBrowsingApi().getVM(task.getOwner().getHref(), GetVMOptions.NONE);
- assert vm.getHref() != null : vm;
-
- // cannot ssh in savvis, as no public ip is assigned by default
-// conditionallyCheckSSH();
- }
-
- @Test(dependsOnMethods="testCloneVApp")
- public void testZCreateMultipleVMs() throws Exception {
- billingSiteId = restContext.getApi().getBrowsingApi().getOrg(null).getId();// default
- vpdcId = Iterables.find(restContext.getApi().getBrowsingApi().getOrg(billingSiteId).getVDCs(),
- new Predicate<Resource>() {
-
- // try to find the first VDC owned by the current user
- // check here for what the email property might be, or in
- // the jclouds-wire.log
- @Override
- public boolean apply(Resource arg0) {
- String description = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId,
- arg0.getId()).getDescription();
- return description.indexOf(email) != -1;
- }
-
- }).getId();
-
- String networkTierName = Iterables.get(
- restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId, vpdcId).getAvailableNetworks(), 0)
- .getId();
- Network networkTier = restContext.getApi().getBrowsingApi().getNetworkInVDC(billingSiteId, vpdcId,
- networkTierName);
-
- String name = prefix;
-
- // delete any old VM
- VDC vpdc = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId, vpdcId);
- CIMOperatingSystem os = Iterables.find(restContext.getApi().listPredefinedOperatingSystems(),
- new Predicate<CIMOperatingSystem>() {
-
- @Override
- public boolean apply(CIMOperatingSystem arg0) {
- return arg0.getOsType() == OSType.RHEL_64;
- }
-
- });
-
- // TODO: Savvis returns network names with a - instead of space on getNetworkInVDC call,
- // fix this once savvis api starts returning correctly
- System.out.printf("Creating vm's - vpdcId %s, vpdcName %s, networkName %s, name %s, os %s%n", vpdcId, vpdc.getName(), networkTier
- .getName().replace("-", " "), name, os);
-
- Builder<VMSpec> vmSpecs = ImmutableSet.builder();
- int noOfVms = 2;
- for (int i = 0; i < noOfVms; i++) {
- // TODO: determine the sizes available in the VDC, for example there's
- // a minimum size of boot disk, and also a preset combination of cpu count vs ram
- VMSpec vmSpec = VMSpec.builder().name(name + i).operatingSystem(os).memoryInGig(2).networkTierName(
- networkTierName).addDataDrive("/data01", 25).build();
- vmSpecs.add(vmSpec);
- }
-
- Set<Task> tasks = api.addMultipleVMsIntoVDC(vpdc.getHref(), vmSpecs.build());
-
- for (Task task : tasks) {
- // make sure there's no error
- assert task.getId() != null && task.getError() == null : task;
- assert this.taskTester.apply(task.getId());
-
- // fetch the task again, in savvis, task.getOwner is populated with vApp after task has finished
- task = restContext.getApi().getBrowsingApi().getTask(task.getId());
-
- VM newVM = restContext.getApi().getBrowsingApi().getVM(task.getOwner().getHref(), GetVMOptions.NONE);
- assert newVM.getHref() != null : newVM;
- }
- }
-
- /**
- * disabled because it not currently supported by savvis. Planned for august release by savvis.
- * @throws Exception
- */
- @Test(enabled=false)
- public void testCaptureVAppTemplate() throws Exception {
- billingSiteId = restContext.getApi().getBrowsingApi().getOrg(null).getId();// default
- vpdcId = Iterables.find(restContext.getApi().getBrowsingApi().getOrg(billingSiteId).getVDCs(),
- new Predicate<Resource>() {
-
- // try to find the first VDC owned by the current user
- // check here for what the email property might be, or in
- // the jclouds-wire.log
- @Override
- public boolean apply(Resource arg0) {
- String description = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId,
- arg0.getId()).getDescription();
- return description.indexOf(email) != -1;
- }
-
- }).getId();
-
- VDC vpdc = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId, vpdcId);
-
- for (Resource vApp : Iterables.filter(vpdc.getResourceEntities(), new Predicate<Resource>() {
-
- @Override
- public boolean apply(Resource arg0) {
- return VCloudMediaType.VAPP_XML.equals(arg0.getType());
- }
-
- })) {
-
- System.out.printf("Capturing VAppTemplate for vApp - %s%n", vApp.getName());
- Task task = api.captureVApp(billingSiteId, vpdcId, vApp.getHref());
-
- // make sure there's no error
- assert task.getId() != null && task.getError() == null : task;
-
- assert this.taskTester.apply(task.getId());
- }
- }
-
- @Test(dependsOnMethods="testCreateVirtualMachine")
- public void testCloneVApp() throws Exception {
- billingSiteId = restContext.getApi().getBrowsingApi().getOrg(null).getId();// default
- vpdcId = Iterables.find(restContext.getApi().getBrowsingApi().getOrg(billingSiteId).getVDCs(),
- new Predicate<Resource>() {
-
- // try to find the first VDC owned by the current user
- // check here for what the email property might be, or in
- // the jclouds-wire.log
- @Override
- public boolean apply(Resource arg0) {
- String description = restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId,
- arg0.getId()).getDescription();
- return description.indexOf(email) != -1;
- }
-
- }).getId();
-
- String networkTierName = Iterables.get(
- restContext.getApi().getBrowsingApi().getVDCInOrg(billingSiteId, vpdcId).getAvailableNetworks(), 0)
- .getId();
-
- String clonedVMName = vm.getName() + "clone";
-
- System.out.printf("Cloning vm - name %s in vpdcId %s in network %s, newVM name is %s%n", vm.getName(), vpdcId, networkTierName, clonedVMName);
-
- Task task = api.cloneVApp(vm.getHref(), clonedVMName, networkTierName);
-
- // make sure there's no error
- assert task.getId() != null && task.getError() == null : task;
- assert this.taskTester.apply(task.getId());
-
- // fetch the task again, in savvis, task.getOwner is populated with vApp after task has finished
- task = restContext.getApi().getBrowsingApi().getTask(task.getId());
-
- VM clonedVM = restContext.getApi().getBrowsingApi().getVM(task.getOwner().getHref(), GetVMOptions.NONE);
- assert clonedVM.getHref() != null : clonedVM;
- }
-
- protected void checkSSH(HostAndPort socket) {
- socketTester.apply(socket);
- SshClient api = view.utils().sshFactory()
- .create(socket, LoginCredentials.builder().user(username).password(password).build());
- try {
- api.connect();
- ExecResponse exec = api.exec("echo hello");
- System.out.println(exec);
- assertEquals(exec.getOutput().trim(), "hello");
- } finally {
- if (api != null)
- api.disconnect();
- }
- }
-
- @AfterGroups(groups = "live")
- protected void tearDownContext() {
- if (vm != null) {
- assert taskTester.apply(api.removeVMFromVDC(billingSiteId, vpdcId, vm.getId()).getId()) : vm;
- }
- super.tearDownContext();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/VMAsyncApiTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/VMAsyncApiTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/VMAsyncApiTest.java
deleted file mode 100644
index 94487e0..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/VMAsyncApiTest.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.cim.OSType;
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-import org.jclouds.savvis.vpdc.xml.TasksListHandler;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.reflect.Invokable;
-import com.google.inject.Key;
-import com.google.inject.TypeLiteral;
-/**
- * Tests annotation parsing of {@code VMAsyncApi}
- */
-@Test(groups = "unit")
-public class VMAsyncApiTest extends BaseVPDCAsyncApiTest<VMAsyncApi> {
-
- public void testAddVMIntoVDCURI() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "addVMIntoVDC", URI.class, VMSpec.class);
-
- CIMOperatingSystem os = Iterables.find(injector.getInstance(Key.get(new TypeLiteral<Set<CIMOperatingSystem>>() {
- })), new Predicate<CIMOperatingSystem>() {
-
- @Override
- public boolean apply(CIMOperatingSystem arg0) {
- return arg0.getOsType() == OSType.RHEL_64;
- }
-
- });
-
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/11/vdc/22"), VMSpec.builder().name(
- "DemoHost-1").networkTierName("VM Tier01").operatingSystem(os).build()));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/rest/api/v0.8/org/11/vdc/22/vApp/ HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, Strings2.toStringAndClose(getClass().getResourceAsStream("/vm-default.xml")),
- "application/xml", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
- checkFilters(request);
- }
-
- public void testAddVMIntoVDC() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "addVMIntoVDC", String.class, String.class, VMSpec.class);
-
- CIMOperatingSystem os = Iterables.find(injector.getInstance(Key.get(new TypeLiteral<Set<CIMOperatingSystem>>() {
- })), new Predicate<CIMOperatingSystem>() {
-
- @Override
- public boolean apply(CIMOperatingSystem arg0) {
- return arg0.getOsType() == OSType.RHEL_64;
- }
-
- });
-
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", VMSpec.builder().operatingSystem(os).name(
- "DemoHost-1").networkTierName("VM Tier01").build()));
-
- assertRequestLineEquals(request, "GET https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/ HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, Strings2.toStringAndClose(getClass().getResourceAsStream("/vm-default.xml")),
- "application/xml", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
- checkFilters(request);
- }
-
- public void testCaptureVApp() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "captureVApp", String.class, String.class, URI.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("100000.0", "2736", URI.create("https://api.savvis.net/vpdc/v1.0/org/100000.0/vdc/2736/vApp/1001")));
-
- assertRequestLineEquals(request,
- "POST https://api.savvis.net/vpdc/v1.0/org/100000.0/vdc/2736/action/captureVApp HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, Strings2.toStringAndClose(getClass().getResourceAsStream("/capture-vapp-template-default.xml")),
- "application/xml", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
-
- checkFilters(request);
- }
-
- public void testCloneVApp() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "cloneVApp", URI.class, String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI.create("https://api.savvis.net/vpdc/v1.0/org/100000.0/vdc/2736/vApp/1001"), "clonedvm", "VM Tier01"));
-
- assertRequestLineEquals(request,
- "POST https://api.savvis.net/vpdc/v1.0/org/100000.0/vdc/2736/vApp/1001/action/cloneVApp HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, Strings2.toStringAndClose(getClass().getResourceAsStream("/cloneVApp-default.xml")),
- "application/xml", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
-
- checkFilters(request);
- }
-
- public void testAddMultipleVMsIntoVDCURI() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "addMultipleVMsIntoVDC", URI.class, Iterable.class);
-
- CIMOperatingSystem os = Iterables.find(injector.getInstance(Key.get(new TypeLiteral<Set<CIMOperatingSystem>>() {
- })), new Predicate<CIMOperatingSystem>() {
-
- @Override
- public boolean apply(CIMOperatingSystem arg0) {
- return arg0.getOsType() == OSType.RHEL_64;
- }
-
- });
-
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/11/vdc/22"), ImmutableSet.of(VMSpec
- .builder().name("Test VM").networkTierName("VM Tier01").operatingSystem(os).build())));
-
- assertRequestLineEquals(request,
- "GET https://api.savvis.net/rest/api/v0.8/org/11/vdc/22/vApp/ HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, Strings2.toStringAndClose(getClass().getResourceAsStream("/vm-multiple-default.xml")),
- "application/xml", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TasksListHandler.class);
- assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
- checkFilters(request);
- }
-
- public void testAddMultipleVMsIntoVDC() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "addMultipleVMsIntoVDC", String.class, String.class, Iterable.class);
-
- CIMOperatingSystem os = Iterables.find(injector.getInstance(Key.get(new TypeLiteral<Set<CIMOperatingSystem>>() {
- })), new Predicate<CIMOperatingSystem>() {
-
- @Override
- public boolean apply(CIMOperatingSystem arg0) {
- return arg0.getOsType() == OSType.RHEL_64;
- }
-
- });
-
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", ImmutableSet.of(VMSpec.builder()
- .operatingSystem(os).name("Test VM").networkTierName("VM Tier01").build())));
-
- assertRequestLineEquals(request, "GET https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/ HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, Strings2.toStringAndClose(getClass().getResourceAsStream("/vm-multiple-default.xml")),
- "application/xml", false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TasksListHandler.class);
- assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
- checkFilters(request);
- }
-
- public void testRemoveVMFromVDC() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "removeVMFromVDC", String.class, String.class, String.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of("11", "22", "33"));
-
- assertRequestLineEquals(request,
- "DELETE https://api.savvis.net/vpdc/v1.0/org/11/vdc/22/vApp/33 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testRemoveVM() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "removeVM", URI.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/11/vdc/22/vApp/33")));
-
- assertRequestLineEquals(request,
- "DELETE https://api.savvis.net/rest/api/v0.8/org/11/vdc/22/vApp/33 HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testPowerOffVM() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "powerOffVM", URI.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/11/vdc/22/vApp/33")));
-
- assertRequestLineEquals(request,
- "POST https://api.savvis.net/rest/api/v0.8/org/11/vdc/22/vApp/33/action/powerOff HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-
- public void testPowerOnVM() throws SecurityException, NoSuchMethodException, IOException {
- Invokable<?, ?> method = method(VMAsyncApi.class, "powerOnVM", URI.class);
- GeneratedHttpRequest request = processor.createRequest(method, ImmutableList.<Object> of(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/11/vdc/22/vApp/33")));
-
- assertRequestLineEquals(request,
- "POST https://api.savvis.net/rest/api/v0.8/org/11/vdc/22/vApp/33/action/powerOn HTTP/1.1");
- assertNonPayloadHeadersEqual(request, "");
- assertPayloadEquals(request, null, null, false);
-
- assertResponseParserClassEquals(method, request, ParseSax.class);
- assertSaxResponseParserClassEquals(method, TaskHandler.class);
- assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
- checkFilters(request);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookieTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookieTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookieTest.java
deleted file mode 100644
index 6281c8a..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookieTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.filters;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.http.HttpRequest;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.common.net.HttpHeaders;
-
-@Test
-public class SetVCloudTokenCookieTest {
-
- private SetVCloudTokenCookie filter;
-
- @BeforeTest
- void setUp() {
- filter = new SetVCloudTokenCookie(new Supplier<String>() {
- public String get() {
- return "token";
- }
- });
- }
-
- @Test
- public void testApply() {
- HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://localhost").build();
- request = filter.filter(request);
- assertEquals(request.getHeaders().size(), 1);
- assertEquals(request.getFirstHeaderOrNull(HttpHeaders.COOKIE), "vcloud-token=token");
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandlerTest.java
deleted file mode 100644
index a2ca5ff..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandlerTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.handlers;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.reportMatcher;
-import static org.easymock.EasyMock.verify;
-
-import java.net.URI;
-
-import org.easymock.IArgumentMatcher;
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-
-@Test(groups = { "unit" })
-public class VPDCErrorHandlerTest {
-
- @Test
- public void test400MakesIllegalArgumentException() {
- assertCodeMakes("GET", URI.create("https://savvis.com/foo"), 400, "", "Bad Request",
- IllegalArgumentException.class);
- }
-
- @Test
- public void test401MakesAuthorizationException() {
- assertCodeMakes("GET", URI.create("https://savvis.com/foo"), 401, "", "Unauthorized",
- AuthorizationException.class);
- }
-
- @Test
- public void test403MakesAuthorizationException() {
- assertCodeMakes(
- "GET",
- URI.create("https://savvis.com/foo"),
- 403,
- "HTTP/1.1 403 Forbidden",
- "With the User/login credentials provided, no privilege exists to process the current request. Please contact Savvis administrator for further information",
- AuthorizationException.class);
- }
-
- @Test
- public void test404MakesResourceNotFoundException() {
- assertCodeMakes("GET", URI.create("https://savvis.com/foo"), 404, "", "Not Found",
- ResourceNotFoundException.class);
- }
-
- @Test
- public void test405MakesIllegalArgumentException() {
- assertCodeMakes("GET", URI.create("https://savvis.com/foo"), 405, "", "Method Not Allowed",
- IllegalArgumentException.class);
- }
-
- @Test
- public void test409MakesIllegalStateException() {
- assertCodeMakes("GET", URI.create("https://savvis.com/foo"), 409, "", "Conflict", IllegalStateException.class);
- }
-
- private void assertCodeMakes(String method, URI uri, int statusCode, String message, String content,
- Class<? extends Exception> expected) {
- assertCodeMakes(method, uri, statusCode, message, "text/xml", content, expected);
- }
-
- private void assertCodeMakes(String method, URI uri, int statusCode, String message, String contentType,
- String content, Class<? extends Exception> expected) {
-
- VPDCErrorHandler function = Guice.createInjector().getInstance(VPDCErrorHandler.class);
-
- HttpCommand command = createMock(HttpCommand.class);
- HttpRequest request = HttpRequest.builder().method(method).endpoint(uri).build();
- HttpResponse response = HttpResponse.builder().statusCode(statusCode).message(message).payload(content).build();
- response.getPayload().getContentMetadata().setContentType(contentType);
-
- expect(command.getCurrentRequest()).andReturn(request).atLeastOnce();
- command.setException(classEq(expected));
-
- replay(command);
-
- function.handleError(command, response);
-
- verify(command);
- }
-
- public static Exception classEq(final Class<? extends Exception> in) {
- reportMatcher(new IArgumentMatcher() {
-
- @Override
- public void appendTo(StringBuffer buffer) {
- buffer.append("classEq(");
- buffer.append(in);
- buffer.append(")");
- }
-
- @Override
- public boolean matches(Object arg) {
- return arg.getClass() == in;
- }
-
- });
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/FirewallServiceHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/FirewallServiceHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/FirewallServiceHandlerTest.java
deleted file mode 100644
index 606b608..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/FirewallServiceHandlerTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.http.functions.config.SaxParserModule;
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.savvis.vpdc.domain.FirewallService;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code FirewallServiceHandler and @code FirewallRuleHandler}
- */
-@Test(groups = "unit")
-public class FirewallServiceHandlerTest {
-
- /*new FirewallRule(null, null, null, null, "SERVER_TIER_FIREWALL", true, "internet" , "VM Tier01" ,
- "22", "allow", "Server Tier Firewall Rule", false, "Tcp"),
- new FirewallRule(null, null, null, null, "SERVER_TIER_FIREWALL", true, "VM Tier03" , "VM Tier03" ,
- null, "allow", "Server Tier Firewall Rule", false, "Icmp-ping")));*/
-
- public void test() {
- InputStream is = getClass().getResourceAsStream("/firewallService.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- FirewallService result = factory.create(injector.getInstance(FirewallServiceHandler.class)).parse(is);
- assertEquals(result.isEnabled(), false);
- assertEquals(
- result.getFirewallRules(),
- ImmutableSet.<FirewallRule> of(
- FirewallRule.builder().firewallType("SERVER_TIER_FIREWALL").isEnabled(false).source("internet")
- .destination("VM Tier01").port("22").protocol("Tcp").policy("allow").description("Server Tier Firewall Rule").isLogged(false).build(),
- FirewallRule.builder().firewallType("SERVER_TIER_FIREWALL").isEnabled(true).source("VM Tier03")
- .destination("VM Tier03").protocol("Icmp-ping").policy("allow").description("Server Tier Firewall Rule").isLogged(false).build()));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkConfigSectionHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkConfigSectionHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkConfigSectionHandlerTest.java
deleted file mode 100644
index 7fd9da6..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkConfigSectionHandlerTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.http.functions.config.SaxParserModule;
-import org.jclouds.savvis.vpdc.domain.NetworkConfigSection;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code NetworkConfigSectionHandler}
- */
-@Test(groups = "unit")
-public class NetworkConfigSectionHandlerTest {
-
- public void test() {
- InputStream is = getClass().getResourceAsStream("/networkconfigsection.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- NetworkConfigSection result = factory.create(injector.getInstance(NetworkConfigSectionHandler.class)).parse(is);
- assertEquals(result.toString(), NetworkConfigSection.builder().network("VM Tier01").gateway("0.0.0.0").netmask(
- "0.0.0.0").info("MAC=00:00:00:00:00:00").fenceMode("allowInOut").dhcp(true).internalToExternalNATRule(
- "10.76.2.4", "206.24.124.1").build().toString());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkConnectionSectionHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkConnectionSectionHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkConnectionSectionHandlerTest.java
deleted file mode 100644
index a636d81..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkConnectionSectionHandlerTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.http.functions.config.SaxParserModule;
-import org.jclouds.savvis.vpdc.domain.NetworkConnectionSection;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code NetworkConnectionSectionHandler}
- */
-@Test(groups = "unit")
-public class NetworkConnectionSectionHandlerTest {
-
- public void test() {
- InputStream is = getClass().getResourceAsStream("/networkconnectionsection.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- NetworkConnectionSection result = factory.create(injector.getInstance(NetworkConnectionSectionHandler.class))
- .parse(is);
- assertEquals(result.toString(), NetworkConnectionSection.builder().network("VM Tier01").info(
- "Read only description of a network connection to a deployed vApp").ipAddress("10.76.0.5").build()
- .toString());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkHandlerTest.java
deleted file mode 100644
index 73e35f8..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/NetworkHandlerTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.http.functions.config.SaxParserModule;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.reference.VCloudMediaType;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code NetworkHandler}
- */
-@Test(groups = "unit")
-public class NetworkHandlerTest {
-
- public void test() {
- InputStream is = getClass().getResourceAsStream("/network.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- Network result = factory.create(injector.getInstance(NetworkHandler.class)).parse(is);
- assertEquals(
- result.toString(),
- Network.builder().type(VCloudMediaType.NETWORK_XML).name("VM-Tier01").gateway("1.1.1.1")
- .netmask("255.255.255.240").build().toString());
- }
-
- public void testNat() {
- InputStream is = getClass().getResourceAsStream("/network-nat.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- Network result = factory.create(injector.getInstance(NetworkHandler.class)).parse(is);
- assertEquals(result.toString(),
- Network.builder().type(VCloudMediaType.NETWORK_XML).name("VM Tier01").gateway("1.1.1.1").netmask("2.2.2.2")
- .internalToExternalNATRule("3.3.3.3", "4.4.4.4").internalToExternalNATRule("3.3.3.4", "4.4.4.5")
- .build().toString());
- }
-
- public void tesWhenNoVAppsInNetworkSetsAllZerosToGatewayAndNetmask() {
- InputStream is = getClass().getResourceAsStream("/network-unused.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- Network result = factory.create(injector.getInstance(NetworkHandler.class)).parse(is);
- assertEquals(result.toString(),
- Network.builder().type(VCloudMediaType.NETWORK_XML).name("VM Tier01").gateway("0.0.0.0").netmask("0.0.0.0")
- .build().toString());
- }
-}
[4/7] Remove savvis-symphonyvpdc,
which hasn't been published in over a year.
Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/reference/VCloudMediaType.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/reference/VCloudMediaType.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/reference/VCloudMediaType.java
deleted file mode 100644
index e2d9b53..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/reference/VCloudMediaType.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.reference;
-
-import javax.ws.rs.core.MediaType;
-
-/**
- * Resource Types used in VCloud
- *
- * @see MediaType
- */
-public interface VCloudMediaType {
- /**
- * "application/vnd.vmware.vcloud.error+xml"
- */
- public static final String ERROR_XML = "application/vnd.vmware.vcloud.error+xml";
-
- /**
- * "application/vnd.vmware.vcloud.error+xml"
- */
- public static final MediaType ERROR_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.error+xml");
-
- /**
- * "application/vnd.vmware.vcloud.vcloud+xml"
- */
- public static final String VCLOUD_XML = "application/vnd.vmware.vcloud.vcloud+xml";
-
- /**
- * "application/vnd.vmware.vcloud.vcloud+xml"
- */
- public static final MediaType VCLOUD_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.vcloud+xml");
- /**
- * "application/vnd.vmware.vcloud.orgList+xml"
- */
- public static final String ORGLIST_XML = "application/vnd.vmware.vcloud.orgList+xml";
-
- /**
- * "application/vnd.vmware.vcloud.orgList+xml"
- */
- public static final MediaType ORGLIST_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.orgList+xml");
- /**
- * "application/vnd.vmware.vcloud.org+xml"
- */
- public static final String ORG_XML = "application/vnd.vmware.vcloud.org+xml";
- /**
- * "application/vnd.vmware.vcloud.org+xml"
- */
- public static final MediaType ORG_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.org+xml");
-
- /**
- * "application/vnd.vmware.vcloud.vdc+xml"
- */
- public static final String VDC_XML = "application/vnd.vmware.vcloud.vdc+xml";
- /**
- * "application/vnd.vmware.vcloud.vdc+xml"
- */
- public static final MediaType VDC_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.vdc+xml");
-
- /**
- * "application/vnd.vmware.vcloud.catalog+xml"
- */
- public static final String CATALOG_XML = "application/vnd.vmware.vcloud.catalog+xml";
- /**
- * "application/vnd.vmware.vcloud.catalog+xml"
- */
- public static final MediaType CATALOG_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.catalog+xml");
-
- /**
- * "application/vnd.vmware.vcloud.tasksList+xml"
- */
- public static final String TASKSLIST_XML = "application/vnd.vmware.vcloud.tasksList+xml";
- /**
- * "application/vnd.vmware.vcloud.tasksList+xml"
- */
- public static final MediaType TASKSLIST_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.tasksList+xml");
-
- /**
- * "application/vnd.vmware.vcloud.catalogItem+xml"
- */
- public static final String CATALOGITEM_XML = "application/vnd.vmware.vcloud.catalogItem+xml";
- /**
- * "application/vnd.vmware.vcloud.catalogItem+xml"
- */
- public static final MediaType CATALOGITEM_XML_TYPE = new MediaType("application",
- "vnd.vmware.vcloud.catalogItem+xml");
- /**
- * "application/vnd.vmware.vcloud.networkConnectionSection+xml"
- */
- public static final String NETWORKCONNECTIONSECTION_XML = "application/vnd.vmware.vcloud.networkConnectionSection+xml";
- /**
- * "application/vnd.vmware.vcloud.networkConnectionSection+xml"
- */
- public static final MediaType NETWORKCONNECTIONSECTION_XML_TYPE = new MediaType("application",
- "vnd.vmware.vcloud.networkConnectionSection+xml");
- /**
- * "application/vnd.vmware.vcloud.virtualHardwareSection+xml"
- */
- public static final String VIRTUALHARDWARESECTION_XML = "application/vnd.vmware.vcloud.virtualHardwareSection+xml";
- /**
- * "application/vnd.vmware.vcloud.virtualHardwareSection+xml"
- */
- public static final MediaType VIRTUALHARDWARESECTION_XML_TYPE = new MediaType("application",
- "vnd.vmware.vcloud.virtualHardwareSection+xml");
- /**
- * "application/vnd.vmware.vcloud.guestCustomizationSection+xml"
- */
- public static final String GUESTCUSTOMIZATIONSECTION_XML = "application/vnd.vmware.vcloud.guestCustomizationSection+xml";
- /**
- * "application/vnd.vmware.vcloud.guestCustomizationSection+xml"
- */
- public static final MediaType GUESTCUSTOMIZATIONSECTION_XML_TYPE = new MediaType("application",
- "vnd.vmware.vcloud.guestCustomizationSection+xml");
-
- /**
- * "application/vnd.vmware.vcloud.networkSection+xml"
- */
- public static final String NETWORKSECTION_XML = "application/vnd.vmware.vcloud.networkSection+xml";
- /**
- * "application/vnd.vmware.vcloud.networkSection+xml"
- */
- public static final MediaType NETWORKSECTION_XML_TYPE = new MediaType("application",
- "vnd.vmware.vcloud.networkSection+xml");
-
- /**
- * "application/vnd.vmware.vcloud.task+xml"
- */
- public static final String TASK_XML = "application/vnd.vmware.vcloud.task+xml";
- /**
- * "application/vnd.vmware.vcloud.task+xml"
- */
- public static final MediaType TASK_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.task+xml");
-
- /**
- * "application/vnd.vmware.vcloud.undeployVAppParams+xml"
- */
- public static final String UNDEPLOYVAPPPARAMS_XML = "application/vnd.vmware.vcloud.undeployVAppParams+xml";
- /**
- * "application/vnd.vmware.vcloud.undeployVAppParams+xml"
- */
- public static final MediaType UNDEPLOYVAPPPARAMS_XML_TYPE = new MediaType("application",
- "vnd.vmware.vcloud.undeployVAppParams+xml");
-
- /**
- * "application/vnd.vmware.vcloud.deployVAppParams+xml"
- */
- public static final String DEPLOYVAPPPARAMS_XML = "application/vnd.vmware.vcloud.deployVAppParams+xml";
- /**
- * "application/vnd.vmware.vcloud.deployVAppParams+xml"
- */
- public static final MediaType DEPLOYVAPPPARAMS_XML_TYPE = new MediaType("application",
- "vnd.vmware.vcloud.deployVAppParams+xml");
-
- /**
- * "application/vnd.vmware.vcloud.vApp+xml"
- */
- public static final String VAPP_XML = "application/vnd.vmware.vcloud.vApp+xml";
- /**
- * "application/vnd.vmware.vcloud.vApp+xml"
- */
- public static final MediaType VAPP_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.vApp+xml");
-
- /**
- * "application/vnd.vmware.vcloud.vm+xml"
- */
- public static final String VM_XML = "application/vnd.vmware.vcloud.vm+xml";
- /**
- * "application/vnd.vmware.vcloud.vm+xml"
- */
- public static final MediaType VM_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.vm+xml");
-
- /**
- * "application/vnd.vmware.vcloud.vAppTemplate+xml"
- */
- public static final String VAPPTEMPLATE_XML = "application/vnd.vmware.vcloud.vAppTemplate+xml";
- /**
- * "application/vnd.vmware.vcloud.vAppTemplate+xml"
- */
- public static final MediaType VAPPTEMPLATE_XML_TYPE = new MediaType("application",
- "vnd.vmware.vcloud.vAppTemplate+xml");
-
- /**
- * "application/vnd.vmware.vcloud.network+xml"
- */
- public static final String NETWORK_XML = "application/vnd.vmware.vcloud.network+xml";
- /**
- * "application/vnd.vmware.vcloud.network+xml"
- */
- public static final MediaType NETWORK_XML_TYPE = new MediaType("application", "vnd.vmware.vcloud.network+xml");
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/reference/VPDCConstants.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/reference/VPDCConstants.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/reference/VPDCConstants.java
deleted file mode 100644
index 399cd26..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/reference/VPDCConstants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.reference;
-
-/**
- * Configuration properties and constants used in VCloud connections.
- */
-public final class VPDCConstants {
-
- /**
- * which email must be present for VDCs to be considered yours
- */
- public static final String PROPERTY_VPDC_VDC_EMAIL = "savvis-symphonyvpdc.vdc-email";
-
- public static final String PROPERTY_VPDC_TIMEOUT_TASK_COMPLETED = "jclouds.vpdc.timeout.task-complete";
-
- private VPDCConstants() {
- throw new AssertionError("intentionally unimplemented");
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/util/Utils.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/util/Utils.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/util/Utils.java
deleted file mode 100644
index 37377ee..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/util/Utils.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.util;
-
-import static com.google.common.base.Predicates.notNull;
-import static com.google.common.collect.Iterables.concat;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.transform;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import org.jclouds.savvis.vpdc.domain.Link;
-import org.jclouds.savvis.vpdc.domain.NetworkConfigSection;
-import org.jclouds.savvis.vpdc.domain.NetworkConnectionSection;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.ResourceImpl;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.xml.sax.Attributes;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableMap.Builder;
-
-public class Utils {
-
- public static Resource newResource(Map<String, String> attributes, String defaultType) {
- String uri = attributes.get("href");
- String type = attributes.get("type");
- // savvis org has null href
- String id = null;
- URI href = null;
- if (uri != null) {
- href = URI.create(uri);
- id = uri.substring(uri.lastIndexOf('/') + 1);
- }
- return (attributes.containsKey("rel")) ? new Link(id, attributes.get("name"), type != null ? type : defaultType,
- href, attributes.get("rel")) : new ResourceImpl(id, attributes.get("name"), type != null ? type
- : defaultType, href);
- }
-
- public static Set<String> getIpsFromVM(VM vm) {
- Iterable<String> ipFromConnections = transform(vm.getNetworkConnectionSections(),
- new Function<NetworkConnectionSection, String>() {
- @Override
- public String apply(NetworkConnectionSection input) {
- return input.getIpAddress();
- };
- });
- Iterable<String> ipsFromNat = concat(transform(vm.getNetworkConfigSections(),
- new Function<NetworkConfigSection, Iterable<String>>() {
- @Override
- public Iterable<String> apply(NetworkConfigSection input) {
- return concat(input.getInternalToExternalNATRules().keySet(), input
- .getInternalToExternalNATRules().values());
- };
- }));
- return ImmutableSet.copyOf(filter(concat(ipFromConnections, ipsFromNat), notNull()));
- }
-
- public static Map<String, String> cleanseAttributes(Attributes in) {
- Builder<String, String> attrs = ImmutableMap.builder();
- for (int i = 0; i < in.getLength(); i++) {
- String name = in.getQName(i);
- if (name.indexOf(':') != -1)
- name = name.substring(name.indexOf(':') + 1);
- attrs.put(name, in.getValue(i));
- }
- return attrs.build();
- }
-
- public static String currentOrNull(StringBuilder currentText) {
- String returnVal = currentText.toString().trim();
- return returnVal.equals("") ? null : returnVal;
- }
-
- public static Resource newResource(Map<String, String> attributes) {
- return newResource(attributes, null);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/FirewallRuleHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/FirewallRuleHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/FirewallRuleHandler.java
deleted file mode 100644
index 53f0765..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/FirewallRuleHandler.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.util.SaxUtils.currentOrNull;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-public class FirewallRuleHandler extends ParseSax.HandlerWithResult<FirewallRule> {
- protected StringBuilder currentText = new StringBuilder();
- private FirewallRule.Builder builder = FirewallRule.builder();
-
- public FirewallRule getResult() {
- try {
- return builder.build();
- } finally {
- builder = FirewallRule.builder();
- }
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
-
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) throws SAXException {
- String current = currentOrNull(currentText);
- if (current != null) {
- if (equalsOrSuffix(qName, "Type")) {
- builder.firewallType(current);
- } else if (equalsOrSuffix(qName, "IsEnabled")) {
- builder.isEnabled(Boolean.parseBoolean(current));
- } else if (equalsOrSuffix(qName, "Source")) {
- builder.source(current);
- } else if (equalsOrSuffix(qName, "Destination")) {
- builder.destination(current);
- } else if (equalsOrSuffix(qName, "Port")) {
- builder.port(current);
- } else if (equalsOrSuffix(qName, "Policy")) {
- builder.policy(current);
- } else if (equalsOrSuffix(qName, "Description")) {
- builder.description(current);
- } else if (equalsOrSuffix(qName, "Log")) {
- builder.isLogged(Boolean.parseBoolean(current));
- } else if (equalsOrSuffix(qName, "Tcp")) {
- builder.protocol("Tcp");
- } else if (qName.contains("Udp") || qName.contains("udp")) {
- builder.protocol("Udp");
- } else if (qName.contains("Icmp") || qName.contains("icmp") || qName.contains("Ping")
- || qName.contains("ping")) {
- builder.protocol("Icmp-ping");
- }
- }
- currentText.setLength(0);
- }
-
- @Override
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/FirewallServiceHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/FirewallServiceHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/FirewallServiceHandler.java
deleted file mode 100644
index 7386915..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/FirewallServiceHandler.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.util.SaxUtils.currentOrNull;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import javax.inject.Inject;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.savvis.vpdc.domain.FirewallService;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-public class FirewallServiceHandler extends ParseSax.HandlerWithResult<FirewallService> {
- protected StringBuilder currentText = new StringBuilder();
- private FirewallRuleHandler firewallRuleHandler;
- private FirewallService.Builder builder = FirewallService.builder();
- boolean inFirewallService;
- boolean inFirewallRule;
-
- @Inject
- public FirewallServiceHandler(FirewallRuleHandler firewallRuleHandler) {
- this.firewallRuleHandler = firewallRuleHandler;
- }
-
- public FirewallService getResult() {
- try {
- return builder.build();
- } finally {
- builder = FirewallService.builder();
- }
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
- if (equalsOrSuffix(qName, "FirewallService")) {
- inFirewallService = true;
- } else if (equalsOrSuffix(qName, "FirewallRule")) {
- inFirewallRule = true;
- firewallRuleHandler.startElement(uri, localName, qName, attrs);
- }
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) throws SAXException {
- if (equalsOrSuffix(qName, "FirewallService")) {
- inFirewallService = false;
- } else if (equalsOrSuffix(qName, "FirewallRule")) {
- builder.firewallRule(firewallRuleHandler.getResult());
- inFirewallRule = false;
- } else if (equalsOrSuffix(qName, "isEnabled")) {
- if (inFirewallService) {
- String current = currentOrNull(currentText);
- if (current != null) {
- builder.isEnabled(Boolean.parseBoolean(current));
- }
- }
- }
-
- if (inFirewallRule) {
- firewallRuleHandler.endElement(uri, localName, qName);
- }
- currentText.setLength(0);
- }
-
- @Override
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- firewallRuleHandler.characters(ch, start, length);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkConfigSectionHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkConfigSectionHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkConfigSectionHandler.java
deleted file mode 100644
index 1ff7677..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkConfigSectionHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.util.SaxUtils.currentOrNull;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.jclouds.ovf.xml.SectionHandler;
-import org.jclouds.savvis.vpdc.domain.NetworkConfigSection;
-import org.jclouds.util.SaxUtils;
-import org.xml.sax.Attributes;
-
-public class NetworkConfigSectionHandler extends SectionHandler<NetworkConfigSection, NetworkConfigSection.Builder> {
-
- @Inject
- public NetworkConfigSectionHandler(Provider<NetworkConfigSection.Builder> builderProvider) {
- super(builderProvider);
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attrs) {
- Map<String, String> attributes = SaxUtils.cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "Section") && "vApp:NetworkConfigSectionType".equals(attributes.get("type"))) {
- builder.network(attributes.get("Network"));
- builder.netmask(attributes.get("Netmask"));
- builder.gateway(attributes.get("Gateway"));
- } else if (equalsOrSuffix(qName, "NatRule")) {
- builder.internalToExternalNATRule(attributes.get("internalIP"), attributes.get("externalIP"));
- }
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) {
- if (equalsOrSuffix(qName, "FenceMode")) {
- builder.fenceMode(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "Dhcp")) {
- builder.dhcp(Boolean.valueOf(currentOrNull(currentText)));
- }
- super.endElement(uri, localName, qName);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkConnectionSectionHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkConnectionSectionHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkConnectionSectionHandler.java
deleted file mode 100644
index ec2d488..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkConnectionSectionHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.util.SaxUtils.currentOrNull;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.jclouds.ovf.xml.SectionHandler;
-import org.jclouds.savvis.vpdc.domain.NetworkConnectionSection;
-import org.jclouds.util.SaxUtils;
-import org.xml.sax.Attributes;
-
-public class NetworkConnectionSectionHandler extends
- SectionHandler<NetworkConnectionSection, NetworkConnectionSection.Builder> {
-
- @Inject
- public NetworkConnectionSectionHandler(Provider<NetworkConnectionSection.Builder> builderProvider) {
- super(builderProvider);
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attrs) {
- Map<String, String> attributes = SaxUtils.cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "Section") && "vApp:NetworkConnectionType".equals(attributes.get("type"))) {
- builder.network(attributes.get("Network"));
- }
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) {
- if (equalsOrSuffix(qName, "IpAddress")) {
- builder.ipAddress(currentOrNull(currentText));
- }
- super.endElement(uri, localName, qName);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkHandler.java
deleted file mode 100644
index 73930f3..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkHandler.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.savvis.vpdc.util.Utils.cleanseAttributes;
-import static org.jclouds.savvis.vpdc.util.Utils.currentOrNull;
-import static org.jclouds.savvis.vpdc.util.Utils.newResource;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Map;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.ImmutableMap;
-
-public class NetworkHandler extends ParseSax.HandlerWithResult<Network> {
-
- protected StringBuilder currentText = new StringBuilder();
-
- protected Network.Builder builder = Network.builder();
-
- public Network getResult() {
- try {
- return builder.build();
- } finally {
- builder = Network.builder();
- }
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
- Map<String, String> attributes = cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "Network")) {
- // savvis doesn't add href in the header for some reason
- if (!attributes.containsKey("href") && getRequest() != null)
- attributes = ImmutableMap.<String, String> builder().putAll(attributes)
- .put("href", getRequest().getEndpoint().toASCIIString()).build();
- Resource org = newResource(attributes);
- builder.name(org.getName()).type(org.getType()).id(org.getId()).href(org.getHref());
- } else if (equalsOrSuffix(qName, "NatRule")) {
- builder.internalToExternalNATRule(attributes.get("internalIP"), attributes.get("externalIP"));
- }
- }
-
- public void endElement(String uri, String name, String qName) {
- if (equalsOrSuffix(qName, "Gateway")) {
- builder.gateway(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "Netmask")) {
- builder.netmask(currentOrNull(currentText));
- }
- currentText.setLength(0);
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkSectionHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkSectionHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkSectionHandler.java
deleted file mode 100644
index c2850d0..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/NetworkSectionHandler.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.util.SaxUtils.currentOrNull;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.jclouds.ovf.Network;
-import org.jclouds.ovf.NetworkSection;
-import org.jclouds.ovf.xml.SectionHandler;
-import org.jclouds.util.SaxUtils;
-import org.xml.sax.Attributes;
-
-public class NetworkSectionHandler extends SectionHandler<NetworkSection, NetworkSection.Builder> {
- protected Network.Builder networkBuilder = Network.builder();
-
- @Inject
- public NetworkSectionHandler(Provider<NetworkSection.Builder> builderProvider) {
- super(builderProvider);
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attrs) {
- Map<String, String> attributes = SaxUtils.cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "Network")) {
- networkBuilder.name(attributes.get("name"));
- }
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) {
- if (equalsOrSuffix(qName, "Info")) {
- builder.info(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "Description")) {
- networkBuilder.description(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "Network")) {
- try {
- builder.network(networkBuilder.build());
- } finally {
- networkBuilder = Network.builder();
- }
- }
- super.endElement(uri, localName, qName);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/OrgHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/OrgHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/OrgHandler.java
deleted file mode 100644
index e2265d9..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/OrgHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.savvis.vpdc.util.Utils.cleanseAttributes;
-import static org.jclouds.savvis.vpdc.util.Utils.currentOrNull;
-import static org.jclouds.savvis.vpdc.util.Utils.newResource;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Map;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.savvis.vpdc.domain.Link;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.ImmutableMap;
-
-public class OrgHandler extends ParseSax.HandlerWithResult<Org> {
-
- protected StringBuilder currentText = new StringBuilder();
-
- protected Org.Builder builder = Org.builder();
-
- public Org getResult() {
- try {
- return builder.build();
- } finally {
- builder = Org.builder();
- }
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
- Map<String, String> attributes = cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "Org")) {
- // savvis doesn't add href in the header for some reason
- if (!attributes.containsKey("href") && getRequest() != null)
- attributes = ImmutableMap.<String, String> builder().putAll(attributes)
- .put("href", getRequest().getEndpoint().toASCIIString()).build();
- Resource org = newResource(attributes);
- builder.name(org.getName()).type(org.getType()).id(org.getId()).href(org.getHref());
- } else if (equalsOrSuffix(qName, "Link")) {
- Link link = Link.class.cast(newResource(attributes));
- if ("down".equals(link.getRel()))
- builder.vDC(link);
- else
- builder.image(link);
- }
- }
-
- public void endElement(String uri, String name, String qName) {
- if (equalsOrSuffix(qName, "Description")) {
- builder.description(currentOrNull(currentText));
- }
- currentText.setLength(0);
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/OrgListHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/OrgListHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/OrgListHandler.java
deleted file mode 100644
index 50a2936..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/OrgListHandler.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.savvis.vpdc.util.Utils.cleanseAttributes;
-import static org.jclouds.savvis.vpdc.util.Utils.newResource;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-
-public class OrgListHandler extends ParseSax.HandlerWithResult<Set<Resource>> {
-
- private Builder<Resource> org = ImmutableSet.builder();
-
- public Set<Resource> getResult() {
- try {
- return org.build();
- } finally {
- org = ImmutableSet.<Resource> builder();
- }
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
- Map<String, String> attributes = cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "Org")) {
- org.add(newResource(attributes));
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/TaskHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/TaskHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/TaskHandler.java
deleted file mode 100644
index a080e38..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/TaskHandler.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.savvis.vpdc.util.Utils.cleanseAttributes;
-import static org.jclouds.savvis.vpdc.util.Utils.newResource;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Date;
-import java.util.Map;
-
-import javax.inject.Inject;
-
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.logging.Logger;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.TaskError;
-import org.jclouds.savvis.vpdc.util.Utils;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-public class TaskHandler extends ParseSax.HandlerWithResult<Task> {
- @javax.annotation.Resource
- protected Logger logger = Logger.NULL;
-
- protected final DateService dateService;
-
- private Task.Builder builder = Task.builder();
-
- @Inject
- public TaskHandler(DateService dateService) {
- this.dateService = dateService;
- }
-
- public Task getResult() {
- try {
- return builder.build();
- } finally {
- builder = Task.builder();
- }
-
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
- Map<String, String> attributes = cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "Task")) {
- Resource task = newResource(attributes);
- builder.id(task.getId());
- builder.type(task.getType());
- builder.href(task.getHref());
- if (attributes.containsKey("startTime"))
- builder.startTime(parseDate(attributes.get("startTime")));
- if (attributes.containsKey("endTime"))
- builder.endTime(parseDate(attributes.get("endTime")));
- builder.status(Task.Status.fromValue(attributes.get("status")));
- } else if (equalsOrSuffix(qName, "Owner")) {
- builder.owner(Utils.newResource(attributes));
- } else if (equalsOrSuffix(qName, "Result")) {
- builder.result(Utils.newResource(attributes));
- } else if (equalsOrSuffix(qName, "Error")) {
- builder.error(new TaskError(attributes.get("message"), Integer.parseInt(attributes.get("majorErrorCode")),
- Integer.parseInt(attributes.get("minorErrorCode")), attributes.get("vendorSpecificErrorCode")));
- }
-
- }
-
- private Date parseDate(String toParse) {
- try {
- return dateService.iso8601DateParse(toParse);
- } catch (RuntimeException e) {
- logger.error(e, "error parsing date, %s", toParse);
- }
- return null;
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) {
- }
-
- @Override
- public void characters(char ch[], int start, int length) {
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/TasksListHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/TasksListHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/TasksListHandler.java
deleted file mode 100644
index 2a1cfb6..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/TasksListHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-
-public class TasksListHandler extends ParseSax.HandlerWithResult<Set<Task>> {
-
- private Builder<Task> tasks = ImmutableSet.builder();
- private final TaskHandler taskHandler;
-
- @Inject
- public TasksListHandler(TaskHandler taskHandler) {
- this.taskHandler = taskHandler;
- }
-
- public Set<Task> getResult() {
- try {
- return tasks.build();
- } finally {
- tasks = ImmutableSet.<Task> builder();
- }
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
- taskHandler.startElement(uri, localName, qName, attrs);
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) throws SAXException {
- taskHandler.endElement(uri, localName, qName);
- if (equalsOrSuffix(qName, "Task")) {
- this.tasks.add(taskHandler.getResult());
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/VDCHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/VDCHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/VDCHandler.java
deleted file mode 100644
index 25df229..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/VDCHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.savvis.vpdc.util.Utils.cleanseAttributes;
-import static org.jclouds.savvis.vpdc.util.Utils.currentOrNull;
-import static org.jclouds.savvis.vpdc.util.Utils.newResource;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Map;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VDC.Status;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.ImmutableMap;
-
-public class VDCHandler extends ParseSax.HandlerWithResult<VDC> {
-
- protected StringBuilder currentText = new StringBuilder();
-
- protected VDC.Builder builder = VDC.builder();
-
- public VDC getResult() {
- try {
- return builder.build();
- } finally {
- builder = VDC.builder();
- }
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
- Map<String, String> attributes = cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "Vdc")) {
- // savvis doesn't add href in the header for some reason
- if (!attributes.containsKey("href") && getRequest() != null)
- attributes = ImmutableMap.<String, String> builder().putAll(attributes)
- .put("href", getRequest().getEndpoint().toASCIIString()).build();
- Resource vDC = newResource(attributes);
- builder.name(vDC.getName()).type(vDC.getType()).id(vDC.getId()).href(vDC.getHref());
- } else if (equalsOrSuffix(qName, "Network")) {
- builder.availableNetwork(newResource(attributes));
- } else if (equalsOrSuffix(qName, "ResourceEntity")) {
- builder.resourceEntity(newResource(attributes));
- }
- }
-
- public void endElement(String uri, String name, String qName) {
- if (equalsOrSuffix(qName, "Description")) {
- builder.description(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "OfferingTag")) {
- builder.status(Status.fromValue(currentOrNull(currentText)));
- }
- currentText.setLength(0);
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/VMHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/VMHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/VMHandler.java
deleted file mode 100644
index d662221..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/xml/VMHandler.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.jclouds.savvis.vpdc.util.Utils.newResource;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.jclouds.ovf.NetworkSection;
-import org.jclouds.ovf.Section;
-import org.jclouds.ovf.xml.NetworkSectionHandler;
-import org.jclouds.ovf.xml.OperatingSystemSectionHandler;
-import org.jclouds.ovf.xml.ProductSectionHandler;
-import org.jclouds.ovf.xml.SectionHandler;
-import org.jclouds.ovf.xml.VirtualHardwareSectionHandler;
-import org.jclouds.ovf.xml.internal.BaseVirtualSystemHandler;
-import org.jclouds.savvis.vpdc.domain.NetworkConfigSection;
-import org.jclouds.savvis.vpdc.domain.NetworkConnectionSection;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.util.Utils;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.ImmutableMap;
-
-public class VMHandler extends BaseVirtualSystemHandler<VM, VM.Builder> {
-
- @SuppressWarnings("unchecked")
- @Inject
- public VMHandler(Provider<VM.Builder> builderProvider, OperatingSystemSectionHandler osHandler,
- VirtualHardwareSectionHandler hardwareHandler, ProductSectionHandler productHandler,
- Provider<NetworkSectionHandler> networkSectionHandler,
- Provider<NetworkConfigSectionHandler> networkConfigSectionHandler,
- Provider<NetworkConnectionSectionHandler> networkConnectionSectionHandler) {
- super(builderProvider, osHandler, hardwareHandler, productHandler);
- this.extensionHandlers = ImmutableMap.<String, Provider<? extends SectionHandler>> of("ovf:NetworkSection",
- networkSectionHandler, "vApp:NetworkConfigSectionType", networkConfigSectionHandler,
- "vApp:NetworkConnectionType", networkConnectionSectionHandler);
- }
-
- public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
- Map<String, String> attributes = Utils.cleanseAttributes(attrs);
- if (equalsOrSuffix(qName, "VApp")) {
- // savvis doesn't add href in the header for some reason
- if (!attributes.containsKey("href") && getRequest() != null)
- attributes = ImmutableMap.<String, String> builder().putAll(attributes).put("href",
- getRequest().getEndpoint().toASCIIString()).build();
- Resource vApp = newResource(attributes);
- builder.name(vApp.getName()).type(vApp.getType()).id(vApp.getId()).href(vApp.getHref());
- builder.status(VM.Status.fromValue(attributes.get("status")));
- }
- super.startElement(uri, localName, qName, attrs);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- protected void addAdditionalSection(String qName, Section additionalSection) {
- if (additionalSection instanceof NetworkSection) {
- builder.networkSection(NetworkSection.class.cast(additionalSection));
- } else if (additionalSection instanceof NetworkConfigSection) {
- builder.networkConfigSection(NetworkConfigSection.class.cast(additionalSection));
- } else if (additionalSection instanceof NetworkConnectionSection) {
- builder.networkConnectionSection(NetworkConnectionSection.class.cast(additionalSection));
- } else {
- builder.additionalSection(qName, additionalSection);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/savvis-symphonyvpdc/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 04552f7..0000000
--- a/savvis-symphonyvpdc/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.savvis.vpdc.VPDCProviderMetadata
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/resources/savvis-symphonyvpdc/predefined_operatingsystems.json
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/resources/savvis-symphonyvpdc/predefined_operatingsystems.json b/savvis-symphonyvpdc/src/main/resources/savvis-symphonyvpdc/predefined_operatingsystems.json
deleted file mode 100644
index f92ff75..0000000
--- a/savvis-symphonyvpdc/src/main/resources/savvis-symphonyvpdc/predefined_operatingsystems.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "family": "WINDOWS",
- "name": "winLonghorn64Guest",
- "version": "2008",
- "description": "Microsoft Windows Server 2008 (Enterprise 64bit)",
- "is64Bit": true;
- "osType": "WINDOWS_SERVER_2008_64"
- },
- {
- "family": "RHEL",
- "name": "rhel5Guest",
- "version": "5",
- "description": "Red Hat Enterprise Linux 5.x 32bit",
- "is64Bit": false;
- "osType": "RHEL"
- },
- {
- "family": "RHEL",
- "name": "rhel5_64Guest",
- "version": "5",
- "description": "Red Hat Enterprise Linux 5.x 64bit",
- "is64Bit": true;
- "osType": "RHEL_64"
- }
-]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/VPDCAsyncApiTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/VPDCAsyncApiTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/VPDCAsyncApiTest.java
deleted file mode 100644
index 26b8823..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/VPDCAsyncApiTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.savvis.vpdc.features.BaseVPDCAsyncApiTest;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code VPDCAsyncApi}
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "VPDCAsyncApiTest")
-public class VPDCAsyncApiTest extends BaseVPDCAsyncApiTest<VPDCAsyncApi> {
-
- private VPDCAsyncApi asyncApi;
- private VPDCApi syncApi;
-
- public void testSync() {
- assert syncApi.getBrowsingApi() != null;
- assert syncApi.getVMApi() != null;
- assertEquals(syncApi.listOrgs().size(), 1);
- assertEquals(syncApi.listPredefinedOperatingSystems().size(), 3);
-
- }
-
- public void testAsync() {
- assert asyncApi.getBrowsingApi() != null;
- assert asyncApi.getVMApi() != null;
- assertEquals(asyncApi.listOrgs().size(), 1);
- assertEquals(asyncApi.listPredefinedOperatingSystems().size(), 3);
-
- }
-
- @BeforeClass
- @Override
- protected void setupFactory() throws IOException {
- super.setupFactory();
- asyncApi = injector.getInstance(VPDCAsyncApi.class);
- syncApi = injector.getInstance(VPDCApi.class);
- }
-
- @Override
- protected void checkFilters(HttpRequest request) {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/VPDCProviderTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/VPDCProviderTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/VPDCProviderTest.java
deleted file mode 100644
index 6369202..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/VPDCProviderTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc;
-
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.testng.annotations.Test;
-
-/**
- * The VPDCProviderTest tests the
- * org.jclouds.savvis.vpdc.VPDCProviderMetadata class.
- */
-@Test(groups = "unit", testName = "VPDCProviderTest")
-public class VPDCProviderTest extends BaseProviderMetadataTest {
-
- public VPDCProviderTest() {
- super(new VPDCProviderMetadata(), new VPDCApiMetadata());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindCaptureVAppTemplateToXmlPayloadTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindCaptureVAppTemplateToXmlPayloadTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindCaptureVAppTemplateToXmlPayloadTest.java
deleted file mode 100644
index 405c6c2..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindCaptureVAppTemplateToXmlPayloadTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code BindVMSpecToXmlPayload}
- */
-@Test(groups = "unit")
-public class BindCaptureVAppTemplateToXmlPayloadTest {
-
- public void test() throws IOException {
- String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/capture-vapp-template-default.xml"));
-
- URI vAppURI = URI.create("https://api.savvis.net/vpdc/v1.0/org/100000.0/vdc/2736/vApp/1001");
- String xml = new BindCaptureVAppTemplateToXmlPayload().generateXml(vAppURI);
- System.out.println(xml);
-
- assertEquals(new BindCaptureVAppTemplateToXmlPayload().generateXml(vAppURI), expected);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindCloneVAppToXmlPayloadTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindCloneVAppToXmlPayloadTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindCloneVAppToXmlPayloadTest.java
deleted file mode 100644
index 17de4f7..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindCloneVAppToXmlPayloadTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code BindVMSpecToXmlPayload}
- */
-@Test(groups = "unit")
-public class BindCloneVAppToXmlPayloadTest {
-
- public void test() throws IOException {
- String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/cloneVApp-default.xml"));
- URI vAppURI = URI.create("https://api.savvis.net/vpdc/v1.0/org/100000.0/vdc/2736/vApp/1001");
-
- String xml = new BindCloneVMToXmlPayload().generateXml(vAppURI, "clonedvm", "VM Tier01");
- System.out.println(xml);
-
- assertEquals(new BindCloneVMToXmlPayload().generateXml(vAppURI, "clonedvm", "VM Tier01"), expected);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindFirewallRuleToXmlPayloadTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindFirewallRuleToXmlPayloadTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindFirewallRuleToXmlPayloadTest.java
deleted file mode 100644
index 7aad613..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindFirewallRuleToXmlPayloadTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code BindVMSpecToXmlPayload}
- */
-@Test(groups = "unit")
-public class BindFirewallRuleToXmlPayloadTest {
-
- public void test() throws IOException {
- String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/firewallService-default.xml"));
-
- FirewallRule firewallRule = FirewallRule.builder().firewallType("SERVER_TIER_FIREWALL").isEnabled(true).source("internet")
- .destination("VM Tier01").port("22").protocol("Tcp").policy("allow").description("Server Tier Firewall Rule").isLogged(false).build();
-
- assertEquals(new BindFirewallRuleToXmlPayload().generateXml(firewallRule), expected);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindVMSpecsToXmlPayloadTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindVMSpecsToXmlPayloadTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindVMSpecsToXmlPayloadTest.java
deleted file mode 100644
index ee41d8a..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/binders/BindVMSpecsToXmlPayloadTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Set;
-
-import org.jclouds.cim.OSType;
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.gson.Gson;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests behavior of {@code BindVMSpecsToXmlPayload}
- */
-@Test(groups = "unit")
-public class BindVMSpecsToXmlPayloadTest {
-
- public void test() throws IOException {
- CIMOperatingSystem os = Iterables.find(new Gson().<Set<CIMOperatingSystem>> fromJson(Strings2
- .toStringAndClose(getClass()
- .getResourceAsStream("/savvis-symphonyvpdc/predefined_operatingsystems.json")),
- new TypeLiteral<Set<CIMOperatingSystem>>() {
- }.getType()), new Predicate<CIMOperatingSystem>() {
-
- @Override
- public boolean apply(CIMOperatingSystem arg0) {
- return arg0.getOsType() == OSType.RHEL_64;
- }
-
- });
-
- String expected = Strings2.toStringAndClose(getClass().getResourceAsStream("/vm-multiple-default.xml"));
-
- VMSpec spec = VMSpec.builder().name("Test VM").operatingSystem(os).networkTierName("VM Tier01").build();
-
- assertEquals(new BindVMSpecsToXmlPayload().generateXml(ImmutableSet.of(spec)), expected);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/compute/VPDCComputeServiceLiveTestDisabled.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/compute/VPDCComputeServiceLiveTestDisabled.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/compute/VPDCComputeServiceLiveTestDisabled.java
deleted file mode 100644
index 9ef74ce..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/compute/VPDCComputeServiceLiveTestDisabled.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.compute;
-
-import java.util.Properties;
-
-import org.jclouds.Constants;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.internal.BaseComputeServiceLiveTest;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.inject.Module;
-
-/**
- * Takes a long time to list nodes. Average response time is about 10-15 seconds
- * per vm. Hence this test does not complete and is disabled until performance
- * improves.
- *
- *
- */
-@Test(enabled = true, groups = "live")
-public class VPDCComputeServiceLiveTestDisabled extends BaseComputeServiceLiveTest {
-
- public VPDCComputeServiceLiveTestDisabled() {
- provider = "savvis-symphonyvpdc";
- }
-
- @Override
- public void setServiceDefaults() {
- group = "savvis-symphonyvpdc";
- }
-
- // savvis does not support metadata
- @Override
- protected void checkUserMetadataContains(NodeMetadata node, ImmutableMap<String, String> userMetadata) {
- assert node.getUserMetadata().equals(ImmutableMap.<String, String> of()) : String.format(
- "node userMetadata did not match %s %s", userMetadata, node);
- }
-
-
- @Override
- protected Properties setupProperties() {
- Properties overrides = super.setupProperties();
- // savvis uses untrusted certificates
- overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");
- overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true");
- return overrides;
- }
-
- @Override
- protected Module getSshModule() {
- return new SshjSshClientModule();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/compute/VPDCTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/compute/VPDCTemplateBuilderLiveTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/compute/VPDCTemplateBuilderLiveTest.java
deleted file mode 100644
index 16cf9c5..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/compute/VPDCTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.compute;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Properties;
-import java.util.Set;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
-import org.jclouds.domain.LocationScope;
-import org.jclouds.savvis.vpdc.reference.VPDCConstants;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-
-@Test(groups = "live")
-public class VPDCTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
- public VPDCTemplateBuilderLiveTest() {
- provider = "savvis-symphonyvpdc";
- }
-
- @Override
- protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
- return new Predicate<OsFamilyVersion64Bit>() {
-
- @Override
- public boolean apply(OsFamilyVersion64Bit input) {
- switch (input.family) {
- case RHEL:
- return !(input.version.equals("5") || input.version.equals(""));
- case WINDOWS:
- return !((input.version.equals("2008") || input.version.equals("")) && input.is64Bit);
- default:
- return true;
- }
- }
-
- };
- }
-
- @Override
- public void testDefaultTemplateBuilder() throws IOException {
- Template defaultTemplate = view.getComputeService().templateBuilder().build();
- assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "5");
- assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
- assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.RHEL);
- assertEquals(defaultTemplate.getLocation().getScope(), LocationScope.NETWORK);
- assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
- }
-
- @Override
- protected Set<String> getIso3166Codes() {
- // TODO make region aware
- return ImmutableSet.<String> of();
- }
-
- @Override
- protected Properties setupProperties() {
- Properties props = super.setupProperties();
- props.setProperty(VPDCConstants.PROPERTY_VPDC_VDC_EMAIL, checkNotNull(System.getProperty("test."
- + VPDCConstants.PROPERTY_VPDC_VDC_EMAIL), "test." + VPDCConstants.PROPERTY_VPDC_VDC_EMAIL));
- return props;
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BaseVPDCApiLiveTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BaseVPDCApiLiveTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BaseVPDCApiLiveTest.java
deleted file mode 100644
index 3440225..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BaseVPDCApiLiveTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jclouds.util.Predicates2.retry;
-
-import java.util.Properties;
-
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.rest.RestContext;
-import org.jclouds.savvis.vpdc.VPDCApi;
-import org.jclouds.savvis.vpdc.VPDCAsyncApi;
-import org.jclouds.savvis.vpdc.predicates.TaskSuccess;
-import org.jclouds.savvis.vpdc.reference.VPDCConstants;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-
-/**
- * Tests behavior of {@code VPDCApi}
- */
-@Test(groups = "live", singleThreaded = true, testName = "BaseVPDCApiLiveTest")
-public class BaseVPDCApiLiveTest extends BaseComputeServiceContextLiveTest {
-
- public BaseVPDCApiLiveTest() {
- provider = "savvis-symphonyvpdc";
- }
-
- protected RestContext<VPDCApi, VPDCAsyncApi> restContext;
- protected String email;
- protected Predicate<String> taskTester;
-
- @Override
- protected Properties setupProperties() {
- Properties overrides = super.setupProperties();
- overrides.setProperty(VPDCConstants.PROPERTY_VPDC_VDC_EMAIL, email);
- // unlimited timeouts
- overrides.setProperty("jclouds.connection-timeout", "0");
- overrides.setProperty("jclouds.so-timeout", "0");
- email = checkNotNull(System.getProperty("test." + VPDCConstants.PROPERTY_VPDC_VDC_EMAIL), "test."
- + VPDCConstants.PROPERTY_VPDC_VDC_EMAIL);
- return overrides;
- }
-
- @BeforeGroups(groups = { "integration", "live" })
- @Override
- public void setupContext() {
- super.setupContext();
- taskTester = retry(new TaskSuccess(restContext.getApi()), 7200, 10, SECONDS);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BaseVPDCAsyncApiTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BaseVPDCAsyncApiTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BaseVPDCAsyncApiTest.java
deleted file mode 100644
index 3e21b99..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/features/BaseVPDCAsyncApiTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL;
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.inject.Named;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.internal.BaseAsyncApiTest;
-import org.jclouds.savvis.vpdc.VPDCProviderMetadata;
-import org.jclouds.savvis.vpdc.config.VPDCRestClientModule;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.ResourceImpl;
-import org.jclouds.savvis.vpdc.domain.internal.VCloudSession;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.internal.LoginApi;
-import org.jclouds.savvis.vpdc.reference.VCloudMediaType;
-import org.jclouds.savvis.vpdc.reference.VPDCConstants;
-
-import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-public abstract class BaseVPDCAsyncApiTest<T> extends BaseAsyncApiTest<T> {
-
- @Override
- public ProviderMetadata createProviderMetadata() {
- return new VPDCProviderMetadata();
- }
-
- @Override
- protected void checkFilters(HttpRequest request) {
- assertEquals(request.getFilters().size(), 1);
- assertEquals(request.getFilters().get(0).getClass(), SetVCloudTokenCookie.class);
- }
-
- @Override
- protected Module createModule() {
- return new VPDCRestClientModuleExtension();
- }
-
- @ConfiguresRestClient
- public static class VPDCRestClientModuleExtension extends VPDCRestClientModule {
-
- @Override
- protected Supplier<VCloudSession> provideVCloudTokenCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds,
- final LoginApi login) {
- return Suppliers.<VCloudSession> ofInstance(new VCloudSession() {
-
- @Override
- public Set<Resource> getOrgs() {
- return ImmutableSet.<Resource> of(new ResourceImpl("1", "org", VCloudMediaType.ORG_XML, URI
- .create("https://api.savvis.net/rest/api/v0.8/org/1")));
- }
-
- @Override
- public String getVCloudToken() {
- return "token";
- }
-
- });
-
- }
-
- }
-
- @Override
- protected Properties setupProperties() {
- Properties props = super.setupProperties();
- props.setProperty(VPDCConstants.PROPERTY_VPDC_VDC_EMAIL, "test");
- return props;
- }
-
-}
[2/7] Remove savvis-symphonyvpdc,
which hasn't been published in over a year.
Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/OrgHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/OrgHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/OrgHandlerTest.java
deleted file mode 100644
index f45463c..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/OrgHandlerTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.http.functions.config.SaxParserModule;
-import org.jclouds.savvis.vpdc.domain.Link;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code OrgHandler}
- */
-@Test(groups = "unit")
-public class OrgHandlerTest {
-
- public void testSavvis() {
- InputStream is = getClass().getResourceAsStream("/org.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- Org result = factory.create(injector.getInstance(OrgHandler.class)).parse(is);
- assertEquals(
- result.toString(),
- Org.builder()
- .name("100000.0")
- .description("SAVVISStation Integration Testing")
- .vDC(new Link("2736", "demo_vpdcname", "application/vnd.vmware.vcloud.vdc+xml", URI
- .create("https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"),
- "down")).build().toString());
-
- }
-
- public void testOrgWithoutVDC() {
- InputStream is = getClass().getResourceAsStream("/org_no_vdc.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- Org result = factory.create(injector.getInstance(OrgHandler.class)).parse(is);
- assertEquals(
- result.toString(),
- Org.builder()
- .name("100000.0")
- .description("SAVVISStation Integration Testing").build().toString());
-
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/OrgListHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/OrgListHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/OrgListHandlerTest.java
deleted file mode 100644
index be40c7b..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/OrgListHandlerTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.http.functions.config.SaxParserModule;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.ResourceImpl;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code OrgListHandler}
- */
-@Test(groups = "unit")
-public class OrgListHandlerTest {
-
- public void testSavvis() {
- InputStream is = getClass().getResourceAsStream("/orglist.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- Set<Resource> result = factory.create(injector.getInstance(OrgListHandler.class)).parse(is);
- assertEquals(result, ImmutableSet.of(new ResourceImpl("100000.0", "SAVVISStation Integration Testing",
- "application/vnd.vmware.vcloud.org+xml", URI
- .create("https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0"))));
-
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/TaskHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/TaskHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/TaskHandlerTest.java
deleted file mode 100644
index 761bc6d..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/TaskHandlerTest.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.jclouds.savvis.vpdc.domain.ResourceImpl;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.TaskError;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code TaskHandler}
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "TaskHandlerTest")
-public class TaskHandlerTest extends BaseHandlerTest {
-
- private DateService dateService;
-
- @BeforeTest
- @Override
- protected void setUpInjector() {
- super.setUpInjector();
- dateService = injector.getInstance(DateService.class);
- }
-
- public void testVAppSuccess() {
- InputStream is = getClass().getResourceAsStream("/task-vapp.xml");
-
- Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);
- Task expects = Task
- .builder()
- .id("21-1002")
- .endTime(dateService.iso8601DateParse("2010-05-26T08:09:09.000+08:00"))
- .startTime(dateService.iso8601DateParse("2010-05-26T08:08:08.000+08:00"))
- .status(Task.Status.SUCCESS)
- .type("application/vnd.vmware.vcloud.task+xml")
- .href(URI.create("https://api.savvis.net/rest/api/v0.8/task/21-1002"))
- .owner(
- ResourceImpl
- .builder()
- .id("2736")
- .name("mockVpdc8")
- .type("application/vnd.vmware.vcloud.vdc+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"))
- .build())
- .result(
- ResourceImpl
- .builder()
- .id("1002")
- .name("mock_vpdc_item_007")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1002"))
- .build()).build();
- assertEquals(result.toString(), expects.toString());
-
- }
-
- public void testVMDKSuccess() {
- InputStream is = getClass().getResourceAsStream("/task-vmdk.xml");
-
- Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);
- Task expects = Task
- .builder()
- .id("21-1002")
- .endTime(dateService.iso8601DateParse("2010-05-26T08:09:09.000+08:00"))
- .startTime(dateService.iso8601DateParse("2010-05-26T08:08:08.000+08:00"))
- .status(Task.Status.SUCCESS)
- .type("application/vnd.vmware.vcloud.task+xml")
- .href(URI.create("https://api.savvis.net/rest/api/v0.8/task/21-1002"))
- .owner(
- ResourceImpl
- .builder()
- .id("2736")
- .name("mockVpdc8")
- .type("application/vnd.vmware.vcloud.vdc+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"))
- .build())
- .result(
- ResourceImpl
- .builder()
- .id("1234567")
- .name("mock_vpdc_item_008")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/vdc/2736/vmdk/1234567"))
- .build()).build();
- assertEquals(result.toString(), expects.toString());
-
- }
-
- public void testRunning() {
- InputStream is = getClass().getResourceAsStream("/task-running.xml");
-
- Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);
- Task expects = Task
- .builder()
- .id("6904")
- .startTime(dateService.iso8601DateParse("2010-05-26T08:08:08.000+08:00"))
- .status(Task.Status.RUNNING)
- .type("application/vnd.vmware.vcloud.task+xml")
- .href(URI.create("https://api.savvis.net/rest/api/v0.8/task/6904"))
- .owner(
- ResourceImpl
- .builder()
- .id("2736")
- .name("mockVpdc8")
- .type("application/vnd.vmware.vcloud.vdc+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"))
- .build())
- .result(
- ResourceImpl
- .builder()
- .id("1002")
- .name("mock_vpdc_item_007")
- .type("application/vnd.vmware.vcloud.catalogItem+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1002"))
- .build()).build();
-
- assertEquals(result.toString(), expects.toString());
-
- }
-
- public void testQueued() {
- InputStream is = getClass().getResourceAsStream("/task-queued.xml");
-
- Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);
- Task expects = Task
- .builder()
- .id("113927-1005")
- .startTime(dateService.iso8601DateParse("2011-03-24T20:37:34.000Z"))
- .status(Task.Status.QUEUED)
- .href(URI.create("https://api.savvis.net/rest/api/v0.8/task/113927-1005"))
- .owner(
- ResourceImpl
- .builder()
- .id("4253")
- .name("Foo")
- .type("application/vnd.vmware.vcloud.vdc+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/4253"))
- .build())
- .result(
- ResourceImpl
- .builder()
- .id("1005")
- .name("adriancole")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/4253/vApp/1005"))
- .build()).build();
- assertEquals(result.toString(), expects.toString());
- assertEquals(result.getError(), null);
- assert result.getId() != null;
- }
-
- public void testFailed() {
- InputStream is = getClass().getResourceAsStream("/task-failed.xml");
-
- Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);
- Task expects = Task
- .builder()
- .id("6904-123")
- .startTime(dateService.iso8601DateParse("2010-05-26T08:08:08.000+08:00"))
- .endTime(dateService.iso8601DateParse("2010-05-26T08:09:09.000+08:00"))
- .status(Task.Status.ERROR)
- .type("application/vnd.vmware.vcloud.task+xml")
- .href(URI.create("https://api.savvis.net/rest/api/v0.8/task/6904-123"))
- .owner(
- ResourceImpl
- .builder()
- .id("2736")
- .name("mockVpdc8")
- .type("application/vnd.vmware.vcloud.vdc+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"))
- .build())
- .result(
- ResourceImpl
- .builder()
- .id("1002")
- .name("mock_vpdc_item_007")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .href(URI
- .create("https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1002"))
- .build()).build();
- assertEquals(result.toString(), expects.toString());
-
- }
-
- public void testError() {
- InputStream is = getClass().getResourceAsStream("/task-error.xml");
-
- Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);
- Task expects = Task
- .builder()
- .startTime(dateService.iso8601DateParse("2010-05-26T08:08:08.000+08:00"))
- .endTime(dateService.iso8601DateParse("2010-05-26T08:09:09.000+08:00"))
- .status(Task.Status.ERROR)
- .error(
- TaskError
- .builder()
- .vendorSpecificErrorCode("0")
- .minorErrorCode(0)
- .majorErrorCode(0)
- .message(
- "There is an internal exception occured in System, please kindly contact savvis support team to get solution.")
- .build()).build();
- assertEquals(result.toString(), expects.toString());
-
- }
-
- public void testUnsupported() {
- InputStream is = getClass().getResourceAsStream("/task-unsupported.xml");
-
- Task result = factory.create(injector.getInstance(TaskHandler.class)).parse(is);
- Task expects = Task
- .builder()
- .id("3904-1002")
- .startTime(dateService.iso8601DateParse("2010-05-26T08:08:08.000+08:00"))
- .endTime(dateService.iso8601DateParse("2010-05-26T08:09:09.000+08:00"))
- .status(Task.Status.NONE)
- .type("application/vnd.vmware.vcloud.task+xml")
- .href(URI.create("https://api.savvis.net/rest/api/v0.8/task/3904-1002"))
- .error(
- TaskError
- .builder()
- .vendorSpecificErrorCode("3000")
- .minorErrorCode(-1)
- .majorErrorCode(500)
- .message(
- "your requested task id is not found. Please contact Savvis Administrator for further assistance/clarification ")
- .build()).build();
- assertEquals(result.toString(), expects.toString());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/VDCHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/VDCHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/VDCHandlerTest.java
deleted file mode 100644
index 66e31b9..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/VDCHandlerTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.http.functions.config.SaxParserModule;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.ResourceImpl;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VDC.Status;
-import org.jclouds.savvis.vpdc.reference.VCloudMediaType;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code VDCHandler}
- */
-@Test(groups = "unit")
-public class VDCHandlerTest {
-
- public void test() {
- InputStream is = getClass().getResourceAsStream("/vdc.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- VDC result = factory.create(injector.getInstance(VDCHandler.class)).parse(is);
- assertEquals(result.getName(), "demo_vpdcname");
- assertEquals(result.getDescription(),
- "ServiceProfileName = Balanced; ServiceLocation = North America; Email = jim@company.com;");
- assertEquals(result.getStatus(), Status.DEPLOYED);
- assertEquals(
- result.getResourceEntities(),
- ImmutableSet
- .<Resource> of(
- new ResourceImpl(
- "1001",
- "DemoHost-1",
- VCloudMediaType.VAPP_XML,
- URI
- .create("https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1001")),
- new ResourceImpl(
- "1002",
- "DemoHost-2",
- VCloudMediaType.VAPP_XML,
- URI
- .create("https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1002")),
- new ResourceImpl(
- "1003",
- "DemoHost-3",
- VCloudMediaType.VAPP_XML,
- URI
- .create("https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1003")),
- new ResourceImpl(
- "1234",
- "CustomerTemplateName",
- VCloudMediaType.VAPPTEMPLATE_XML,
- URI
- .create("https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vAppTemplate/1234")),
- new ResourceImpl(
- "FirewallService",
- "firewall",
- "api.savvis.net+xml",
- URI
- .create("https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/FirewallService"))));
- assertEquals(result.getAvailableNetworks(), ImmutableSet.of());
- }
-
- public void test1net() {
- InputStream is = getClass().getResourceAsStream("/vdc-1net.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- VDC result = factory.create(injector.getInstance(VDCHandler.class)).parse(is);
- assertEquals(result.getName(), "demo6");
- assertEquals(result.getDescription(),
- "ServiceProfileName = Essential; ServiceLocation = US_WEST; Email = red@chair.com;");
- assertEquals(result.getStatus(), Status.DEPLOYED);
- assertEquals(result.getResourceEntities(), ImmutableSet.of(new ResourceImpl("1001", "Host1",
- VCloudMediaType.VAPP_XML, URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/vApp/1001")),
- new ResourceImpl("1002", "Host2", VCloudMediaType.VAPP_XML, URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/vApp/1002")),
- new ResourceImpl("1003", "Host3", VCloudMediaType.VAPP_XML, URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/vApp/1003")),
- new ResourceImpl("1004", "Host4", VCloudMediaType.VAPP_XML, URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/vApp/1004"))));
- assertEquals(result.getAvailableNetworks(), ImmutableSet.of(ResourceImpl.builder().id("VM-Tier01").name(
- "VM Tier01").type(VCloudMediaType.NETWORK_XML).href(
- URI.create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/network/VM-Tier01"))
- .build()));
-
- }
-
- public void testFailed() {
- InputStream is = getClass().getResourceAsStream("/vdc-failed.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- VDC result = factory.create(injector.getInstance(VDCHandler.class)).parse(is);
- assertEquals(result.getName(), "Demo7");
- assertEquals(result.getDescription(),
- "ServiceProfileName = Essential; ServiceLocation = US_WEST; Email = red@chair.com;");
- assertEquals(result.getStatus(), Status.FAILED);
- assertEquals(result.getResourceEntities(), ImmutableSet.of(new ResourceImpl("1001", "Host1",
- VCloudMediaType.VAPP_XML, URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1641/vApp/1001"))));
- assertEquals(result.getAvailableNetworks(), ImmutableSet.of(ResourceImpl.builder().id("VM-Tier01").name(
- "VM Tier01").type(VCloudMediaType.NETWORK_XML).href(
- URI.create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1641/network/VM-Tier01"))
- .build()));
-
- }
-
- public void testSaved() {
- InputStream is = getClass().getResourceAsStream("/vdc-saved.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- VDC result = factory.create(injector.getInstance(VDCHandler.class)).parse(is);
- assertEquals(result.getName(), "CloudBurst1");
- assertEquals(result.getDescription(),
- "ServiceProfileName = Essential; ServiceLocation = US_WEST; Email = me@my.com;");
- assertEquals(result.getStatus(), Status.SAVED);
- assertEquals(
- result.getResourceEntities(),
- ImmutableSet
- .of(
- ResourceImpl
- .builder()
- .name("templateHost")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .id("1001")
- .href(
- URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/vApp/1001"))
- .build(),
- ResourceImpl
- .builder()
- .name("host-c501")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .id("1037")
- .href(
- URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/vApp/1037"))
- .build(),
- ResourceImpl
- .builder()
- .name("host-c501")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .id("1038")
- .href(
- URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/vApp/1038"))
- .build(),
- ResourceImpl
- .builder()
- .name("host-c601")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .id("1039")
- .href(
- URI
- .create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/vApp/1039"))
- .build()));
- assertEquals(result.getAvailableNetworks(), ImmutableSet.of(ResourceImpl.builder().id("VM-Tier01").name(
- "VM Tier01").type(VCloudMediaType.NETWORK_XML).href(
- URI.create("https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/network/VM-Tier01"))
- .build()));
-
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/VMHandlerTest.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/VMHandlerTest.java b/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/VMHandlerTest.java
deleted file mode 100644
index a8fd20c..0000000
--- a/savvis-symphonyvpdc/src/test/java/org/jclouds/savvis/vpdc/xml/VMHandlerTest.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import org.jclouds.cim.ResourceAllocationSettingData;
-import org.jclouds.cim.VirtualSystemSettingData;
-import org.jclouds.cim.ResourceAllocationSettingData.ResourceType;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.http.functions.config.SaxParserModule;
-import org.jclouds.ovf.OperatingSystemSection;
-import org.jclouds.ovf.ProductSection;
-import org.jclouds.ovf.Property;
-import org.jclouds.ovf.VirtualHardwareSection;
-import org.jclouds.savvis.vpdc.domain.NetworkConfigSection;
-import org.jclouds.savvis.vpdc.domain.NetworkConnectionSection;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code VMHandler}
- */
-@Test(groups = "unit")
-public class VMHandlerTest {
- public void testVCloud1_0() {
- InputStream is = getClass().getResourceAsStream("/vm.xml");
- Injector injector = Guice.createInjector(new SaxParserModule());
- Factory factory = injector.getInstance(ParseSax.Factory.class);
- VM result = factory.create(injector.getInstance(VMHandler.class)).parse(is);
-
- VM expected = VM
- .builder()
- .id("1001")
- .status(VM.Status.ON)
- .name("znHost2")
- .type("application/vnd.vmware.vcloud.vApp+xml")
- .href(
- URI
- .create("https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1001"))
- .networkConfigSection(
- NetworkConfigSection.builder().network("VM Tier01").gateway("0.0.0.0").netmask("0.0.0.0").info(
- "MAC=00:00:00:00:00:00").fenceMode("allowInOut").dhcp(true).internalToExternalNATRule(
- "10.76.2.4", "206.24.124.1").build())
- .networkConnectionSection(
- NetworkConnectionSection.builder().network("VM Tier01").info(
- "Read only description of a network connection to a deployed vApp").ipAddress(
- "10.76.0.5").build())
- .operatingSystemSection(
- OperatingSystemSection.builder().id(80).info("Specifies the operating system installed")
- .description("Red Hat Enterprise Linux 5.x 64bit").build())
- .productSection(
- ProductSection
- .builder()
- .info("vCenter Information")
- .property(
- Property.builder().value("false").key("vmwareToolsEnabled").label(
- "VMWare Tools Enabled status").description(
- "VMWare Tools Enabled status").build())
- .property(
-
- Property.builder().value("10.12.46.171").key("vmwareESXHost").label(
- "VMWare ESXHost Ipaddress").description("VMWare ESXHost Ipaddress")
- .build())
- .property(
-
- Property.builder().value("cussl01s01c01alun088bal,cussl01s01c01alun089bal")
- .key("datastores").label("Datastore Name").description(
- "Datastore Name").build())
- .property(
- Property
- .builder()
- .value("[Totalcapacity=1335915184128,UsedCapacity=549755813888]")
- .key("cussl01s01c01alun088bal")
- .label("Datastore Capacity")
- .description(
- "Datastore cussl01s01c01alun088bal Total Capacity, Used Capacity in comma separated")
- .build())
- .property(
-
- Property
- .builder()
- .value("[Totalcapacity=1335915184129,UsedCapacity=549755813889]")
- .key("cussl01s01c01alun089bal")
- .label("Datastore Capacity")
- .description(
- "Datastore cussl01s01c01alun089bal Total Capacity, Used Capacity in comma separated")
- .build()).property(
-
- Property.builder().value(
- "[name=3282176-1949-bal-tier01,ip=0.0.0.0,mac=00:50:56:8c:3f:3c]")
- .key("customerPortprofile").label("customerPortprofile")
- .description("customerPortprofile").build()).property(
-
- Property.builder().value(
- "[name=vm-server-mgmt,ip=0.0.0.0,mac=00:50:56:8c:39:75]").key(
- "savvisPortprofile").label("savvisPortprofile").description(
- "savvisPortprofile").build()).build()).virtualHardwareSection(
- VirtualHardwareSection.builder().info("UUID=52254cd2-d848-4e7d-b8f3-3d257fed7666").system(
- VirtualSystemSettingData.builder().description("Virtual Hardware Family").elementName(
- "znHost2").instanceID("1").virtualSystemIdentifier("znHost2").build()).item(
- ResourceAllocationSettingData.builder().allocationUnits("3 GHz").description(
- "Number of Virtual CPUs").elementName("1 CPU").instanceID("2").resourceType(
- ResourceType.PROCESSOR).virtualQuantity(1l).build()).item(
- ResourceAllocationSettingData.builder().allocationUnits("Gigabytes").description(
- "Memory Size").elementName("Memory").instanceID("3").resourceType(
- ResourceType.MEMORY).virtualQuantity(2l).build()).item(
- ResourceAllocationSettingData.builder().connection("VM Tier01").elementName("Network")
- .instanceID("4").resourceType(ResourceType.ETHERNET_ADAPTER).virtualQuantity(
- 1l).build()).item(
- ResourceAllocationSettingData.builder().allocationUnits("Gigabytes")
- .caption("1234567").description("Hard Disk").elementName("C:\\")
- .hostResource("boot").instanceID("5").resourceType(
- ResourceType.BASE_PARTITIONABLE_UNIT).virtualQuantity(25l).build())
- .item(
- ResourceAllocationSettingData.builder().allocationUnits("Gigabytes").caption(
- "1234568").description("Hard Disk").elementName("D:\\")
- .hostResource("data").instanceID("6").resourceType(
- ResourceType.PARTITIONABLE_UNIT).virtualQuantity(50l)
- .build()).build())
-
- .build();
- assertEquals(result, expected);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/capture-vapp-template-default.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/capture-vapp-template-default.xml b/savvis-symphonyvpdc/src/test/resources/capture-vapp-template-default.xml
deleted file mode 100644
index ffc4ebb..0000000
--- a/savvis-symphonyvpdc/src/test/resources/capture-vapp-template-default.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><CaptureVAppParams xmlns="http://schemas.api.sandbox.savvis.net/vpdci" name="CaptureTemplate"><Description>Save Template</Description><Source href="https://api.savvis.net/vpdc/v1.0/org/100000.0/vdc/2736/vApp/1001"/></CaptureVAppParams>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/cloneVApp-default.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/cloneVApp-default.xml b/savvis-symphonyvpdc/src/test/resources/cloneVApp-default.xml
deleted file mode 100644
index e9cc88e..0000000
--- a/savvis-symphonyvpdc/src/test/resources/cloneVApp-default.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><CloneVAppParams xmlns="http://www.vmware.com/vcloud/v0.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" deploy="true" name="clonedvm" powerOn="true" xsi:schemaLocation="http://www.vmware.com/vcloud/v0.8 https://api.savvis.net/ns/vcloud.xsd"><Description>VM Tier01</Description><VApp href="https://api.savvis.net/vpdc/v1.0/org/100000.0/vdc/2736/vApp/" type="application/vnd.vmware.vcloud.vApp+xml"/></CloneVAppParams>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/firewallService-default.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/firewallService-default.xml b/savvis-symphonyvpdc/src/test/resources/firewallService-default.xml
deleted file mode 100644
index 9f837a2..0000000
--- a/savvis-symphonyvpdc/src/test/resources/firewallService-default.xml
+++ /dev/null
@@ -1 +0,0 @@
-<svvs:FirewallService xmlns:svvs="http://schemas.api.sandbox.savvis.net/vpdci" xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"><svvs:FirewallRule><svvs:IsEnabled>true</svvs:IsEnabled><svvs:Description>Server Tier Firewall Rule</svvs:Description><svvs:Type>SERVER_TIER_FIREWALL</svvs:Type><svvs:Log>no</svvs:Log><svvs:Policy>allow</svvs:Policy><svvs:Protocols><svvs:Tcp>true</svvs:Tcp></svvs:Protocols><svvs:Port>22</svvs:Port><svvs:Destination>VM Tier01</svvs:Destination><svvs:Source>internet</svvs:Source></svvs:FirewallRule></svvs:FirewallService>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/firewallService.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/firewallService.xml b/savvis-symphonyvpdc/src/test/resources/firewallService.xml
deleted file mode 100644
index 4b4ae33..0000000
--- a/savvis-symphonyvpdc/src/test/resources/firewallService.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<svvs:FirewallService xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
- xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
- xmlns:svvs="http://schemas.api.sandbox.savvis.net/vpdci">
- <svvs:IsEnabled>false</svvs:IsEnabled>
- <svvs:FirewallRule>
- <svvs:IsEnabled>true</svvs:IsEnabled>
- <svvs:Description>Server Tier Firewall Rule</svvs:Description>
- <svvs:Type>SERVER_TIER_FIREWALL</svvs:Type>
- <svvs:Log>no</svvs:Log>
- <svvs:Policy>allow</svvs:Policy>
- <svvs:Protocols>
- <svvs:Tcp>true</svvs:Tcp>
- </svvs:Protocols>
- <svvs:Port>22</svvs:Port>
- <svvs:Destination>VM Tier01</svvs:Destination>
- <svvs:Source>internet</svvs:Source>
- </svvs:FirewallRule>
- <svvs:FirewallRule>
- <svvs:IsEnabled>true</svvs:IsEnabled>
- <svvs:Description>Server Tier Firewall Rule</svvs:Description>
- <svvs:Type>SERVER_TIER_FIREWALL</svvs:Type>
- <svvs:Log>no</svvs:Log>
- <svvs:Policy>allow</svvs:Policy>
- <svvs:Protocols>
- <svvs:Icmp-ping>true</svvs:Icmp-ping>
- </svvs:Protocols>
- <svvs:Port></svvs:Port>
- <svvs:Destination>VM Tier03</svvs:Destination>
- <svvs:Source>VM Tier03</svvs:Source>
- </svvs:FirewallRule>
-</svvs:FirewallService>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/log4j.xml b/savvis-symphonyvpdc/src/test/resources/log4j.xml
deleted file mode 100644
index 63810d3..0000000
--- a/savvis-symphonyvpdc/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
- <!--
- For more configuration infromation and examples see the Apache
- Log4j website: http://logging.apache.org/log4j/
- -->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
- debug="false">
-
- <!-- A time/date based rolling appender -->
- <appender name="WIREFILE" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="target/test-data/jclouds-wire.log" />
- <param name="Append" value="true" />
-
- <!-- Rollover at midnight each day -->
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
- <param name="Threshold" value="TRACE" />
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
- <!--
- The full pattern: Date MS Priority [Category]
- (Thread:NDC) Message\n <param name="ConversionPattern"
- value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
- -->
- </layout>
- </appender>
-
- <!-- A time/date based rolling appender -->
- <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="target/test-data/jclouds.log" />
- <param name="Append" value="true" />
-
- <!-- Rollover at midnight each day -->
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
- <param name="Threshold" value="TRACE" />
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
- <!--
- The full pattern: Date MS Priority [Category]
- (Thread:NDC) Message\n <param name="ConversionPattern"
- value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
- -->
- </layout>
- </appender>
-
- <!-- A time/date based rolling appender -->
- <appender name="COMPUTEFILE" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="target/test-data/jclouds-compute.log" />
- <param name="Append" value="true" />
-
- <!-- Rollover at midnight each day -->
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
- <param name="Threshold" value="TRACE" />
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
- <!--
- The full pattern: Date MS Priority [Category]
- (Thread:NDC) Message\n <param name="ConversionPattern"
- value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
- -->
- </layout>
- </appender>
-
- <!-- A time/date based rolling appender -->
- <appender name="SSHFILE" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="target/test-data/jclouds-ssh.log" />
- <param name="Append" value="true" />
-
- <!-- Rollover at midnight each day -->
- <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
- <param name="Threshold" value="TRACE" />
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
- <!--
- The full pattern: Date MS Priority [Category]
- (Thread:NDC) Message\n <param name="ConversionPattern"
- value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
- -->
- </layout>
- </appender>
-
- <appender name="ASYNCCOMPUTE" class="org.apache.log4j.AsyncAppender">
- <appender-ref ref="COMPUTEFILE" />
- </appender>
-
- <appender name="ASYNCSSH" class="org.apache.log4j.AsyncAppender">
- <appender-ref ref="SSHFILE" />
- </appender>
-
- <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
- <appender-ref ref="FILE" />
- </appender>
-
- <appender name="ASYNCWIRE" class="org.apache.log4j.AsyncAppender">
- <appender-ref ref="WIREFILE" />
- </appender>
-
- <!-- ================ -->
- <!-- Limit categories -->
- <!-- ================ -->
-
- <category name="org.jclouds">
- <priority value="DEBUG" />
- <appender-ref ref="ASYNC" />
- </category>
-
- <category name="jclouds.headers">
- <priority value="DEBUG" />
- <appender-ref ref="ASYNCWIRE" />
- </category>
-
- <category name="jclouds.ssh">
- <priority value="DEBUG" />
- <appender-ref ref="ASYNCSSH" />
- </category>
-
- <category name="jclouds.wire">
- <priority value="DEBUG" />
- <appender-ref ref="ASYNCWIRE" />
- </category>
-
- <category name="jclouds.compute">
- <priority value="TRACE" />
- <appender-ref ref="ASYNCCOMPUTE" />
- </category>
- <!-- ======================= -->
- <!-- Setup the Root category -->
- <!-- ======================= -->
-
- <root>
- <priority value="WARN" />
- </root>
-
-</log4j:configuration>
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/network-nat.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/network-nat.xml b/savvis-symphonyvpdc/src/test/resources/network-nat.xml
deleted file mode 100644
index 0de09a6..0000000
--- a/savvis-symphonyvpdc/src/test/resources/network-nat.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Network xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="VM Tier01"
- type="application/vnd.vmware.vcloud.network+xml">
- <vApp:Configuration>
- <vApp:Gateway>1.1.1.1</vApp:Gateway>
- <vApp:Netmask>2.2.2.2</vApp:Netmask>
- </vApp:Configuration>
- <vApp:Features>
- <vApp:FenceMode>allowInOut</vApp:FenceMode>
- <vApp:Nat>
- <vApp:NatRule internalIP="3.3.3.3" externalIP="4.4.4.4"/>
- <vApp:NatRule internalIP="3.3.3.4" externalIP="4.4.4.5"/>
- </vApp:Nat>
- </vApp:Features>
-</vApp:Network>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/network-unused.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/network-unused.xml b/savvis-symphonyvpdc/src/test/resources/network-unused.xml
deleted file mode 100644
index 5cade31..0000000
--- a/savvis-symphonyvpdc/src/test/resources/network-unused.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Network xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="VM Tier01"
- type="application/vnd.vmware.vcloud.network+xml">
- <vApp:Configuration>
- <vApp:Gateway>0.0.0.0</vApp:Gateway>
- <vApp:Netmask>0.0.0.0</vApp:Netmask>
- </vApp:Configuration>
- <vApp:Features>
- <vApp:FenceMode>allowInOut</vApp:FenceMode>
- </vApp:Features>
-</vApp:Network>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/network.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/network.xml b/savvis-symphonyvpdc/src/test/resources/network.xml
deleted file mode 100644
index 43b568b..0000000
--- a/savvis-symphonyvpdc/src/test/resources/network.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Network xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="VM-Tier01" type="application/vnd.vmware.vcloud.network+xml">
- <vApp:Configuration>
- <vApp:Gateway>1.1.1.1</vApp:Gateway>
- <vApp:Netmask>255.255.255.240</vApp:Netmask>
- </vApp:Configuration>
- <vApp:Features>
- <vApp:FenceMode>allowInOut</vApp:FenceMode>
- </vApp:Features>
-</vApp:Network>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/networkconfigsection.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/networkconfigsection.xml b/savvis-symphonyvpdc/src/test/resources/networkconfigsection.xml
deleted file mode 100644
index a1f7cd7..0000000
--- a/savvis-symphonyvpdc/src/test/resources/networkconfigsection.xml
+++ /dev/null
@@ -1,13 +0,0 @@
- <ovf:Section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="vApp:NetworkConfigSectionType"
- Network="VM Tier01" Gateway="0.0.0.0" Netmask="0.0.0.0">
- <ovf:Info>MAC=00:00:00:00:00:00</ovf:Info>
- <vApp:NetworkConfig>
- <vApp:Features>
- <vApp:FenceMode>allowInOut</vApp:FenceMode>
- <vApp:Dhcp>true</vApp:Dhcp>
- <vApp:Nat>
- <vApp:NatRule internalIP="10.76.2.4" externalIP="206.24.124.1"/>
- </vApp:Nat>
- </vApp:Features>
- </vApp:NetworkConfig>
- </ovf:Section>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/networkconnectionsection.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/networkconnectionsection.xml b/savvis-symphonyvpdc/src/test/resources/networkconnectionsection.xml
deleted file mode 100644
index c241b04..0000000
--- a/savvis-symphonyvpdc/src/test/resources/networkconnectionsection.xml
+++ /dev/null
@@ -1,5 +0,0 @@
- <ovf:Section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="vApp:NetworkConnectionType"
- Network="VM Tier01">
- <ovf:Info>Read only description of a network connection to a deployed vApp</ovf:Info>
- <vApp:IpAddress>10.76.0.5</vApp:IpAddress>
- </ovf:Section>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/org.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/org.xml b/savvis-symphonyvpdc/src/test/resources/org.xml
deleted file mode 100644
index 090c043..0000000
--- a/savvis-symphonyvpdc/src/test/resources/org.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Org xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="100000.0">
- <vApp:Link name="demo_vpdcname" type="application/vnd.vmware.vcloud.vdc+xml" href="https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736" rel="down"/>
- <vApp:Description>SAVVISStation Integration Testing</vApp:Description>
-</vApp:Org>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/org_no_vdc.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/org_no_vdc.xml b/savvis-symphonyvpdc/src/test/resources/org_no_vdc.xml
deleted file mode 100644
index 5c41ab6..0000000
--- a/savvis-symphonyvpdc/src/test/resources/org_no_vdc.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Org xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="100000.0">
- <vApp:Description>SAVVISStation Integration Testing</vApp:Description>
-</vApp:Org>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/orglist.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/orglist.xml b/savvis-symphonyvpdc/src/test/resources/orglist.xml
deleted file mode 100644
index 10834ac..0000000
--- a/savvis-symphonyvpdc/src/test/resources/orglist.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:OrgList xmlns:vApp="http://www.vmware.com/vcloud/v0.8">
- <vApp:Org name="SAVVISStation Integration Testing" type="application/vnd.vmware.vcloud.org+xml" href="https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0"/>
-</vApp:OrgList>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-error.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-error.xml b/savvis-symphonyvpdc/src/test/resources/task-error.xml
deleted file mode 100644
index 32ef2b6..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-error.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
- xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
- <vApp:Task endTime="2010-05-26T08:09:09.000+08:00" startTime="2010-05-26T08:08:08.000+08:00" status="error">
- <vApp:Error vendorSpecificErrorCode="0" minorErrorCode="0" majorErrorCode="0"
- message="There is an internal exception occured in System, please kindly contact savvis support team to get solution."/>
- </vApp:Task>
-</vApp:TasksList>
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-failed.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-failed.xml b/savvis-symphonyvpdc/src/test/resources/task-failed.xml
deleted file mode 100644
index 8e27779..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-failed.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
- xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
- <vApp:Task endTime="2010-05-26T08:09:09.000+08:00" startTime="2010-05-26T08:08:08.000+08:00" status="error"
- type="application/vnd.vmware.vcloud.task+xml" href="https://api.savvis.net/rest/api/v0.8/task/6904-123">
- <vApp:Owner name="mockVpdc8" type="application/vnd.vmware.vcloud.vdc+xml"
- href="https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"/>
- <vApp:Result name="mock_vpdc_item_007" type="application/vnd.vmware.vcloud.vApp+xml"
- href="https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1002"/>
- </vApp:Task>
-</vApp:TasksList>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-invalidsize.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-invalidsize.xml b/savvis-symphonyvpdc/src/test/resources/task-invalidsize.xml
deleted file mode 100644
index 7b57719..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-invalidsize.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"><vApp:Task status="error"><vApp:Error vendorSpecificErrorCode="1016" minorErrorCode="471" majorErrorCode="500" message="The vApp CPU : {3 GHz * 1} and Memory : {1} is not to be supported."/></vApp:Task></vApp:TasksList>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-queued.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-queued.xml b/savvis-symphonyvpdc/src/test/resources/task-queued.xml
deleted file mode 100644
index c37e1db..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-queued.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
- <vApp:Task startTime="2011-03-24T20:37:34.000Z" status="queued" href="https://api.savvis.net/rest/api/v0.8/task/113927-1005">
- <vApp:Owner name="Foo" type="application/vnd.vmware.vcloud.vdc+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/4253"/>
- <vApp:Result name="adriancole" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/4253/vApp/1005"/>
- </vApp:Task>
-</vApp:TasksList>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-running.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-running.xml b/savvis-symphonyvpdc/src/test/resources/task-running.xml
deleted file mode 100644
index 7150acc..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-running.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
- xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
- <!--If Task status is running, Savvis is not displaying endTime.-->
- <vApp:Task startTime="2010-05-26T08:08:08.000+08:00" status="running" type="application/vnd.vmware.vcloud.task+xml"
- href="https://api.savvis.net/rest/api/v0.8/task/6904">
- <vApp:Owner name="mockVpdc8" type="application/vnd.vmware.vcloud.vdc+xml"
- href="https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"/>
- <vApp:Result name="mock_vpdc_item_007" type="application/vnd.vmware.vcloud.catalogItem+xml"
- href="https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1002"/>
- </vApp:Task>
-</vApp:TasksList>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-undeployedvdc.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-undeployedvdc.xml b/savvis-symphonyvpdc/src/test/resources/task-undeployedvdc.xml
deleted file mode 100644
index 26b6438..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-undeployedvdc.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"><vApp:Task status="error"><vApp:Error vendorSpecificErrorCode="-1" minorErrorCode="0" majorErrorCode="500" message="Please finish your previously deployment for vpdcId:1619"/></vApp:Task></vApp:TasksList>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-unsupported.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-unsupported.xml b/savvis-symphonyvpdc/src/test/resources/task-unsupported.xml
deleted file mode 100644
index 9987b40..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-unsupported.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
- xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
- <vApp:Task endTime="2010-05-26T08:09:09.000+08:00" startTime="2010-05-26T08:08:08.000+08:00" status="None"
- type="application/vnd.vmware.vcloud.task+xml" href="https://api.savvis.net/rest/api/v0.8/task/3904-1002">
- <vApp:Error vendorSpecificErrorCode="3000" minorErrorCode="-1" majorErrorCode="500"
- message="your requested task id is not found. Please contact Savvis Administrator for further assistance/clarification "/>
- </vApp:Task>
-</vApp:TasksList>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-vapp.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-vapp.xml b/savvis-symphonyvpdc/src/test/resources/task-vapp.xml
deleted file mode 100644
index 0cd66df..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-vapp.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
- xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
- <vApp:Task endTime="2010-05-26T08:09:09.000+08:00" startTime="2010-05-26T08:08:08.000+08:00" status="success"
- type="application/vnd.vmware.vcloud.task+xml" href="https://api.savvis.net/rest/api/v0.8/task/21-1002">
- <vApp:Owner name="mockVpdc8" type="application/vnd.vmware.vcloud.vdc+xml"
- href="https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"/>
- <vApp:Result name="mock_vpdc_item_007" type="application/vnd.vmware.vcloud.vApp+xml"
- href="https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1002"/>
- </vApp:Task>
-</vApp:TasksList>
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/task-vmdk.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/task-vmdk.xml b/savvis-symphonyvpdc/src/test/resources/task-vmdk.xml
deleted file mode 100644
index b687c78..0000000
--- a/savvis-symphonyvpdc/src/test/resources/task-vmdk.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:TasksList xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
- xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1">
- <vApp:Task endTime="2010-05-26T08:09:09.000+08:00" startTime="2010-05-26T08:08:08.000+08:00" status="success"
- type="application/vnd.vmware.vcloud.task+xml" href="https://api.savvis.net/rest/api/v0.8/task/21-1002">
- <vApp:Owner name="mockVpdc8" type="application/vnd.vmware.vcloud.vdc+xml"
- href="https://api.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736"/>
- <vApp:Result name="mock_vpdc_item_008" type="application/vnd.vmware.vcloud.vApp+xml"
- href="https://api.savvis.net/rest/api/v0.8/vdc/2736/vmdk/1234567"/>
- </vApp:Task>
-</vApp:TasksList>
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/vdc-1net.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/vdc-1net.xml b/savvis-symphonyvpdc/src/test/resources/vdc-1net.xml
deleted file mode 100644
index 5d18579..0000000
--- a/savvis-symphonyvpdc/src/test/resources/vdc-1net.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Vdc xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="demo6" type="application/vnd.vmware.vcloud.vdc+xml">
- <vApp:Description>ServiceProfileName = Essential; ServiceLocation = US_WEST; Email = red@chair.com;</vApp:Description>
- <vApp:OfferingTag>Deployed</vApp:OfferingTag>
- <vApp:ResourceEntities>
- <vApp:ResourceEntity name="Host1" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/vApp/1001"/>
- <vApp:ResourceEntity name="Host2" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/vApp/1002"/>
- <vApp:ResourceEntity name="Host3" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/vApp/1003"/>
- <vApp:ResourceEntity name="Host4" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/vApp/1004"/>
- </vApp:ResourceEntities>
- <vApp:AvailableNetworks>
- <vApp:Network name="VM Tier01" type="application/vnd.vmware.vcloud.network+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1619/network/VM-Tier01"/>
- </vApp:AvailableNetworks>
-</vApp:Vdc>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/vdc-failed.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/vdc-failed.xml b/savvis-symphonyvpdc/src/test/resources/vdc-failed.xml
deleted file mode 100644
index a995dbe..0000000
--- a/savvis-symphonyvpdc/src/test/resources/vdc-failed.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Vdc xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="Demo7" type="application/vnd.vmware.vcloud.vdc+xml">
- <vApp:Description>ServiceProfileName = Essential; ServiceLocation = US_WEST; Email = red@chair.com;</vApp:Description>
- <vApp:OfferingTag>Failed</vApp:OfferingTag>
- <vApp:ResourceEntities>
- <vApp:ResourceEntity name="Host1" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1641/vApp/1001"/>
- </vApp:ResourceEntities>
- <vApp:AvailableNetworks>
- <vApp:Network name="VM Tier01" type="application/vnd.vmware.vcloud.network+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/1641/network/VM-Tier01"/>
- </vApp:AvailableNetworks>
-</vApp:Vdc>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/vdc-saved.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/vdc-saved.xml b/savvis-symphonyvpdc/src/test/resources/vdc-saved.xml
deleted file mode 100644
index 990e384..0000000
--- a/savvis-symphonyvpdc/src/test/resources/vdc-saved.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Vdc xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="CloudBurst1" type="application/vnd.vmware.vcloud.vdc+xml">
- <vApp:Description>ServiceProfileName = Essential; ServiceLocation = US_WEST; Email = me@my.com;</vApp:Description>
- <vApp:OfferingTag>Saved</vApp:OfferingTag>
- <vApp:ResourceEntities>
- <vApp:ResourceEntity name="templateHost" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/vApp/1001"/>
- <vApp:ResourceEntity name="host-c501" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/vApp/1037"/>
- <vApp:ResourceEntity name="host-c501" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/vApp/1038"/>
- <vApp:ResourceEntity name="host-c601" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/vApp/1039"/>
- </vApp:ResourceEntities>
- <vApp:AvailableNetworks>
- <vApp:Network name="VM Tier01" type="application/vnd.vmware.vcloud.network+xml" href="https://api.savvis.net/rest/api/v0.8/org/606677.0/vdc/2555/network/VM-Tier01"/>
- </vApp:AvailableNetworks>
-</vApp:Vdc>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/vdc.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/vdc.xml b/savvis-symphonyvpdc/src/test/resources/vdc.xml
deleted file mode 100644
index fc74367..0000000
--- a/savvis-symphonyvpdc/src/test/resources/vdc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Vdc xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="demo_vpdcname" type="application/vnd.vmware.vcloud.vdc+xml">
- <vApp:Description>ServiceProfileName = Balanced; ServiceLocation = North America; Email = jim@company.com;</vApp:Description>
- <vApp:OfferingTag>Deployed</vApp:OfferingTag>
- <vApp:ResourceEntities>
- <vApp:ResourceEntity name="DemoHost-1" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1001"/>
- <vApp:ResourceEntity name="DemoHost-2" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1002"/>
- <vApp:ResourceEntity name="DemoHost-3" type="application/vnd.vmware.vcloud.vApp+xml" href="https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vApp/1003"/>
- <vApp:ResourceEntity name="CustomerTemplateName" type="application/vnd.vmware.vcloud.vAppTemplate+xml" href="https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/vAppTemplate/1234"/>
- <vApp:ResourceEntity name="firewall" type="api.savvis.net+xml" href="https://api.sandbox.savvis.net/rest/api/v0.8/org/100000.0/vdc/2736/FirewallService"/>
- </vApp:ResourceEntities>
- <vApp:AvailableNetworks/>
-</vApp:Vdc>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/vm-default.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/vm-default.xml b/savvis-symphonyvpdc/src/test/resources/vm-default.xml
deleted file mode 100644
index 271ddcf..0000000
--- a/savvis-symphonyvpdc/src/test/resources/vm-default.xml
+++ /dev/null
@@ -1 +0,0 @@
-<vApp:VApp xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" href="" name="DemoHost-1" type="application/vnd.vmware.vcloud.vApp+xml"><ovf:OperatingSystemSection ovf:id="80"><ovf:Info>Specifies the operating system installed</ovf:Info><ovf:Description>Red Hat Enterprise Linux 5.x 64bit</ovf:Description></ovf:OperatingSystemSection><ovf:VirtualHardwareSection><ovf:Info>Virtual Hardware</ovf:Info><ovf:System><vssd:Description>Virtual Hardware Family</vssd:Description><vssd:ElementName>DemoHost-1</vssd:ElementName><vssd:InstanceID>1</vssd:InstanceID><vssd:VirtualSystemIdentifier>DemoHost-1</vssd:VirtualSystemIdentifier></ovf:System><ovf:Item><rasd:AllocationUnits>3 GHz</rasd:AllocationUnits><rasd
:Description>Number of Virtual CPUs</rasd:Description><rasd:ElementName>1 CPU</rasd:ElementName><rasd:InstanceID>1</rasd:InstanceID><rasd:ResourceType>3</rasd:ResourceType><rasd:VirtualQuantity>1</rasd:VirtualQuantity></ovf:Item><ovf:Item><rasd:AllocationUnits>Gigabytes</rasd:AllocationUnits><rasd:Description>Memory Size</rasd:Description><rasd:ElementName>Memory</rasd:ElementName><rasd:InstanceID>2</rasd:InstanceID><rasd:ResourceType>4</rasd:ResourceType><rasd:VirtualQuantity>1</rasd:VirtualQuantity></ovf:Item><ovf:Item><rasd:Caption>false</rasd:Caption><rasd:Connection>VM Tier01</rasd:Connection><rasd:ElementName>Network</rasd:ElementName><rasd:InstanceID>3</rasd:InstanceID><rasd:ResourceType>10</rasd:ResourceType><rasd:VirtualQuantity>1</rasd:VirtualQuantity></ovf:Item><ovf:Item><rasd:AllocationUnits>Gigabytes</rasd:AllocationUnits><rasd:Caption/><rasd:Description>Hard Disk</rasd:Description><rasd:ElementName>/</rasd:ElementName><rasd:HostResource>boot</rasd:HostResource><rasd:In
stanceID>4</rasd:InstanceID><rasd:ResourceType>27</rasd:ResourceType><rasd:VirtualQuantity>25</rasd:VirtualQuantity></ovf:Item></ovf:VirtualHardwareSection></vApp:VApp>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/vm-multiple-default.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/vm-multiple-default.xml b/savvis-symphonyvpdc/src/test/resources/vm-multiple-default.xml
deleted file mode 100644
index c3f8c4d..0000000
--- a/savvis-symphonyvpdc/src/test/resources/vm-multiple-default.xml
+++ /dev/null
@@ -1 +0,0 @@
-<vApp:VApp xmlns:vApp="http://www.vmware.com/vcloud/v0.8" xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" name=""><vApp:Children><vApp:VApp name="Test VM" type="application/vnd.vmware.vcloud.vApp+xml"><ovf:OperatingSystemSection ovf:id="80"><ovf:Info>Specifies the operating system installed</ovf:Info><ovf:Description>Red Hat Enterprise Linux 5.x 64bit</ovf:Description></ovf:OperatingSystemSection><ovf:VirtualHardwareSection><ovf:Info>Virtual Hardware</ovf:Info><ovf:System><vssd:Description>Virtual Hardware Family</vssd:Description><vssd:ElementName>Test VM</vssd:ElementName><vssd:InstanceID>1</vssd:InstanceID><vssd:VirtualSystemIdentifier>Test VM</vssd:VirtualSystemIdentifier></ovf:System><ovf:Item><rasd:AllocationUnits>3 GHz</rasd:Allo
cationUnits><rasd:Description>Number of Virtual CPUs</rasd:Description><rasd:ElementName>1 CPU</rasd:ElementName><rasd:InstanceID>1</rasd:InstanceID><rasd:ResourceType>3</rasd:ResourceType><rasd:VirtualQuantity>1</rasd:VirtualQuantity></ovf:Item><ovf:Item><rasd:AllocationUnits>Gigabytes</rasd:AllocationUnits><rasd:Description>Memory Size</rasd:Description><rasd:ElementName>Memory</rasd:ElementName><rasd:InstanceID>2</rasd:InstanceID><rasd:ResourceType>4</rasd:ResourceType><rasd:VirtualQuantity>1</rasd:VirtualQuantity></ovf:Item><ovf:Item><rasd:Caption>false</rasd:Caption><rasd:Connection>VM Tier01</rasd:Connection><rasd:ElementName>Network</rasd:ElementName><rasd:InstanceID>3</rasd:InstanceID><rasd:ResourceType>10</rasd:ResourceType><rasd:VirtualQuantity>1</rasd:VirtualQuantity></ovf:Item><ovf:Item><rasd:AllocationUnits>Gigabytes</rasd:AllocationUnits><rasd:Caption/><rasd:Description>Hard Disk</rasd:Description><rasd:ElementName>/</rasd:ElementName><rasd:HostResource>boot</rasd:Host
Resource><rasd:InstanceID>4</rasd:InstanceID><rasd:ResourceType>27</rasd:ResourceType><rasd:VirtualQuantity>25</rasd:VirtualQuantity></ovf:Item></ovf:VirtualHardwareSection></vApp:VApp></vApp:Children></vApp:VApp>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/test/resources/vm-withdisks.xml
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/test/resources/vm-withdisks.xml b/savvis-symphonyvpdc/src/test/resources/vm-withdisks.xml
deleted file mode 100644
index 0de09a6..0000000
--- a/savvis-symphonyvpdc/src/test/resources/vm-withdisks.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<vApp:Network xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:vApp="http://www.vmware.com/vcloud/v0.8"
- xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
- xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
- xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" name="VM Tier01"
- type="application/vnd.vmware.vcloud.network+xml">
- <vApp:Configuration>
- <vApp:Gateway>1.1.1.1</vApp:Gateway>
- <vApp:Netmask>2.2.2.2</vApp:Netmask>
- </vApp:Configuration>
- <vApp:Features>
- <vApp:FenceMode>allowInOut</vApp:FenceMode>
- <vApp:Nat>
- <vApp:NatRule internalIP="3.3.3.3" externalIP="4.4.4.4"/>
- <vApp:NatRule internalIP="3.3.3.4" externalIP="4.4.4.5"/>
- </vApp:Nat>
- </vApp:Features>
-</vApp:Network>
\ No newline at end of file
[6/7] Remove savvis-symphonyvpdc,
which hasn't been published in over a year.
Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/config/VPDCRestClientModule.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/config/VPDCRestClientModule.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/config/VPDCRestClientModule.java
deleted file mode 100644
index 9d8a444..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/config/VPDCRestClientModule.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.config;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
-import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL;
-import static org.jclouds.rest.config.BinderUtils.bindHttpApi;
-import static org.jclouds.savvis.vpdc.reference.VPDCConstants.PROPERTY_VPDC_TIMEOUT_TASK_COMPLETED;
-import static org.jclouds.util.Predicates2.retry;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.CIMOperatingSystem;
-import org.jclouds.domain.Credentials;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.http.annotation.Redirection;
-import org.jclouds.http.annotation.ServerError;
-import org.jclouds.json.Json;
-import org.jclouds.location.Provider;
-import org.jclouds.location.suppliers.ImplicitLocationSupplier;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.config.RestClientModule;
-import org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier;
-import org.jclouds.savvis.vpdc.VPDCApi;
-import org.jclouds.savvis.vpdc.VPDCAsyncApi;
-import org.jclouds.savvis.vpdc.domain.internal.VCloudSession;
-import org.jclouds.savvis.vpdc.features.BrowsingApi;
-import org.jclouds.savvis.vpdc.features.BrowsingAsyncApi;
-import org.jclouds.savvis.vpdc.features.FirewallApi;
-import org.jclouds.savvis.vpdc.features.FirewallAsyncApi;
-import org.jclouds.savvis.vpdc.features.ServiceManagementApi;
-import org.jclouds.savvis.vpdc.features.ServiceManagementAsyncApi;
-import org.jclouds.savvis.vpdc.features.VMApi;
-import org.jclouds.savvis.vpdc.features.VMAsyncApi;
-import org.jclouds.savvis.vpdc.handlers.VPDCErrorHandler;
-import org.jclouds.savvis.vpdc.internal.LoginApi;
-import org.jclouds.savvis.vpdc.internal.LoginAsyncApi;
-import org.jclouds.savvis.vpdc.internal.VCloudToken;
-import org.jclouds.savvis.vpdc.location.FirstNetwork;
-import org.jclouds.savvis.vpdc.predicates.TaskSuccess;
-import org.jclouds.util.Strings2;
-
-import com.google.common.base.Function;
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
-import com.google.common.base.Predicate;
-import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-import com.google.inject.Injector;
-import com.google.inject.Provides;
-import com.google.inject.Scopes;
-import com.google.inject.TypeLiteral;
-
-@ConfiguresRestClient
-public class VPDCRestClientModule extends RestClientModule<VPDCApi, VPDCAsyncApi> {
- @Override
- protected void configure() {
- super.configure();
- bindHttpApi(binder(), LoginApi.class, LoginAsyncApi.class);
- }
-
- @VCloudToken
- @Provides
- @Singleton
- protected Supplier<String> provideVCloudToken(Supplier<VCloudSession> cache) {
- return Suppliers.compose(new Function<VCloudSession, String>() {
-
- @Override
- public String apply(VCloudSession input) {
- return checkNotNull(input.getVCloudToken(), "No token present in session");
- }
-
- }, cache);
- }
-
- @Provides
- @org.jclouds.savvis.vpdc.internal.Org
- @Singleton
- protected Supplier<Set<org.jclouds.savvis.vpdc.domain.Resource>> provideOrgs(Supplier<VCloudSession> cache,
- @org.jclouds.location.Provider final Supplier<Credentials> creds) {
- return Suppliers.compose(new Function<VCloudSession, Set<org.jclouds.savvis.vpdc.domain.Resource>>() {
-
- @Override
- public Set<org.jclouds.savvis.vpdc.domain.Resource> apply(VCloudSession input) {
- checkState(input.getOrgs().size() > 0, "No orgs present for user: " + creds.get());
- return input.getOrgs();
- }
-
- }, cache);
- }
-
- @Provides
- @org.jclouds.savvis.vpdc.internal.Org
- @Singleton
- protected Supplier<String> provideDefaultOrgId(
- @org.jclouds.savvis.vpdc.internal.Org Supplier<Set<org.jclouds.savvis.vpdc.domain.Resource>> orgs) {
- return Suppliers.compose(new Function<Set<org.jclouds.savvis.vpdc.domain.Resource>, String>() {
-
- @Override
- public String apply(Set<org.jclouds.savvis.vpdc.domain.Resource> input) {
- return Iterables.get(input, 0).getId();
- }
-
- }, orgs);
- }
-
- @Provides
- @Singleton
- protected Predicate<String> successTester(Injector injector,
- @Named(PROPERTY_VPDC_TIMEOUT_TASK_COMPLETED) long completed) {
- return retry(injector.getInstance(TaskSuccess.class), completed);
- }
-
- public static final Map<Class<?>, Class<?>> DELEGATE_MAP = ImmutableMap.<Class<?>, Class<?>> builder()//
- .put(BrowsingApi.class, BrowsingAsyncApi.class)//
- .put(VMApi.class, VMAsyncApi.class)//
- .put(FirewallApi.class, FirewallAsyncApi.class)//
- .put(ServiceManagementApi.class, ServiceManagementAsyncApi.class)//
- .build();
-
- public VPDCRestClientModule() {
- super(DELEGATE_MAP);
- }
-
- @Singleton
- @Provides
- protected Set<CIMOperatingSystem> provideOperatingSystems(Json json, @Provider String providerName)
- throws IOException {
- return json.fromJson(Strings2.toStringAndClose(getClass().getResourceAsStream(
- "/" + providerName + "/predefined_operatingsystems.json")), new TypeLiteral<Set<CIMOperatingSystem>>() {
- }.getType());
- }
-
- @Provides
- @Singleton
- protected Supplier<VCloudSession> provideVCloudTokenCache(@Named(PROPERTY_SESSION_INTERVAL) long seconds,
- final LoginApi login) {
- return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException,
- new Supplier<VCloudSession>() {
-
- @Override
- public VCloudSession get() {
- return login.login();
- }
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(login).add("method", "login").toString();
- }
- }, seconds, TimeUnit.SECONDS);
- }
-
- @Override
- protected void bindErrorHandlers() {
- bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(VPDCErrorHandler.class);
- bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(VPDCErrorHandler.class);
- bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(VPDCErrorHandler.class);
- }
-
- @Override
- protected void installLocations() {
- super.installLocations();
- bind(ImplicitLocationSupplier.class).to(FirstNetwork.class).in(Scopes.SINGLETON);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/FirewallRule.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/FirewallRule.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/FirewallRule.java
deleted file mode 100644
index 7fa18a7..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/FirewallRule.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import java.net.URI;
-
-import com.google.common.base.Objects;
-
-/**
- * API returns a firewall rule in a firewall service
- */
-public class FirewallRule extends ResourceImpl {
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder extends ResourceImpl.Builder {
-
- private String firewallType;
- private boolean isEnabled;
- private String source;
- private String destination;
- private String port;
- private String policy;
- private String description;
- private boolean isLogged;
- private String protocol;
-
- @Override
- public FirewallRule build() {
- return new FirewallRule(id, name, type, href, firewallType, isEnabled, source, destination, port,
- policy, description, isLogged, protocol);
- }
-
- public Builder firewallType(String firewallType) {
- this.firewallType = firewallType;
- return this;
- }
-
- public Builder isEnabled(boolean isEnabled) {
- this.isEnabled = isEnabled;
- return this;
- }
-
- public Builder source(String source) {
- this.source = source;
- return this;
- }
-
- public Builder destination(String destination) {
- this.destination = destination;
- return this;
- }
-
- public Builder port(String port) {
- this.port = port;
- return this;
- }
-
- public Builder policy(String policy) {
- this.policy = policy;
- return this;
- }
-
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- public Builder isLogged(boolean isLogged) {
- this.isLogged = isLogged;
- return this;
- }
-
- public Builder protocol(String protocol) {
- this.protocol = protocol;
- return this;
- }
-
- public static Builder fromFirewallRule(FirewallRule in) {
- return new Builder().id(in.getId()).name(in.getName()).type(in.getType()).href(in.getHref())
- .firewallType(in.getFirewallType()).isEnabled(in.isEnabled()).source(in.getSource())
- .destination(in.getDestination()).port(in.getPort()).policy(in.getPolicy()).description(in.getDescription())
- .isLogged(in.isLogged()).protocol(in.getProtocol());
- }
-
- @Override
- public Builder id(String id) {
- return Builder.class.cast(super.id(id));
- }
-
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- @Override
- public Builder type(String type) {
- return Builder.class.cast(super.type(type));
- }
-
- @Override
- public Builder href(URI href) {
- return Builder.class.cast(super.href(href));
- }
-
- }
-
- private final String firewallType;
- private final boolean isEnabled;
- private final String source;
- private final String destination;
- private final String port;
- private final String policy;
- private final String description;
- private final boolean isLogged;
- private final String protocol;
-
- public FirewallRule(String id, String name, String type, URI href, String firewallType, boolean isEnabled,
- String source, String destination, String port, String policy, String description, boolean isLogged, String protocol) {
- super(id, name, type, href);
- this.firewallType = firewallType;
- this.isEnabled = isEnabled;
- this.source = source;
- this.destination = destination;
- this.port = port;
- this.policy = policy;
- this.description = description;
- this.isLogged = isLogged;
- this.protocol = protocol;
- }
-
- @Override
- public Builder toBuilder() {
- return Builder.fromFirewallRule(this);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(firewallType, isEnabled, source, destination,
- port, policy, description, isLogged, protocol);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!(obj instanceof FirewallRule))
- return false;
- FirewallRule other = (FirewallRule) obj;
- return Objects.equal(firewallType, other.firewallType) &&
- isEnabled == other.isEnabled &&
- Objects.equal(source, other.source) &&
- Objects.equal(destination, other.destination) &&
- Objects.equal(port, other.port) &&
- Objects.equal(policy, other.policy) &&
- Objects.equal(description, other.description) &&
- isLogged == other.isLogged &&
- Objects.equal(protocol, other.protocol);
- }
-
- public boolean isEnabled() {
- return isEnabled;
- }
-
- public String getSource() {
- return source;
- }
-
- public String getDestination() {
- return destination;
- }
-
- public String getFirewallType() {
- return firewallType;
- }
-
- public String getPort() {
- return port;
- }
-
- public String getPolicy() {
- return policy;
- }
-
- public String getDescription() {
- return description;
- }
-
- public boolean isLogged() {
- return isLogged;
- }
-
- public String getProtocol() {
- return protocol;
- }
-
- @Override
- public String toString() {
- return "[firewallType=" + firewallType + ", isEnabled=" + isEnabled + ", description=" + description + ", source=" + source + ", destination=" + destination
- + ", port=" + port + ", protocol=" + protocol + ", policy=" + policy + ", isLogged=" + isLogged;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/FirewallService.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/FirewallService.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/FirewallService.java
deleted file mode 100644
index 5e4a6d6..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/FirewallService.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Set;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-
-/**
- * API returns the firewall service containing firewall rules for a given VDC
- */
-public class FirewallService extends ResourceImpl {
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder extends ResourceImpl.Builder {
- private boolean isEnabled;
- private Set<FirewallRule> firewallRules = Sets.newLinkedHashSet();
-
- @Override
- public FirewallService build() {
- return new FirewallService(id, name, type, href, isEnabled, firewallRules);
- }
-
- public Builder isEnabled(boolean isEnabled) {
- this.isEnabled = isEnabled;
- return this;
- }
-
- public Builder firewallRule(FirewallRule in) {
- this.firewallRules.add(checkNotNull(in, "firewallRule"));
- return this;
- }
-
- public Builder firewallRules(Set<FirewallRule> firewallRules) {
- this.firewallRules.addAll(checkNotNull(firewallRules, "firewallRules"));
- return this;
- }
-
- public static Builder fromFirewallService(FirewallService in) {
- return new Builder().id(in.getId()).name(in.getName()).type(in.getType()).href(in.getHref())
- .isEnabled(in.isEnabled()).firewallRules(in.getFirewallRules());
- }
-
- @Override
- public Builder id(String id) {
- return Builder.class.cast(super.id(id));
- }
-
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- @Override
- public Builder type(String type) {
- return Builder.class.cast(super.type(type));
- }
-
- @Override
- public Builder href(URI href) {
- return Builder.class.cast(super.href(href));
- }
-
- }
-
- private final boolean isEnabled;
- private final Set<FirewallRule> firewallRules;
-
- public FirewallService(String id, String name, String type, URI href, boolean isEnabled, Set<FirewallRule> firewallRules) {
- super(id, name, type, href);
- this.isEnabled = isEnabled;
- this.firewallRules = ImmutableSet.copyOf(checkNotNull(firewallRules, "firewallRules"));
- }
-
- @Override
- public Builder toBuilder() {
- return Builder.fromFirewallService(this);
- }
-
- public Set<FirewallRule> getFirewallRules() {
- return firewallRules;
- }
-
- public boolean isEnabled() {
- return isEnabled;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Link.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Link.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Link.java
deleted file mode 100644
index 81e091e..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Link.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import java.net.URI;
-
-/**
- * Location of a Rest resource
- */
-public class Link extends ResourceImpl {
- protected final String rel;
-
- public Link( String id,String name, String type, URI href, String rel) {
- super(id, name, type, href);
- this.rel = rel;
- }
-
- public String getRel() {
- return rel;
- }
-
- public int compareTo(Link that) {
- return (this == that) ? 0 : getHref().compareTo(that.getHref());
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((rel == null) ? 0 : rel.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- Link other = (Link) obj;
- if (rel == null) {
- if (other.rel != null)
- return false;
- } else if (!rel.equals(other.rel))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[id=" + id + ", href=" + href + ", name=" + name + ", type=" + type + ", rel=" + rel + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Network.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Network.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Network.java
deleted file mode 100644
index 44f408e..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Network.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Map;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-
-/**
- * Various network features such NAT Public IP, Gateway and Netmask.
- */
-public class Network extends ResourceImpl {
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder extends ResourceImpl.Builder {
- private String gateway;
- private String netmask;
- private Map<String, String> internalToExternalNATRules = Maps.newLinkedHashMap();
-
- public Builder gateway(String gateway) {
- this.gateway = gateway;
- return this;
- }
-
- public Builder netmask(String netmask) {
- this.netmask = netmask;
- return this;
- }
-
- public Builder internalToExternalNATRule(String internalIP, String externalIP) {
- this.internalToExternalNATRules.put(checkNotNull(internalIP, "internalIP"),
- checkNotNull(externalIP, "externalIP"));
- return this;
- }
-
- public Builder internalToExternalNATRules(Map<String, String> internalToExternalNATRules) {
- this.internalToExternalNATRules.putAll(checkNotNull(internalToExternalNATRules, "internalToExternalNATRules"));
- return this;
- }
-
- @Override
- public Network build() {
- return new Network(id, name, type, href, gateway, netmask, internalToExternalNATRules);
- }
-
- public static Builder fromNetwork(Network in) {
- return new Builder().id(in.getId()).name(in.getName()).type(in.getType()).href(in.getHref())
- .gateway(in.getGateway()).internalToExternalNATRules(in.getInternalToExternalNATRules())
- .netmask(in.getNetmask());
- }
-
- @Override
- public Builder id(String id) {
- return Builder.class.cast(super.id(id));
- }
-
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- @Override
- public Builder type(String type) {
- return Builder.class.cast(super.type(type));
- }
-
- @Override
- public Builder href(URI href) {
- return Builder.class.cast(super.href(href));
- }
-
- }
-
- @Nullable
- private final String gateway;
- private final String netmask;
- private final Map<String, String> internalToExternalNATRules;
-
- public Network(String id, String name, String type, URI href, @Nullable String gateway, String netmask,
- Map<String, String> internalToExternalNATRules) {
- super(id, name, type, href);
- this.gateway = gateway;
- this.netmask = netmask;
- this.internalToExternalNATRules = ImmutableMap.copyOf(checkNotNull(internalToExternalNATRules,
- "internalToExternalNATRules"));
- }
-
- /**
- * @return IP of the network's gateway
- */
- public String getGateway() {
- return gateway;
- }
-
- /**
- * @return IP of the network's netmask
- */
- public String getNetmask() {
- return netmask;
- }
-
- /**
- * @return map of internal to external ip when it has any nat1to1 enabled deployed VApp
- */
- public Map<String, String> getInternalToExternalNATRules() {
- return internalToExternalNATRules;
- }
-
- @Override
- public Builder toBuilder() {
- return Builder.fromNetwork(this);
- }
-
- @Override
- public String toString() {
- return "[id=" + id + ", href=" + href + ", name=" + name + ", type=" + type + ", gateway=" + gateway
- + ", netmask=" + netmask + ", internalToExternalNATRules=" + internalToExternalNATRules + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/NetworkConfigSection.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/NetworkConfigSection.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/NetworkConfigSection.java
deleted file mode 100644
index baf9e73..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/NetworkConfigSection.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import org.jclouds.ovf.Section;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-
-public class NetworkConfigSection extends Section<NetworkConfigSection> {
-
- @SuppressWarnings("unchecked")
- public static Builder builder() {
- return new Builder();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder toBuilder() {
- return builder().fromNetworkConfigSection(this);
- }
-
- public static class Builder extends Section.Builder<NetworkConfigSection> {
- private String network;
- private String fenceMode;
- private Boolean dhcp;
- private String gateway;
- private String netmask;
- private Map<String, String> internalToExternalNATRules = Maps.newLinkedHashMap();
-
- public Builder network(String network) {
- this.network = network;
- return this;
- }
-
- public Builder fenceMode(String fenceMode) {
- this.fenceMode = fenceMode;
- return this;
- }
-
- public Builder dhcp(Boolean dhcp) {
- this.dhcp = dhcp;
- return this;
- }
-
- public Builder gateway(String gateway) {
- this.gateway = gateway;
- return this;
- }
-
- public Builder netmask(String netmask) {
- this.netmask = netmask;
- return this;
- }
-
- public Builder internalToExternalNATRule(String internalIP, String externalIP) {
- this.internalToExternalNATRules.put(checkNotNull(internalIP, "internalIP"), checkNotNull(externalIP,
- "externalIP"));
- return this;
- }
-
- public Builder internalToExternalNATRules(Map<String, String> internalToExternalNATRules) {
- this.internalToExternalNATRules.putAll(checkNotNull(internalToExternalNATRules, "internalToExternalNATRules"));
- return this;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public NetworkConfigSection build() {
- return new NetworkConfigSection(info, network, fenceMode, dhcp, gateway, netmask, internalToExternalNATRules);
- }
-
- public Builder fromNetworkConfigSection(NetworkConfigSection in) {
- return fromSection(in).network(in.getNetwork()).fenceMode(in.getFenceMode()).dhcp(in.getDhcp()).gateway(
- in.getGateway()).netmask(in.getNetmask()).internalToExternalNATRules(
- in.getInternalToExternalNATRules());
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder fromSection(Section<NetworkConfigSection> in) {
- return Builder.class.cast(super.fromSection(in));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder info(String info) {
- return Builder.class.cast(super.info(info));
- }
-
- }
-
- private final String network;
- private final String fenceMode;
- private final Boolean dhcp;
- private final String gateway;
- private final String netmask;
- private final Map<String, String> internalToExternalNATRules;
-
- public NetworkConfigSection(String info, String network, String fenceMode, Boolean dhcp, String gateway,
- String netmask, Map<String, String> internalToExternalNATRules) {
- super(info);
- this.network = network;
- this.fenceMode = fenceMode;
- this.dhcp = dhcp;
- this.gateway = gateway;
- this.netmask = netmask;
- this.internalToExternalNATRules = ImmutableMap.copyOf(checkNotNull(internalToExternalNATRules,
- "internalToExternalNATRules"));
- }
-
- /**
- * @return IP of the network's gateway
- */
- public String getGateway() {
- return gateway;
- }
-
- /**
- * @return IP of the network's netmask
- */
- public String getNetmask() {
- return netmask;
- }
-
- /**
- * @return map of internal to external ip when it has any nat1to1 enabled deployed VApp
- */
- public Map<String, String> getInternalToExternalNATRules() {
- return internalToExternalNATRules;
- }
-
- public String getNetwork() {
- return network;
- }
-
- public String getFenceMode() {
- return fenceMode;
- }
-
- public Boolean getDhcp() {
- return dhcp;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((network == null) ? 0 : network.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- NetworkConfigSection other = (NetworkConfigSection) obj;
- if (network == null) {
- if (other.network != null)
- return false;
- } else if (!network.equals(other.network))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return String.format(
- "[info=%s, network=%s, dhcp=%s, fenceMode=%s, gateway=%s, internalToExternalNATRules=%s, netmask=%s]",
- info, network, dhcp, fenceMode, gateway, internalToExternalNATRules, netmask);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/NetworkConnectionSection.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/NetworkConnectionSection.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/NetworkConnectionSection.java
deleted file mode 100644
index 2200d92..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/NetworkConnectionSection.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import org.jclouds.ovf.Section;
-
-public class NetworkConnectionSection extends Section<NetworkConnectionSection> {
-
- @SuppressWarnings("unchecked")
- public static Builder builder() {
- return new Builder();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder toBuilder() {
- return builder().fromNetworkConnectionSection(this);
- }
-
- public static class Builder extends Section.Builder<NetworkConnectionSection> {
- private String network;
- private String ipAddress;
-
- public Builder network(String network) {
- this.network = network;
- return this;
- }
-
- public Builder ipAddress(String ipAddress) {
- this.ipAddress = ipAddress;
- return this;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public NetworkConnectionSection build() {
- return new NetworkConnectionSection(info, network, ipAddress);
- }
-
- public Builder fromNetworkConnectionSection(NetworkConnectionSection in) {
- return fromSection(in).network(in.getNetwork()).ipAddress(in.getIpAddress());
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder fromSection(Section<NetworkConnectionSection> in) {
- return Builder.class.cast(super.fromSection(in));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder info(String info) {
- return Builder.class.cast(super.info(info));
- }
-
- }
-
- private final String network;
- private final String ipAddress;
-
- public NetworkConnectionSection(String info, String network, String ipAddress) {
- super(info);
- this.network = network;
- this.ipAddress = ipAddress;
- }
-
- public String getNetwork() {
- return network;
- }
-
- public String getIpAddress() {
- return ipAddress;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((network == null) ? 0 : network.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!super.equals(obj))
- return false;
- if (getClass() != obj.getClass())
- return false;
- NetworkConnectionSection other = (NetworkConnectionSection) obj;
- if (network == null) {
- if (other.network != null)
- return false;
- } else if (!network.equals(other.network))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return String.format("[info=%s, network=%s, ipAddress=%s]", info, network, ipAddress);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Org.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Org.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Org.java
deleted file mode 100644
index de2b0bb..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Org.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-
-/**
- * A cloud can contain one or more Organizations. There are two types of Organizations, hard-walled
- * and soft-walled.
- * <ul>
- * <li>A hard-walled Organization provides a secure environment for a single tenant of a
- * multi-tenant cloud.All resources in a hard-walled Organization are isolated from other
- * Organizations, hard- or soft-walled,in the cloud.</li>
- * <li>A soft-walled Organization supports access, by users who have appropriate privileges, to
- * other soft-walled Organizations in a cloud. Soft-walled Organizations have boundaries similar to
- * those that separate departments of a corporate entity. In such environments, the Organization
- * controls the resources owned by a single department. Most users are restricted to the resources
- * available in a single Organization but a few might have privileges in other Organizations, if
- * allowed by the administrators of those Organizations.</li>
- * </ul>
- */
-public class Org extends ResourceImpl {
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder extends ResourceImpl.Builder {
- private String description;
- private Set<Link> vDCs = Sets.newLinkedHashSet();
- private Set<Link> images = Sets.newLinkedHashSet();
-
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- public Builder vDC(Link vDC) {
- this.vDCs.add(checkNotNull(vDC, "vDC"));
- return this;
- }
-
- public Builder vDCs(Set<Link> vDCs) {
- this.vDCs.addAll(checkNotNull(vDCs, "vDCs"));
- return this;
- }
-
- public Builder image(Link image) {
- this.images.add(checkNotNull(image, "image"));
- return this;
- }
-
- public Builder images(Set<Link> images) {
- this.images.addAll(checkNotNull(images, "images"));
- return this;
- }
-
- @Override
- public Org build() {
- return new Org(id, name, type, href, description, vDCs, images);
- }
-
- public static Builder fromOrg(Org in) {
- return new Builder().id(in.getId()).name(in.getName()).type(in.getType()).href(in.getHref())
- .description(in.getDescription()).images(in.getImages()).vDCs(in.getVDCs());
- }
-
- @Override
- public Builder id(String id) {
- return Builder.class.cast(super.id(id));
- }
-
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- @Override
- public Builder type(String type) {
- return Builder.class.cast(super.type(type));
- }
-
- @Override
- public Builder href(URI href) {
- return Builder.class.cast(super.href(href));
- }
-
- }
-
- @Nullable
- private final String description;
- private final Set<Link> vDCs;
- private final Set<Link> images;
-
- public Org(String id, String name, String type, URI href, @Nullable String description, Set<Link> vDCs,
- Set<Link> images) {
- super(id, name, type, href);
- this.description = description;
- this.vDCs = ImmutableSet.copyOf(checkNotNull(vDCs, "vDCs"));
- this.images = ImmutableSet.copyOf(checkNotNull(images, "images"));
- }
-
- /**
- * {@inheritDoc}
- */
- public String getName() {
- return name;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getDescription() {
- return description;
- }
-
- /**
- * {@inheritDoc}
- */
- public Set<Link> getVDCs() {
- return vDCs;
- }
-
- /**
- * {@inheritDoc}
- */
- public Set<Link> getImages() {
- return images;
- }
-
- @Override
- public Builder toBuilder() {
- return Builder.fromOrg(this);
- }
-
- @Override
- public String toString() {
- return "[id=" + id + ", href=" + href + ", name=" + name + ", type=" + type + ", description=" + description
- + ", vDCs=" + vDCs + ", images=" + images + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Resource.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Resource.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Resource.java
deleted file mode 100644
index 6dec857..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Resource.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import java.net.URI;
-
-/**
- * Location of a Rest resource
- */
-public interface Resource extends Comparable<Resource> {
-
- String getId();
-
- String getName();
-
- String getType();
-
- URI getHref();
-
- int compareTo(Resource that);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/ResourceImpl.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/ResourceImpl.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/ResourceImpl.java
deleted file mode 100644
index 2aeb750..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/ResourceImpl.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import java.net.URI;
-
-/**
- * Location of a Rest resource
- */
-public class ResourceImpl implements Resource {
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder {
- protected String id;
- protected String name;
- protected String type;
- protected URI href;
-
- public Builder id(String id) {
- this.id = id;
- return this;
- }
-
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder type(String type) {
- this.type = type;
- return this;
- }
-
- public Builder href(URI href) {
- this.href = href;
- return this;
- }
-
- public ResourceImpl build() {
- return new ResourceImpl(id, name, type, href);
- }
-
- public static Builder fromResource(ResourceImpl in) {
- return new Builder().id(in.getId()).name(in.getName()).type(in.getType()).href(in.getHref());
- }
- }
-
- protected final String id;
- protected final String name;
- protected final String type;
- protected final URI href;
-
- public ResourceImpl(String id, String name, String type, URI href) {
- this.id = id;
- this.name = name;
- this.type = type;
- this.href = href;
- }
-
- public String getId() {
- return id;
- }
-
- public String getName() {
- return name;
- }
-
- public String getType() {
- return type;
- }
-
- public URI getHref() {
- return href;
- }
-
- public int compareTo(Resource that) {
- return (this == that) ? 0 : getHref().compareTo(that.getHref());
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((href == null) ? 0 : href.hashCode());
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((type == null) ? 0 : type.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- ResourceImpl other = (ResourceImpl) obj;
- if (href == null) {
- if (other.href != null)
- return false;
- } else if (!href.equals(other.href))
- return false;
- if (id == null) {
- if (other.id != null)
- return false;
- } else if (!id.equals(other.id))
- return false;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- if (type == null) {
- if (other.type != null)
- return false;
- } else if (!type.equals(other.type))
- return false;
- return true;
- }
-
- public Builder toBuilder() {
- return Builder.fromResource(this);
- }
-
- @Override
- public String toString() {
- return "[id=" + id + ", href=" + href + ", name=" + name + ", type=" + type + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Task.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Task.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Task.java
deleted file mode 100644
index 6844134..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/Task.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.javax.annotation.Nullable;
-
-/**
- * The result of a api request cannot be returned immediately, the server creates a task entity
- * and returns its URL to the api. The api can use this URL in a subsequent GET request to
- * obtain the current status of the task.
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/getTask.html" />
- */
-public class Task extends ResourceImpl {
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder extends ResourceImpl.Builder {
- private Status status;
- private Date startTime;
- private Date endTime;
- private Resource owner;
- private Resource result;
- private TaskError error;
-
- public Builder status(Status status) {
- this.status = status;
- return this;
- }
-
- public Builder startTime(Date startTime) {
- this.startTime = startTime;
- return this;
- }
-
- public Builder endTime(Date endTime) {
- this.endTime = endTime;
- return this;
- }
-
- public Builder owner(Resource owner) {
- this.owner = owner;
- return this;
- }
-
- public Builder result(Resource result) {
- this.result = result;
- return this;
- }
-
- public Builder error(TaskError error) {
- this.error = error;
- return this;
- }
-
- @Override
- public Builder id(String id) {
- return Builder.class.cast(super.id(id));
- }
-
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- @Override
- public Builder type(String type) {
- return Builder.class.cast(super.type(type));
- }
-
- @Override
- public Builder href(URI href) {
- return Builder.class.cast(super.href(href));
- }
-
- @Override
- public Task build() {
- return new Task(id, name, type, href, status, startTime, endTime, owner, result, error);
- }
-
- public static Builder fromTask(Task in) {
- return new Builder().id(in.getId()).name(in.getName()).type(in.getType()).href(in.getHref())
- .status(in.getStatus()).startTime(in.getStartTime()).endTime(in.getEndTime()).owner(in.getOwner())
- .error(in.getError()).result(in.getResult());
- }
- }
-
- public enum Status {
- /**
- * Savvis VPDC successfully provisioned and available for use.
- */
- SUCCESS,
- /**
- * Savvis VPDC is processing the user request, please wait for the provisioning process to
- * complete.
- */
- RUNNING,
-
- /**
- * Savvis VPDC is processing the user request, please wait for the provisioning process to
- * complete.
- */
- QUEUED,
- /**
- * Savvis VPDC is failed, please kindly contact Savvis administrator for further
- * clarification/assistance with the respective request data.
- */
- ERROR,
- /**
- * Unexpected Savvus VPDC Status, Savvis VPDC is failed, please kindly contact Savvis
- * administrator for further clarification/assistance with the respective request data.
- */
- NONE, UNRECOGNIZED;
- public String value() {
- return name().toLowerCase();
- }
-
- @Override
- public String toString() {
- return value();
- }
-
- public static Status fromValue(String status) {
- try {
- return valueOf(checkNotNull(status, "status").toUpperCase());
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
- }
-
- private final Status status;
- private final Date startTime;
- private final Date endTime;
- private final Resource owner;
- private final Resource result;
- private final TaskError error;
-
- public Task(String id, String name, String type, URI href, Status status, Date startTime, Date endTime,
- Resource result, Resource owner, TaskError error) {
- super(id, name, type, href);
- this.status = status;
- this.startTime = startTime;
- this.endTime = endTime;
- this.owner = owner;
- this.result = result;
- this.error = error;
- }
-
- /**
- * The current status of the task.
- */
- public Status getStatus() {
- return status;
- }
-
- /**
- * date and time when the task was started.
- */
- public Date getStartTime() {
- return startTime;
- }
-
- /**
- * date and time when the task completed. Does not appear for running tasks.
- */
- @Nullable
- public Date getEndTime() {
- return endTime;
- }
-
- /**
- * A link to the object that owns the task. For copy operations, the owner is the copy that is
- * being created. For delete operations, the owner is the deleted object, so this element is not
- * included. For all other operations, the owner is the object to which the request was made.
- */
- @Nullable
- public Resource getOwner() {
- return owner;
- }
-
- /**
- * Result is represent outcome of request url. if any VM related operation, the result will
- * present as get VApp. if any VMDK related operation, the result will present as get VMKD
- */
- @Nullable
- public Resource getResult() {
- return result;
- }
-
- /**
- * error message or related information returned by the task
- */
- @Nullable
- public TaskError getError() {
- return error;
- }
-
- public Builder toBuilder() {
- return Builder.fromTask(this);
- }
-
- @Override
- public String toString() {
- return "[id=" + id + ", name=" + name + ", type=" + type + ", href=" + href + ", status=" + status
- + ", startTime=" + startTime + ", endTime=" + endTime + ", owner=" + owner + ", result=" + result
- + ", error=" + error + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/TaskError.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/TaskError.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/TaskError.java
deleted file mode 100644
index b222464..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/TaskError.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-
-public class TaskError {
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder {
-
- private String message;
- private int majorErrorCode = -1;
- private int minorErrorCode = -1;
- private String vendorSpecificErrorCode;
-
- public Builder message(String message) {
- this.message = message;
- return this;
- }
-
- public Builder majorErrorCode(int majorErrorCode) {
- this.majorErrorCode = majorErrorCode;
- return this;
- }
-
- public Builder minorErrorCode(int minorErrorCode) {
- this.minorErrorCode = minorErrorCode;
- return this;
- }
-
- public Builder vendorSpecificErrorCode(String vendorSpecificErrorCode) {
- this.vendorSpecificErrorCode = vendorSpecificErrorCode;
- return this;
- }
-
- public TaskError build() {
- return new TaskError(message, majorErrorCode, minorErrorCode, vendorSpecificErrorCode);
- }
- }
-
- private final String message;
- private final int majorErrorCode;
- private final int minorErrorCode;
- private final String vendorSpecificErrorCode;
-
- public TaskError(String message, int majorErrorCode, int minorErrorCode, @Nullable String vendorSpecificErrorCode) {
- this.message = message;
- this.majorErrorCode = majorErrorCode;
- this.minorErrorCode = minorErrorCode;
- this.vendorSpecificErrorCode = vendorSpecificErrorCode;
- }
-
- /**
- *
- * @return message describing the error
- */
- public String getMessage() {
- return message;
- }
-
- /**
- *
- * @return matches the HTTP status code
- */
- public int getMajorErrorCode() {
- return majorErrorCode;
- }
-
- /**
- *
- * @return matches the minor code, typically -1
- */
- public int getMinorErrorCode() {
- return minorErrorCode;
- }
-
- /**
- *
- * @return optional additional information about the source of the error
- */
- @Nullable
- public String getVendorSpecificErrorCode() {
- return vendorSpecificErrorCode;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + majorErrorCode;
- result = prime * result + ((message == null) ? 0 : message.hashCode());
- result = prime * result + minorErrorCode;
- result = prime * result + ((vendorSpecificErrorCode == null) ? 0 : vendorSpecificErrorCode.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- TaskError other = (TaskError) obj;
- if (majorErrorCode != other.majorErrorCode)
- return false;
- if (message == null) {
- if (other.message != null)
- return false;
- } else if (!message.equals(other.message))
- return false;
- if (minorErrorCode != other.minorErrorCode)
- return false;
- if (vendorSpecificErrorCode == null) {
- if (other.vendorSpecificErrorCode != null)
- return false;
- } else if (!vendorSpecificErrorCode.equals(other.vendorSpecificErrorCode))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "[message=" + message + ", majorErrorCode=" + majorErrorCode + ", minorErrorCode=" + minorErrorCode
- + ", vendorSpecificErrorCode=" + vendorSpecificErrorCode + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VDC.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VDC.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VDC.java
deleted file mode 100644
index 0021dc2..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VDC.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.base.CaseFormat;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-
-/**
- * VDC is a virtual data center ,the API returns a list of VAPPs own by given bill site Id.
- */
-public class VDC extends ResourceImpl {
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder extends ResourceImpl.Builder {
- private String description;
- private Status status;
- private Set<Resource> resourceEntities = Sets.newLinkedHashSet();
- private Set<Resource> availableNetworks = Sets.newLinkedHashSet();
-
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- public Builder status(Status status) {
- this.status = status;
- return this;
- }
-
- public Builder resourceEntity(Resource resourceEntity) {
- this.resourceEntities.add(checkNotNull(resourceEntity, "resourceEntity"));
- return this;
- }
-
- public Builder resourceEntities(Set<Resource> resourceEntities) {
- this.resourceEntities.addAll(checkNotNull(resourceEntities, "resourceEntities"));
- return this;
- }
-
- public Builder availableNetwork(Resource availableNetwork) {
- this.availableNetworks.add(checkNotNull(availableNetwork, "availableNetwork"));
- return this;
- }
-
- public Builder availableNetworks(Set<Resource> availableNetworks) {
- this.availableNetworks.addAll(checkNotNull(availableNetworks, "availableNetworks"));
- return this;
- }
-
- @Override
- public VDC build() {
- return new VDC(id, name, type, href, description, status, resourceEntities, availableNetworks);
- }
-
- public static Builder fromVDC(VDC in) {
- return new Builder().id(in.getId()).name(in.getName()).type(in.getType()).href(in.getHref())
- .status(in.getStatus()).description(in.getDescription()).availableNetworks(in.getAvailableNetworks())
- .resourceEntities(in.getResourceEntities());
- }
-
- @Override
- public Builder id(String id) {
- return Builder.class.cast(super.id(id));
- }
-
- @Override
- public Builder name(String name) {
- return Builder.class.cast(super.name(name));
- }
-
- @Override
- public Builder type(String type) {
- return Builder.class.cast(super.type(type));
- }
-
- @Override
- public Builder href(URI href) {
- return Builder.class.cast(super.href(href));
- }
-
- }
-
- public enum Status {
- /**
- * Savvis VPDC successfully provisioned and available for use
- */
- DEPLOYED,
- /**
- * Savvis VPDC need to be provisioned and cannot invoke any of the VCloud (post request method
- * type) API's
- */
- DESIGNING,
- /**
- * Savvis VPDC need to be provisioned and cannot invoke any of the VCloud (post request method
- * type) API's
- */
- SAVED,
- /**
- * Please wait for the provisioning process to complete and cannot invoke any of the VCloud
- * (post request method type) API's
- */
- INQUEUE,
- /**
- * Please wait for the provisioning process to complete and cannot invoke any of the VCloud
- * (post request method type) API's
- */
- PROVISIONING,
- /**
- * Please kindly contact Savvis administrator for further clarification/assistance with the
- * respective request data. and cannot invoke any of the VCloud (post request method type)
- * API's
- */
- PARTIALLY_DEPLOYED,
- /**
- * Please kindly contact Savvis administrator for further clarification/assistance with the
- * respective request data and cannot invoke any of the VCloud (post request method type)
- * API's
- */
- FAILED, UNRECOGNIZED;
- @Override
- public String toString() {
- return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name());
- }
-
- public static Status fromValue(String status) {
- try {
- return valueOf(CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, checkNotNull(status, "status")));
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
- }
-
- @Nullable
- private final String description;
- private final VDC.Status status;
- private final Set<Resource> resourceEntities;
- private final Set<Resource> availableNetworks;
-
- public VDC(String id, String name, String type, URI href, @Nullable String description, VDC.Status status,
- Set<Resource> resourceEntities, Set<Resource> availableNetworks) {
- super(id, name, type, href);
- this.description = description;
- this.status = checkNotNull(status, "status");
- this.resourceEntities = ImmutableSet.copyOf(checkNotNull(resourceEntities, "resourceEntities"));
- this.availableNetworks = ImmutableSet.copyOf(checkNotNull(availableNetworks, "availableNetworks"));
- }
-
- /**
- * {@inheritDoc}
- */
- public String getDescription() {
- return description;
- }
-
- /**
- * {@inheritDoc}
- */
- public VDC.Status getStatus() {
- return status;
- }
-
- /**
- * {@inheritDoc}
- */
- public Set<Resource> getResourceEntities() {
- return resourceEntities;
- }
-
- /**
- * {@inheritDoc}
- */
- public Set<Resource> getAvailableNetworks() {
- return availableNetworks;
- }
-
- @Override
- public Builder toBuilder() {
- return Builder.fromVDC(this);
- }
-
- @Override
- public String toString() {
- return "[id=" + id + ", href=" + href + ", name=" + name + ", type=" + type + ", description=" + description
- + ", status=" + status + ", resourceEntities=" + resourceEntities + ", availableNetworks="
- + availableNetworks + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VM.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VM.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VM.java
deleted file mode 100644
index 1f56703..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VM.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.ovf.NetworkSection;
-import org.jclouds.ovf.OperatingSystemSection;
-import org.jclouds.ovf.ProductSection;
-import org.jclouds.ovf.Section;
-import org.jclouds.ovf.VirtualHardwareSection;
-import org.jclouds.ovf.internal.BaseVirtualSystem;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-
-/**
- * A virtual application (vApp) is a software solution, packaged in OVF containing one or more
- * virtual machines. A vApp can be authored by Developers at ISVs and VARs or by IT Administrators
- * in Enterprises and Service Providers.
- */
-public class VM extends BaseVirtualSystem<VM> implements Resource {
- /**
- * Objects such as vAppTemplate, vApp, and Vm have a status attribute whose value indicates the
- * state of the object. Status for an object, such as a vAppTemplate or vApp, whose Children (Vm
- * objects) each have a status of their own, is computed from the status of the Children.
- *
- * <h2>NOTE</h2>
- * <p/>
- * The deployment status of an object is indicated by the value of its deployed attribute.
- *
- * @since vcloud api 0.8
- *
- */
- public enum Status {
-
- /**
- * When the VM is in Designing,Saved,Inqueue, has issue in pre provisioning or any exception
- * cases. VM is not in Savvis VPDC (may the VM has been removed) or cannot get VM state due to
- * unknown exception
- */
- UNRESOLVED,
- /**
- * When the Savvis VPDC is in Provisioning, PartiallyDeployed, Failed and the VM failed in
- * provisioning or pending infrastructure notification
- */
- RESOLVED,
- /**
- * When the VM is deployed in vmware and powered off.
- */
- OFF,
- /**
- * We do not support suspended state.
- */
- SUSPENDED,
- /**
- * When the VM is deployed in vmware and powered on.
- */
- ON,
- /**
- * The VM is deployed in vmware but the state of VM may be Uninitialized, Start, Stop, Resume,
- * Reset, RebootGuest, Error, Failed, Unknown, PoweringOn, PoweringOff, Suspending, Stopping,
- * Starting, Resetting, RebootingGuest. Please call back the Get VApp Power State API after
- * few minute.
- */
- UNKNOWN, UNRECOGNIZED;
-
- public String value() {
- switch (this) {
- case UNRESOLVED:
- return "0";
- case RESOLVED:
- return "1";
- case OFF:
- return "2";
- case SUSPENDED:
- return "3";
- case ON:
- return "4";
- case UNKNOWN:
- return "5";
- default:
- return "UNRECOGNIZED";
- }
- }
-
- public static Status fromValue(String status) {
- try {
- return fromValue(Integer.parseInt(checkNotNull(status, "status")));
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
- }
-
- public static Status fromValue(int v) {
- switch (v) {
- case 0:
- return UNRESOLVED;
- case 1:
- return RESOLVED;
- case 2:
- return OFF;
- case 3:
- return SUSPENDED;
- case 4:
- return ON;
- case 5:
- return UNKNOWN;
- default:
- return UNRECOGNIZED;
- }
- }
-
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder extends BaseVirtualSystem.Builder<VM> {
- protected String type;
- protected URI href;
- protected Status status;
- protected NetworkSection networkSection;
- protected Set<NetworkConfigSection> networkConfigSections = Sets.newLinkedHashSet();
- protected Set<NetworkConnectionSection> networkConnectionSections = Sets.newLinkedHashSet();
-
- public Builder id(String id) {
- this.id = id;
- return this;
- }
-
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder type(String type) {
- this.type = type;
- return this;
- }
-
- public Builder href(URI href) {
- this.href = href;
- return this;
- }
-
- public Builder status(Status status) {
- this.status = status;
- return this;
- }
-
- public Builder networkSection(NetworkSection networkSection) {
- this.networkSection = networkSection;
- return this;
- }
-
- /**
- * @see VM#getNetworkConfigSections
- */
- public Builder networkConfigSection(NetworkConfigSection networkConfigSection) {
- this.networkConfigSections.add(checkNotNull(networkConfigSection, "networkConfigSection"));
- return this;
- }
-
- /**
- * @see VM#getNetworkConfigSections
- */
- public Builder networkConfigSections(Iterable<NetworkConfigSection> networkConfigSections) {
- this.networkConfigSections = ImmutableSet.<NetworkConfigSection> copyOf(checkNotNull(networkConfigSections,
- "networkConfigSections"));
- return this;
- }
-
- /**
- * @see VM#getNetworkConnectionSections
- */
- public Builder networkConnectionSection(NetworkConnectionSection networkConnectionSection) {
- this.networkConnectionSections.add(checkNotNull(networkConnectionSection, "networkConnectionSection"));
- return this;
- }
-
- /**
- * @see VM#getNetworkConnectionSections
- */
- public Builder networkConnectionSections(Iterable<NetworkConnectionSection> networkConnectionSections) {
- this.networkConnectionSections = ImmutableSet.<NetworkConnectionSection> copyOf(checkNotNull(
- networkConnectionSections, "networkConnectionSections"));
- return this;
- }
-
- @Override
- public VM build() {
- return new VM(id, info, name, operatingSystem, virtualHardwareSections, productSections, additionalSections, type,
- href, status, networkSection, networkConfigSections, networkConnectionSections);
- }
-
- public Builder fromVM(VM in) {
- return fromVirtualSystem(in).type(in.getType()).href(in.getHref()).status(in.getStatus()).networkSection(
- in.getNetworkSection()).networkConfigSections(in.getNetworkConfigSections())
- .networkConnectionSections(in.getNetworkConnectionSections());
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder additionalSection(String name, Section additionalSection) {
- return Builder.class.cast(super.additionalSection(name, additionalSection));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder additionalSections(Multimap<String, Section> additionalSections) {
- return Builder.class.cast(super.additionalSections(additionalSections));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder fromSection(Section<VM> in) {
- return Builder.class.cast(super.fromSection(in));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder fromVirtualSystem(BaseVirtualSystem<VM> in) {
- return Builder.class.cast(super.fromVirtualSystem(in));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder virtualHardwareSection(VirtualHardwareSection virtualHardwareSection) {
- return Builder.class.cast(super.virtualHardwareSection(virtualHardwareSection));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder virtualHardwareSections(Iterable<? extends VirtualHardwareSection> virtualHardwareSections) {
- return Builder.class.cast(super.virtualHardwareSections(virtualHardwareSections));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder info(String info) {
- return Builder.class.cast(super.info(info));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder operatingSystemSection(OperatingSystemSection operatingSystem) {
- return Builder.class.cast(super.operatingSystemSection(operatingSystem));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder productSection(ProductSection productSection) {
- return Builder.class.cast(super.productSection(productSection));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Builder productSections(Iterable<? extends ProductSection> productSections) {
- return Builder.class.cast(super.productSections(productSections));
- }
- }
-
- protected final String type;
- protected final URI href;
- protected final Status status;
- protected final NetworkSection networkSection;
- protected final Set<NetworkConfigSection> networkConfigSections;
- protected final Set<NetworkConnectionSection> networkConnectionSections;
-
- public VM(String id, String info, String name, OperatingSystemSection operatingSystem,
- Iterable<? extends VirtualHardwareSection> virtualHardwareSections,
- Iterable<? extends ProductSection> productSections, Multimap<String, Section> additionalSections,
- String type, URI href, Status status, NetworkSection networkSection,
- Iterable<NetworkConfigSection> networkConfigSections,
- Iterable<NetworkConnectionSection> networkConnectionSections) {
- super(id, info, name, operatingSystem, virtualHardwareSections, productSections, additionalSections);
- this.type = type;
- this.href = href;
- this.status = status;
- this.networkSection = networkSection;
- this.networkConfigSections = ImmutableSet.copyOf(checkNotNull(networkConfigSections, "networkConfigSections"));
- this.networkConnectionSections = ImmutableSet.copyOf(checkNotNull(networkConnectionSections,
- "networkConnectionSections"));
- }
-
- public Status getStatus() {
- return status;
- }
-
- public NetworkSection getNetworkSection() {
- return networkSection;
- }
-
- public Set<NetworkConfigSection> getNetworkConfigSections() {
- return networkConfigSections;
- }
-
- public Set<NetworkConnectionSection> getNetworkConnectionSections() {
- return networkConnectionSections;
- }
-
- public String getType() {
- return type;
- }
-
- public URI getHref() {
- return href;
- }
-
- @Override
- public String toString() {
- return String
- .format(
- "[id=%s, name=%s, info=%s, href=%s,status=%s, type=%s, virtualHardwareSections=%s, operatingSystem=%s, productSections=%s, networkSection=%s, networkConfigSections=%s, networkConnectionSections=%s, additionalSections=%s]",
- id, name, info, href, status, type, virtualHardwareSections, operatingSystem, productSections,
- networkSection, networkConfigSections, networkConnectionSections, additionalSections);
- }
-
- @Override
- public int compareTo(Resource that) {
- return (this == that) ? 0 : getHref().compareTo(that.getHref());
- }
-
- public Builder toBuilder() {
- return builder().fromVM(this);
- }
-
-}
[5/7] Remove savvis-symphonyvpdc,
which hasn't been published in over a year.
Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VMSpec.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VMSpec.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VMSpec.java
deleted file mode 100644
index 095da8e..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VMSpec.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import org.jclouds.compute.domain.CIMOperatingSystem;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-
-/**
- * A specification to launch a virtual machine
- */
-public class VMSpec {
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder {
- private String name;
- private String networkTierName;
- private CIMOperatingSystem operatingSystem;
- private int processorCount = 1;
- private int memoryInGig = 1;
- private String bootDeviceName = "/";
- // TODO doesn't seem to be changeable
- private int bootDriveSize = 25;
- private Map<String, Integer> dataDriveDeviceNameToSizeInGig = Maps.newLinkedHashMap();
-
- public Builder name(String name) {
- this.name = checkNotNull(name, "name");
- return this;
- }
-
- public Builder networkTierName(String networkTierName) {
- this.networkTierName = checkNotNull(networkTierName, "networkTierName");
- return this;
- }
-
- public Builder operatingSystem(CIMOperatingSystem operatingSystem) {
- this.operatingSystem = checkNotNull(operatingSystem, "operatingSystem");
- return this;
- }
-
- public Builder memoryInGig(int memoryInGig) {
- checkArgument(memoryInGig > 0, "memoryInGig must be positive");
- this.memoryInGig = memoryInGig;
- return this;
- }
-
- public Builder processorCount(int processorCount) {
- checkProcessorCount(processorCount);
- this.processorCount = processorCount;
- return this;
- }
-
- public Builder bootDeviceName(String bootDeviceName) {
- this.bootDeviceName = checkNotNull(bootDeviceName, "bootDeviceName");
- return this;
- }
-
- public Builder bootDiskSize(int bootDriveSize) {
- checkArgument(bootDriveSize > 0, "bootDriveSize must be positive");
- this.bootDriveSize = bootDriveSize;
- return this;
- }
-
- public Builder addDataDrive(String dataDriveDeviceName, int sizeInGig) {
- checkArgument(sizeInGig > 0, "sizeInGig must be positive");
- this.dataDriveDeviceNameToSizeInGig.put(checkNotNull(dataDriveDeviceName, "dataDriveDeviceName"), sizeInGig);
- return this;
- }
-
- public Builder addDataDrives(Map<String, Integer> dataDriveDeviceNameToSizeInGig) {
- this.dataDriveDeviceNameToSizeInGig = ImmutableMap.copyOf(checkNotNull(dataDriveDeviceNameToSizeInGig,
- "dataDriveDeviceNameToSizeInGig"));
- return this;
- }
-
- public VMSpec build() {
- return new VMSpec(name, networkTierName, operatingSystem, processorCount, memoryInGig, bootDeviceName,
- bootDriveSize, dataDriveDeviceNameToSizeInGig);
- }
-
- public static Builder fromVMSpec(VMSpec in) {
- return new Builder().operatingSystem(in.getOperatingSystem()).memoryInGig(in.getMemoryInGig()).bootDeviceName(
- in.getBootDeviceName()).bootDiskSize(in.getBootDiskSize()).addDataDrives(
- in.getDataDiskDeviceNameToSizeInGig()).processorCount(in.getProcessorCount());
- }
-
- }
-
- static void checkProcessorCount(int processorCount) {
- checkArgument(processorCount > 0, "processorCount must be positive and an increment of 0.5");
- checkArgument(processorCount % .5 == 0, "processorCount must be an increment of 0.5");
- }
-
- private final String name;
- private final String networkTierName;
- private final CIMOperatingSystem operatingSystem;
- private final int processorCount;
- private final int memoryInGig;
- private final String bootDeviceName;
- private final int bootDriveSize;
- private final Map<String, Integer> dataDriveDeviceNameToSizeInGig;
-
- protected VMSpec(String name, String networkTierName, CIMOperatingSystem operatingSystem, int processorCount,
- int memoryInGig, String bootDeviceName, int bootDriveSize,
- Map<String, Integer> dataDriveDeviceNameToSizeInGig) {
- this.name = name;
- this.networkTierName = networkTierName;
- this.operatingSystem = checkNotNull(operatingSystem, "operatingSystem not specified");
- checkProcessorCount(processorCount);
- this.processorCount = processorCount;
- checkArgument(memoryInGig > 0, "memoryInGig must be positive");
- this.memoryInGig = memoryInGig;
- this.bootDeviceName = checkNotNull(bootDeviceName, "bootDeviceName name not specified");
- checkArgument(bootDriveSize > 0, "bootDriveSize must be positive");
- this.bootDriveSize = bootDriveSize;
- this.dataDriveDeviceNameToSizeInGig = ImmutableMap.copyOf(checkNotNull(dataDriveDeviceNameToSizeInGig,
- "dataDriveDeviceNameToSizeInGig"));
- }
-
- public String getName() {
- return name;
- }
-
- public String getNetworkTierName() {
- return networkTierName;
- }
-
- public CIMOperatingSystem getOperatingSystem() {
- return operatingSystem;
- }
-
- public int getProcessorCount() {
- return processorCount;
- }
-
- public int getMemoryInGig() {
- return memoryInGig;
- }
-
- public Builder toBuilder() {
- return Builder.fromVMSpec(this);
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((bootDeviceName == null) ? 0 : bootDeviceName.hashCode());
- result = prime * result + bootDriveSize;
- result = prime * result
- + ((dataDriveDeviceNameToSizeInGig == null) ? 0 : dataDriveDeviceNameToSizeInGig.hashCode());
- result = prime * result + memoryInGig;
- result = prime * result + ((operatingSystem == null) ? 0 : operatingSystem.hashCode());
- result = prime * result + processorCount;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- VMSpec other = (VMSpec) obj;
- if (bootDeviceName == null) {
- if (other.bootDeviceName != null)
- return false;
- } else if (!bootDeviceName.equals(other.bootDeviceName))
- return false;
- if (bootDriveSize != other.bootDriveSize)
- return false;
- if (dataDriveDeviceNameToSizeInGig == null) {
- if (other.dataDriveDeviceNameToSizeInGig != null)
- return false;
- } else if (!dataDriveDeviceNameToSizeInGig.equals(other.dataDriveDeviceNameToSizeInGig))
- return false;
- if (memoryInGig != other.memoryInGig)
- return false;
- if (operatingSystem == null) {
- if (other.operatingSystem != null)
- return false;
- } else if (!operatingSystem.equals(other.operatingSystem))
- return false;
- if (processorCount != other.processorCount)
- return false;
- return true;
- }
-
- public String getBootDeviceName() {
- return bootDeviceName;
- }
-
- public int getBootDiskSize() {
- return bootDriveSize;
- }
-
- public Map<String, Integer> getDataDiskDeviceNameToSizeInGig() {
- return dataDriveDeviceNameToSizeInGig;
- }
-
- @Override
- public String toString() {
- return "[name= " + name + ", operatingSystem=" + operatingSystem + ", processorCount=" + processorCount
- + ", memoryInGig=" + memoryInGig + ", networkTierName=" + networkTierName + ", bootDeviceName="
- + bootDeviceName + ", bootDriveSize=" + bootDriveSize + ", dataDriveDeviceNameToSizeInGig="
- + dataDriveDeviceNameToSizeInGig + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/internal/VCloudSession.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/internal/VCloudSession.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/internal/VCloudSession.java
deleted file mode 100644
index 5a482ec..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/internal/VCloudSession.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain.internal;
-
-import java.util.Set;
-
-import org.jclouds.savvis.vpdc.domain.Resource;
-
-public interface VCloudSession {
- String getVCloudToken();
-
- Set<Resource> getOrgs();
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/vapp/Network.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/vapp/Network.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/vapp/Network.java
deleted file mode 100644
index d1379cc..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/vapp/Network.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain.vapp;
-
-public class Network {
- private final String name;
- private final String description;
-
- public Network(String name, String description) {
- this.name = name;
- this.description = description;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((description == null) ? 0 : description.hashCode());
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Network other = (Network) obj;
- if (description == null) {
- if (other.description != null)
- return false;
- } else if (!description.equals(other.description))
- return false;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "Network [name=" + name + ", description=" + description + "]";
- }
-
- public String getName() {
- return name;
- }
-
- public String getDescription() {
- return description;
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingApi.java
deleted file mode 100644
index c55f48c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingApi.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-import org.jclouds.javax.annotation.Nullable;
-
-import org.jclouds.savvis.vpdc.domain.FirewallService;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.options.GetVMOptions;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/" />
- */
-public interface BrowsingApi {
- /**
- * Get an organization, which can contain list of vDC entities
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @return organization, or null if not present
- */
- Org getOrg(@Nullable String billingSiteId);
-
- /**
- * VDC is a virtual data center ,the API returns a list of VAPPs own by given bill site Id.
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @return a list of resource entity and VM configurations, or null if not present
- */
- VDC getVDCInOrg(@Nullable String billingSiteId, String vpdcId);
-
- /**
- * Get Network API returns network detail
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param networkTierName
- * network tier name
- *
- * @return network detail if it used any one deployed VM and NetworkConfigSection defines various
- * network features such NAT Public IP, Gateway and Netmask, or null if not present
- */
- Network getNetworkInVDC(String billingSiteId, String vpdcId, String networkTierName);
-
- /**
- * VAPP is a software solution, the API returns details of virtual machine configuration such as
- * CPU,RAM Memory and hard drive. The VM State is from the MW Database.
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param vAppId
- * vApp ID
- * @param options
- * control whether or not to get real time state
- *
- * @return A virtual application (vApp) is a software solution comprising one or more virtual
- * machines, all of which are deployed, managed, and maintained as a unit, or null if not
- * present
- */
- VM getVMInVDC(String billingSiteId, String vpdcId, String vAppId, GetVMOptions... options);
-
- VM getVM(URI vm, GetVMOptions... options);
-
- /**
- * Gets an existing task.
- *
- * @param taskId
- * task id
- * @return If the request is successful, caller could get the VM/VMDK details as specified in the
- * result element and if the request is not successful, caller would get empty VAPP/VMDK
- * URL and respective validation (error) message.
- */
- Task getTask(String taskId);
-
- /**
- * Gets Firewall Rules
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- *
- * @return If the request is successful, caller could get the firewall rules as specified in the
- * result element and if the request is not successful, caller would get empty rules list
- * and respective validation (error) message.
- */
- FirewallService listFirewallRules(String billingSiteId, String vpdcId);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApi.java
deleted file mode 100644
index dae9ba7..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApi.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.savvis.vpdc.domain.FirewallService;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.functions.DefaultOrgIfNull;
-import org.jclouds.savvis.vpdc.options.BindGetVMOptions;
-import org.jclouds.savvis.vpdc.options.GetVMOptions;
-import org.jclouds.savvis.vpdc.xml.FirewallServiceHandler;
-import org.jclouds.savvis.vpdc.xml.NetworkHandler;
-import org.jclouds.savvis.vpdc.xml.OrgHandler;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-import org.jclouds.savvis.vpdc.xml.VDCHandler;
-import org.jclouds.savvis.vpdc.xml.VMHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-@RequestFilters(SetVCloudTokenCookie.class)
-public interface BrowsingAsyncApi {
-
- /**
- * @see BrowsingApi#getOrg
- */
- @GET
- @XMLResponseParser(OrgHandler.class)
- @Fallback(NullOnNotFoundOr404.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}")
- ListenableFuture<Org> getOrg(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId);
-
- /**
- * @see BrowsingApi#getVDCInOrg
- */
- @GET
- @XMLResponseParser(VDCHandler.class)
- @Fallback(NullOnNotFoundOr404.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}")
- ListenableFuture<VDC> getVDCInOrg(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId);
-
- /**
- * @see BrowsingApi#getNetworkInVDC
- */
- @GET
- @XMLResponseParser(NetworkHandler.class)
- @Fallback(NullOnNotFoundOr404.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/network/{network-tier-name}")
- ListenableFuture<Network> getNetworkInVDC(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, @PathParam("network-tier-name") String networkTierName);
-
- /**
- * @see BrowsingApi#getVMInVDC
- */
- @GET
- @XMLResponseParser(VMHandler.class)
- @Fallback(NullOnNotFoundOr404.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/{vAppId}")
- ListenableFuture<VM> getVMInVDC(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, @PathParam("vAppId") String vAppId,
- @BinderParam(BindGetVMOptions.class) GetVMOptions... options);
-
- /**
- * @see BrowsingApi#getVM
- */
- @GET
- @XMLResponseParser(VMHandler.class)
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<VM> getVM(@EndpointParam URI vm, @BinderParam(BindGetVMOptions.class) GetVMOptions... options);
-
- /**
- * @see BrowsingApi#getTask
- */
- @GET
- @XMLResponseParser(TaskHandler.class)
- @Fallback(NullOnNotFoundOr404.class)
- @Path("v{jclouds.api-version}/task/{taskId}")
- ListenableFuture<Task> getTask(@PathParam("taskId") String taskId);
-
- /**
- * @see BrowsingApi#listFirewallRules
- */
- @GET
- @XMLResponseParser(FirewallServiceHandler.class)
- @Fallback(NullOnNotFoundOr404.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/FirewallService")
- ListenableFuture<FirewallService> listFirewallRules(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallApi.java
deleted file mode 100644
index 5516418..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallApi.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.savvis.vpdc.domain.Task;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/" />
- */
-public interface FirewallApi {
-
- /**
- * Add a new firewall rule
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param firewallRule
- * firewall rule to be added
- * @return
- */
- Task addFirewallRule(String billingSiteId, String vpdcId, FirewallRule firewallRule);
-
- /**
- * Delete a firewall rule
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param firewallRule
- * firewall rule to be deleted
- * @return
- */
- Task deleteFirewallRule(String billingSiteId, String vpdcId, FirewallRule firewallRule);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApi.java
deleted file mode 100644
index c82790b..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApi.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.savvis.vpdc.binders.BindFirewallRuleToXmlPayload;
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.functions.DefaultOrgIfNull;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-@RequestFilters(SetVCloudTokenCookie.class)
-public interface FirewallAsyncApi {
-
- /**
- * @see FirewallApi#addFirewallRule
- */
- @PUT
- @XMLResponseParser(TaskHandler.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/FirewallService")
- @MapBinder(BindFirewallRuleToXmlPayload.class)
- ListenableFuture<Task> addFirewallRule(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, @PayloadParam("firewallRule") FirewallRule firewallRule);
-
- /**
- * @see FirewallApi#deleteFirewallRule
- */
- @DELETE
- @XMLResponseParser(TaskHandler.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/FirewallService")
- @MapBinder(BindFirewallRuleToXmlPayload.class)
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Task> deleteFirewallRule(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, @PayloadParam("firewallRule") FirewallRule firewallRule);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementApi.java
deleted file mode 100644
index a397a1f..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementApi.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-import org.jclouds.savvis.vpdc.domain.Task;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/" />
- */
-public interface ServiceManagementApi {
- /**
- * Powers on the VM
- * <p/>
- * <h4>Pre-conditions:</h4>
- * <p/>
- * No other API operation is being performed on the VM.
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param vmId
- * vm you wish to remove
- * @return task of the power operation
- */
- Task powerOnVMInVDC(String billingSiteId, String vpdcId, String vmId);
-
- /**
- *
- * @param vm
- * href of the vm
- * @see #powerOnVMInVDC
- */
- Task powerOnVM(URI vm);
-
- /**
- * Powers off the VM
- * <p/>
- * <h4>Pre-conditions:</h4>
- * <p/>
- * No other API operation is being performed on the VM.
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param vmId
- * vm you wish to remove
- * @return task of the power operation
- */
- Task powerOffVMInVDC(String billingSiteId, String vpdcId, String vmId);
-
- /**
- *
- * @param vm
- * href of the vm
- * @see #powerOffVMInVDC
- */
- Task powerOffVM(URI vm);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApi.java
deleted file mode 100644
index 96c116a..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApi.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-
-import org.jclouds.javax.annotation.Nullable;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.functions.DefaultOrgIfNull;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-@RequestFilters(SetVCloudTokenCookie.class)
-public interface ServiceManagementAsyncApi {
-
- /**
- * @see VMApi#powerOnVMInVDC
- */
- @POST
- @XMLResponseParser(TaskHandler.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/{vAppId}/action/powerOn")
- ListenableFuture<Task> powerOnVMInVDC(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, @PathParam("vAppId") String vAppId);
-
- /**
- * @see VMApi#powerOnVM
- */
- @POST
- @XMLResponseParser(TaskHandler.class)
- @Path("/action/powerOn")
- ListenableFuture<Task> powerOnVM(@EndpointParam URI vm);
-
- /**
- * @see VMApi#powerOffVMInVDC
- */
- @POST
- @XMLResponseParser(TaskHandler.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/{vAppId}/action/powerOff")
- ListenableFuture<Task> powerOffVMInVDC(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, @PathParam("vAppId") String vAppId);
-
- /**
- * @see VMApi#powerOffVM
- */
- @POST
- @XMLResponseParser(TaskHandler.class)
- @Path("/action/powerOff")
- ListenableFuture<Task> powerOffVM(@EndpointParam URI vm);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMApi.java
deleted file mode 100644
index 4e103f5..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMApi.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-import java.util.Set;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/" />
- */
-public interface VMApi {
-
- /**
- * Add/Deploy new VM into VDC
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param spec
- * how to
- *
- * @return VM in progress
- */
- Task addVMIntoVDC(String billingSiteId, String vpdcId, VMSpec spec);
-
- /**
- *
- * @param vpdc
- * href of the vpdc
- * @see #addVMIntoVDC
- */
- Task addVMIntoVDC(URI vpdc, VMSpec spec);
-
- /**
- * Add/Deploy new VMs into VDC
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param vmSpecs
- * vm configurations
- * @return VM's in progress
- */
- Set<Task> addMultipleVMsIntoVDC(String billingSiteId, String vpdcId, Iterable<VMSpec> vmSpecs);
-
- /**
- * Add/Deploy new VMs into VDC
- *
- * @param vpdc
- * href of the vpdc
- * @param vmSpecs
- * vm configurations
- * @return VM's in progress
- */
- Set<Task> addMultipleVMsIntoVDC(URI vpdc, Iterable<VMSpec> vmSpecs);
-
- /**
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param vAppUri
- * href of the vApp
- * @return Task with vAppTemplate href
- */
- Task captureVApp(String billingSiteId, String vpdcId, URI vAppUri);
-
- /**
- *
- * @param vAppUri
- * href of the vApp
- * @param newVAppName
- * name for the new vApp
- * @param networkTierName
- * network tier name for vApp
- * @return
- */
- Task cloneVApp(URI vAppUri, String newVAppName, String networkTierName);
-
- /**
- * Remove a VM
- * <p/>
- * <h4>Pre-conditions:</h4>
- *
- * <ul>
- * <li>No snapshot has been created for the VM.</li>
- * <li>For Balanced profile, the VM must not be associated with any firewall rule and/or included
- * in a load balancing pool.</li>
- * </ul>
- *
- * @param billingSiteId
- * billing site Id, or null for default
- * @param vpdcId
- * vpdc Id
- * @param vmId
- * vm you wish to remove
- * @return null, if the vm was not found
- */
- Task removeVMFromVDC(String billingSiteId, String vpdcId, String vmId);
-
- /**
- *
- * Remove a VM
- *
- * @param vm
- * href of the vm
- * @see #removeVMFromVDC
- */
- Task removeVM(URI vm);
-
- /**
- * Power off a VM
- *
- * @param vm
- * href of the vm
- * @return
- */
- Task powerOffVM(URI vm);
-
- /**
- * Power on a VM
- *
- * @param vm
- * href of the vm
- * @return
- */
- Task powerOnVM(URI vm);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMAsyncApi.java
deleted file mode 100644
index 7e0efd8..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMAsyncApi.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-import java.util.Set;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.savvis.vpdc.binders.BindCaptureVAppTemplateToXmlPayload;
-import org.jclouds.savvis.vpdc.binders.BindCloneVMToXmlPayload;
-import org.jclouds.savvis.vpdc.binders.BindVMSpecToXmlPayload;
-import org.jclouds.savvis.vpdc.binders.BindVMSpecsToXmlPayload;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.functions.DefaultOrgIfNull;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-import org.jclouds.savvis.vpdc.xml.TasksListHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- *
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-@RequestFilters(SetVCloudTokenCookie.class)
-public interface VMAsyncApi {
-
- /**
- * @see VMApi#addVMIntoVDC
- */
- @GET
- @XMLResponseParser(TaskHandler.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/")
- @MapBinder(BindVMSpecToXmlPayload.class)
- ListenableFuture<Task> addVMIntoVDC(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, VMSpec spec);
-
- /**
- * @see VMApi#addVMIntoVDC
- */
- @GET
- @XMLResponseParser(TaskHandler.class)
- @Path("vApp/")
- @MapBinder(BindVMSpecToXmlPayload.class)
- ListenableFuture<Task> addVMIntoVDC(@EndpointParam URI vpdc, VMSpec spec);
-
- /**
- * @see VMApi#addMultipleVMsIntoVDC
- */
- @GET
- @XMLResponseParser(TasksListHandler.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/")
- @MapBinder(BindVMSpecsToXmlPayload.class)
- ListenableFuture<Set<Task>> addMultipleVMsIntoVDC(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, Iterable<VMSpec> vmSpecs);
-
- /**
- * @see VMApi#addMultipleVMsIntoVDC
- */
- @GET
- @XMLResponseParser(TasksListHandler.class)
- @Path("vApp/")
- @MapBinder(BindVMSpecsToXmlPayload.class)
- ListenableFuture<Set<Task>> addMultipleVMsIntoVDC(@EndpointParam URI vpdc, Iterable<VMSpec> vmSpecs);
-
- /**
- * @see VMApi#captureVApp
- */
- @POST
- @XMLResponseParser(TaskHandler.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/action/captureVApp")
- @MapBinder(BindCaptureVAppTemplateToXmlPayload.class)
- ListenableFuture<Task> captureVApp(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, URI vAppUri);
-
- /**
- * @see VMApi#cloneVApp
- */
- @POST
- @XMLResponseParser(TaskHandler.class)
- @Path("action/cloneVApp")
- @MapBinder(BindCloneVMToXmlPayload.class)
- ListenableFuture<Task> cloneVApp(@EndpointParam URI vAppUri, @PayloadParam("name") String newVAppName,
- @PayloadParam("networkTierName") String networkTierName);
-
- /**
- * @see VMApi#removeVMFromVDC
- */
- @DELETE
- @XMLResponseParser(TaskHandler.class)
- @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/{vAppId}")
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Task> removeVMFromVDC(
- @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
- @PathParam("vpdcId") String vpdcId, @PathParam("vAppId") String vAppId);
-
- /**
- * @see VMApi#removeVM
- */
- @DELETE
- @XMLResponseParser(TaskHandler.class)
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Task> removeVM(@EndpointParam URI vm);
-
- /**
- * @see VMApi#powerOffVM
- */
- @POST
- @XMLResponseParser(TaskHandler.class)
- @Path("action/powerOff")
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Task> powerOffVM(@EndpointParam URI vm);
-
- /**
- * @see VMApi#powerOnVM
- */
- @POST
- @XMLResponseParser(TaskHandler.class)
- @Path("action/powerOn")
- @Fallback(NullOnNotFoundOr404.class)
- ListenableFuture<Task> powerOnVM(@EndpointParam URI vm);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookie.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookie.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookie.java
deleted file mode 100644
index 3f3e78e..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookie.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.filters;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpException;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.savvis.vpdc.internal.VCloudToken;
-
-import com.google.common.base.Supplier;
-import com.google.common.net.HttpHeaders;
-
-/**
- * Adds the VCloud Token to the request as a cookie
- */
-@Singleton
-public class SetVCloudTokenCookie implements HttpRequestFilter {
- private Supplier<String> vcloudTokenProvider;
-
- @Inject
- public SetVCloudTokenCookie(@VCloudToken Supplier<String> authTokenProvider) {
- this.vcloudTokenProvider = authTokenProvider;
- }
-
- @Override
- public HttpRequest filter(HttpRequest request) throws HttpException {
- return request.toBuilder().replaceHeader(HttpHeaders.COOKIE, "vcloud-token=" + vcloudTokenProvider.get()).build();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/DefaultOrgIfNull.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/DefaultOrgIfNull.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/DefaultOrgIfNull.java
deleted file mode 100644
index 9d18332..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/DefaultOrgIfNull.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-
-import org.jclouds.savvis.vpdc.internal.Org;
-
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-
-public class DefaultOrgIfNull implements Function<Object, String> {
-
- private final Supplier<String> defaultOrg;
-
- @Inject
- public DefaultOrgIfNull(@Org Supplier<String> defaultOrg) {
- this.defaultOrg = checkNotNull(defaultOrg, "defaultOrg");
- }
-
- public String apply(Object from) {
- return from == null ? defaultOrg.get() : from.toString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/ParseLoginResponseFromHeaders.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/ParseLoginResponseFromHeaders.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/ParseLoginResponseFromHeaders.java
deleted file mode 100644
index 74bdaaa..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/ParseLoginResponseFromHeaders.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.http.HttpUtils.releasePayload;
-
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.internal.VCloudSession;
-import org.jclouds.savvis.vpdc.internal.VCloudToken;
-import org.jclouds.savvis.vpdc.xml.OrgListHandler;
-
-import com.google.common.base.Function;
-import com.google.common.net.HttpHeaders;
-
-/**
- * This parses {@link VCloudSession} from HTTP headers.
- */
-@Singleton
-public class ParseLoginResponseFromHeaders implements Function<HttpResponse, VCloudSession> {
- static final Pattern pattern = Pattern.compile("vcloud-token=([^;]+);.*");
-
- private final ParseSax.Factory factory;
- private final Provider<OrgListHandler> orgHandlerProvider;
-
- @Inject
- private ParseLoginResponseFromHeaders(Factory factory,
- Provider<OrgListHandler> orgHandlerProvider) {
- this.factory = factory;
- this.orgHandlerProvider = orgHandlerProvider;
- }
-
- /**
- * parses the http response headers to create a new {@link VCloudSession} object.
- */
- public VCloudSession apply(HttpResponse from) {
- String cookieHeader = checkNotNull(from.getFirstHeaderOrNull(HttpHeaders.SET_COOKIE),
- HttpHeaders.SET_COOKIE);
-
- final Matcher matcher = pattern.matcher(cookieHeader);
- boolean matchFound = matcher.find();
- try {
- if (matchFound) {
- final Set<Resource> org = factory.create(orgHandlerProvider.get()).parse(
- from.getPayload().getInput());
-
- return new VCloudSession() {
- @VCloudToken
- public String getVCloudToken() {
- return matcher.group(1);
- }
-
- public Set<Resource> getOrgs() {
- return org;
- }
- };
-
- }
- } finally {
- releasePayload(from);
- }
- throw new HttpResponseException("not found ", null, from);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandler.java
deleted file mode 100644
index be17d18..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.handlers;
-
-import java.io.IOException;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-import com.jclouds.util.Closeables2;
-import org.jclouds.util.Strings2;
-
-import com.google.common.base.Throwables;
-
-@Singleton
-public class VPDCErrorHandler implements HttpErrorHandler {
- @Resource
- protected Logger logger = Logger.NULL;
-
- public void handleError(HttpCommand command, HttpResponse response) {
- // it is important to always read fully and close streams
- String message = parseMessage(response);
- Exception exception = message != null ? new HttpResponseException(command, response, message)
- : new HttpResponseException(command, response);
- try {
- message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(),
- response.getStatusLine());
- switch (response.getStatusCode()) {
- case 400:
- exception = new IllegalArgumentException(message, exception);
- break;
- case 401:
- case 403:
- exception = new AuthorizationException(message, exception);
- break;
- case 404:
- if (!command.getCurrentRequest().getMethod().equals("DELETE")) {
- exception = new ResourceNotFoundException(message, exception);
- }
- break;
- case 405:
- exception = new IllegalArgumentException(message, exception);
- break;
- case 409:
- exception = new IllegalStateException(message, exception);
- break;
- }
- } finally {
- Closeables2.closeQuietly(response.getPayload());
- command.setException(exception);
- }
- }
-
- public String parseMessage(HttpResponse response) {
- if (response.getPayload() == null)
- return null;
- try {
- return Strings2.toString(response.getPayload());
- } catch (IOException e) {
- throw new RuntimeException(e);
- } finally {
- try {
- response.getPayload().getInput().close();
- } catch (IOException e) {
- Throwables.propagate(e);
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginApi.java
deleted file mode 100644
index 17d62b6..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginApi.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import org.jclouds.savvis.vpdc.domain.internal.VCloudSession;
-
-public interface LoginApi {
-
- /**
- * This request returns a token to use in subsequent requests. After 30 minutes of inactivity,
- * the token expires and you have to request a new token with this call.
- */
- VCloudSession login();
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginAsyncApi.java
deleted file mode 100644
index d07b80c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginAsyncApi.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.savvis.vpdc.domain.internal.VCloudSession;
-import org.jclouds.savvis.vpdc.functions.ParseLoginResponseFromHeaders;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Establishes a context with a VCloud endpoint.
- * <p/>
- *
- * @see <a href="https://community.vcloudexpress.terremark.com/en-us/discussion_forums/f/60.aspx" />
- */
-@RequestFilters(BasicAuthentication.class)
-public interface LoginAsyncApi {
-
- /**
- * This request returns a token to use in subsequent requests. After 30 minutes of inactivity,
- * the token expires and you have to request a new token with this call.
- */
- @POST
- @ResponseParser(ParseLoginResponseFromHeaders.class)
- @Path("v{jclouds.api-version}/login")
- ListenableFuture<VCloudSession> login();
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Network.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Network.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Network.java
deleted file mode 100644
index ef52c97..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Network.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a VCloud Network.
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Network {
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Org.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Org.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Org.java
deleted file mode 100644
index c96f63c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Org.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a VCloud express Org.
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Org {
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VCloudToken.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VCloudToken.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VCloudToken.java
deleted file mode 100644
index ebd260f..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VCloudToken.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * A VCloud Session Token
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface VCloudToken {
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VDC.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VDC.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VDC.java
deleted file mode 100644
index beec9f3..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VDC.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a VCloud express Catalog.
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = {ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface VDC {
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/location/FirstNetwork.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/location/FirstNetwork.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/location/FirstNetwork.java
deleted file mode 100644
index 536212c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/location/FirstNetwork.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.location;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.find;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.collect.Memoized;
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LocationScope;
-import org.jclouds.location.suppliers.ImplicitLocationSupplier;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Supplier;
-
-@Singleton
-public class FirstNetwork implements ImplicitLocationSupplier {
- @Singleton
- public static final class IsNetwork implements Predicate<Location> {
- @Override
- public boolean apply(Location input) {
- return input.getScope() == LocationScope.NETWORK;
- }
-
- @Override
- public String toString() {
- return "isNetwork()";
- }
- }
-
- private final Supplier<Set<? extends Location>> locationsSupplier;
- private final IsNetwork isNetwork;
-
- @Inject
- FirstNetwork(@Memoized Supplier<Set<? extends Location>> locationsSupplier, IsNetwork isNetwork) {
- this.locationsSupplier = checkNotNull(locationsSupplier, "locationsSupplierSupplier");
- this.isNetwork = checkNotNull(isNetwork, "isNetwork");
- }
-
- @Override
- public Location get() {
- return find(locationsSupplier.get(), isNetwork);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/BindGetVMOptions.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/BindGetVMOptions.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/BindGetVMOptions.java
deleted file mode 100644
index 95c41e17..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/BindGetVMOptions.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.options;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static org.jclouds.http.Uris.uriBuilder;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-@Singleton
-public class BindGetVMOptions implements Binder {
-
- @SuppressWarnings("unchecked")
- @Override
- public <R extends HttpRequest> R bindToRequest(R request, Object input) {
- checkArgument(input instanceof GetVMOptions[], "this binder is only valid for GetVAppOptions!");
- GetVMOptions[] options = GetVMOptions[].class.cast(input);
- if (options.length > 0 && options[0].isWithPowerState())
- return (R) request.toBuilder()
- .endpoint(uriBuilder(request.getEndpoint()).appendPath("withpowerstate").build()).build();
- else
- return request;
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/GetVMOptions.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/GetVMOptions.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/GetVMOptions.java
deleted file mode 100644
index 16ca59c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/GetVMOptions.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.options;
-
-
-/**
- * Contains options supported for the GetVApp operation. <h2>
- * Usage</h2> The recommended way to instantiate a GetVAppOptions object is to statically import
- * GetVAppOptions.Builder.* and invoke a static creation method followed by an instance mutator (if
- * needed):
- * <p/>
- * <code>
- * import static org.jclouds.savvis.vpdc.options.GetVAppOptions.Builder.*
- * <p/>
- *
- * vApp = context.getApi().getBrowsingApi().getVAppInVDC(orgId, vdcId, vAppId, withPowerState());
- * <code>
- *
- * @see <a href= "https://api.sandbox.savvis.net/doc/spec/api/getVAppPowerState.html"
- * />
- */
-public class GetVMOptions {
- public static final GetVMOptions NONE = new GetVMOptions();
- private boolean withPowerState;
-
- /**
- * The VM State is the real time state.
- */
- public GetVMOptions withPowerState() {
- this.withPowerState = true;
- return this;
- }
-
- public boolean isWithPowerState() {
- return withPowerState;
- }
-
- public static class Builder {
-
- /**
- * @see GetVMOptions#withPowerState()
- */
- public static GetVMOptions withPowerState() {
- GetVMOptions options = new GetVMOptions();
- return options.withPowerState();
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/predicates/TaskSuccess.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/predicates/TaskSuccess.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/predicates/TaskSuccess.java
deleted file mode 100644
index 0ce2856..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/predicates/TaskSuccess.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.predicates;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.logging.Logger;
-import org.jclouds.savvis.vpdc.VPDCApi;
-import org.jclouds.savvis.vpdc.domain.Task;
-
-import com.google.common.base.Predicate;
-import com.google.inject.Inject;
-
-/**
- *
- * Tests to see if a task succeeds.
- */
-@Singleton
-public class TaskSuccess implements Predicate<String> {
-
- private final VPDCApi api;
-
- @Resource
- protected Logger logger = Logger.NULL;
-
- @Inject
- public TaskSuccess(VPDCApi api) {
- this.api = api;
- }
-
- public boolean apply(String taskId) {
- logger.trace("looking for status on task %s", checkNotNull(taskId, "taskId"));
- Task task = refresh(taskId);
- if (task == null)
- return false;
- logger.trace("%s: looking for task status %s: currently: %s", task.getId(), Task.Status.SUCCESS, task.getStatus());
- if (task.getError() != null)
- throw new IllegalStateException(String.format("task %s failed with exception %s", task.getId(), task
- .getError().toString()));
- return task.getStatus() == Task.Status.SUCCESS;
- }
-
- private Task refresh(String taskId) {
- return api.getBrowsingApi().getTask(taskId);
- }
-}