From 0f1efccf1749895a181da2d13134631c05f53e7e Mon Sep 17 00:00:00 2001 From: Diogo Neves Date: Tue, 20 Jul 2010 13:32:00 +0000 Subject: [PATCH] verificacao de remocao de temas/riscos git-svn-id: https://svn.coded.pt/svn/SIPRP@1323 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../gestao/riscos/GerirRiscosPanel.java | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/trunk/SIPRPSoft/src/siprp/higiene/gestao/riscos/GerirRiscosPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/gestao/riscos/GerirRiscosPanel.java index f219d714..4d33e56b 100644 --- a/trunk/SIPRPSoft/src/siprp/higiene/gestao/riscos/GerirRiscosPanel.java +++ b/trunk/SIPRPSoft/src/siprp/higiene/gestao/riscos/GerirRiscosPanel.java @@ -13,6 +13,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.util.List; import javax.swing.BorderFactory; import javax.swing.JOptionPane; @@ -229,12 +230,22 @@ public class GerirRiscosPanel extends SIPRPLazyLoadedPanel implements LeafUICons try { HsRiscoTemaData tema = getSelectedTema(); - if( tema != null && LeafDialog.confirmDelete( true, false, "tema" ) ) + + if ( tema != null ) { - tema.delete(); - doRefresh(); + List< HsRiscoData > riscos = tema.fromHsRisco_tema_id(); + if ( riscos != null && riscos.size() > 0 ) + { + JOptionPane.showMessageDialog( this, "O Tema seleccionado cont\u00E9m Riscos. Tem de os remover primeiro.", "Erro", JOptionPane.ERROR_MESSAGE ); + } + else if ( LeafDialog.confirmDelete( true, false, "tema" ) ) + { + tema.delete(); + doRefresh(); + } } - } catch( Exception e ) + } + catch( Exception e ) { LeafDialog.error( e ); } @@ -305,10 +316,18 @@ public class GerirRiscosPanel extends SIPRPLazyLoadedPanel implements LeafUICons try { HsRiscoData risco = getSelectedRisco(); - if( risco != null && LeafDialog.confirmDelete( true, false, "risco" ) && removerRiscoOK( risco ) ) + if ( risco != null ) { - risco.delete(); - doRefresh(); + List< HsRiscoMedidaData > medidas = risco.fromHsRiscoMedida_risco_id(); + if ( medidas != null && medidas.size() > 0 ) + { + JOptionPane.showMessageDialog( this, "O Risco seleccionado cont\u00E9m Medidas. Tem de as remover primeiro.", "Erro", JOptionPane.ERROR_MESSAGE ); + } + else if ( LeafDialog.confirmDelete( true, false, "tema" ) ) + { + risco.delete(); + doRefresh(); + } } } catch( Exception e )