Skip to content

Commit 11480c3

Browse files
author
Alena Prokharchyk
committed
CLOUDSTACK-1941: added isDefault parameter to account/user response
1 parent 8d0bea9 commit 11480c3

9 files changed

Lines changed: 234 additions & 162 deletions

File tree

api/src/org/apache/cloudstack/api/response/AccountResponse.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,9 @@ public class AccountResponse extends BaseResponse {
183183

184184
@SerializedName(ApiConstants.ACCOUNT_DETAILS) @Param(description="details for the account")
185185
private Map<String, String> details;
186+
187+
@SerializedName(ApiConstants.IS_DEFAULT) @Param(description="true if account is default, false otherwise", since="4.2.0")
188+
private Boolean isDefault;
186189

187190

188191
@Override
@@ -381,4 +384,8 @@ public void setSecondaryStorageAvailable(String secondaryStorageAvailable) {
381384
public void setDefaultZone(String defaultZoneId) {
382385
this.defaultZoneId = defaultZoneId;
383386
}
387+
388+
public void setIsDefault(Boolean isDefault) {
389+
this.isDefault = isDefault;
390+
}
384391
}

api/src/org/apache/cloudstack/api/response/UserResponse.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import java.util.Date;
2020

21+
import org.apache.cloudstack.api.ApiConstants;
2122
import org.apache.cloudstack.api.BaseResponse;
2223
import org.apache.cloudstack.api.EntityReference;
2324

@@ -74,6 +75,9 @@ public class UserResponse extends BaseResponse {
7475

7576
@SerializedName("iscallerchilddomain") @Param(description="the boolean value representing if the updating target is in caller's child domain")
7677
private boolean isCallerChildDomain;
78+
79+
@SerializedName(ApiConstants.IS_DEFAULT) @Param(description="true if user is default, false otherwise", since="4.2.0")
80+
private Boolean isDefault;
7781

7882
@Override
7983
public String getObjectId() {
@@ -206,4 +210,8 @@ public boolean getIsCallerSubdomain() {
206210
public void setIsCallerChildDomain(boolean isCallerChildDomain) {
207211
this.isCallerChildDomain = isCallerChildDomain;
208212
}
213+
214+
public void setIsDefault(Boolean isDefault) {
215+
this.isDefault = isDefault;
216+
}
209217
}

server/src/com/cloud/api/query/QueryManagerImpl.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,9 @@
2525

2626
import javax.ejb.Local;
2727
import javax.inject.Inject;
28-
import javax.naming.ConfigurationException;
2928

30-
import org.apache.cloudstack.affinity.AffinityGroup;
3129
import org.apache.cloudstack.affinity.AffinityGroupResponse;
3230
import org.apache.cloudstack.affinity.AffinityGroupVMMapVO;
33-
import org.apache.cloudstack.affinity.AffinityGroupVO;
3431
import org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao;
3532
import org.apache.cloudstack.api.command.admin.host.ListHostsCmd;
3633
import org.apache.cloudstack.api.command.admin.router.ListRoutersCmd;
@@ -111,7 +108,6 @@
111108
import com.cloud.api.query.vo.UserVmJoinVO;
112109
import com.cloud.api.query.vo.VolumeJoinVO;
113110
import com.cloud.configuration.dao.ConfigurationDao;
114-
import com.cloud.dc.DataCenterVO;
115111
import com.cloud.domain.Domain;
116112
import com.cloud.domain.DomainVO;
117113
import com.cloud.domain.dao.DomainDao;
@@ -124,9 +120,9 @@
124120
import com.cloud.network.security.SecurityGroupVMMapVO;
125121
import com.cloud.network.security.dao.SecurityGroupVMMapDao;
126122
import com.cloud.org.Grouping;
127-
import com.cloud.projects.ProjectInvitation;
128-
import com.cloud.projects.Project.ListProjectResourcesCriteria;
129123
import com.cloud.projects.Project;
124+
import com.cloud.projects.Project.ListProjectResourcesCriteria;
125+
import com.cloud.projects.ProjectInvitation;
130126
import com.cloud.projects.ProjectManager;
131127
import com.cloud.projects.dao.ProjectAccountDao;
132128
import com.cloud.projects.dao.ProjectDao;
@@ -142,10 +138,8 @@
142138
import com.cloud.utils.DateUtil;
143139
import com.cloud.utils.Pair;
144140
import com.cloud.utils.Ternary;
145-
import com.cloud.utils.component.Manager;
146141
import com.cloud.utils.component.ManagerBase;
147142
import com.cloud.utils.db.Filter;
148-
import com.cloud.utils.db.JoinBuilder;
149143
import com.cloud.utils.db.SearchBuilder;
150144
import com.cloud.utils.db.SearchCriteria;
151145
import com.cloud.utils.db.SearchCriteria.Func;
@@ -1699,6 +1693,7 @@ private Pair<List<AccountJoinVO>, Integer> searchForAccountsInternal(ListAccount
16991693
sb.and("typeNEQ", sb.entity().getType(), SearchCriteria.Op.NEQ);
17001694
sb.and("idNEQ", sb.entity().getId(), SearchCriteria.Op.NEQ);
17011695

1696+
17021697
if (listForDomain && isRecursive) {
17031698
sb.and("path", sb.entity().getDomainPath(), SearchCriteria.Op.LIKE);
17041699
}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,16 @@
2020

2121
import javax.ejb.Local;
2222

23+
import org.apache.cloudstack.api.response.AccountResponse;
24+
import org.apache.cloudstack.api.response.UserResponse;
2325
import org.apache.log4j.Logger;
26+
import org.springframework.stereotype.Component;
2427

2528
import com.cloud.api.ApiDBUtils;
2629
import com.cloud.api.query.ViewResponseHelper;
2730
import com.cloud.api.query.vo.AccountJoinVO;
2831
import com.cloud.api.query.vo.UserAccountJoinVO;
2932
import com.cloud.configuration.Resource.ResourceType;
30-
import org.apache.cloudstack.api.response.AccountResponse;
31-
import org.apache.cloudstack.api.response.UserResponse;
32-
import org.springframework.stereotype.Component;
33-
3433
import com.cloud.user.Account;
3534
import com.cloud.utils.db.GenericDaoBase;
3635
import com.cloud.utils.db.SearchBuilder;
@@ -66,6 +65,7 @@ public AccountResponse newAccountResponse(AccountJoinVO account) {
6665
accountResponse.setState(account.getState().toString());
6766
accountResponse.setNetworkDomain(account.getNetworkDomain());
6867
accountResponse.setDefaultZone(account.getDataCenterUuid());
68+
accountResponse.setIsDefault(account.isDefault());
6969

7070
// get network stat
7171
accountResponse.setBytesReceived(account.getBytesReceived());

server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public UserResponse newUserResponse(UserAccountJoinVO usr) {
8080
userResponse.setUsername(usr.getUsername());
8181
userResponse.setApiKey(usr.getApiKey());
8282
userResponse.setSecretKey(usr.getSecretKey());
83+
userResponse.setIsDefault(usr.isDefault());
8384

8485
// set async job
8586
userResponse.setJobId(usr.getJobUuid());

server/src/com/cloud/api/query/vo/AccountJoinVO.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,9 @@ public class AccountJoinVO extends BaseViewVO implements InternalIdentity, Ident
184184

185185
@Column(name="job_status")
186186
private int jobStatus;
187+
188+
@Column(name = "default")
189+
boolean isDefault;
187190

188191
public AccountJoinVO() {
189192
}
@@ -672,6 +675,13 @@ public void setJobStatus(int jobStatus) {
672675
}
673676

674677

678+
public boolean isDefault() {
679+
return isDefault;
680+
}
675681

676682

683+
public void setDefault(boolean isDefault) {
684+
this.isDefault = isDefault;
685+
}
686+
677687
}

server/src/com/cloud/api/query/vo/UserAccountJoinVO.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
import javax.persistence.Id;
2424
import javax.persistence.Table;
2525

26-
import com.cloud.utils.db.Encrypt;
27-
import com.cloud.utils.db.GenericDao;
28-
2926
import org.apache.cloudstack.api.Identity;
3027
import org.apache.cloudstack.api.InternalIdentity;
3128

29+
import com.cloud.utils.db.Encrypt;
30+
import com.cloud.utils.db.GenericDao;
31+
3232
@Entity
3333
@Table(name="user_view")
3434
public class UserAccountJoinVO extends BaseViewVO implements InternalIdentity, Identity {
@@ -116,6 +116,9 @@ public class UserAccountJoinVO extends BaseViewVO implements InternalIdentity, I
116116

117117
@Column(name="job_status")
118118
private int jobStatus;
119+
120+
@Column(name = "default")
121+
boolean isDefault;
119122

120123
public UserAccountJoinVO() {
121124
}
@@ -345,6 +348,13 @@ public void setJobStatus(int jobStatus) {
345348
this.jobStatus = jobStatus;
346349
}
347350

351+
public boolean isDefault() {
352+
return isDefault;
353+
}
348354

355+
public void setDefault(boolean isDefault) {
356+
this.isDefault = isDefault;
357+
}
349358

359+
350360
}

server/src/com/cloud/server/ConfigurationServerImpl.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,6 @@ protected void saveUser() {
339339
PreparedStatement stmt = txn.prepareAutoCloseStatement(insertSql);
340340
stmt.executeUpdate();
341341
} catch (SQLException ex) {
342-
s_logger.warn("Failed to system account due to ", ex);
343-
344342
}
345343
// insert system user
346344
insertSql = "INSERT INTO `cloud`.`user` (id, uuid, username, password, account_id, firstname, lastname, created, user.default)" +
@@ -350,7 +348,6 @@ protected void saveUser() {
350348
PreparedStatement stmt = txn.prepareAutoCloseStatement(insertSql);
351349
stmt.executeUpdate();
352350
} catch (SQLException ex) {
353-
s_logger.warn("Failed to create system user due to ", ex);
354351
}
355352

356353
// insert admin user, but leave the account disabled until we set a
@@ -367,7 +364,6 @@ protected void saveUser() {
367364
PreparedStatement stmt = txn.prepareAutoCloseStatement(insertSql);
368365
stmt.executeUpdate();
369366
} catch (SQLException ex) {
370-
s_logger.warn("Failed to create admin account due to ", ex);
371367
}
372368

373369
// now insert the user
@@ -379,7 +375,6 @@ protected void saveUser() {
379375
PreparedStatement stmt = txn.prepareAutoCloseStatement(insertSql);
380376
stmt.executeUpdate();
381377
} catch (SQLException ex) {
382-
s_logger.warn("Failed to create admin user due to ", ex);
383378
}
384379

385380
try {

0 commit comments

Comments
 (0)