it.cnr.contab.utenze00.bp.CRUDRuoloBP Maven / Gradle / Ivy
/*
* Copyright (C) 2019 Consiglio Nazionale delle Ricerche
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package it.cnr.contab.utenze00.bp;
/**
* Business Process che gestisce l'attività di Gestione Ruolo: in particolare gestisce
* i due dettagli relativi agli Accessi gia' assegnati al Ruolo e agli Accessi ancora disponibili
*/
import it.cnr.contab.utente00.ejb.RuoloComponentSession;
import it.cnr.contab.utenze00.bulk.AccessoBulk;
import it.cnr.contab.utenze00.bulk.CNRUserInfo;
import it.cnr.contab.utenze00.bulk.RuoloBulk;
import it.cnr.jada.action.ActionContext;
import it.cnr.jada.action.BusinessProcessException;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.persistency.sql.CompoundFindClause;
import it.cnr.jada.util.action.SimpleCRUDBP;
import it.cnr.jada.util.action.SimpleDetailCRUDController;
import java.rmi.RemoteException;
public class CRUDRuoloBP extends SimpleCRUDBP {
private CompoundFindClause compoundfindclauseAccessiDisponibili = null;
private final SimpleDetailCRUDController crudAccessi_disponibili = new SimpleDetailCRUDController("Accessi_disponibili", AccessoBulk.class, "accessi_disponibili", this){
public void setFilter(ActionContext actioncontext, CompoundFindClause compoundfindclause) {
compoundfindclauseAccessiDisponibili = compoundfindclause;
CRUDRuoloBP bp = (CRUDRuoloBP) actioncontext.getBusinessProcess();
RuoloBulk ruolo = (RuoloBulk) bp.getModel();
ruolo.resetAccessi();
try {
bp.setModel(actioncontext, ((RuoloComponentSession) createComponentSession()).
cercaAccessiDisponibili(actioncontext.getUserContext(), ruolo, compoundfindclause));
} catch (BusinessProcessException e) {
handleException(e);
} catch (ComponentException e) {
handleException(e);
} catch (RemoteException e) {
handleException(e);
}
super.setFilter(actioncontext, compoundfindclause);
};
public boolean isFiltered() {
return compoundfindclauseAccessiDisponibili != null;
};
};
private final SimpleDetailCRUDController crudAccessi = new SimpleDetailCRUDController("Accessi", AccessoBulk.class, "accessi", this);
public CRUDRuoloBP() throws BusinessProcessException {
super();
}
public CRUDRuoloBP(String function) throws BusinessProcessException {
super(function);
}
@Override
public OggettoBulk initializeModelForInsert(ActionContext actioncontext, OggettoBulk oggettobulk) throws BusinessProcessException {
compoundfindclauseAccessiDisponibili = null;
return super.initializeModelForInsert(actioncontext, oggettobulk);
}
@Override
public OggettoBulk initializeModelForEdit(ActionContext actioncontext, OggettoBulk oggettobulk) throws BusinessProcessException {
compoundfindclauseAccessiDisponibili = null;
return super.initializeModelForEdit(actioncontext, oggettobulk);
}
@Override
public OggettoBulk initializeModelForSearch(ActionContext actioncontext, OggettoBulk oggettobulk) throws BusinessProcessException {
compoundfindclauseAccessiDisponibili = null;
return super.initializeModelForSearch(actioncontext, oggettobulk);
}
public void edit(it.cnr.jada.action.ActionContext context, OggettoBulk bulk) throws it.cnr.jada.action.BusinessProcessException {
super.edit(context, bulk);
RuoloBulk ruolo = (RuoloBulk) getModel();
CNRUserInfo userInfo = (CNRUserInfo) context.getUserInfo();
if (!"*".equals(userInfo.getUtente().getCd_cds_configuratore()) &&
((RuoloBulk) getModel()).getCds() == null)
setStatus(VIEW);
}
/**
* Restituisce il Controller che gestisce il dettaglio degli Accessi già assegnati ad un Ruolo
* @return it.cnr.jada.util.action.SimpleDetailCRUDController controller
*/
public final it.cnr.jada.util.action.SimpleDetailCRUDController getCrudAccessi() {
return crudAccessi;
}
/**
* Restituisce il Controller che gestisce il dettaglio degli Accessi ancora disponibile per un Ruolo
* @return it.cnr.jada.util.action.SimpleDetailCRUDController controller
*/
public final it.cnr.jada.util.action.SimpleDetailCRUDController getCrudAccessi_disponibili() {
return crudAccessi_disponibili;
}
/**
*
* Restituisce il valore della proprietà 'cdsFieldEnabled'
*
* @return Il valore della proprietà 'cdsFieldEnabled'
*/
public boolean isCdsFieldEnabled() {
return isInserting() && isEditable() && ((RuoloBulk) getModel()).getGestore() != null &&
"*".equals(((RuoloBulk) getModel()).getGestore().getCd_cds_configuratore());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy