Example usage for java.lang Long equals

List of usage examples for java.lang Long equals

Introduction

In this page you can find the example usage for java.lang Long equals.

Prototype

public boolean equals(Object obj) 

Source Link

Document

Compares this object to the specified object.

Usage

From source file:ips1ap101.lib.core.web.app.GestorPaginaActualizacion.java

protected boolean isConsultaValida() {
    if (designing) {
        return true;
    }/*from ww w  .  ja v  a 2 s .co  m*/
    track("isConsultaValida");
    boolean ok = !isRestauracion()
            && getPaginaActualizacion().getRecursoDataProvider().isFuncionSelectAutorizada();
    if (ok) {
        long f1 = getPaginaActualizacion().getRecursoDataProvider().getFuncionSelect();
        long f2 = getPaginaActualizacion().getFuncionConsultarRecurso();
        trace("funcion-actual=" + f1 + ", funcion-anterior=" + f2);
        ok = f1 == f2;
    }
    if (ok) {
        long v1 = getPaginaActualizacion().getRecursoDataProvider().getVersionComandoSelect();
        long v2 = getPaginaActualizacion().getContextoSesion().getVersionComandoSelectPagina();
        trace("version-actual=" + v1 + ", version-anterior=" + v2);
        ok = v1 == v2;
    }
    if (ok && isReinicio()) {
        String c1 = StringUtils
                .trimToNull(getPaginaActualizacion().getRecursoDataProvider().getConsultaBusqueda());
        String c2 = StringUtils
                .trimToNull(getPaginaActualizacion().getContextoPeticion().getConsultaBusqueda());
        trace("consulta-actual=" + c1 + ", consulta-anterior=" + c2);
        ok = c1 == null ? c2 == null : c1.equals(c2);
    }
    if (ok && isReinicio()) {
        String c1 = StringUtils
                .trimToNull(getPaginaActualizacion().getRecursoDataProvider().getCriteriosBusqueda());
        String c2 = StringUtils
                .trimToNull(getPaginaActualizacion().getContextoPeticion().getCriteriosBusqueda());
        trace("criterio-actual=" + c1 + ", criterio-anterior=" + c2);
        ok = c1 == null ? c2 == null : c1.equals(c2);
    }
    if (ok) {
        //          String c1 = getColumnaIdentificacionRecursoMaestro();
        String c1 = getPaginaActualizacion().getRecursoDataProvider().getColumnaMaestro();
        String c2 = getPaginaActualizacion().getContextoSesion().getColumnaIdentificacionRecursoMaestroPagina();
        trace("maestro-actual=" + c1 + ", maestro-anterior=" + c2);
        ok = c1 == null ? c2 == null : c1.equals(c2);
    }
    if (ok) {
        //          Long i1 = getIdentificacionRecursoMaestro();
        Long i1 = getPaginaActualizacion().getRecursoDataProvider().getIdentificacionMaestro();
        Long i2 = getPaginaActualizacion().getContextoSesion().getIdentificacionRecursoMaestroPagina();
        trace("maestro-actual=" + i1 + ", maestro-anterior=" + i2);
        ok = i1 == null ? i2 == null : i1.equals(i2);
    }
    return ok;
}

From source file:ca.nrc.cadc.vos.server.NodeDAO.java

/**
 * Move the node to inside the destination container.
 *
 * @param src The node to move/*from  w  ww . j av a 2 s .  c om*/
 * @param dest The container in which to move the node.
 */
public void move(Node src, ContainerNode dest) throws TransientException {
    log.debug("move: " + src.getUri() + " to " + dest.getUri() + " as " + src.getName());
    expectPersistentNode(src);
    expectPersistentNode(dest);

    // move rule checking
    if (src instanceof ContainerNode) {
        // check that we are not moving root or a root container
        if (src.getParent() == null || src.getParent().getUri().isRoot())
            throw new IllegalArgumentException("Cannot move a root container.");

        // check that 'src' is not in the path of 'dest' so that
        // circular paths are not created
        Node target = dest;
        Long srcNodeID = getNodeID(src);
        Long targetNodeID = null;
        while (target != null && !target.getUri().isRoot()) {
            targetNodeID = getNodeID(target);
            if (targetNodeID.equals(srcNodeID))
                throw new IllegalArgumentException("Cannot move to a contained sub-node.");
            target = target.getParent();
        }
    }

    try {
        startTransaction();
        prof.checkpoint("start.move");

        // get the lock
        String sql = this.getUpdateLockSQL(src);
        jdbc.update(sql);
        prof.checkpoint("getUpdateLockSQL");

        Long contentLength = new Long(0);
        if (!(src instanceof LinkNode)) {
            // get the contentLength
            sql = this.getSelectContentLengthForDeleteSQL(src);

            // Note: if contentLength is null, jdbc template will return zero.
            contentLength = jdbc.queryForLong(sql);
            prof.checkpoint("getSelectContentLengthSQL");
        }

        // re-parent the node
        ContainerNode srcParent = src.getParent();
        src.setParent(dest);

        // update the node with the new parent and potentially new name
        NodePutStatementCreator putStatementCreator = new NodePutStatementCreator(nodeSchema, true);
        putStatementCreator.setValues(src, null);
        int count = jdbc.update(putStatementCreator);
        prof.checkpoint("NodePutStatementCreator");
        if (count == 0) {
            // tried to move a busy data node
            throw new IllegalStateException("src node busy: " + src.getUri());
        }

        if (!(src instanceof LinkNode)) {
            // apply the size difference
            String sql1 = getApplySizeDiffSQL(srcParent, contentLength, false);
            String sql2 = getApplySizeDiffSQL(dest, contentLength, true);

            // these operations should happen in either child-parent or nodeID order
            // for consistency to avoid deadlocks
            if (srcParent.getParent() != null && src.getParent().equals(dest)) {
                // OK: sql1 is child and sql2 is parent
            } else if (dest.getParent() != null && dest.getParent().equals(srcParent)) {
                // sql1 is parent and sql2 is child: swap
                String swap = sql1;
                sql1 = sql2;
                sql2 = swap;
            } else if (getNodeID(srcParent) > getNodeID(dest)) {
                String swap = sql1;
                sql1 = sql2;
                sql2 = swap;
            }

            log.debug(sql1);
            jdbc.update(sql1);
            prof.checkpoint("getApplySizeDiffSQL");
            log.debug(sql2);
            jdbc.update(sql2);
            prof.checkpoint("getApplySizeDiffSQL");
        }

        // recursive chown removed since it is costly and nominally incorrect

        commitTransaction();
        prof.checkpoint("commit.move");
    } catch (IllegalStateException ex) {
        log.debug(ex.toString());
        if (transactionStatus != null)
            try {
                rollbackTransaction();
                prof.checkpoint("rollback.move");
            } catch (Throwable oops) {
                log.error("failed to rollback transaction", oops);
            }
        throw ex;
    } catch (Throwable t) {
        log.error("move rollback for node: " + src.getUri().getPath(), t);
        if (transactionStatus != null)
            try {
                rollbackTransaction();
                prof.checkpoint("rollback.move");
            } catch (Throwable oops) {
                log.error("failed to rollback transaction", oops);
            }

        if (t instanceof IllegalStateException)
            throw (IllegalStateException) t;
        else if (DBUtil.isTransientDBException(t))
            throw new TransientException("failed to move:  " + src.getUri().getPath(), t);
        else
            throw new RuntimeException("failed to move:  " + src.getUri().getPath(), t);
    } finally {
        if (transactionStatus != null) {
            try {
                log.warn("move - BUG - transaction still open in finally... calling rollback");
                rollbackTransaction();
            } catch (Throwable oops) {
                log.error("failed to rollback transaction in finally", oops);
            }
        }
    }
}

