Skip to content

Commit 2c9e2c1

Browse files
committed
PR7769: add method convertDetailsToMap to BaseCmd
1 parent 7d14881 commit 2c9e2c1

File tree

5 files changed

+25
-61
lines changed

5 files changed

+25
-61
lines changed

api/src/main/java/org/apache/cloudstack/api/BaseCmd.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
import java.text.DateFormat;
2222
import java.text.SimpleDateFormat;
2323
import java.util.ArrayList;
24+
import java.util.Collection;
2425
import java.util.Date;
2526
import java.util.HashMap;
27+
import java.util.Iterator;
2628
import java.util.List;
2729
import java.util.Map;
2830
import java.util.regex.Pattern;
@@ -42,6 +44,7 @@
4244
import org.apache.cloudstack.query.QueryService;
4345
import org.apache.cloudstack.storage.ImageStoreService;
4446
import org.apache.cloudstack.usage.UsageService;
47+
import org.apache.commons.collections.MapUtils;
4548
import org.apache.log4j.Logger;
4649

4750
import com.cloud.configuration.ConfigurationService;
@@ -456,4 +459,18 @@ public ApiCommandResourceType getApiResourceType() {
456459
return ApiCommandResourceType.None;
457460
}
458461

462+
public Map<String, String> convertDetailsToMap(Map details) {
463+
Map<String, String> detailsMap = new HashMap<String, String>();
464+
if (MapUtils.isNotEmpty(details)) {
465+
Collection parameterCollection = details.values();
466+
Iterator iter = parameterCollection.iterator();
467+
while (iter.hasNext()) {
468+
HashMap<String, String> value = (HashMap<String, String>)iter.next();
469+
for (Map.Entry<String,String> entry: value.entrySet()) {
470+
detailsMap.put(entry.getKey(),entry.getValue());
471+
}
472+
}
473+
}
474+
return detailsMap;
475+
}
459476
}

api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public class UpdateAutoScaleVmProfileCmd extends BaseAsyncCustomIdCmd {
111111

112112
@Parameter(name = ApiConstants.USER_DATA_DETAILS, type = CommandType.MAP, description = "used to specify the parameters values for the variables in userdata.",
113113
since = "4.18.1")
114-
private Map userdataDetails;
114+
private Map userDataDetails;
115115

116116
@Parameter(name = ApiConstants.AUTOSCALE_USER_ID,
117117
type = CommandType.UUID,
@@ -171,19 +171,8 @@ public Long getUserdataId() {
171171
return userdataId;
172172
}
173173

174-
public Map<String, String> getUserdataDetails() {
175-
Map<String, String> userdataDetailsMap = new HashMap<String, String>();
176-
if (userdataDetails != null && userdataDetails.size() != 0) {
177-
Collection parameterCollection = userdataDetails.values();
178-
Iterator iter = parameterCollection.iterator();
179-
while (iter.hasNext()) {
180-
HashMap<String, String> value = (HashMap<String, String>)iter.next();
181-
for (Map.Entry<String,String> entry: value.entrySet()) {
182-
userdataDetailsMap.put(entry.getKey(),entry.getValue());
183-
}
184-
}
185-
}
186-
return userdataDetailsMap;
174+
public Map<String, String> getuserDataDetails() {
175+
return convertDetailsToMap(userDataDetails);
187176
}
188177

189178
public Long getAutoscaleUserId() {

api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -309,17 +309,8 @@ public ApiConstants.BootType getBootType() {
309309
}
310310

311311
public Map<String, String> getDetails() {
312-
Map<String, String> customparameterMap = new HashMap<String, String>();
313-
if (details != null && details.size() != 0) {
314-
Collection parameterCollection = details.values();
315-
Iterator iter = parameterCollection.iterator();
316-
while (iter.hasNext()) {
317-
HashMap<String, String> value = (HashMap<String, String>)iter.next();
318-
for (Map.Entry<String,String> entry: value.entrySet()) {
319-
customparameterMap.put(entry.getKey(),entry.getValue());
320-
}
321-
}
322-
}
312+
Map<String, String> customparameterMap = convertDetailsToMap(details);
313+
323314
if (getBootType() != null) {
324315
customparameterMap.put(getBootType().toString(), getBootMode().toString());
325316
}
@@ -450,18 +441,7 @@ public Long getUserdataId() {
450441
}
451442

452443
public Map<String, String> getUserdataDetails() {
453-
Map<String, String> userdataDetailsMap = new HashMap<String, String>();
454-
if (userdataDetails != null && userdataDetails.size() != 0) {
455-
Collection parameterCollection = userdataDetails.values();
456-
Iterator iter = parameterCollection.iterator();
457-
while (iter.hasNext()) {
458-
HashMap<String, String> value = (HashMap<String, String>)iter.next();
459-
for (Map.Entry<String,String> entry: value.entrySet()) {
460-
userdataDetailsMap.put(entry.getKey(),entry.getValue());
461-
}
462-
}
463-
}
464-
return userdataDetailsMap;
444+
return convertDetailsToMap(userdataDetails);
465445
}
466446

467447
public Long getZoneId() {

api/src/main/java/org/apache/cloudstack/api/command/user/vm/ResetVMUserDataCmd.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,18 +117,7 @@ public Long getUserdataId() {
117117
}
118118

119119
public Map<String, String> getUserdataDetails() {
120-
Map<String, String> userdataDetailsMap = new HashMap<String, String>();
121-
if (userdataDetails != null && userdataDetails.size() != 0) {
122-
Collection parameterCollection = userdataDetails.values();
123-
Iterator iter = parameterCollection.iterator();
124-
while (iter.hasNext()) {
125-
HashMap<String, String> value = (HashMap<String, String>)iter.next();
126-
for (Map.Entry<String,String> entry: value.entrySet()) {
127-
userdataDetailsMap.put(entry.getKey(),entry.getValue());
128-
}
129-
}
130-
}
131-
return userdataDetailsMap;
120+
return convertDetailsToMap(userdataDetails);
132121
}
133122

134123
@Override

api/src/main/java/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -176,18 +176,7 @@ public Long getUserdataId() {
176176
}
177177

178178
public Map<String, String> getUserdataDetails() {
179-
Map<String, String> userdataDetailsMap = new HashMap<String, String>();
180-
if (userdataDetails != null && userdataDetails.size() != 0) {
181-
Collection parameterCollection = userdataDetails.values();
182-
Iterator iter = parameterCollection.iterator();
183-
while (iter.hasNext()) {
184-
HashMap<String, String> value = (HashMap<String, String>)iter.next();
185-
for (Map.Entry<String,String> entry: value.entrySet()) {
186-
userdataDetailsMap.put(entry.getKey(),entry.getValue());
187-
}
188-
}
189-
}
190-
return userdataDetailsMap;
179+
return convertDetailsToMap(userdataDetails);
191180
}
192181

193182
public Boolean getDisplayVm() {

0 commit comments

Comments
 (0)