Skip to content

Commit eaff6f0

Browse files
committed
server: consistent domainpath in api responses
Currently, some APIs return domainpath as 'ROOT/domain1/domain2' while other return it as '/domain1/domain2'. This PR makes the response consistent. Signed-off-by: Abhishek Kumar <[email protected]>
1 parent 3ddd802 commit eaff6f0

File tree

4 files changed

+18
-17
lines changed

4 files changed

+18
-17
lines changed

server/src/main/java/com/cloud/api/ApiResponseHelper.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,15 @@ public class ApiResponseHelper implements ResponseGenerator {
530530
@Inject
531531
ResourceIconManager resourceIconManager;
532532

533+
public static String getPrettyDomainPath(String path) {
534+
if (path == null) {
535+
return null;
536+
}
537+
StringBuilder domainPath = new StringBuilder("ROOT");
538+
(domainPath.append(path)).deleteCharAt(domainPath.length() - 1);
539+
return domainPath.toString();
540+
}
541+
533542
@Override
534543
public UserResponse createUserResponse(User user) {
535544
UserAccountJoinVO vUser = ApiDBUtils.newUserView(user);
@@ -567,9 +576,7 @@ public DomainResponse createDomainResponse(Domain domain) {
567576
if (parentDomain != null) {
568577
domainResponse.setParentDomainId(parentDomain.getUuid());
569578
}
570-
StringBuilder domainPath = new StringBuilder("ROOT");
571-
(domainPath.append(domain.getPath())).deleteCharAt(domainPath.length() - 1);
572-
domainResponse.setPath(domainPath.toString());
579+
domainResponse.setPath(getPrettyDomainPath(domain.getPath()));
573580
if (domain.getParent() != null) {
574581
domainResponse.setParentDomainName(ApiDBUtils.findDomainById(domain.getParent()).getName());
575582
}
@@ -2761,10 +2768,7 @@ public NetworkResponse createNetworkResponse(ResponseView view, Network network)
27612768
Domain domain = ApiDBUtils.findDomainById(domainNetworkDetails.first());
27622769
if (domain != null) {
27632770
response.setDomainId(domain.getUuid());
2764-
2765-
StringBuilder domainPath = new StringBuilder("ROOT");
2766-
(domainPath.append(domain.getPath())).deleteCharAt(domainPath.length() - 1);
2767-
response.setDomainPath(domainPath.toString());
2771+
response.setDomainPath(getPrettyDomainPath(domain.getPath()));
27682772
}
27692773
}
27702774
response.setSubdomainAccess(domainNetworkDetails.second());
@@ -3049,7 +3053,7 @@ private void populateOwner(ControlledEntityResponse response, ControlledEntity o
30493053
Domain domain = ApiDBUtils.findDomainById(object.getDomainId());
30503054
response.setDomainId(domain.getUuid());
30513055
response.setDomainName(domain.getName());
3052-
response.setDomainPath(domain.getPath());
3056+
response.setDomainPath(getPrettyDomainPath(domain.getPath()));
30533057
}
30543058

30553059
private void populateOwner(ControlledViewEntityResponse response, ControlledEntity object) {

server/src/main/java/com/cloud/api/query/dao/AccountJoinDaoImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import org.apache.cloudstack.api.response.UserResponse;
3333

3434
import com.cloud.api.ApiDBUtils;
35+
import com.cloud.api.ApiResponseHelper;
3536
import com.cloud.api.query.ViewResponseHelper;
3637
import com.cloud.api.query.vo.AccountJoinVO;
3738
import com.cloud.api.query.vo.UserAccountJoinVO;
@@ -74,9 +75,7 @@ public AccountResponse newAccountResponse(ResponseView view, EnumSet<DomainDetai
7475
accountResponse.setAccountType(account.getType().ordinal());
7576
accountResponse.setDomainId(account.getDomainUuid());
7677
accountResponse.setDomainName(account.getDomainName());
77-
StringBuilder domainPath = new StringBuilder("ROOT");
78-
(domainPath.append(account.getDomainPath())).deleteCharAt(domainPath.length() - 1);
79-
accountResponse.setDomainPath(domainPath.toString());
78+
accountResponse.setDomainPath(ApiResponseHelper.getPrettyDomainPath(account.getDomainPath()));
8079
accountResponse.setState(account.getState().toString());
8180
accountResponse.setCreated(account.getCreated());
8281
accountResponse.setNetworkDomain(account.getNetworkDomain());

server/src/main/java/com/cloud/api/query/dao/AsyncJobJoinDaoImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.apache.cloudstack.api.response.AsyncJobResponse;
2929
import org.apache.cloudstack.framework.jobs.AsyncJob;
3030

31+
import com.cloud.api.ApiResponseHelper;
3132
import com.cloud.api.ApiSerializerHelper;
3233
import com.cloud.api.SerializationContext;
3334
import com.cloud.api.query.vo.AsyncJobJoinVO;
@@ -60,9 +61,7 @@ public AsyncJobResponse newAsyncJobResponse(final AsyncJobJoinVO job) {
6061
jobResponse.setAccountId(job.getAccountUuid());
6162
jobResponse.setAccount(job.getAccountName());
6263
jobResponse.setDomainId(job.getDomainUuid());
63-
StringBuilder domainPath = new StringBuilder("ROOT");
64-
(domainPath.append(job.getDomainPath())).deleteCharAt(domainPath.length() - 1);
65-
jobResponse.setDomainPath(domainPath.toString());
64+
jobResponse.setDomainPath(ApiResponseHelper.getPrettyDomainPath(job.getDomainPath()));
6665
jobResponse.setUserId(job.getUserUuid());
6766
jobResponse.setCmd(job.getCmd());
6867
jobResponse.setCreated(job.getCreated());

server/src/main/java/com/cloud/api/query/dao/DomainJoinDaoImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.List;
2222

2323

24+
import com.cloud.api.ApiResponseHelper;
2425
import com.cloud.configuration.Resource;
2526
import com.cloud.user.AccountManager;
2627
import org.apache.cloudstack.annotation.AnnotationService;
@@ -79,9 +80,7 @@ public DomainResponse newDomainResponse(ResponseView view, EnumSet<DomainDetails
7980
if (domain.getParentUuid() != null) {
8081
domainResponse.setParentDomainId(domain.getParentUuid());
8182
}
82-
StringBuilder domainPath = new StringBuilder("ROOT");
83-
(domainPath.append(domain.getPath())).deleteCharAt(domainPath.length() - 1);
84-
domainResponse.setPath(domainPath.toString());
83+
domainResponse.setPath(ApiResponseHelper.getPrettyDomainPath(domain.getPath()));
8584
if (domain.getParent() != null) {
8685
domainResponse.setParentDomainName(domain.getParentName());
8786
}

0 commit comments

Comments
 (0)