From source file:es.caib.seycon.ng.servei.PuntEntradaServiceImpl.java

protected boolean handleReordenaPuntEntrada(PuntEntrada puntEntradaOrdenar, PuntEntrada puntEntradaSeguent)
        throws Exception {
    // 1) Obtenim la informaci del l'arbre origen
    Long idPareArbreOrigen = puntEntradaOrdenar.getIdPare();
    Long idPueOrigen = puntEntradaOrdenar.getId();

    // 2) Obtenim la informaci de l'arbre dest
    Long idPareArbreDesti = puntEntradaSeguent.getIdPare();
    Long idPueDesti = puntEntradaSeguent.getId();

    // Verifiquem autoritzacions a l'origen i al dest
    if (!canAdmin(puntEntradaOrdenar) || !canAdmin(puntEntradaSeguent))
        throw new SeyconException(Messages.getString("PuntEntradaServiceImpl.NoAdminPermission")); //$NON-NLS-1$

    // Analitzem l'arbre dels pares del node dest per verificar que no es
    // mou//from  ww  w  .j a  va2s. co m
    // un node origen dintre de la seua branca
    if (isOrigenAncestorDesti(idPueOrigen, idPareArbreDesti))
        throw new SeyconException(Messages.getString("PuntEntradaServiceImpl.NotNodeMoviment")); //$NON-NLS-1$

    // Podem tenir 2 casos: mateix pare (REORDENAR) o pare distint (MOURE)
    // (mateix pare = ordenar l'arbre dest)
    if (idPareArbreOrigen.equals(idPareArbreDesti)) {
        // Mateixa branca, noms hem de reordenar
        List<ArbrePuntEntradaEntity> branca = getArbrePuntEntradaEntityDao().findByPare(idPareArbreOrigen);
        // Ja est ordenada pel camp ordre (SEMPRE tindr fills)
        if (branca != null && branca.size() != 0) {
            // s l'arbre de fills del mateix pare ordenat per Ordre
            int posOrigen = -1;
            int posDesti = -1;
            int pos = -1;
            // Obtenim la posici de l'element a moure i la nova posici
            // (dest)
            for (Iterator<ArbrePuntEntradaEntity> it = branca.iterator(); it.hasNext();) {
                pos++;
                ArbrePuntEntradaEntity actual = it.next();
                if (actual.getFill().getId().equals(idPueOrigen)) {
                    posOrigen = pos;
                } else if (actual.getFill().getId().equals(idPueDesti)) {
                    posDesti = pos;
                }
            }
            if (posOrigen == -1 || posDesti == -1)
                return false; // No trobats
            // Reordenem
            if (posOrigen < posDesti) { // pugem l'aplicaci
                int i = -1;
                for (Iterator<ArbrePuntEntradaEntity> it = branca.iterator(); it.hasNext();) {
                    i++;
                    ArbrePuntEntradaEntity actual = it.next();

                    // Modifiquem l'ordre
                    if (i == posOrigen) {
                        actual.setOrdre(posDesti - 1); //$NON-NLS-1$   // actual.setOrdre("" + (posDesti - 1)); 
                    } else if (i < posDesti) { // Abans de l'origen,
                        // retrocedim 1 posici
                        int posActual = (i - 1);// Integer.parseInt(actual.getOrdre())
                                                // - 1;
                        actual.setOrdre(posActual); //$NON-NLS-1$   //actual.setOrdre("" + posActual); 
                    } /*
                       * else { // >= dest, es mant ; }
                       */
                }
            } else { // posOrigen > posDesti : baixem l'aplicaci
                int i = -1;
                for (Iterator<ArbrePuntEntradaEntity> it = branca.iterator(); it.hasNext();) {
                    i++;
                    ArbrePuntEntradaEntity actual = it.next();
                    // Modifiquem l'ordre
                    if (i == posOrigen) {
                        actual.setOrdre(posDesti); //$NON-NLS-1$ actual.setOrdre("" + posDesti);
                    } else if (i > posOrigen) { // Desprs de l'origen ,
                                                // mantenim l'arbre
                        ;
                    } else { // < origen, els avancem una posici
                        int posActual = (i + 1);// Integer.parseInt(actual.getOrdre())
                                                // + 1;
                        actual.setOrdre(posActual); //$NON-NLS-1$  actual.setOrdre("" + posActual);
                    }
                }
            }
            getArbrePuntEntradaEntityDao().update(branca);
            return true;
        } else
            return false; // cas no possible (origen i desti mateixa branca
                          // = t fills el pare)

    } else { // sn de branques diferents
        List<ArbrePuntEntradaEntity> brancaDesti = getArbrePuntEntradaEntityDao().findByPare(idPareArbreDesti);

        // Hem de verificar que en la branca dest no existisca ja el node
        // actual [cas de que siga un enlla]
        if (brancaDesti != null)
            for (Iterator<ArbrePuntEntradaEntity> it = brancaDesti.iterator(); it.hasNext();) {
                ArbrePuntEntradaEntity arbreActual = it.next();
                if (arbreActual.getFill().getId().equals(idPueOrigen))
                    throw new SeyconException(
                            Messages.getString("PuntEntradaServiceImpl.EntryPointDuplicated")); //$NON-NLS-1$
            }

        // Creen la nova entrada a l'arbre
        PuntEntradaEntity nouPare = getPuntEntradaEntityDao().findById(idPareArbreDesti);
        PuntEntradaEntity pueMogut = getPuntEntradaEntityDao().findById(idPueOrigen);

        ArbrePuntEntradaEntity nouArbre = getArbrePuntEntradaEntityDao().newArbrePuntEntradaEntity();
        nouArbre.setOrdre(Integer.parseInt(puntEntradaSeguent.getOrdre())); //nouArbre.setOrdre(puntEntradaSeguent.getOrdre());
        nouArbre.setFill(pueMogut);
        nouArbre.setPare(nouPare);

        // Obtenim la branca origen on estava el node a moure (el pare del
        // node mogut)
        List<ArbrePuntEntradaEntity> brancaOrigen = getArbrePuntEntradaEntityDao()
                .findByPare(idPareArbreOrigen);
        ArbrePuntEntradaEntity arbreAntic = null;
        boolean trobat = false;
        for (Iterator<ArbrePuntEntradaEntity> it = brancaOrigen.iterator(); !trobat && it.hasNext();) {
            ArbrePuntEntradaEntity a = it.next();
            if (a.getFill().getId().equals(idPueOrigen)) { // En principi
                // it.remove(); // ja l'eliminem desprs (!!)
                arbreAntic = a; // l'eliminem desprs
                trobat = true;
            }
        }
        // Hem de reordenar les entrades de la nova branca
        if (brancaDesti != null && brancaDesti.size() != 0) { // Pot sser
                                                              // que la nova
                                                              // branca siga
                                                              // buida
                                                              // Si la seua posici es >= posDesti, sumem 1 a l'ordre
            boolean reordenar = false;
            int i = -1;
            for (Iterator<ArbrePuntEntradaEntity> it = brancaDesti.iterator(); it.hasNext();) { // Reordenem
                ArbrePuntEntradaEntity actual = it.next();
                i++;
                if (reordenar) { // desprs de dest
                    int posActual = i + 1;// Integer.parseInt(actual.getOrdre())
                                          // + 1;
                    actual.setOrdre(posActual); //$NON-NLS-1$ actual.setOrdre("" + posActual); 
                } else if (actual.getFill().getId().equals(idPueDesti)) {
                    reordenar = true; // movem dest una posici
                    int posActual = actual.getOrdre() + 1; //Integer.parseInt(actual.getOrdre()) + 1;
                    actual.setOrdre(posActual); //$NON-NLS-1$ actual.setOrdre("" + posActual); 
                }
            }
        }
        if (brancaDesti == null)
            brancaDesti = new LinkedList<ArbrePuntEntradaEntity>();

        // Fem els canvis
        // 1) Esborrem l'arbre antic
        if (arbreAntic != null)
            getArbrePuntEntradaEntityDao().remove(arbreAntic);
        // 2) Creem l'accs a la nova branca
        getArbrePuntEntradaEntityDao().create(nouArbre);
        brancaDesti.add(nouArbre);
        // 3) Actualitzem la branca dest (hem reordenat els fills de la
        // branca)
        getArbrePuntEntradaEntityDao().update(brancaDesti);
        // 4) Actualitzcem el men dest
        nouPare.setArbrePuntEntradaSocPare(brancaDesti);
        getPuntEntradaEntityDao().update(nouPare);

        return true;
    }

}

