public org.broadleafcommerce.openadmin.client.security.AdminUser getAdminUser()
      throws ServiceException, ApplicationSecurityException {
    AdminUser persistentAdminUser = getPersistentAdminUser();
    if (persistentAdminUser != null) {
      org.broadleafcommerce.openadmin.client.security.AdminUser response =
          new org.broadleafcommerce.openadmin.client.security.AdminUser();
      for (AdminRole role : persistentAdminUser.getAllRoles()) {
        response.getRoles().add(role.getName());
        for (AdminPermission permission : role.getAllPermissions()) {
          response.getPermissions().add(permission.getName());
        }
      }
      response.setUserName(persistentAdminUser.getLogin());
      response.setCurrentSandBoxId(
          String.valueOf(SandBoxContext.getSandBoxContext().getSandBoxId()));
      return response;
    }

    return null;
  }