Example usage for javax.ejb RemoveException RemoveException

List of usage examples for javax.ejb RemoveException RemoveException

Introduction

In this page you can find the example usage for javax.ejb RemoveException RemoveException.

Prototype

public RemoveException(String message) 

Source Link

Document

Constructs an RemoveException with the specified detail message.

Usage

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

/**
 * @see es.caib.seycon.ng.servei.PuntEntradaService#delete(es.caib.seycon.ng.comu.PuntEntrada)
 *///ww  w .  ja  va2  s  .c  om
protected void handleDelete(es.caib.seycon.ng.comu.PuntEntrada puntEntrada) throws java.lang.Exception {

    if (!canAdmin(puntEntrada))
        throw new RemoveException("no autoritzat"); //$NON-NLS-1$

    if (puntEntrada.getId() == null)
        // Correcte per als nous //TODO: verificar
        throw new RemoveException(Messages.getString("PuntEntradaServiceImpl.NotIDEntryPoint")); //$NON-NLS-1$

    // OBTENIM L'ENTITAT
    PuntEntradaEntity entity = getPuntEntradaEntityDao().puntEntradaToEntity(puntEntrada);

    // Analizamos los "enlaces" para saber si slo tenemos un padre o varios
    // Si slo hay uno, se borra el punt d'entrada, si hay varios: se borra
    // en enlace(link)
    Collection mosPares = entity.getArbrePuntEntradaSocFill();

    // Par saber si hem de esborrar el punt d'entrada o noms el link
    // (l'arbre)
    boolean enlazado = false;
    if (mosPares.size() == 0) { // no se pot esborrar el node root
        throw new RemoveException(Messages.getString("PuntEntradaServiceImpl.DeleteNotAllowed")); //$NON-NLS-1$
    } else if (mosPares.size() > 1) { // t ms d'un pare: la deslincamos
                                      // del padre actual
                                      // throw new
                                      // RemoveException("Error: T ms d'un punt d'entrada pare");
        enlazado = true; // hem d'esborrar l'enlla
    }
    // Ens quedem en el id del pare del punt d'entrada actual
    Long idPare = puntEntrada.getIdPare(); // ((ArbrePuntEntradaEntity)
                                           // mosPares.iterator().next()).getPare().getId();

    // ARBRE DE PUE: si no estamos enlazados, no permitimos borrarnos si
    // tenemos hijos
    if (!enlazado) {
        Collection mosFills = entity.getArbrePuntEntradaSocPare();
        if (mosFills.size() != 0) {
            throw new RemoveException(
                    String.format(Messages.getString("PuntEntradaServiceImpl.ChildEntryPointError"), //$NON-NLS-1$
                            puntEntrada.getNom()));
        }
    }

    // Ajustem l'ordre de l'arbre del pare
    boolean mhetrobat = false;
    // Trobem els fills (estan ordenats pel camp ordre) (!!)
    Collection<ArbrePuntEntradaEntity> arbrePare = getArbrePuntEntradaEntityDao().findByPare(idPare);
    ArbrePuntEntradaEntity arbreEsborrar = null;
    for (Iterator<ArbrePuntEntradaEntity> it = arbrePare.iterator(); it.hasNext();) {
        ArbrePuntEntradaEntity actual = it.next();
        if (mhetrobat) {
            int ordre = actual.getOrdre() - 1; // restem //Integer.parseInt(actual.getOrdre()) - 1;
                                               // una
                                               // posicio
            actual.setOrdre(ordre); //$NON-NLS-1$   //actual.setOrdre("" + ordre);
        } else if (actual.getFill().getId().equals(entity.getId())) {
            mhetrobat = true;
            it.remove(); // Ens esborrem
            arbreEsborrar = actual;
        }
    }

    // Actualiztem l'arbre del pare (reordenaci de nodes i esborrat del pue
    // actual)
    if (arbreEsborrar != null)
        getArbrePuntEntradaEntityDao().remove(arbreEsborrar);
    getArbrePuntEntradaEntityDao().update(arbrePare);

    if (!enlazado) {
        // Ens esborrem de l'arbre
        // getArbrePuntEntradaEntityDao().remove(entity.getArbrePuntEntradaSocFill()); // noms
        // ser
        // 1
        entity.setArbrePuntEntradaSocFill(new HashSet<ArbrePuntEntradaEntity>());
        // Actualitzem l'arbre del pare
        // getArbrePuntEntradaEntityDao().update(arbrePare);

        // AUTORITZACIONS
        Collection autoUsu = entity.getAutoritzaUsuari();
        Collection autoRol = entity.getAutoritzaRol();
        Collection autoGrup = entity.getAutoritzaGrup();
        // les esborrem
        getAutoritzacioPUEUsuariEntityDao().remove(autoUsu);
        getAutoritzacioPUERolEntityDao().remove(autoRol);
        getAutoritzacioPUEGrupEntityDao().remove(autoGrup);
        entity.setAutoritzaUsuari(null);
        entity.setAutoritzaRol(null);
        entity.setAutoritzaGrup(null);

        // EJECUCIONS
        Collection<ExecucioPuntEntradaEntity> execucions = entity.getMetodesExecucio();
        getExecucioPuntEntradaEntityDao().remove(execucions);
        entity.setMetodesExecucio(null);

        // ICONAS
        if (entity.getIcona1() != null) {
            getIconaEntityDao().remove(entity.getIcona1());
            entity.setIcona1(null);
        }
        if (entity.getIcona2() != null) {
            getIconaEntityDao().remove(entity.getIcona2());
            entity.setIcona2(null);
        }

        getPuntEntradaEntityDao().remove(entity);
        auditarPuntEntrada("D", "Esborrat punt d'entrada '" + entity.getNom() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    } else {
        auditarPuntEntrada("D", "Esborrat enlla del punt d'entrada '" + entity.getNom() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    }

}

From source file:org.ejbca.core.ejb.ra.EndEntityManagementSessionBean.java

@Override
public void deleteUser(final AuthenticationToken admin, final String username)
        throws AuthorizationDeniedException, NotFoundException, RemoveException {
    if (log.isTraceEnabled()) {
        log.trace(">deleteUser(" + username + ")");
    }/*from   w w w  .j a va 2s . c  o  m*/
    // Check if administrator is authorized to delete user.
    String caIdLog = null;
    final UserData data1 = UserData.findByUsername(entityManager, username);
    if (data1 != null) {
        final int caid = data1.getCaId();
        caIdLog = String.valueOf(caid);
        assertAuthorizedToCA(admin, caid);
        if (getGlobalConfiguration().getEnableEndEntityProfileLimitations()) {
            assertAuthorizedToEndEntityProfile(admin, data1.getEndEntityProfileId(),
                    AccessRulesConstants.DELETE_END_ENTITY, caid);
        }
    } else {
        log.info(intres.getLocalizedMessage("ra.errorentitynotexist", username));
        // This exception message is used to not leak information to the user 
        final String msg = intres.getLocalizedMessage("ra.wrongusernameorpassword");
        log.info(msg);
        throw new NotFoundException(msg);
    }
    try {
        entityManager.remove(data1);
        final String msg = intres.getLocalizedMessage("ra.removedentity", username);
        final Map<String, Object> details = new LinkedHashMap<String, Object>();
        details.put("msg", msg);
        auditSession.log(EjbcaEventTypes.RA_DELETEENDENTITY, EventStatus.SUCCESS, EjbcaModuleTypes.RA,
                ServiceTypes.CORE, admin.toString(), caIdLog, null, username, details);
    } catch (Exception e) {
        final String msg = intres.getLocalizedMessage("ra.errorremoveentity", username);
        final Map<String, Object> details = new LinkedHashMap<String, Object>();
        details.put("msg", msg);
        details.put("error", e.getMessage());
        auditSession.log(EjbcaEventTypes.RA_DELETEENDENTITY, EventStatus.FAILURE, EjbcaModuleTypes.RA,
                ServiceTypes.CORE, admin.toString(), caIdLog, null, username, details);
        throw new RemoveException(msg);
    }
    if (log.isTraceEnabled()) {
        log.trace("<deleteUser(" + username + ")");
    }
}

From source file:org.ejbca.core.ejb.ra.UserAdminSessionBean.java

@Override
public void deleteUser(Admin admin, String username)
        throws AuthorizationDeniedException, NotFoundException, RemoveException {
    if (log.isTraceEnabled()) {
        log.trace(">deleteUser(" + username + ")");
    }//from  w w w . j  av  a 2  s .  c  o m
    // Check if administrator is authorized to delete user.
    int caid = LogConstants.INTERNALCAID;
    UserData data1 = UserData.findByUsername(entityManager, username);
    if (data1 != null) {
        caid = data1.getCaId();
        assertAuthorizedToCA(admin, caid, username, LogConstants.EVENT_ERROR_DELETEENDENTITY);
        if (getGlobalConfiguration(admin).getEnableEndEntityProfileLimitations()) {
            assertAuthorizedToEndEntityProfile(admin, data1.getEndEntityProfileId(),
                    AccessRulesConstants.DELETE_RIGHTS, caid, username,
                    LogConstants.EVENT_ERROR_DELETEENDENTITY);
        }
    } else {
        String msg = intres.getLocalizedMessage("ra.errorentitynotexist", username);
        logSession.log(admin, caid, LogConstants.MODULE_RA, new Date(), username, null,
                LogConstants.EVENT_ERROR_DELETEENDENTITY, msg);
        throw new NotFoundException(msg);
    }
    try {
        entityManager.remove(data1);
        String msg = intres.getLocalizedMessage("ra.removedentity", username);
        logSession.log(admin, caid, LogConstants.MODULE_RA, new Date(), username, null,
                LogConstants.EVENT_INFO_DELETEDENDENTITY, msg);
    } catch (Exception e) {
        String msg = intres.getLocalizedMessage("ra.errorremoveentity", username);
        logSession.log(admin, caid, LogConstants.MODULE_RA, new Date(), username, null,
                LogConstants.EVENT_ERROR_DELETEENDENTITY, msg);
        throw new RemoveException(msg);
    }
    if (log.isTraceEnabled()) {
        log.trace("<deleteUser(" + username + ")");
    }
}