use of org.geosdi.geoplatform.gui.client.model.security.GPLoginUserDetail in project geo-platform by geosdi.
the class DTOSecurityConverter method convertAccountToDTO.
public IGPAccountDetail convertAccountToDTO(GPAccount account, GPAccountProject accountProject, GPViewport viewport, List<GPMessage> messages) {
GPLoginUserDetail accountDetail = new GPLoginUserDetail();
UserTreeOptions usertreeOptions = new UserTreeOptions();
accountDetail.setId(account.getId());
// Forced representation
accountDetail.setUsername(account.getNaturalID());
accountDetail.setOrganization(account.getOrganization().getName());
usertreeOptions.setLoadExpandedFolders(account.isLoadExpandedFolders());
accountDetail.setTreeOptions(usertreeOptions);
if (account instanceof GPUser) {
GPUser user = (GPUser) account;
accountDetail.setName(user.getName());
accountDetail.setEmail(user.getEmailAddress());
this.extractGPAuthoritiesInToUser(accountDetail, account.getGPAuthorities());
}
if (account.getGsAccount() != null) {
accountDetail.setAuthkey(account.getGsAccount().getAuthkey());
}
accountDetail.setHostXmppServer(hostXmppServer);
if (accountProject != null) {
accountDetail.setBaseLayer(accountProject.getBaseLayer());
}
if (viewport != null) {
GPBBox serverBBOX = viewport.getBbox();
BBoxClientInfo clientBBOX = new BBoxClientInfo(serverBBOX.getMinX(), serverBBOX.getMinY(), serverBBOX.getMaxX(), serverBBOX.getMaxY());
GPClientViewport clientViewport = new GPClientViewport(viewport.getName(), viewport.getDescription(), clientBBOX, viewport.getZoomLevel(), viewport.isIsDefault());
accountDetail.setViewport(clientViewport);
}
if (messages != null) {
List<IGPClientMessage> unreadMessages = Lists.newArrayListWithCapacity(messages.size());
for (GPMessage message : messages) {
GPClientMessage clientMessage = this.convertMessage(message);
unreadMessages.add(clientMessage);
logger.debug("\n*** {}", clientMessage);
}
Collections.sort(unreadMessages);
accountDetail.setUnreadMessages(unreadMessages);
}
return (IGPAccountDetail) accountDetail;
}
Aggregations