List of usage examples for org.apache.commons.lang BooleanUtils isFalse
public static boolean isFalse(Boolean bool)
Checks if a Boolean
value is false
, handling null
by returning false
.
BooleanUtils.isFalse(Boolean.TRUE) = false BooleanUtils.isFalse(Boolean.FALSE) = true BooleanUtils.isFalse(null) = false
From source file:com.evolveum.midpoint.security.enforcer.impl.SecurityEnforcerImpl.java
private <O extends ObjectType> boolean matchesRoleRelation(PrismObject<O> object, ObjectReferenceType subjectRoleMembershipRef, RoleRelationObjectSpecificationType specRoleRelation, String autzHumanReadableDesc, String desc) throws SchemaException { if (!MiscSchemaUtil.compareRelation(specRoleRelation.getSubjectRelation(), subjectRoleMembershipRef.getRelation())) { return false; }//w ww. j ava 2 s. c o m if (BooleanUtils.isTrue(specRoleRelation.isIncludeReferenceRole()) && subjectRoleMembershipRef.getOid().equals(object.getOid())) { return true; } if (!BooleanUtils.isFalse(specRoleRelation.isIncludeMembers())) { if (!object.canRepresent(FocusType.class)) { return false; } for (ObjectReferenceType objectRoleMembershipRef : ((FocusType) object.asObjectable()) .getRoleMembershipRef()) { if (!subjectRoleMembershipRef.getOid().equals(objectRoleMembershipRef.getOid())) { continue; } if (!MiscSchemaUtil.compareRelation(specRoleRelation.getObjectRelation(), objectRoleMembershipRef.getRelation())) { continue; } return true; } } return false; }
From source file:com.square.core.service.implementations.PersonneServiceImplementation.java
private Telephone creerOuMettreAJourTelephone(Set<Personne> personnes, TelephoneDto telephoneDto, Boolean impacterFamille) { // Vrification des dpendances final NatureTelephone natureTelephone = natureTelephoneDao .rechercherNatureTelephoneParId(telephoneDto.getNature().getIdentifiant()); if (natureTelephone == null) { throw new BusinessException(messageSourceUtil .get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_NATURE_TELEPHONE_INEXISTENT_EN_BD)); }/*from www.j a va 2s.c o m*/ final Pays paysTelephone = paysDao.rechercherPaysParId(telephoneDto.getPays().getId()); if (paysTelephone == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_PAYS_INEXISTENT_EN_BD)); } // On construit la liste des identifiants des persones de la famille final Set<Long> idsPersonnes = new LinkedHashSet<Long>(); for (Personne personne : personnes) { idsPersonnes.add(personne.getId()); } // On construit la liste des personnes associes au tlphone en cas de restauration final Set<Personne> nouvellesPersonnes = new LinkedHashSet<Personne>(); Long idPersonneModifie = null; for (Personne personne : personnes) { if (idPersonneModifie == null) { idPersonneModifie = personne.getId(); } nouvellesPersonnes.add(personne); if (BooleanUtils.isFalse(impacterFamille)) { break; } } // On supprime le formatage du numro de tlphone pour stocker les donnes brutes seulement final String numeroTelephone = formatUtil.supprimerFormatNumTel(telephoneDto.getNumero()); Telephone telephone; final Calendar maintenant = Calendar.getInstance(); if (telephoneDto.getId() != null) { // si le tlphone est supprimer if (BooleanUtils.isTrue(telephoneDto.getSupprime())) { final Telephone tel = telephoneDao.rechercherTelephoneParId(telephoneDto.getId()); supprimerTelephone(tel, maintenant); return tel; } else { // MODE MISE A JOUR // On rcupre le tlphone mettre jour telephone = telephoneDao.rechercherTelephoneParId(telephoneDto.getId()); if (telephone == null) { throw new BusinessException(messageSourceUtil .get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_TELEPHONE_INEXISTENT_EN_BD)); } // On vrifie que le tlphone n'existe pas dj dans la liste des tlphones de la personne final CritereRechercheTelephone critereTel = new CritereRechercheTelephone(); critereTel.setIdsPersonnes(idsPersonnes); critereTel.getIdsTelExclus().add(telephoneDto.getId()); critereTel.setNumeroTelephone(numeroTelephone); critereTel.setIsSupprime(null); final List<Telephone> listeTelephones = telephoneDao.rechercherTelephoneParCritere(critereTel); if (listeTelephones != null && listeTelephones.size() > 0) { // Ce tlphone existe dj, on le rcupre final Telephone telExistant = listeTelephones.get(0); // On le restaure restaurerTelephone(telExistant, nouvellesPersonnes, maintenant); // On supprime l'ancien tlphone supprimerTelephone(telephone, maintenant); return telExistant; } else { // MISE A JOUR DU TELEPHONE telephone.setDateModification(maintenant); telephone.setNumTelephone(numeroTelephone); telephone.setPays(paysTelephone); telephone.setNatureTelephone(natureTelephone); return telephone; } } } else { // MODE CREATION // On vrifie que le tlphone n'existe pas dj dans la liste des tlphones de la personne final CritereRechercheTelephone critereTel = new CritereRechercheTelephone(); critereTel.setIdsPersonnes(idsPersonnes); critereTel.setNumeroTelephone(numeroTelephone); critereTel.setIsSupprime(null); final List<Telephone> listeTelephones = telephoneDao.rechercherTelephoneParCritere(critereTel); if (listeTelephones != null && listeTelephones.size() > 0) { // Le tlphone existe dj, on le rcupre telephone = listeTelephones.get(0); // si le tlphone est de diffrente nature on lui change sa nature if (telephoneDto.getNature() != null && (telephone.getNatureTelephone() == null || !telephone .getNatureTelephone().getId().equals(telephoneDto.getNature().getIdentifiant()))) { telephone.setNatureTelephone(natureTelephone); return telephone; } // Mantis 8288 On vrifie que la liste des personnes rataches au numro ne contient // que la personne sur laquelle on veux changer le numro final List<String> listeNumerosPersonneFamilleConcernees = new ArrayList<String>(); for (Personne personneTel : telephone.getPersonnes()) { if (!idPersonneModifie.equals(personneTel.getId())) { listeNumerosPersonneFamilleConcernees.add(personneTel.getNum()); } } if (listeNumerosPersonneFamilleConcernees.size() > 0 && !telephone.isSupprime()) { String messageErreur = "Certains membres de la famille possdent dj le numro de tlphone " + telephone.getNumTelephone() + ", veuillez d'abord leur supprimer ou bien ne pas demander les impacter. Les numros des personnes concernes sont : "; final int nbNum = listeNumerosPersonneFamilleConcernees.size(); int compteur = 0; for (String num : listeNumerosPersonneFamilleConcernees) { compteur++; messageErreur = messageErreur + num + (compteur == nbNum ? "." : ", "); } throw new BusinessException(messageErreur); } // On restaure le tlphone restaurerTelephone(telephone, nouvellesPersonnes, maintenant); return telephone; } else { // CREATION D'UN NOUVEAU TELEPHONE telephone = new Telephone(); telephone.setDateCreation(maintenant); telephone.setNumTelephone(numeroTelephone); telephone.setPays(paysTelephone); telephone.setNatureTelephone(natureTelephone); if (telephoneDto.getIdext() != null) { telephone.setIdentifiantExterieur(telephoneDto.getIdext()); } return telephone; } } }
From source file:com.square.tarificateur.noyau.service.implementations.TarificateurServiceImpl.java
/** * Cr un devis pour la personne passe en paramtre rattach l'opportunit spcifie. * @param opportunite l'opportunit auquel le devis cr sera rattach * @param personne la personne cible par le devis. * @return le devis cr./*from w w w.j ava 2s.c o m*/ */ private Devis createDevis(Opportunite opportunite, PersonneTarificateurDto personneCiblee, Boolean origineSiteWeb, Long eidRelationParrain) { // Vrification que la famille est ligible if (!opportuniteServiceSquare.isFamilleEligiblePourOpportunite(personneCiblee.getEidPersonne())) { logger.error(messageSourceUtil.get(MessageKeyUtil.LOGGER_ERROR_FAMILLE_NON_ELIGIBLE, new String[] { String.valueOf(personneCiblee.getId()) })); throw new BusinessException( messageSourceUtil.get(MessageKeyUtil.ERREUR_CREATION_DEVIS_FAMILLE_NON_ELIGIBLE)); } // Remplissage des adresses vides remplirAdressesVidesFamilleDevis(personneCiblee); // Vrification des champs obligatoires de la personne verifierChampsPersonne(personneCiblee); final Personne personne = mapperDozerBean.map(personneCiblee, Personne.class); // On initialise le devis final Calendar now = Calendar.getInstance(); final Finalite finaliteParDefaut = finaliteDao .getFinaliteById(tarificateurSquareMappingService.getIdFinaliteNonRenseignee()); final Devis devis = new Devis(); devis.setDateCreation(now); devis.setEidCreateur(opportunite.getEidCreateur()); devis.setOpportunite(opportunite); devis.setFinalite(finaliteParDefaut); devis.setPersonnePrincipale(personne); devis.setOrigineSiteWeb(origineSiteWeb); devis.setEidRelationParrain(eidRelationParrain); devis.setListeAssuresSociaux(new HashSet<Personne>()); // On sauvegarde le devis pour avoir un id devisDao.saveDevis(devis); final Map<Long, Personne> mapPersonnesDevisParEid = new HashMap<Long, Personne>(); mapPersonnesDevisParEid.put(personne.getEidPersonne(), personne); // on mappe les infos de sant la main if (personneCiblee.getInfoSante() != null) { personne.setInfoSante(new InfoSante()); personne.getInfoSante().setNumSecuriteSocial(personneCiblee.getInfoSante().getNumSecuriteSocial()); personne.getInfoSante().setCleSecuriteSocial(personneCiblee.getInfoSante().getCleSecuriteSocial()); personne.getInfoSante().setEidCaisse(personneCiblee.getInfoSante().getEidCaisse()); // la personne principale est par dfaut son propre referent, on redirigera vers un assur social plus bas si ncessaire personne.getInfoSante().setReferent(personne); } // Mapping manuel des bnficiaires for (BeneficiaireTarificateurDto beneficiaireParcouru : personneCiblee.getListeBeneficiaires()) { if (!BooleanUtils.isFalse(beneficiaireParcouru.getActif())) { final Beneficiaire beneficiaire = new Beneficiaire(); beneficiaire.setPersonneSource(personne); beneficiaire.setPersonneCible((Personne) mapperDozerBean.map(beneficiaireParcouru, Personne.class)); // on mappe les infos de sant la main si le benef est son propre referent if (beneficiaireParcouru.getInfoSante() != null && beneficiaireParcouru.getInfoSante().getEidReferent() != null && beneficiaireParcouru .getInfoSante().getEidReferent().equals(beneficiaireParcouru.getEidPersonne())) { beneficiaire.getPersonneCible().setInfoSante(new InfoSante()); beneficiaire.getPersonneCible().getInfoSante() .setNumSecuriteSocial(beneficiaireParcouru.getInfoSante().getNumSecuriteSocial()); beneficiaire.getPersonneCible().getInfoSante() .setCleSecuriteSocial(beneficiaireParcouru.getInfoSante().getCleSecuriteSocial()); beneficiaire.getPersonneCible().getInfoSante() .setEidCaisse(beneficiaireParcouru.getInfoSante().getEidCaisse()); // le bnficiaire est par dfaut son propre referent, on redirigera vers un assur social plus bas si ncessaire beneficiaire.getPersonneCible().getInfoSante().setReferent(beneficiaire.getPersonneCible()); } final LienFamilial lienFamilial = lienFamilialDao .getLienFamilial(beneficiaireParcouru.getIdLienFamilial()); if (lienFamilial == null) { throw new BusinessException( messageSourceUtil.get(MessageKeyUtil.ERROR_CREATE_DEVIS_LIEN_FAMILIAL_NULL, new String[] { beneficiaireParcouru.getIdLienFamilial().toString() })); } beneficiaire.setLienFamilial(lienFamilial); personne.getListeBeneficiaires().add(beneficiaire); mapPersonnesDevisParEid.put(beneficiaire.getPersonneCible().getEidPersonne(), beneficiaire.getPersonneCible()); } } // On ajoute les assurs sociaux des bnficiaires au devis s'ils en ont un for (BeneficiaireTarificateurDto beneficiaireParcouru : personneCiblee.getListeBeneficiaires()) { if (!BooleanUtils.isFalse(beneficiaireParcouru.getActif())) { if (beneficiaireParcouru.getInfoSante() != null && beneficiaireParcouru.getInfoSante().getEidReferent() != null && !beneficiaireParcouru .getInfoSante().getEidReferent().equals(beneficiaireParcouru.getEidPersonne())) { Personne assureSocial = mapPersonnesDevisParEid .get(beneficiaireParcouru.getInfoSante().getEidReferent()); if (assureSocial == null) { final com.square.core.model.dto.PersonneDto personneDto = personnePhysiqueService .rechercherPersonneParIdentifiant( beneficiaireParcouru.getInfoSante().getEidReferent()); PersonneDto assureSocialDto = mapperDozerBean.map(personneDto, PersonneDto.class); assureSocialDto.getInfoSante() .setNumSecuriteSocial(personneDto.getInfoSante().getNro().substring(0, TREIZE)); assureSocialDto.getInfoSante().setCleSecuriteSocial( personneDto.getInfoSante().getNro().substring(TREIZE, QUINZE)); assureSocialDto = tarificateurPersonneService.createAssureSocial(assureSocialDto, devis.getId(), true); assureSocial = personneDao.getPersonne(assureSocialDto.getId()); mapPersonnesDevisParEid.put(assureSocial.getEidPersonne(), assureSocial); } final Personne beneficiaire = mapPersonnesDevisParEid .get(beneficiaireParcouru.getEidPersonne()); beneficiaire.setInfoSante(assureSocial.getInfoSante()); } } } // On ajoute l'assur social de la personne principale au devis s'il en a un if (personneCiblee.getInfoSante() != null && personneCiblee.getInfoSante().getEidReferent() != null && !personneCiblee.getInfoSante().getEidReferent().equals(personneCiblee.getEidPersonne())) { Personne assureSocial = mapPersonnesDevisParEid.get(personneCiblee.getInfoSante().getEidReferent()); if (assureSocial == null) { // On vrifie que les 2 personnes ont une relation active final RelationCriteresRechercheDto criteresRelation = new RelationCriteresRechercheDto(); criteresRelation.setIdPersonneSource(personneCiblee.getEidPersonne()); criteresRelation.setIdPersonneCible(personneCiblee.getInfoSante().getEidReferent()); final RemotePagingCriteriasDto<RelationCriteresRechercheDto> criterias = new RemotePagingCriteriasDto<RelationCriteresRechercheDto>( criteresRelation, 0, Integer.MAX_VALUE); final RemotePagingResultsDto<RelationInfosDto<? extends PersonneRelationDto>> relations = personneService .rechercherRelationsParCritreres(criterias); if (!relations.getListResults().isEmpty()) { final com.square.core.model.dto.PersonneDto personneDto = personnePhysiqueService .rechercherPersonneParIdentifiant(personneCiblee.getInfoSante().getEidReferent()); PersonneDto assureSocialDto = mapperDozerBean.map(personneDto, PersonneDto.class); assureSocialDto.getInfoSante() .setNumSecuriteSocial(personneDto.getInfoSante().getNro().substring(0, TREIZE)); assureSocialDto.getInfoSante() .setCleSecuriteSocial(personneDto.getInfoSante().getNro().substring(TREIZE, QUINZE)); assureSocialDto = tarificateurPersonneService.createAssureSocial(assureSocialDto, devis.getId(), true); assureSocial = personneDao.getPersonne(assureSocialDto.getId()); mapPersonnesDevisParEid.put(assureSocial.getEidPersonne(), assureSocial); } } if (assureSocial != null) { personne.setInfoSante(assureSocial.getInfoSante()); } } // on sauvegarde le devis a nouveau pour persister en cascade les elements references devisDao.saveDevis(devis); return devis; }
From source file:com.evolveum.midpoint.security.enforcer.impl.SecurityEnforcerImpl.java
/** * Very rudimentary and experimental implementation. *//* www. j a va 2 s . c om*/ private ObjectFilter processRoleRelationFilter(MidPointPrincipal principal, Authorization autz, RoleRelationObjectSpecificationType specRoleRelation, AutzItemPaths queryItemsSpec, ObjectFilter origFilter) { ObjectFilter refRoleFilter = null; if (BooleanUtils.isTrue(specRoleRelation.isIncludeReferenceRole())) { // This could mean that we will need to add filters for all roles in // subject's roleMembershipRef. There may be thousands of these. if (!autz.maySkipOnSearch()) { throw new UnsupportedOperationException( "Inefficient roleRelation search (includeReferenceRole=true) is not supported yet"); } } ObjectFilter membersFilter = null; if (!BooleanUtils.isFalse(specRoleRelation.isIncludeMembers())) { List<PrismReferenceValue> queryRoleRefs = getRoleOidsFromFilter(origFilter); if (queryRoleRefs == null || queryRoleRefs.isEmpty()) { // Cannot find specific role OID in original query. This could mean that we // will need to add filters for all roles in subject's roleMembershipRef. // There may be thousands of these. if (!autz.maySkipOnSearch()) { throw new UnsupportedOperationException( "Inefficient roleRelation search (includeMembers=true without role in the original query) is not supported yet"); } } else { QName subjectRelation = specRoleRelation.getSubjectRelation(); boolean isRoleOidOk = false; for (ObjectReferenceType subjectRoleMembershipRef : principal.getUser().getRoleMembershipRef()) { if (!MiscSchemaUtil.compareRelation(subjectRelation, subjectRoleMembershipRef.getRelation())) { continue; } if (!PrismReferenceValue.containsOid(queryRoleRefs, subjectRoleMembershipRef.getOid())) { continue; } isRoleOidOk = true; break; } if (isRoleOidOk) { // There is already a good filter in the origFilter // TODO: mind the objectRelation membersFilter = AllFilter.createAll(); } else { membersFilter = NoneFilter.createNone(); } } } return ObjectQueryUtil.filterOr(refRoleFilter, membersFilter); }
From source file:com.square.core.service.implementations.PersonneServiceImplementation.java
private Email creerOuMettreAJourEmail(Set<Personne> personnes, EmailDto emailDto, Boolean impacterFamille) { // Vrification des dpendances final EmailNature natureEmail = emailNatureDao .rechercheNatureEmailParId(emailDto.getNatureEmail().getIdentifiant()); if (natureEmail == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_NATURE_EMAIL_INEXISTANT)); }/* w w w . j av a2 s . c o m*/ // On construit la liste des identifiants des persones de la famille final Set<Long> idsPersonnes = new LinkedHashSet<Long>(); for (Personne personne : personnes) { idsPersonnes.add(personne.getId()); } // On construit la liste des personnes associes au tlphone en cas de restauration final Set<Personne> nouvellesPersonnes = new LinkedHashSet<Personne>(); for (Personne personne : personnes) { nouvellesPersonnes.add(personne); if (BooleanUtils.isFalse(impacterFamille)) { break; } } Email email; final Calendar maintenant = Calendar.getInstance(); if (emailDto.getIdentifiant() != null) { // MODE MISE A JOUR // On rcupre l'email mettre jour email = emailDao.rechercherEmailParId(emailDto.getIdentifiant()); if (email == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_EMAIL_INEXISTENT_EN_BD)); } // On vrifie que l'email n'existe pas dj dans la liste des emails de la personne final CritereRechercheEmail criteres = new CritereRechercheEmail(); criteres.setIdsPersonnes(idsPersonnes); criteres.setEmail(emailDto.getAdresse()); criteres.setIsSupprime(null); criteres.getIdsEmailsExclus().add(emailDto.getIdentifiant()); final List<Email> listeEmails = emailDao.rechercherEmailParCritere(criteres); if (listeEmails != null && listeEmails.size() > 0) { // Cet email existe dj, on le rcupre final Email emailExistant = listeEmails.get(0); // On le restaure restaurerEmail(emailExistant, nouvellesPersonnes, maintenant); // On supprime l'ancien email supprimerEmail(email, maintenant); return emailExistant; } else { // MISE A JOUR EMAIL EXISTANT return mettreAJourEmail(email, emailDto, natureEmail, maintenant); } } else { // MODE CREATION // On vrifie que le tlphone n'existe pas dj dans la liste des tlphones de la personne final CritereRechercheEmail criteres = new CritereRechercheEmail(); criteres.setIdsPersonnes(idsPersonnes); criteres.setEmail(emailDto.getAdresse()); criteres.setIsSupprime(null); final List<Email> listeEmails = emailDao.rechercherEmailParCritere(criteres); if (listeEmails != null && listeEmails.size() > 0) { // Cet email existe dj, on le rcupre email = listeEmails.get(0); // On le restaure restaurerEmail(email, nouvellesPersonnes, maintenant); return email; } else { // CREATION NOUVEL EMAIL return creerEmail(emailDto, natureEmail, maintenant); } } }
From source file:com.square.core.service.implementations.PersonneServiceImplementation.java
private Adresse creerOuMettreAJourAdresse(Set<Personne> personnes, AdresseDto adresseDto, Boolean impacterFamille) { // Vrification des dpendances final Pays paysAdresse = paysDao.rechercherPaysParId(adresseDto.getPays().getIdentifiant()); if (paysAdresse == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_PAYS_INEXISTENT_EN_BD)); }/*from w w w .j av a2 s .co m*/ TypeVoie typeVoie = null; if (adresseDto.getTypeVoie() != null && adresseDto.getTypeVoie().getIdentifiant() != null) { typeVoie = typeVoieDao.rechercheTypeVoieParId(adresseDto.getTypeVoie().getIdentifiant()); if (typeVoie == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_TYPEVOIE_INEXISTANT)); } } AdresseNature nature = null; if (adresseDto.getNature() != null) { nature = adresseNatureDao.rechercheAdresseNatureParId(adresseDto.getNature().getIdentifiant()); if (nature == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_NATURE_ADRESSE_INEXISTANT)); } } CodePostalCommune codePostalCommune = null; if (adresseDto != null && squareMappingService.getIdPaysFrance().equals(adresseDto.getPays().getIdentifiant())) { if (adresseDto.getCodePostalCommune() != null && adresseDto.getCodePostalCommune().getIdentifiant() != null) { // On vrifie que l'adresse a un code postal - commune et que le code postal - commune existe en base de donnes. codePostalCommune = codePostalCommuneDao .rechercheCodePostalCommuneParId(adresseDto.getCodePostalCommune().getIdentifiant()); if (codePostalCommune == null) { throw new BusinessException(messageSourceUtil .get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_CODEPOSTAL_COMMUNE_INEXISTANT_EN_BD)); } } } Adresse adresse; if (adresseDto.getIdentifiant() != null) { // MAJ ADRESSE EXISTANTE adresse = adresseDao.rechercherAdresseParId(adresseDto.getIdentifiant()); if (adresse == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_ADRESSE_INEXISTENT_EN_BD)); } adresse.setDateModification(Calendar.getInstance()); } else { // CREATION NOUVELLE ADRESSE adresse = new Adresse(); adresse.setDateCreation(Calendar.getInstance()); } // On dtecte s'il y a modification du code postal de l'adresse principale pour modifier l'agence attribue sur la personne Agence agence = null; if (squareMappingService.getIdNatureAdressePrincipale().equals(nature.getId())) { if (codePostalCommune != null && !codePostalCommune.equals(adresse.getCodePostalCommune())) { if (codePostalCommune.getCodePostal() != null && codePostalCommune.getCodePostal().getCodePostal() != null && !"".equals(codePostalCommune.getCodePostal().getCodePostal().trim()) && codePostalCommune.getCodePostal().getCodePostal().trim().length() != 2) { // on recupere le commercial suivant le code postal agence = agenceHabilitationUtil .getAgenceByCodePostal(codePostalCommune.getCodePostal().getCodePostal().trim()); } } } mapperDozerBean.map(adresseDto, adresse); adresse.setPays(paysAdresse); adresse.setTypeVoie(typeVoie); adresse.setNature(nature); adresse.setCodePostalCommune(codePostalCommune); if (adresse.getId() == null) { // On sauvegarde dans la base de donnes la nouvelle adresse adresseDao.ajouterAdresse(adresse); // On associe la nouvelle adresse aux personnes for (Personne personne : personnes) { personne.addAdresse(adresse); // Si il ne faut pas impacter la famille on n'ajoute l'adresse qu' la personne principale if (BooleanUtils.isFalse(impacterFamille)) { break; } } } if (agence != null) { for (Personne personne : personnes) { if (personne.getAttribution() == null) { throw new BusinessException(messageSourceUtil .get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_PERSONNE_ATTRIBUTION_INEXISTANTE)); } personne.getAttribution().setAgence(agence); // Si il ne faut pas impacter la famille on ne met jour seulement l'attribution de la personne principale if (BooleanUtils.isFalse(impacterFamille)) { break; } } } return adresse; }
From source file:com.square.core.service.implementations.PersonneServiceImplementation.java
@Override public TelephoneDto creerOuMettreAJourTelephone(Long idPersonne, TelephoneDto telephoneDto, Boolean impacterFamille, Boolean forcerDesactivationEservices) { final RapportDto rapport = new RapportDto(); if (idPersonne == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_PERSONNE_NULL)); }//from w w w . j a va2s .c o m // Rcupration de la personne en base. final Personne personnePrincipale = personneDao.rechercherPersonneParId(idPersonne); if (personnePrincipale == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_PERSONNE_INEXISTANTE)); } final Set<Personne> personnes = new LinkedHashSet<Personne>(); // On recherche les membres de la famille de la personne final Set<Personne> famille = getFamille(personnePrincipale); // Si le flag qui indique si l'on doit ajouter la nouvelle adresse aux bnficiaires n'est pas spcifi // Si la personne a une famille, on lve une exception car le flag impacterBeneficiaires doit tre renseign // pour dterminer si il faut ajouter l'adresse aux membres de la famille de la personne if (impacterFamille == null && famille.size() > 0) { throw new ConfirmationImpacterFamilleException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.CONFIRMATION_IMPACTER_FAMILLE, new String[] { String.valueOf(famille.size()) })); } personnes.add(personnePrincipale); if (BooleanUtils.isTrue(impacterFamille)) { // On ajoute les membres de la famille la liste des personnes concernes par la cration de nouvelles coordonnes personnes.addAll(famille); } final Calendar maintenant = Calendar.getInstance(); // Traitement du tlphone final boolean numeroRenseigne = StringUtils.isNotBlank(telephoneDto.getNumero()); boolean isTelephoneModifie = false; if (telephoneDto.getId() != null) { // On rcupre le tlphone mettre jour partir de la base de donnes final Telephone telephoneAMaj = telephoneDao.rechercherTelephoneParId(telephoneDto.getId()); // Si on recoit un id ici, mais que le numro n'est pas renseign, il faut supprimer le tlphone correspondant // Note : on ne supprime pas tous les tlphones car d'autres peuvent exister mais ne pas tre affichs dans Square if (!numeroRenseigne) { // Si il faut impacter toute la famille, ou que le tlphone est li la personne principale uniquement if (BooleanUtils.isTrue(impacterFamille) || telephoneAMaj.getPersonnes().size() == 1) { // On supprime le tlphone supprimerTelephone(telephoneAMaj, maintenant); } else { // On enlve le tlphone de la liste des tlphones de la personne principale personnePrincipale.removeTelephone(telephoneAMaj); // on verifie si la personne est le porteur if (telephoneAMaj.getPorteurUid() != null && telephoneAMaj.getPorteurUid().equals(personnePrincipale.getId())) { // on supprime l'identifiant externe et le porteur du telephone restant sur la famille telephoneAMaj.setIdentifiantExterieur(null); telephoneAMaj.setPorteurUid(null); } } if (personnePrincipale instanceof PersonnePhysique && ((PersonnePhysique) personnePrincipale) .getNature().getId().equals(squareMappingService.getIdNaturePersonneAdherent())) { // on verifie si la personne possede l'eservice final List<Long> optionsSouscrites = adherentService .getListeIdsTypesOptionsSouscrites(personnePrincipale.getId()); boolean possedeEserviceTelephone = false; for (Long idTypeOption : optionsSouscrites) { if (idTypeOption.equals(adherentMappingService.getIdTypeOptionEnvoiSms())) { possedeEserviceTelephone = true; break; } } if (possedeEserviceTelephone && !BooleanUtils.isTrue(forcerDesactivationEservices)) { throw new ConfirmationDesactivationEserviceException(messageSourceUtil .get(PersonneKeyUtil.MESSAGE_CONFIRMATION_DESACTIVATION_ESERVICE_TELEPHONE)); } else if (possedeEserviceTelephone) { adherentService.desactiverOptionsEnvoiParTelephone(personnePrincipale.getId()); } } } else { // Sinon on dtermine si le tlphone a t modifi isTelephoneModifie = isTelephoneModifie(telephoneAMaj, telephoneDto); // Si le tlphone existe et a t modifi, et qu'il ne faut pas impacter la famille if (BooleanUtils.isFalse(impacterFamille) && isTelephoneModifie && telephoneAMaj.getPersonnes().size() > 1) { // on supprime le telephone de la personne personnePrincipale.removeTelephone(telephoneAMaj); // on supprime l'identifiant pour crer un nouveau telephone telephoneDto.setId(null); // on verifie si la personne est le porteur if (telephoneAMaj.getPorteurUid() != null && telephoneAMaj.getPorteurUid().equals(personnePrincipale.getId())) { // on supprime l'identifiant externe et le porteur du telephone restant sur la famille (pas de synchro aia) telephoneAMaj.setIdentifiantExterieur(null); telephoneAMaj.setPorteurUid(null); } else { // On supprime l'identifiant externe afin de ne pas synchroniser avec aia telephoneDto.setIdext(null); } } } } if (numeroRenseigne) { controlerTelephone(rapport, telephoneDto, 0); if (!rapport.getEnErreur()) { final Telephone telephone = creerOuMettreAJourTelephone(personnes, telephoneDto, impacterFamille); if (telephone.getId() == null) { // On rattache le tlphone la personne principale personnePrincipale.addTelephone(telephone); if (BooleanUtils.isTrue(impacterFamille)) { // On rattache aussi le tlphone aux membres de sa famille for (Personne personne : famille) { personne.addTelephone(telephone); } } } } } if (Boolean.TRUE.equals(rapport.getEnErreur())) { RapportUtil.logRapport(rapport, logger); throw new ControleIntegriteException(rapport); } // si il s'agit d'une personne physique et vivier ou bnficiaire vivier, on transforme en prospect ou bnficiaire prospect final PersonnePhysique personnePhysique = personnePhysiqueDao .rechercherPersonneParId(personnePrincipale.getId()); boolean vivierToProspect = false; Long idNaturePersonnePhysique = null; final Long idNaturePersonneVivier = squareMappingService.getIdNaturePersonneVivier(); final Long idNaturePersonneBeneficiaireVivier = squareMappingService .getIdNaturePersonneBeneficiaireVivier(); if (personnePhysique != null && personnePhysique.getNature() != null) { if (idNaturePersonneVivier.equals(personnePhysique.getNature().getId()) && validationPersonneUtil.verifierContrainteProspect(personnePhysique)) { idNaturePersonnePhysique = squareMappingService.getIdNaturePersonneProspect(); vivierToProspect = true; } else if (idNaturePersonneBeneficiaireVivier.equals(personnePhysique.getNature()) && validationPersonneUtil.verifierContrainteBeneficiaireProspect(personnePhysique)) { idNaturePersonnePhysique = squareMappingService.getIdNaturePersonneBeneficiaireProspect(); } if (idNaturePersonnePhysique != null) { final PersonnePhysiqueNature naturePersonne = personnePhysiqueNatureDao .rechercherPersonnePhysiqueParId(idNaturePersonnePhysique); personnePhysique.setNature(naturePersonne); } } // si la personne est passe de vivier prospect et qu'elle a des bnficiaires vivier, // on essaye de les passer en bnficiaire prospect si c'est possible if (vivierToProspect && famille != null && famille.size() > 0) { for (Personne beneficiaire : famille) { final PersonnePhysique beneficiairePhysique = (PersonnePhysique) beneficiaire; if (beneficiairePhysique.getNature() != null && idNaturePersonneBeneficiaireVivier.equals(beneficiairePhysique.getNature().getId()) && validationPersonneUtil.verifierContrainteBeneficiaireProspect(beneficiairePhysique)) { final PersonnePhysiqueNature naturePersonne = personnePhysiqueNatureDao .rechercherPersonnePhysiqueParId( squareMappingService.getIdNaturePersonneBeneficiaireProspect()); beneficiairePhysique.setNature(naturePersonne); } } } // Rcupration du tlphone cr ou modifi pour le retourner final CritereRechercheTelephone critereTel = new CritereRechercheTelephone(); final Set<Long> idsPersonnes = new HashSet<Long>(); idsPersonnes.add(idPersonne); critereTel.setIdsPersonnes(idsPersonnes); final List<TelephoneDto> telephones = mapperDozerBean .mapList(telephoneDao.rechercherTelephoneParCritere(critereTel), TelephoneDto.class); for (TelephoneDto telephoneTrouve : telephones) { if (telephoneTrouve.getNumero().equals(telephoneDto.getNumero())) { return telephoneTrouve; } } // Si tlphone non trouv, on retourne un tlphone vide final TelephoneDto telephoneVide = new TelephoneDto(); return telephoneVide; }
From source file:com.square.core.service.implementations.PersonneServiceImplementation.java
@Override public EmailDto creerOuMettreAJourEmail(Long idPersonne, EmailDto emailDto, Boolean impacterFamille, Boolean forcerDesactivationEservices) { final RapportDto rapport = new RapportDto(); if (idPersonne == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_PERSONNE_NULL)); }//from w w w .j a v a2s. c o m // Rcupration de la personne en base. final Personne personnePrincipale = personneDao.rechercherPersonneParId(idPersonne); if (personnePrincipale == null) { throw new BusinessException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.MESSAGE_ERREUR_PERSONNE_INEXISTANTE)); } final Set<Personne> personnes = new LinkedHashSet<Personne>(); // On recherche les membres de la famille de la personne final Set<Personne> famille = getFamille(personnePrincipale); // Si le flag qui indique si l'on doit ajouter la nouvelle adresse aux bnficiaires n'est pas spcifi // Si la personne a une famille, on lve une exception car le flag impacterBeneficiaires doit tre renseign // pour dterminer si il faut ajouter l'adresse aux membres de la famille de la personne if (impacterFamille == null && famille.size() > 0) { throw new ConfirmationImpacterFamilleException( messageSourceUtil.get(PersonnePhysiqueKeyUtil.CONFIRMATION_IMPACTER_FAMILLE, new String[] { String.valueOf(famille.size()) })); } personnes.add(personnePrincipale); if (BooleanUtils.isTrue(impacterFamille)) { // On ajoute les membres de la famille la liste des personnes concernes par la cration de nouvelles coordonnes personnes.addAll(famille); } final Calendar maintenant = Calendar.getInstance(); // Traitement de l'email final boolean adresseEmailRenseignee = StringUtils.isNotBlank(emailDto.getAdresse()); boolean isEmailModifie = false; if (emailDto.getIdentifiant() != null) { // On rcupre l'email mettre jour partir de la base de donnes final Email emailAMaj = emailDao.rechercherEmailParId(emailDto.getIdentifiant()); // Si on recoit un id ici, mais que les infos ne sont pas renseignes, il faut supprimer le tlphone correspondant // Note : on ne supprime pas tous les tlphones car d'autres peuvent exister mais ne pas tre affichs dans Square if (!adresseEmailRenseignee) { // Si il faut impacter toute la famille, ou que l'email est li la personne principale uniquement if (BooleanUtils.isTrue(impacterFamille) || emailAMaj.getPersonnes().size() == 1) { // On supprime l'email supprimerEmail(emailAMaj, maintenant); } else { // On enlve le tlphone de la liste des tlphones de la personne principale personnePrincipale.removeEmail(emailAMaj); // on verifie si la personne est le porteur if (emailAMaj.getPorteurUid() != null && emailAMaj.getPorteurUid().equals(personnePrincipale.getId())) { // on supprime l'identifiant externe et le porteur de l'email restant sur la famille emailAMaj.setIdentifiantExterieur(null); emailAMaj.setPorteurUid(null); } } if (personnePrincipale instanceof PersonnePhysique && ((PersonnePhysique) personnePrincipale) .getNature().getId().equals(squareMappingService.getIdNaturePersonneAdherent())) { // on verifie si la personne possede l'eservice final List<Long> optionsSouscrites = adherentService .getListeIdsTypesOptionsSouscrites(personnePrincipale.getId()); boolean possedeEserviceTelephone = false; for (Long idTypeOption : optionsSouscrites) { if (idTypeOption.equals(adherentMappingService.getIdTypeOptionEnvoiMutuellementEmail()) || idTypeOption.equals( adherentMappingService.getIdTypeOptionEnvoiRelevesPrestationEmail())) { possedeEserviceTelephone = true; break; } } if (possedeEserviceTelephone && !BooleanUtils.isTrue(forcerDesactivationEservices)) { throw new ConfirmationDesactivationEserviceException(messageSourceUtil .get(PersonneKeyUtil.MESSAGE_CONFIRMATION_DESACTIVATION_ESERVICE_EMAIL)); } else if (possedeEserviceTelephone) { adherentService.desactiverOptionsEnvoiParEmail(personnePrincipale.getId()); } } } else { // Sinon on dtermine si l'email a t modifi isEmailModifie = isEmailModifie(emailAMaj, emailDto); // Si le tlphone existe et a t modifi, et qu'il ne faut pas impacter la famille if (BooleanUtils.isFalse(impacterFamille) && isEmailModifie && emailAMaj.getPersonnes().size() > 1) { // on supprime l'email de la personne personnePrincipale.removeEmail(emailAMaj); // on supprime l'identifiant pour crer un nouvel email emailDto.setIdentifiant(null); // on verifie si la personne est le porteur if (emailAMaj.getPorteurUid() != null && emailAMaj.getPorteurUid().equals(personnePrincipale.getId())) { // on supprime l'identifiant externe et le porteur de l'email restant sur la famille (pas de synchro aia) emailAMaj.setIdentifiantExterieur(null); emailAMaj.setPorteurUid(null); } else { // On supprime l'identifiant externe afin de ne pas synchroniser avec aia emailDto.setIdext(null); } } } } if (adresseEmailRenseignee) { controlerEmail(rapport, emailDto, 0); if (!rapport.getEnErreur()) { final Email email = creerOuMettreAJourEmail(personnes, emailDto, impacterFamille); // Si c'est un nouvel email if (email.getId() == null) { // On rattache le nouvel email la personne principale personnePrincipale.addEMail(email); if (BooleanUtils.isTrue(impacterFamille)) { // On rattache aussi le nouvel email aux membres de sa famille for (Personne personne : famille) { personne.addEMail(email); } } } } } if (Boolean.TRUE.equals(rapport.getEnErreur())) { RapportUtil.logRapport(rapport, logger); throw new ControleIntegriteException(rapport); } // si il s'agit d'une personne physique et vivier ou bnficiaire vivier, on transforme en prospect ou bnficiaire prospect final PersonnePhysique personnePhysique = personnePhysiqueDao .rechercherPersonneParId(personnePrincipale.getId()); boolean vivierToProspect = false; Long idNaturePersonnePhysique = null; final Long idNaturePersonneVivier = squareMappingService.getIdNaturePersonneVivier(); final Long idNaturePersonneBeneficiaireVivier = squareMappingService .getIdNaturePersonneBeneficiaireVivier(); if (personnePhysique != null && personnePhysique.getNature() != null) { if (idNaturePersonneVivier.equals(personnePhysique.getNature().getId()) && validationPersonneUtil.verifierContrainteProspect(personnePhysique)) { idNaturePersonnePhysique = squareMappingService.getIdNaturePersonneProspect(); vivierToProspect = true; } else if (idNaturePersonneBeneficiaireVivier.equals(personnePhysique.getNature()) && validationPersonneUtil.verifierContrainteBeneficiaireProspect(personnePhysique)) { idNaturePersonnePhysique = squareMappingService.getIdNaturePersonneBeneficiaireProspect(); } if (idNaturePersonnePhysique != null) { final PersonnePhysiqueNature naturePersonne = personnePhysiqueNatureDao .rechercherPersonnePhysiqueParId(idNaturePersonnePhysique); personnePhysique.setNature(naturePersonne); } } // si la personne est passe de vivier prospect et qu'elle a des bnficiaires vivier, // on essaye de les passer en bnficiaire prospect si c'est possible if (vivierToProspect && famille != null && famille.size() > 0) { for (Personne beneficiaire : famille) { final PersonnePhysique beneficiairePhysique = (PersonnePhysique) beneficiaire; if (beneficiairePhysique.getNature() != null && idNaturePersonneBeneficiaireVivier.equals(beneficiairePhysique.getNature().getId()) && validationPersonneUtil.verifierContrainteBeneficiaireProspect(beneficiairePhysique)) { final PersonnePhysiqueNature naturePersonne = personnePhysiqueNatureDao .rechercherPersonnePhysiqueParId( squareMappingService.getIdNaturePersonneBeneficiaireProspect()); beneficiairePhysique.setNature(naturePersonne); } } } // Rcupration de l'email cr ou modifi pour le retourner final CritereRechercheEmail critereEmail = new CritereRechercheEmail(); final Set<Long> idsPersonnes = new HashSet<Long>(); idsPersonnes.add(idPersonne); critereEmail.setIdsPersonnes(idsPersonnes); final List<EmailDto> emails = mapperDozerBean.mapList(emailDao.rechercherEmailParCritere(critereEmail), EmailDto.class); for (EmailDto emailTrouve : emails) { if (emailTrouve.getAdresse().equals(emailDto.getAdresse())) { return emailTrouve; } } // Si email non trouv, on retourne un email vide final EmailDto emailVide = new EmailDto(); return emailVide; }
From source file:org.betaconceptframework.astroboa.console.jsf.identity.PersonInfoEditor.java
public String savePerson_UIAction() { //For a new person password must be provided boolean updatePassword = false; if (StringUtils.isNotBlank(oldPassword)) { if (StringUtils.isBlank(newPassword)) { JSFUtilities.addMessage(null, "errors.required", new String[] { JSFUtilities .getLocalizedMessage("user.provision.edit.user.account.data.new.password", null) }, FacesMessage.SEVERITY_WARN); return null; }//from ww w . jav a 2 s . co m if (StringUtils.isBlank(newPasswordVerify) || !newPassword.equals(newPasswordVerify)) { JSFUtilities.addMessage(null, "validator.userDataPasswordsDoNotMatch", new String[] { JSFUtilities .getLocalizedMessage("user.provision.edit.user.account.data.panel.header", null) }, FacesMessage.SEVERITY_WARN); return null; } if (newPassword.length() < 8) { JSFUtilities.addMessage(null, "errors.minlength", new String[] { JSFUtilities.getLocalizedMessage( "user.provision.edit.user.account.data.new.password", null), "8" }, FacesMessage.SEVERITY_WARN); return null; } updatePassword = true; } try { identityStoreRunAsSystem.execute("updateUser", new Class<?>[] { Person.class }, new Object[] { person }); JSFUtilities.addMessage(null, "user.provision.user.account.update.successfull", null, FacesMessage.SEVERITY_INFO); if (updatePassword) { try { Object passwordUpdated = identityStoreRunAsSystem.execute("changePassword", new Class<?>[] { String.class, String.class, String.class }, new Object[] { person.getUsername(), oldPassword, newPassword }); if (BooleanUtils.isFalse((Boolean) passwordUpdated)) { JSFUtilities.addMessage(null, "user.provision.user.authentication.update.failed", null, FacesMessage.SEVERITY_WARN); return null; } } catch (CmsInvalidPasswordException e) { JSFUtilities.addMessage(null, "validator.userOldPasswordDoesNotMatch", new String[] { JSFUtilities.getLocalizedMessage( "user.provision.edit.user.account.data.old.password", null) }, FacesMessage.SEVERITY_WARN); return null; } JSFUtilities.addMessage(null, "user.provision.user.authentication.update.successfull", null, FacesMessage.SEVERITY_INFO); } } catch (Exception e) { //Pass message directly to JSF messages JSFUtilities.addMessage(null, "user.provision.user.account.save.failed", null, FacesMessage.SEVERITY_WARN); logger.error("", e); return null; } return null; }
From source file:org.broadleafcommerce.admin.server.service.handler.SkuCustomPersistenceHandler.java
/** * <p>Creates an individual property for the specified product option. This should set up an enum field whose values will * be the option values for this option. This is useful when you would like to display each product option in as its * own field in a grid so that you can further filter by product option values.</p> * <p>In order for these fields to be utilized property on the fetch, in the GWT frontend you must use the * for your datasource.</p>// ww w . j av a 2 s .c o m * * @param option * @param order * @return */ public FieldMetadata createIndividualOptionField(ProductOption option, int order) { BasicFieldMetadata metadata = new BasicFieldMetadata(); List<ProductOptionValue> allowedValues = option.getAllowedValues(); if (CollectionUtils.isNotEmpty(allowedValues)) { metadata.setFieldType(SupportedFieldType.EXPLICIT_ENUMERATION); metadata.setMutable(true); metadata.setInheritedFromType(SkuImpl.class.getName()); metadata.setAvailableToTypes(getPolymorphicClasses(SkuImpl.class)); metadata.setForeignKeyCollection(false); metadata.setMergedPropertyType(MergedPropertyType.PRIMARY); //Set up the enumeration based on the product option values String[][] optionValues = new String[allowedValues.size()][2]; for (int i = 0; i < allowedValues.size(); i++) { ProductOptionValue value = option.getAllowedValues().get(i); optionValues[i][0] = value.getId().toString(); optionValues[i][1] = value.getAttributeValue(); } metadata.setEnumerationValues(optionValues); metadata.setName(PRODUCT_OPTION_FIELD_PREFIX + option.getId()); metadata.setFriendlyName(option.getLabel()); metadata.setGroup("productOption_group"); metadata.setGroupOrder(-1); metadata.setOrder(order); metadata.setExplicitFieldType(SupportedFieldType.UNKNOWN); metadata.setProminent(false); metadata.setVisibility(VisibilityEnum.FORM_EXPLICITLY_SHOWN); metadata.setBroadleafEnumeration(""); metadata.setReadOnly(false); metadata.setRequiredOverride(BooleanUtils.isFalse(option.getRequired())); return metadata; } return null; }