From source file:com.square.adherent.noyau.service.implementations.AdherentServiceImpl.java

/**
 * Cr / met  jour une option d'adhrent.//from  www.  j av a2 s.  co  m
 * @param uidPersonne l'identifiant de l'adhrent.
 * @param optionDto l'option  crer / mettre  jour.
 */
private void creerOuMajOptionAdherent(Long uidPersonne, OptionAdherentDto optionDto,
        final CoordonneesDto coordonnees) {
    final Long idOptionEnvoiMutuellement = adherentMappingService.getIdTypeOptionEnvoiMutuellementEmail();
    final Long idOptionEnvoiRelevesPresta = adherentMappingService.getIdTypeOptionEnvoiRelevesPrestationEmail();
    final Long idOptionEnvoiSms = adherentMappingService.getIdTypeOptionEnvoiSms();
    final Long idNatureMobilePrive = squareMappingService.getIdNatureMobilePrive();
    final Long idNatureMobileTravail = squareMappingService.getIdNatureMobileTravail();

    Option option = null;
    if (optionDto.getId() != null) {
        option = optionDao.getOptionById(optionDto.getId());
    } else if (optionDto.getType() != null && optionDto.getType().getIdentifiant() != null) {
        option = optionDao.getOptionByPersonneAndType(uidPersonne, optionDto.getType().getIdentifiant());
    }
    final Calendar maintenant = Calendar.getInstance();
    if (option == null) {
        // Si l'option est active
        if (optionDto.isActive()) {
            // On la sauvegarde dans la base de donnes.
            option = new Option();
            final OptionType typeOption = optionTypeDao.getOptionTypeById(optionDto.getType().getIdentifiant());
            if (typeOption == null) {
                logger.error(messageSourceUtil.get(MessageKeyUtil.LOGGER_ERROR_TYPE_OPTION_INVALIDE,
                        new String[] { String.valueOf(optionDto.getType().getIdentifiant()) }));
                throw new TechnicalException(
                        messageSourceUtil.get(MessageKeyUtil.ERROR_MAJ_OPTIONS_ADHERENT_UID_PERSONNE_NULL));
            }
            // si l'option a activer est de de type 'envoie par email'
            if (optionDto.getType() != null
                    && (idOptionEnvoiRelevesPresta.equals(optionDto.getType().getIdentifiant())
                            || idOptionEnvoiMutuellement.equals(optionDto.getType().getIdentifiant()))) {
                // si l'adhrent n'a pas d'email
                if (coordonnees.getEmails() == null || coordonnees.getEmails().isEmpty()) {
                    throw new TechnicalException(messageSourceUtil
                            .get(MessageKeyUtil.ERROR_MAJ_OPTIONS_ADHERENT_UID_PERSONNE_EMAIL_REQUIS));
                }
            }
            // si l'option a activer est de de type 'envoie par sms'
            if (optionDto.getType() != null
                    && (idOptionEnvoiSms.equals(optionDto.getType().getIdentifiant()))) {
                boolean existeTelephoneMobile = false;
                if (coordonnees.getTelephones() != null) {
                    for (TelephoneDto telephone : coordonnees.getTelephones()) {
                        if (idNatureMobilePrive.equals(telephone.getNature().getIdentifiant())
                                || idNatureMobileTravail.equals(telephone.getNature().getIdentifiant())) {
                            existeTelephoneMobile = true;
                            break;
                        }
                    }
                }
                // si l'adhrent n'a pas de telephone
                if (!existeTelephoneMobile) {
                    throw new TechnicalException(messageSourceUtil.get(
                            MessageKeyUtil.ERROR_MAJ_OPTIONS_ADHERENT_UID_PERSONNE_TELEPHONE_MOBILE_REQUIS));
                }
            }
            option.setType(typeOption);
            option.setUidPersonne(uidPersonne);
            option.setDateCreation(maintenant);
            option.setDateDebut(maintenant);
            option.setDateModification(maintenant);
            option.setActive(true);
            // On crer l'option
            optionDao.saveOption(option);
        }
    } else {
        // On met  jour l'option
        // Activation de l'option
        if (optionDto.isActive() && !option.isActive()) {
            // si l'option a activer est de de type 'envoie par email'
            if (optionDto.getType() != null
                    && (idOptionEnvoiRelevesPresta.equals(optionDto.getType().getIdentifiant())
                            || idOptionEnvoiMutuellement.equals(optionDto.getType().getIdentifiant()))) {
                // si l'adhrent n'a pas d'email
                if (coordonnees.getEmails() == null || coordonnees.getEmails().isEmpty()) {
                    throw new TechnicalException(messageSourceUtil
                            .get(MessageKeyUtil.ERROR_MAJ_OPTIONS_ADHERENT_UID_PERSONNE_EMAIL_REQUIS));
                }
            }
            // si l'option a activer est de de type 'envoie par sms'
            if (optionDto.getType() != null
                    && (idOptionEnvoiSms.equals(optionDto.getType().getIdentifiant()))) {
                boolean existeTelephoneMobile = false;
                if (coordonnees.getTelephones() != null) {
                    for (TelephoneDto telephone : coordonnees.getTelephones()) {
                        if (idNatureMobilePrive.equals(telephone.getNature().getIdentifiant())
                                || idNatureMobileTravail.equals(telephone.getNature().getIdentifiant())) {
                            existeTelephoneMobile = true;
                            break;
                        }
                    }
                }
                // si l'adhrent n'a pas de telephone
                if (!existeTelephoneMobile) {
                    throw new TechnicalException(messageSourceUtil.get(
                            MessageKeyUtil.ERROR_MAJ_OPTIONS_ADHERENT_UID_PERSONNE_TELEPHONE_MOBILE_REQUIS));
                }
            }
            option.setActive(true);
            option.setDateDebut(maintenant);
            option.setDateModification(maintenant);
            option.setDateFin(null);
        }
        // Dsactivation de l'option
        else if (!optionDto.isActive() && option.isActive()) {
            option.setActive(false);
            option.setDateModification(maintenant);
            option.setDateFin(maintenant);
        }
    }

    // Mise  jour de la date de dmatrialisation des documents seulement pour les relevs de prestation
    if (optionDto.getType() != null
            && idOptionEnvoiRelevesPresta.equals(optionDto.getType().getIdentifiant())) {
        // Rcupration des infos de connexion de la personne
        final Long idNatureEspaceAdherent = adherentMappingService.getIdNatureConnexionEspaceClient();
        final EspaceClientInternet espaceClientInternet = espaceClientInternetDao
                .getEspaceClientInternetByPersonneAndNature(uidPersonne, idNatureEspaceAdherent);
        espaceClientInternet.setDateDerniereDematerialisation(maintenant);
        espaceClientInternet.setDateModification(maintenant);
    }
}

