From 1f81fca6d2a08247c4491f92331c9fb7c630cc26 Mon Sep 17 00:00:00 2001 From: prachi Date: Mon, 9 Apr 2012 17:48:43 -0700 Subject: [PATCH] Fixed DescribeImages to list templates that are: - private - public - shared by some other user --- .../bridge/service/core/ec2/EC2Engine.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/cloudbridge/src/com/cloud/bridge/service/core/ec2/EC2Engine.java b/cloudbridge/src/com/cloud/bridge/service/core/ec2/EC2Engine.java index 9c5a902de8b..79b04150dfa 100644 --- a/cloudbridge/src/com/cloud/bridge/service/core/ec2/EC2Engine.java +++ b/cloudbridge/src/com/cloud/bridge/service/core/ec2/EC2Engine.java @@ -1707,9 +1707,30 @@ public class EC2Engine { */ private EC2DescribeImagesResponse listTemplates( String templateId, EC2DescribeImagesResponse images ) throws EC2ServiceException { try { - List resp = getApi().listTemplates("executable", null, null, null, templateId != null ? templateId : null, null, null, null); - if (resp != null && resp.size() > 0) { - for (CloudStackTemplate temp : resp) { + List result = new ArrayList(); + + List selfExecutable = getApi().listTemplates("selfexecutable", null, null, null, templateId != null ? templateId : null, null, null, null); + if(selfExecutable != null){ + result.addAll(selfExecutable); + } + + List featured = getApi().listTemplates("featured", null, null, null, templateId != null ? templateId : null, null, null, null); + if(featured != null){ + result.addAll(featured); + } + + List sharedExecutable = getApi().listTemplates("sharedexecutable", null, null, null, templateId != null ? templateId : null, null, null, null); + if(sharedExecutable != null){ + result.addAll(sharedExecutable); + } + + List community = getApi().listTemplates("community", null, null, null, templateId != null ? templateId : null, null, null, null); + if(community != null){ + result.addAll(community); + } + + if (result != null && result.size() > 0) { + for (CloudStackTemplate temp : result) { EC2Image ec2Image = new EC2Image(); ec2Image.setId(temp.getId().toString()); ec2Image.setAccountName(temp.getAccount());