in cloudstack operations that affect resources, account and domainid must be paired

This commit is contained in:
Adrian Cole 2011-02-20 08:41:15 -08:00
parent 3b752ea955
commit 3c0cffc54f
3 changed files with 19 additions and 59 deletions

View File

@ -34,21 +34,15 @@ public class AssociateIPAddressOptions extends BaseHttpRequestOptions {
public static final AssociateIPAddressOptions NONE = new AssociateIPAddressOptions();
/**
* @param domainId
* the ID of the domain to associate with this IP address
*/
public AssociateIPAddressOptions domainId(long domainId) {
this.queryParameters.replaceValues("domainid", ImmutableSet.of(domainId + ""));
return this;
}
/**
*
* @param account
* the account to associate with this IP address
* an optional account for the ip address
* @param domain
* domain id
*/
public AssociateIPAddressOptions account(String account) {
public AssociateIPAddressOptions accountInDomain(String account, long domain) {
this.queryParameters.replaceValues("account", ImmutableSet.of(account));
this.queryParameters.replaceValues("domainid", ImmutableSet.of(domain + ""));
return this;
}
@ -63,21 +57,12 @@ public class AssociateIPAddressOptions extends BaseHttpRequestOptions {
}
public static class Builder {
/**
* @see AssociateIPAddressOptions#account
* @see AssociateIPAddressOptions#accountInDomain
*/
public static AssociateIPAddressOptions account(String account) {
public static AssociateIPAddressOptions accountInDomain(String account, long domain) {
AssociateIPAddressOptions options = new AssociateIPAddressOptions();
return options.account(account);
}
/**
* @see AssociateIPAddressOptions#domainId
*/
public static AssociateIPAddressOptions domainId(long id) {
AssociateIPAddressOptions options = new AssociateIPAddressOptions();
return options.domainId(id);
return options.accountInDomain(account, domain);
}
/**

View File

@ -46,8 +46,9 @@ public class DeployVirtualMachineOptions extends BaseHttpRequestOptions {
* domain id
*/
public DeployVirtualMachineOptions accountInDomain(String account, long domain) {
this.queryParameters.replaceValues("account", ImmutableSet.of(account + ""));
return domainId(domain);
this.queryParameters.replaceValues("account", ImmutableSet.of(account));
this.queryParameters.replaceValues("domain", ImmutableSet.of(domain + ""));
return this;
}
/**
@ -75,15 +76,6 @@ public class DeployVirtualMachineOptions extends BaseHttpRequestOptions {
return this;
}
/**
* @param domainId
* an optional domainId for the virtual machine
*/
public DeployVirtualMachineOptions domainId(long domainId) {
this.queryParameters.replaceValues("domainid", ImmutableSet.of(domainId + ""));
return this;
}
/**
* @param group
* an optional group for the virtual machine
@ -208,14 +200,6 @@ public class DeployVirtualMachineOptions extends BaseHttpRequestOptions {
return options.displayName(displayName);
}
/**
* @see DeployVirtualMachineOptions#domainId
*/
public static DeployVirtualMachineOptions domainId(long id) {
DeployVirtualMachineOptions options = new DeployVirtualMachineOptions();
return options.domainId(id);
}
/**
* @see DeployVirtualMachineOptions#group
*/

View File

@ -19,8 +19,7 @@
package org.jclouds.cloudstack.options;
import static org.jclouds.cloudstack.options.AssociateIPAddressOptions.Builder.account;
import static org.jclouds.cloudstack.options.AssociateIPAddressOptions.Builder.domainId;
import static org.jclouds.cloudstack.options.AssociateIPAddressOptions.Builder.accountInDomain;
import static org.jclouds.cloudstack.options.AssociateIPAddressOptions.Builder.networkId;
import static org.testng.Assert.assertEquals;
@ -36,23 +35,15 @@ import com.google.common.collect.ImmutableList;
@Test(groups = "unit")
public class AssociateIPAddressOptionsTest {
public void testAccount() {
AssociateIPAddressOptions options = new AssociateIPAddressOptions().account("account");
assertEquals(ImmutableList.of("account"), options.buildQueryParameters().get("account"));
}
public void testAccountStatic() {
AssociateIPAddressOptions options = account("account");
assertEquals(ImmutableList.of("account"), options.buildQueryParameters().get("account"));
}
public void testDomainId() {
AssociateIPAddressOptions options = new AssociateIPAddressOptions().domainId(6);
public void testAccountInDomainId() {
AssociateIPAddressOptions options = new AssociateIPAddressOptions().accountInDomain("adrian", 6);
assertEquals(ImmutableList.of("adrian"), options.buildQueryParameters().get("account"));
assertEquals(ImmutableList.of("6"), options.buildQueryParameters().get("domainid"));
}
public void testDomainIdStatic() {
AssociateIPAddressOptions options = domainId(6);
public void testAccountInDomainIdStatic() {
AssociateIPAddressOptions options = accountInDomain("adrian", 6);
assertEquals(ImmutableList.of("adrian"), options.buildQueryParameters().get("account"));
assertEquals(ImmutableList.of("6"), options.buildQueryParameters().get("domainid"));
}