From source file:com.cloud.hypervisor.vmware.mo.HypervisorHostHelper.java

public static boolean isSpecMatch(DVPortgroupConfigInfo currentDvPortgroupInfo,
        DVPortgroupConfigSpec newDvPortGroupSpec) {
    String dvPortGroupName = newDvPortGroupSpec.getName();
    s_logger.debug("Checking if configuration of dvPortGroup [" + dvPortGroupName + "] has changed.");
    boolean specMatches = true;
    DVSTrafficShapingPolicy currentTrafficShapingPolicy;
    currentTrafficShapingPolicy = currentDvPortgroupInfo.getDefaultPortConfig().getInShapingPolicy();

    assert (currentTrafficShapingPolicy != null);

    LongPolicy oldAverageBandwidthPolicy = currentTrafficShapingPolicy.getAverageBandwidth();
    LongPolicy oldBurstSizePolicy = currentTrafficShapingPolicy.getBurstSize();
    LongPolicy oldPeakBandwidthPolicy = currentTrafficShapingPolicy.getPeakBandwidth();
    BoolPolicy oldIsEnabledPolicy = currentTrafficShapingPolicy.getEnabled();
    Long oldAverageBandwidth = null;
    Long oldBurstSize = null;/*from  w  ww. ja  v  a 2 s . co m*/
    Long oldPeakBandwidth = null;
    Boolean oldIsEnabled = null;

    if (oldAverageBandwidthPolicy != null) {
        oldAverageBandwidth = oldAverageBandwidthPolicy.getValue();
    }
    if (oldBurstSizePolicy != null) {
        oldBurstSize = oldBurstSizePolicy.getValue();
    }
    if (oldPeakBandwidthPolicy != null) {
        oldPeakBandwidth = oldPeakBandwidthPolicy.getValue();
    }
    if (oldIsEnabledPolicy != null) {
        oldIsEnabled = oldIsEnabledPolicy.isValue();
    }

    DVSTrafficShapingPolicy newTrafficShapingPolicyInbound = newDvPortGroupSpec.getDefaultPortConfig()
            .getInShapingPolicy();
    LongPolicy newAverageBandwidthPolicy = newTrafficShapingPolicyInbound.getAverageBandwidth();
    LongPolicy newBurstSizePolicy = newTrafficShapingPolicyInbound.getBurstSize();
    LongPolicy newPeakBandwidthPolicy = newTrafficShapingPolicyInbound.getPeakBandwidth();
    BoolPolicy newIsEnabledPolicy = newTrafficShapingPolicyInbound.getEnabled();
    Long newAverageBandwidth = null;
    Long newBurstSize = null;
    Long newPeakBandwidth = null;
    Boolean newIsEnabled = null;
    if (newAverageBandwidthPolicy != null) {
        newAverageBandwidth = newAverageBandwidthPolicy.getValue();
    }
    if (newBurstSizePolicy != null) {
        newBurstSize = newBurstSizePolicy.getValue();
    }
    if (newPeakBandwidthPolicy != null) {
        newPeakBandwidth = newPeakBandwidthPolicy.getValue();
    }
    if (newIsEnabledPolicy != null) {
        newIsEnabled = newIsEnabledPolicy.isValue();
    }

    if (!oldIsEnabled.equals(newIsEnabled)) {
        s_logger.info("Detected change in state of shaping policy (enabled/disabled) [" + newIsEnabled + "]");
        specMatches = false;
    }

    if (oldIsEnabled || newIsEnabled) {
        if (oldAverageBandwidth != null && !oldAverageBandwidth.equals(newAverageBandwidth)) {
            s_logger.info(
                    "Average bandwidth setting in new shaping policy doesn't match the existing setting.");
            specMatches = false;
        } else if (oldBurstSize != null && !oldBurstSize.equals(newBurstSize)) {
            s_logger.info("Burst size setting in new shaping policy doesn't match the existing setting.");
            specMatches = false;
        } else if (oldPeakBandwidth != null && !oldPeakBandwidth.equals(newPeakBandwidth)) {
            s_logger.info("Peak bandwidth setting in new shaping policy doesn't match the existing setting.");
            specMatches = false;
        }
    }

    boolean oldAutoExpandSetting = currentDvPortgroupInfo.isAutoExpand();
    boolean autoExpandEnabled = newDvPortGroupSpec.isAutoExpand();
    if (oldAutoExpandSetting != autoExpandEnabled) {
        specMatches = false;
    }
    if (!autoExpandEnabled) {
        // Allow update of number of dvports per dvPortGroup is auto expand is not enabled.
        int oldNumPorts = currentDvPortgroupInfo.getNumPorts();
        int newNumPorts = newDvPortGroupSpec.getNumPorts();
        if (oldNumPorts < newNumPorts) {
            s_logger.info("Need to update the number of dvports for dvPortGroup :[" + dvPortGroupName
                    + "] from existing number of dvports " + oldNumPorts + " to " + newNumPorts);
            specMatches = false;
        } else if (oldNumPorts > newNumPorts) {
            s_logger.warn("Detected that new number of dvports [" + newNumPorts + "] in dvPortGroup ["
                    + dvPortGroupName + "] is less than existing number of dvports [" + oldNumPorts
                    + "]. Attempt to update this dvPortGroup may fail!");
            specMatches = false;
        }
    }

    VMwareDVSPortSetting currentPortSetting = ((VMwareDVSPortSetting) currentDvPortgroupInfo
            .getDefaultPortConfig());
    VMwareDVSPortSetting newPortSetting = ((VMwareDVSPortSetting) newDvPortGroupSpec.getDefaultPortConfig());
    if ((currentPortSetting.getSecurityPolicy() == null && newPortSetting.getSecurityPolicy() != null)
            || (currentPortSetting.getSecurityPolicy() != null && newPortSetting.getSecurityPolicy() == null)) {
        specMatches = false;
    }
    if (currentPortSetting.getSecurityPolicy() != null && newPortSetting.getSecurityPolicy() != null) {
        if (currentPortSetting.getSecurityPolicy().getAllowPromiscuous() != null
                && newPortSetting.getSecurityPolicy().getAllowPromiscuous() != null
                && newPortSetting.getSecurityPolicy().getAllowPromiscuous().isValue() != null
                && !newPortSetting.getSecurityPolicy().getAllowPromiscuous().isValue()
                        .equals(currentPortSetting.getSecurityPolicy().getAllowPromiscuous().isValue())) {
            specMatches = false;
        }
        if (currentPortSetting.getSecurityPolicy().getForgedTransmits() != null
                && newPortSetting.getSecurityPolicy().getForgedTransmits() != null
                && newPortSetting.getSecurityPolicy().getForgedTransmits().isValue() != null
                && !newPortSetting.getSecurityPolicy().getForgedTransmits().isValue()
                        .equals(currentPortSetting.getSecurityPolicy().getForgedTransmits().isValue())) {
            specMatches = false;
        }
        if (currentPortSetting.getSecurityPolicy().getMacChanges() != null
                && newPortSetting.getSecurityPolicy().getMacChanges() != null
                && newPortSetting.getSecurityPolicy().getMacChanges().isValue() != null
                && !newPortSetting.getSecurityPolicy().getMacChanges().isValue()
                        .equals(currentPortSetting.getSecurityPolicy().getMacChanges().isValue())) {
            specMatches = false;
        }
    }

    VmwareDistributedVirtualSwitchVlanSpec oldVlanSpec = currentPortSetting.getVlan();
    VmwareDistributedVirtualSwitchVlanSpec newVlanSpec = newPortSetting.getVlan();

    int oldVlanId, newVlanId;
    if (oldVlanSpec instanceof VmwareDistributedVirtualSwitchPvlanSpec
            && newVlanSpec instanceof VmwareDistributedVirtualSwitchPvlanSpec) {
        VmwareDistributedVirtualSwitchPvlanSpec oldpVlanSpec = (VmwareDistributedVirtualSwitchPvlanSpec) oldVlanSpec;
        VmwareDistributedVirtualSwitchPvlanSpec newpVlanSpec = (VmwareDistributedVirtualSwitchPvlanSpec) newVlanSpec;
        oldVlanId = oldpVlanSpec.getPvlanId();
        newVlanId = newpVlanSpec.getPvlanId();
    } else if (oldVlanSpec instanceof VmwareDistributedVirtualSwitchTrunkVlanSpec
            && newVlanSpec instanceof VmwareDistributedVirtualSwitchTrunkVlanSpec) {
        VmwareDistributedVirtualSwitchTrunkVlanSpec oldpVlanSpec = (VmwareDistributedVirtualSwitchTrunkVlanSpec) oldVlanSpec;
        VmwareDistributedVirtualSwitchTrunkVlanSpec newpVlanSpec = (VmwareDistributedVirtualSwitchTrunkVlanSpec) newVlanSpec;
        oldVlanId = oldpVlanSpec.getVlanId().get(0).getStart();
        newVlanId = newpVlanSpec.getVlanId().get(0).getStart();
    } else if (oldVlanSpec instanceof VmwareDistributedVirtualSwitchVlanIdSpec
            && newVlanSpec instanceof VmwareDistributedVirtualSwitchVlanIdSpec) {
        VmwareDistributedVirtualSwitchVlanIdSpec oldVlanIdSpec = (VmwareDistributedVirtualSwitchVlanIdSpec) oldVlanSpec;
        VmwareDistributedVirtualSwitchVlanIdSpec newVlanIdSpec = (VmwareDistributedVirtualSwitchVlanIdSpec) newVlanSpec;
        oldVlanId = oldVlanIdSpec.getVlanId();
        newVlanId = newVlanIdSpec.getVlanId();
    } else {
        s_logger.debug("Old and new vlan spec type mismatch found for [" + dvPortGroupName
                + "] has changed. Old spec type is: " + oldVlanSpec.getClass() + ", and new spec type is:"
                + newVlanSpec.getClass());
        return false;
    }

    if (oldVlanId != newVlanId) {
        s_logger.info("Detected that new VLAN [" + newVlanId + "] of dvPortGroup [" + dvPortGroupName
                + "] is different from current VLAN [" + oldVlanId + "]");
        specMatches = false;
    }

    return specMatches;
}

