Skip to content

Commit 7d379fd

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

File tree

5 files changed

+23
-65
lines changed

5 files changed

+23
-65
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: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717

1818
package org.apache.cloudstack.api.command.user.autoscale;
1919

20-
import java.util.Collection;
2120
import java.util.HashMap;
22-
import java.util.Iterator;
2321
import java.util.Map;
2422

2523
import org.apache.log4j.Logger;
@@ -172,18 +170,7 @@ public Long getUserdataId() {
172170
}
173171

174172
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;
173+
return convertDetailsToMap(userdataDetails);
187174
}
188175

189176
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 & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@
3939
import org.apache.cloudstack.context.CallContext;
4040
import org.apache.log4j.Logger;
4141

42-
import java.util.Collection;
43-
import java.util.HashMap;
44-
import java.util.Iterator;
4542
import java.util.Map;
4643

4744
@APICommand(name = "resetUserDataForVirtualMachine", responseObject = UserVmResponse.class, description = "Resets the UserData for virtual machine. " +
@@ -117,18 +114,7 @@ public Long getUserdataId() {
117114
}
118115

119116
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;
117+
return convertDetailsToMap(userdataDetails);
132118
}
133119

134120
@Override

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

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import java.util.Collection;
2020
import java.util.HashMap;
21-
import java.util.Iterator;
2221
import java.util.List;
2322
import java.util.Map;
2423

@@ -176,18 +175,7 @@ public Long getUserdataId() {
176175
}
177176

178177
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;
178+
return convertDetailsToMap(userdataDetails);
191179
}
192180

193181
public Boolean getDisplayVm() {

0 commit comments

Comments
 (0)