VmConfigInfo configInfo = template.getConfig().getVAppConfig();
// the parent vm might not have vApp option enabled. This is possible when user
// used customized template.
if (configInfo != null) {
VmConfigSpec vAppSpec = new VmConfigSpecImpl();
vAppSpec.setOvfEnvironmentTransport(configInfo
.getOvfEnvironmentTransport());
// product info
List<ProductSpec> productSpecs = new ArrayList<ProductSpec>();
for (ProductInfo info : configInfo.getProduct()) {
ProductSpec spec = new ProductSpecImpl();
spec.setInfo(info);
spec.setOperation(Operation.add);
productSpecs.add(spec);
}
vAppSpec.setProduct(productSpecs.toArray(new ProductSpec[productSpecs
.size()]));
configSpec.setVAppConfig(vAppSpec);
}
}