From source file:com.yuwang.pinju.web.module.shop.action.ShopOpenFlowAction.java

/**
 * ? --2.0//from  w  w w .  ja v  a  2 s. c o m
 * @return shopOpenEnd: /my/sell.htm
 * @return openShopIndex1: shopOpentep2.ftl
 * @return openShopIndex2: shopOpentep3.ftl
 * @return openShopIndex3: shopOpentep4.ftl
 * @return openShopIndex4: shopOpentep5.ftl
 * @return openShopIndex:  shopOpentep1.ftl
 **/
public String iWillOpenShop() {
    Long userId = queryUserId();
    //????
    try {
        //????
        ShopInfoDO shopInfoDO = shopShowInfoManager.queryShopBaseInfoByUser(userId, null);
        if (shopInfoDO != null) {
            Long sellerType = Long.parseLong(shopInfoDO.getSellerType());
            boolean booleanC = true;
            boolean booleanB = true;
            boolean booleanIShop = true;
            booleanC = shopShowInfoManager.checkHasCustomerInfo(userId);
            booleanIShop = shopShowInfoManager.checkHasIShopInfo(userId);
            booleanB = shopShowInfoManager.checkHasBusinessInfo(userId);
            boolean b2 = true;
            if (!booleanC && !booleanB && !booleanIShop) {
                if (sellerType.equals(ShopConstant.SELLER_TYPE_C)) {
                    ShopCustomerInfoDO shopCustomerInfo = new ShopCustomerInfoDO();
                    shopCustomerInfo.setUserId(userId);
                    shopCustomerInfo.setSellerType(String.valueOf(sellerType));
                    b2 = shopShowInfoManager.insertCustomerInfo(shopCustomerInfo);
                    if (!b2) {
                        errorMessage = "?!";
                        return "error";
                    }
                } else if (sellerType.equals(ShopConstant.SELLER_TYPE_IShop)) {
                    ShopIshopInfoDO shopIshopInfo = new ShopIshopInfoDO();
                    shopIshopInfo.setUserId(userId);
                    shopIshopInfo.setSellerType(String.valueOf(sellerType));
                    b2 = shopShowInfoManager.insertIShopInfo(shopIshopInfo);
                    if (!b2) {
                        errorMessage = "?!";
                        return "error";
                    }
                } else {
                    ShopBusinessInfoDO shopBusinessInfo = new ShopBusinessInfoDO();
                    shopBusinessInfo.setUserId(userId);
                    shopBusinessInfo.setSellerType(String.valueOf(sellerType));
                    b2 = shopShowInfoManager.insertBusinessInfo(shopBusinessInfo);
                    if (!b2) {
                        errorMessage = "?!";
                        return "error";
                    }
                }
            }

            List<ShopOpenFlowDO> shopOpenFlowDOList = shopOpenManager.queryShopOpenFlow(userId);
            if (shopOpenFlowDOList == null || shopOpenFlowDOList.size() == 0) {
                shopOpenFlowDO = new ShopOpenFlowDO();
                shopOpenFlowDO.setUserId(userId);
                shopOpenFlowDO.setIsAgreement(ShopConstant.IS_AGREEMENT_TRUE);
                shopOpenFlowDO.setAuditStatus(ShopConstant.AUDIT_STATUS_NOT_APPLY);
                shopOpenFlowDO.setGmtCreate(new Date());
                shopOpenFlowDO.setIsFillInfo(ShopConstant.IS_FILL_SHOP_INFO_NO);
                shopOpenFlowDO.setSellerType(Integer.parseInt(sellerType.toString()));
                shopOpenFlowDO.setConfiguration("USER_NAME=" + queryNickName());
                shopOpenFlowDO.setAuditCount(0);
                shopOpenFlowDO.setIsKa(ShopConstant.IS_KA_NO);
                shopOpenFlowDO.setIsBlack(ShopConstant.BLACK_FALSE);
                shopOpenManager.saveShopOpenFlow(shopOpenFlowDO);
            }
        }

        //???
        shopFlowInfoDO = shopOpenAO.queryFlowInfo(userId);
        if (shopFlowInfoDO != null) {
            if (shopFlowInfoDO.getIsAccountSet() != null
                    && !shopFlowInfoDO.getIsAccountSet().equals(ShopConstant.IS_ACCOUNT_SET_COMPLETE)) {

            } else {
                MarginSellerDO marginSellerDO = marginManager.getMarginSellerDOBySellerId(userId);
                // ??,null??
                //marginSellerDO = new MarginSellerDO();
                if (marginSellerDO != null) {
                    return "shopOpenEnd";
                }

                if (shopInfoDO != null && shopInfoDO.getExchangeMargin() != null
                        && shopInfoDO.getShopInfoConfig("MARGIN_PRICE") != null) {
                    log.warn("???,??....");
                    return "shopOpenLast";
                }
            }
        }

        //return "shopOpenEnd";
    } catch (ManagerException e) {
        log.error("?,[marginManager.getMarginSellerDOBySellerId]!", e);
    }

    //?error?
    if (ActionContext.getContext().getParameters() != null) {
        Map<String, Object> map = ActionContext.getContext().getParameters();
        if (map.get("errorMessage") != null && map.get("errorMessage").toString().length() > 0) {
            setErrorMessage(map.get("errorMessage").toString());
            map.remove("errorMessage");
            ActionContext.getContext().setParameters(map);
        }
    }
    if (null != shopFlowInfoDO) {
        if (null != shopFlowInfoDO.getSellerType() && !"".equals(shopFlowInfoDO.getSellerType())) {
            // ((?null && ( || ?))
            // && (??null && (? || ??)))
            if ((null != shopFlowInfoDO.getIsAccountSet() && (ShopConstant.IS_ACCOUNT_SET_NOT_BEGIN
                    .equals(shopFlowInfoDO.getIsAccountSet())
                    || ShopConstant.IS_ACCOUNT_SET_NOT_COMPLETE.equals(shopFlowInfoDO.getIsAccountSet())))
                    && (null != shopFlowInfoDO.getIsFillComplete() && (ShopConstant.IS_FILL_COMPLETE_NOT_BEGIN
                            .equals(shopFlowInfoDO.getIsFillComplete())
                            || ShopConstant.IS_FILL_COMPLETE_NOT_COMPLETE
                                    .equals(shopFlowInfoDO.getIsFillComplete().intValue())))) {
                return "openShopIndex1";
            }
            // ((?null && ?)
            // && (??null && (? || ??)))
            else if ((null != shopFlowInfoDO.getIsAccountSet()
                    && ShopConstant.IS_ACCOUNT_SET_COMPLETE.equals(shopFlowInfoDO.getIsAccountSet().intValue()))
                    && (null != shopFlowInfoDO.getIsFillComplete() && (ShopConstant.IS_FILL_COMPLETE_NOT_BEGIN
                            .equals(shopFlowInfoDO.getIsFillComplete().intValue())
                            || ShopConstant.IS_FILL_COMPLETE_NOT_COMPLETE
                                    .equals(shopFlowInfoDO.getIsFillComplete().intValue())))) {
                return "openShopIndex2";
            }
            //((??null && ??) && (?null && (? || )))
            else if ((null != shopFlowInfoDO.getIsFillComplete() && ShopConstant.IS_FILL_COMPLETE_COMPLETE
                    .equals(shopFlowInfoDO.getIsFillComplete().intValue()))
                    && (null != shopFlowInfoDO.getIsAccountSet() && (ShopConstant.IS_ACCOUNT_SET_NOT_COMPLETE
                            .equals(shopFlowInfoDO.getIsAccountSet().intValue())
                            || ShopConstant.IS_ACCOUNT_SET_NOT_BEGIN
                                    .equals(shopFlowInfoDO.getIsAccountSet().intValue())))) {
                return "openShopIndex4";
            }
            //((?null && ?) && (??null && ??))
            else if ((null != shopFlowInfoDO.getIsAccountSet()
                    && ShopConstant.IS_ACCOUNT_SET_COMPLETE.equals(shopFlowInfoDO.getIsAccountSet().intValue()))
                    && (null != shopFlowInfoDO.getIsFillComplete() && ShopConstant.IS_FILL_COMPLETE_COMPLETE
                            .equals(shopFlowInfoDO.getIsFillComplete().intValue()))) {
                return "openShopIndex3";
            }
        }
    }
    return "openShopIndex";
}

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  v  a2  s  .co  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   www . ja  va 2  s  .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:com.square.tarificateur.noyau.service.implementations.TarificateurServiceImpl.java

/**
 * Remplit les adresses vides des membres de la famille avec l'adresse de la personne principale ou du conjoint.
 * @param personnePrincipale la personne principale
 *///www .  j  av  a 2  s.c  om
private void remplirAdressesVidesFamilleDevis(PersonneTarificateurDto personnePrincipale) {

    AdresseTarificateurDto adressePersonnePrincipale = null;
    AdresseTarificateurDto adresseConjoint = null;

    // Recherche des membres de la famille n'ayant pas d'adresse principale
    final List<PersonneTarificateurDto> listePersonnesAdressesVides = new ArrayList<PersonneTarificateurDto>();

    // Personne principale
    if (personnePrincipale.getAdressePrincipale() != null
            && personnePrincipale.getAdressePrincipale().getEidCodePostalCommune() != null) {
        adressePersonnePrincipale = personnePrincipale.getAdressePrincipale();
    } else {
        listePersonnesAdressesVides.add(personnePrincipale);
    }
    // Bnficiaires
    final Long idLienFamilialConjoint = tarificateurSquareMappingService.getIdLienFamilialConjoint();
    if (personnePrincipale.getListeBeneficiaires() != null) {
        for (BeneficiaireTarificateurDto beneficiaire : personnePrincipale.getListeBeneficiaires()) {
            if (beneficiaire.getAdressePrincipale() != null
                    && beneficiaire.getAdressePrincipale().getEidCodePostalCommune() != null) {
                // Si c'est l'adresse principale du conjoint, on la stocke
                if (idLienFamilialConjoint.equals(beneficiaire.getIdLienFamilial())
                        && adresseConjoint == null) {
                    adresseConjoint = beneficiaire.getAdressePrincipale();
                }
            } else {
                listePersonnesAdressesVides.add(beneficiaire);
            }
        }
    }
    // Remplissage des adresses vides
    if (!listePersonnesAdressesVides.isEmpty()) {
        // Exception si aucune adresse touve
        if (adressePersonnePrincipale == null && adresseConjoint == null) {
            logger.error(messageSourceUtil.get(MessageKeyUtil.LOGGER_ERROR_ADRESSE_PRINCIPALE_INEXISTANTE));
            throw new TechnicalException(messageSourceUtil
                    .get(MessageKeyUtil.ERREUR_CREATION_DEVIS_ADRESSE_PRINCIPALE_NON_RENSEIGNEE));
        }
        // Remplissage des adresses vides
        for (PersonneTarificateurDto personneSansAdresse : listePersonnesAdressesVides) {
            personneSansAdresse.setAdressePrincipale(
                    adressePersonnePrincipale != null ? adressePersonnePrincipale : adresseConjoint);
        }
    }
}

