From ac56adc2e169f038eb9302a011c34e51f0d96015 Mon Sep 17 00:00:00 2001 From: Adrian Cole Date: Thu, 2 Jun 2011 13:47:57 -0700 Subject: [PATCH] Issue 592:templateBuilder.fromTemplate loses location when more narrow than region --- .../org/jclouds/ec2/compute/options/EC2TemplateOptions.java | 2 +- .../compute/domain/internal/TemplateBuilderImpl.java | 1 + .../org/jclouds/compute/BaseTemplateBuilderLiveTest.java | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/compute/options/EC2TemplateOptions.java b/apis/ec2/src/main/java/org/jclouds/ec2/compute/options/EC2TemplateOptions.java index 5f63ffbd10..1c44f71c93 100644 --- a/apis/ec2/src/main/java/org/jclouds/ec2/compute/options/EC2TemplateOptions.java +++ b/apis/ec2/src/main/java/org/jclouds/ec2/compute/options/EC2TemplateOptions.java @@ -509,6 +509,6 @@ public class EC2TemplateOptions extends TemplateOptions implements Cloneable { @Override public String toString() { return "[groupIds=" + groupIds + ", keyPair=" + keyPair + ", noKeyPair=" + noKeyPair + ", userData=" - + Arrays.toString(userData) + ", blockDeviceMappings=" + blockDeviceMappings + "]"; + + Arrays.toString(userData) + ", blockDeviceMappings=" + blockDeviceMappings.build() + "]"; } } diff --git a/compute/src/main/java/org/jclouds/compute/domain/internal/TemplateBuilderImpl.java b/compute/src/main/java/org/jclouds/compute/domain/internal/TemplateBuilderImpl.java index c03791bbd0..4c9c44949a 100644 --- a/compute/src/main/java/org/jclouds/compute/domain/internal/TemplateBuilderImpl.java +++ b/compute/src/main/java/org/jclouds/compute/domain/internal/TemplateBuilderImpl.java @@ -416,6 +416,7 @@ public class TemplateBuilderImpl implements TemplateBuilder { */ @Override public TemplateBuilder fromTemplate(Template template) { + location = template.getLocation(); fromHardware(template.getHardware()); fromImage(template.getImage()); options(template.getOptions()); diff --git a/compute/src/test/java/org/jclouds/compute/BaseTemplateBuilderLiveTest.java b/compute/src/test/java/org/jclouds/compute/BaseTemplateBuilderLiveTest.java index 5ae857f58a..75d9800e4e 100644 --- a/compute/src/test/java/org/jclouds/compute/BaseTemplateBuilderLiveTest.java +++ b/compute/src/test/java/org/jclouds/compute/BaseTemplateBuilderLiveTest.java @@ -101,6 +101,12 @@ public abstract class BaseTemplateBuilderLiveTest { assert getCores(fastest) >= getCores(smallest) : String.format("%s ! >= %s", fastest, smallest); } + public void testFromTemplate() { + Template defaultTemplate = context.getComputeService().templateBuilder().build(); + assertEquals(context.getComputeService().templateBuilder().fromTemplate(defaultTemplate).build().toString(), + defaultTemplate.toString()); + } + protected Properties setupProperties() { Properties overrides = new Properties(); overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");