Skip to content

Commit 9e387b1

Browse files
config and ui changes
1 parent 703e618 commit 9e387b1

File tree

25 files changed

+438
-242
lines changed

25 files changed

+438
-242
lines changed

api/src/main/java/org/apache/cloudstack/api/command/admin/config/ListCfgGroupsByCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
import com.cloud.utils.Pair;
3333

34-
@APICommand(name = ListCfgGroupsByCmd.APINAME, description = "Lists all configuration groups.", responseObject = ConfigurationGroupResponse.class,
34+
@APICommand(name = ListCfgGroupsByCmd.APINAME, description = "Lists all configuration groups (primarily used for UI).", responseObject = ConfigurationGroupResponse.class,
3535
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, since = "4.17.0")
3636
public class ListCfgGroupsByCmd extends BaseListCmd {
3737
public static final Logger s_logger = Logger.getLogger(ListCfgGroupsByCmd.class.getName());

api/src/main/java/org/apache/cloudstack/api/command/admin/config/ListCfgsByCmd.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,13 @@ public class ListCfgsByCmd extends BaseListCmd {
9393
description = "the ID of the Image Store to update the parameter value for corresponding image store")
9494
private Long imageStoreId;
9595

96-
@Parameter(name = ApiConstants.GROUP, type = CommandType.STRING, description = "lists configuration by group name", since = "4.17.0")
96+
@Parameter(name = ApiConstants.GROUP, type = CommandType.STRING, description = "lists configuration by group name (primarily used for UI)", since = "4.17.0")
9797
private String groupName;
9898

99-
@Parameter(name = ApiConstants.SUBGROUP, type = CommandType.STRING, description = "lists configuration by subgroup name", since = "4.17.0")
99+
@Parameter(name = ApiConstants.SUBGROUP, type = CommandType.STRING, description = "lists configuration by subgroup name (primarily used for UI)", since = "4.17.0")
100100
private String subGroupName;
101101

102-
@Parameter(name = ApiConstants.PARENT, type = CommandType.STRING, description = "lists configuration by parent name", since = "4.17.0")
102+
@Parameter(name = ApiConstants.PARENT, type = CommandType.STRING, description = "lists configuration by parent name (primarily used for UI)", since = "4.17.0")
103103
private String parentName;
104104

105105
// ///////////////////////////////////////////////////

engine/components-api/src/main/java/com/cloud/configuration/ConfigurationManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ Vlan createVlanAndPublicIpRange(long zoneId, long networkId, long physicalNetwor
265265

266266
String getConfigurationType(String configName); // Value type
267267

268-
Pair<String, String> getConfigurationGroup(String configName);
268+
Pair<String, String> getConfigurationGroupAndSubGroup(String configName);
269269

270270
List<ConfigurationSubGroupVO> getConfigurationSubGroups(Long groupId);
271271
}

engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41610to41700.java

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,15 @@ private void updateConfigurationGroups(Connection conn) {
113113
}
114114

115115
for (int index = 0; index < nameWords.length; index++) {
116-
Pair<Long, Long> configGroup = getConfigurationGroup(conn, nameWords[index]);
117-
if (configGroup.first() != 0 && configGroup.second() != 0) {
118-
stmt = "UPDATE `cloud`.`configuration` SET subgroup_id = ? , group_id = ? WHERE name = ?";
116+
Pair<Long, Long> configGroupAndSubGroup = getConfigurationGroupAndSubGroup(conn, nameWords[index]);
117+
if (configGroupAndSubGroup.first() != 1 && configGroupAndSubGroup.second() != 1) {
118+
stmt = "UPDATE `cloud`.`configuration` SET group_id = ?, subgroup_id = ? WHERE name = ?";
119119
pstmt = conn.prepareStatement(stmt);
120-
pstmt.setLong(1, configGroup.first());
121-
pstmt.setLong(2, configGroup.second());
120+
pstmt.setLong(1, configGroupAndSubGroup.first());
121+
pstmt.setLong(2, configGroupAndSubGroup.second());
122122
pstmt.setString(3, configName);
123123
pstmt.executeUpdate();
124+
break;
124125
}
125126
}
126127
}
@@ -135,25 +136,25 @@ private void updateConfigurationGroups(Connection conn) {
135136
}
136137
}
137138

138-
private Pair<Long, Long> getConfigurationGroup(Connection conn, String subGroupName) {
139-
Long subGroupId = 0L;
140-
Long groupId = 0L;
139+
private Pair<Long, Long> getConfigurationGroupAndSubGroup(Connection conn, String name) {
140+
Long subGroupId = 1L;
141+
Long groupId = 1L;
141142
try {
142143
String stmt = "SELECT id, group_id FROM `cloud`.`configuration_subgroup` WHERE name = ?";
143144
PreparedStatement pstmt = conn.prepareStatement(stmt);
144-
pstmt.setString(1, subGroupName);
145+
pstmt.setString(1, name);
145146
ResultSet rs = pstmt.executeQuery();
146147
if (rs.next()) {
147148
subGroupId = rs.getLong(1);
148149
groupId = rs.getLong(2);
149150
} else {
150151
// Try with keywords in the configuration subgroup
151-
stmt = "SELECT id, group_id, keywords FROM `cloud`.`configuration_subgroup`";
152+
stmt = "SELECT id, group_id, keywords FROM `cloud`.`configuration_subgroup` WHERE keywords IS NOT NULL";
152153
pstmt = conn.prepareStatement(stmt);
153154
ResultSet rsConfigurationSubGroups = pstmt.executeQuery();
154155
while (rsConfigurationSubGroups.next()) {
155-
subGroupId = rsConfigurationSubGroups.getLong(1);
156-
groupId = rsConfigurationSubGroups.getLong(2);
156+
Long keywordsSubGroupId = rsConfigurationSubGroups.getLong(1);
157+
Long keywordsGroupId = rsConfigurationSubGroups.getLong(2);
157158
String keywords = rsConfigurationSubGroups.getString(3);
158159
if(StringUtils.isBlank(keywords)) {
159160
continue;
@@ -168,8 +169,10 @@ private Pair<Long, Long> getConfigurationGroup(Connection conn, String subGroupN
168169
for (String configKeyword : keywordsList) {
169170
if (StringUtils.isNotBlank(configKeyword)) {
170171
configKeyword = configKeyword.strip();
171-
if (configKeyword.equalsIgnoreCase(subGroupName) || configKeyword.toLowerCase().startsWith(subGroupName.toLowerCase())) {
172-
break;
172+
if (configKeyword.equalsIgnoreCase(name) || configKeyword.toLowerCase().startsWith(name.toLowerCase())) {
173+
subGroupId = keywordsSubGroupId;
174+
groupId = keywordsGroupId;
175+
return new Pair<Long, Long>(groupId, subGroupId);
173176
}
174177
}
175178
}
@@ -182,6 +185,6 @@ private Pair<Long, Long> getConfigurationGroup(Connection conn, String subGroupN
182185
LOG.error("Failed to get configuration subgroup due to " + e.getMessage(), e);
183186
}
184187

185-
return new Pair<Long, Long>(subGroupId, groupId);
188+
return new Pair<Long, Long>(groupId, subGroupId);
186189
}
187190
}

0 commit comments

Comments
 (0)