From source file:com.square.tarificateur.noyau.service.implementations.TarificateurServiceImpl.java

@Override
public List<Long> rechercherIdsOpportunitesByCritere(CriteresRechercheOpportuniteDto criteres) {
    final List<Long> listeIdsOpportunitesSquare = new ArrayList<Long>();

    // Rcupration des opportunits du tarificateur square correspondant aux critres
    final List<Opportunite> listeOpportunites = opportuniteDao.rechercherOpportunitesByCritere(criteres);

    // Filtre sur les opportunits sant si critre spcifi
    if (listeOpportunites != null && listeOpportunites.size() > 0 && criteres.getIsOppSante() != null
            && criteres.getIsOppSante()) {
        final Long idFinaliteAcceptee = tarificateurSquareMappingService.getIdFinaliteAcceptee();
        final Long idFinaliteTransformee = tarificateurSquareMappingService.getIdFinaliteTransformee();
        final Integer idCategorieGammeSante = tarificateurMappingService.getIdentifiantCategorieSante();
        for (Opportunite opportunite : listeOpportunites) {
            final List<Devis> listeDevis = devisDao.getListeDevisByOpportunite(opportunite.getId());
            if (listeDevis != null && listeDevis.size() > 0) {
                boucleDevis: for (Devis devis : listeDevis) {
                    if (idFinaliteTransformee.equals(devis.getFinalite().getId())
                            && devis.getListeLigneDevis() != null && devis.getListeLigneDevis().size() > 0) {
                        for (LigneDevis ligneDevis : devis.getListeLigneDevis()) {
                            if (ligneDevis.getFinalite() != null
                                    && idFinaliteAcceptee.equals(ligneDevis.getFinalite().getId())) {
                                // on regarde si le produit associ  la ligne de devis est de type sant
                                final Integer idProduit = ligneDevis.getEidProduit();
                                final ProduitCriteresDto critereProduit = new ProduitCriteresDto();
                                critereProduit.setIdentifiantProduit(idProduit);
                                final List<ProduitDto> listeProduits = produitService
                                        .getListeProduits(critereProduit);
                                if (listeProduits == null || listeProduits.size() != 1) {
                                    throw new BusinessException(messageSourceUtil.get(
                                            MessageKeyUtil.ERROR_IMPOSSIBLE_RECUPERER_PRODUIT, new String[] {
                                                    String.valueOf(listeProduits.get(0).getIdentifiant()) }));
                                }/*from  ww  w .  ja v  a 2  s .  com*/
                                if (idCategorieGammeSante
                                        .equals(listeProduits.get(0).getGamme().getIdCategorie())) {
                                    listeIdsOpportunitesSquare
                                            .add(Long.valueOf(opportunite.getEidOpportunite()));
                                    break boucleDevis;
                                }
                            }
                        }
                    }
                }
            }
        }
    } else {
        if (listeOpportunites != null && listeOpportunites.size() > 0) {
            for (Opportunite opportunite : listeOpportunites) {
                listeIdsOpportunitesSquare.add(Long.valueOf(opportunite.getEidOpportunite()));
            }
        }
    }

    return listeIdsOpportunitesSquare;
}