src/it/finsiel/siged/mvc/business/ProtocolloDelegate.java
public ProtocolloVO registraProtocolloIngresso(
            ProtocolloIngresso protocollo, Utente utente) {
        JDBCManager jdbcMan = null;
        Connection connection = null;
        ProtocolloVO pVO = null;
        OggettarioDelegate oggettario = OggettarioDelegate.getInstance();
        SoggettoDelegate soggettoDelegate = SoggettoDelegate.getInstance();
        try {
            jdbcMan = new JDBCManager();

            connection = jdbcMan.getConnection();
            connection.setAutoCommit(false);
            pVO = registraProtocolloIngresso(connection, protocollo, utente);
            if(protocollo.isAddFisica() && "F".equals(protocollo.getProtocollo().getFlagTipoMittente())){
            	SoggettoVO soggetto = createSoggetto(protocollo, "F");
            	soggettoDelegate.salvaPersonaFisica(soggetto, utente);
                
            }if(protocollo.isAddGiuridica() && "G".equals(protocollo.getProtocollo().getFlagTipoMittente())){
            	SoggettoVO soggetto = createSoggetto(protocollo, "G");
            	soggettoDelegate.salvaPersonaGiuridica(soggetto, utente);
                
            }if(protocollo.isAddOggetto()){
            	OggettoVO oggettoVO = new OggettoVO(null, pVO.getOggetto());
                oggettario.salvaOggetto(oggettoVO);
                
            }
            connection.commit();

        } catch (DataException de) {
            jdbcMan.rollback(connection);
            logger.warn("Salvataggio Protocollo fallito, rolling back transction..",de);

        } catch (SQLException se) {
            jdbcMan.rollback(connection);
            logger.warn("Salvataggio Protocollo fallito, rolling back transction..",se);

        } catch (Exception e) {
            jdbcMan.rollback(connection);
            logger.warn("Si e' verificata un eccezione non gestita.", e);

        } finally {
            jdbcMan.close(connection);
        }
        return pVO;

    }
/*
     * Questo metodo deve essere sincrono. Sincronizzare questo metodo per
     * eveitare "buchi" nei numeri di protocollo Errore: Due transazioni che
     * iniziano allo stesso tempo, se una fallisce vi sar? un buco nei numeri
     * progressivi del protocollo, dovrebbe fallire la transazione che per prima
     * ha ottenuto l'id.
     */
Questo metodo deve essere sincrono. Sincronizzare questo metodo per
eveitare "buchi" nei numeri di protocollo Errore: Due transazioni che
iniziano allo stesso tempo, se una fallisce vi sar. un buco nei numeri
progressivi del protocollo, dovrebbe fallire la transazione che per prima
ha ottenuto l'id.
Questo metodo deve essere sincrono . Sincronizzare questo metodo per eveitare " buchi " nei numeri di protocollo Errore : Due transazioni che iniziano allo stesso tempo se una fallisce vi sar . un buco nei numeri progressivi del protocollo dovrebbe fallire la transazione che per prima ha ottenuto l ' id .
public ProtocolloVO registraProtocolloIngresso(
            ProtocolloIngresso protocollo, Utente utente) {
        JDBCManager jdbcMan = null;
        Connection connection = null;
        ProtocolloVO pVO = null;
        OggettarioDelegate oggettario = OggettarioDelegate.getInstance();
        SoggettoDelegate soggettoDelegate = SoggettoDelegate.getInstance();
        try {
            jdbcMan = new JDBCManager();
            connection = jdbcMan.getConnection();
            connection.setAutoCommit(false);
            pVO = registraProtocolloIngresso(connection, protocollo, utente);
            if(protocollo.isAddFisica() && "F".equals(protocollo.getProtocollo().getFlagTipoMittente())){
            	SoggettoVO soggetto = createSoggetto(protocollo, "F");
            	soggettoDelegate.salvaPersonaFisica(soggetto, utente);
            }if(protocollo.isAddGiuridica() && "G".equals(protocollo.getProtocollo().getFlagTipoMittente())){
            	SoggettoVO soggetto = createSoggetto(protocollo, "G");
            	soggettoDelegate.salvaPersonaGiuridica(soggetto, utente);
            }if(protocollo.isAddOggetto()){
            	OggettoVO oggettoVO = new OggettoVO(null, pVO.getOggetto());
                oggettario.salvaOggetto(oggettoVO);
            }
            connection.commit();
        } catch (DataException de) {
            jdbcMan.rollback(connection);
            logger.warn("Salvataggio Protocollo fallito, rolling back transction..",de);
        } catch (SQLException se) {
            jdbcMan.rollback(connection);
            logger.warn("Salvataggio Protocollo fallito, rolling back transction..",se);
        } catch (Exception e) {
            jdbcMan.rollback(connection);
            logger.warn("Si e' verificata un eccezione non gestita.", e);
        } finally {
            jdbcMan.close(connection);
        }
        return pVO;
    }
public ProtocolloVO registraProtocolloIngresso ( ProtocolloIngresso protocollo , Utente utente ) { JDBCManager jdbcMan = null ; Connection connection = null ; ProtocolloVO pVO = null ; OggettarioDelegate oggettario = OggettarioDelegate . getInstance ( ) ; SoggettoDelegate soggettoDelegate = SoggettoDelegate . getInstance ( ) ; try { jdbcMan = new JDBCManager ( ) ; connection = jdbcMan . getConnection ( ) ; connection . setAutoCommit ( false ) ; pVO = registraProtocolloIngresso ( connection , protocollo , utente ) ; if ( protocollo . isAddFisica ( ) && "F" . equals ( protocollo . getProtocollo ( ) . getFlagTipoMittente ( ) ) ) { SoggettoVO soggetto = createSoggetto ( protocollo , "F" ) ; soggettoDelegate . salvaPersonaFisica ( soggetto , utente ) ; } if ( protocollo . isAddGiuridica ( ) && "G" . equals ( protocollo . getProtocollo ( ) . getFlagTipoMittente ( ) ) ) { SoggettoVO soggetto = createSoggetto ( protocollo , "G" ) ; soggettoDelegate . salvaPersonaGiuridica ( soggetto , utente ) ; } if ( protocollo . isAddOggetto ( ) ) { OggettoVO oggettoVO = new OggettoVO ( null , pVO . getOggetto ( ) ) ; oggettario . salvaOggetto ( oggettoVO ) ; } connection . commit ( ) ; } catch ( DataException de ) { jdbcMan . rollback ( connection ) ; logger . warn ( "Salvataggio Protocollo fallito, rolling back transction.." , de ) ; } catch ( SQLException se ) { jdbcMan . rollback ( connection ) ; logger . warn ( "Salvataggio Protocollo fallito, rolling back transction.." , se ) ; } catch ( Exception e ) { jdbcMan . rollback ( connection ) ; logger . warn ( "Si e' verificata un eccezione non gestita." , e ) ; } finally { jdbcMan . close ( connection ) ; } return pVO ; }
Questo metodo deve essere sincrono.
Questo metodo deve essere sincrono .