@Override
 public TCAProfileVO readByAdminUserId(Long profileId) {
   ETSAdminUser adminUser = (ETSAdminUser) etsAdminUserDao.readAdminUserById(profileId);
   TCAProfileVO tcaProfile = new TCAProfileVO();
   tcaProfile.setAdminUser(adminUser);
   return tcaProfile;
 }
 @Override
 public String saveTCAProfile(TCAProfileVO tcaProfile, boolean newUser) {
   ETSAdminUser adminUser = tcaProfile.getAdminUser();
   Set<AdminPermission> permissionSet = new HashSet<AdminPermission>();
   AdminPermission adminPermission = adminSecurityService.readAdminPermissionById(TCA_PERMISSION);
   permissionSet.add(adminPermission);
   adminUser.setAllPermissions(permissionSet);
   adminUser.setInternalUserFlag(true);
   ETSAdminUser updatedAdminUser = (ETSAdminUser) adminSecurityService.saveAdminUser(adminUser);
   updatedAdminUser.setEtsPhone(adminUser.getEtsPhone());
   tcaProfile.setAdminUser(updatedAdminUser);
   savePhone(tcaProfile);
   // Integrate with EIAS
   String guidID = "";
   if (eregUtils.isOAMAuthentication()) {
     if (newUser) {
       guidID = eiasWebServiceClient.createUser(adminUser);
     } else {
       eiasWebServiceClient.modifyUser(adminUser);
     }
   }
   if (newUser) {
     sendConfirmationEmail(tcaProfile);
   }
   // authenticate
   return guidID;
 }
  @Override
  public TCAProfileVO createProfile() {
    TCAProfileVO tcaProfile = new TCAProfileVO();

    ETSAdminUser adminUser = new ETSAdminUserImpl();

    createPhone(adminUser);
    tcaProfile.setAdminUser(adminUser);
    return tcaProfile;
  }
 @Override
 public TCAProfileVO authenthicate(String login, String password) {
   ETSAdminUser adminUser = (ETSAdminUser) adminSecurityService.readAdminUserByUserName(login);
   TCAProfileVO tcaProfile = null;
   if (null != adminUser) {
     tcaProfile = new TCAProfileVO();
     tcaProfile.setAdminUser(adminUser);
     if (null == password || !password.equalsIgnoreCase(adminUser.getPassword())) {
       tcaProfile = null;
     }
   }
   return tcaProfile;
 }