From 20cfed1e99abb4972e3a17f3c9ab4f3f30aeba91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Sim=C3=A3o?= Date: Tue, 28 Jul 2009 18:39:16 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@1081 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../relatorio/GerirMedidasRelatorioPanel.java | 2 ++ .../database/cayenne/objects/BaseObject.java | 26 ++++++++++--------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java index d3e8c610..dcdfd941 100644 --- a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java +++ b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/GerirMedidasRelatorioPanel.java @@ -27,6 +27,8 @@ import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; +import org.apache.cayenne.PersistenceState; + import leaf.ui.LeafButton; import leaf.ui.LeafDialog; import leaf.ui.LeafIconButton; diff --git a/trunk/common/src/siprp/database/cayenne/objects/BaseObject.java b/trunk/common/src/siprp/database/cayenne/objects/BaseObject.java index 7303bc5f..57b28d71 100644 --- a/trunk/common/src/siprp/database/cayenne/objects/BaseObject.java +++ b/trunk/common/src/siprp/database/cayenne/objects/BaseObject.java @@ -131,11 +131,6 @@ public class BaseObject extends CayenneDataObject implements Comparable boolean isRelational( OBJ_CLASS object ) { boolean result = false; @@ -178,25 +173,32 @@ public class BaseObject extends CayenneDataObject implements Comparable List getReferringObjects( String arrayProperty ) { - List result = new LinkedList(); + List result = (List) super.readProperty(arrayProperty); + List toDelete = new LinkedList(); Boolean isRel = null; - for( OBJ_CLASS o : (List) super.readProperty(arrayProperty) ) + for( OBJ_CLASS o : result ) { if( isRel == null ) { isRel = isRelational( o ); } - if( null == o.readProperty( "deletedDate" ) ) + if( null != o.readProperty( "deletedDate" ) || isRel && isRelDeleted(o) ) { - if( !isRel || !isRelDeleted( o ) ) - { - result.add(o); - } + toDelete.add(o); } } + for( OBJ_CLASS o : toDelete ) + { + result.remove(o); + } return result; }