git-svn-id: https://svn.coded.pt/svn/SIPRP@1078 bb69d46d-e84e-40c8-a05a-06db0d633741

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Tiago Simão 16 years ago
parent 0b4e0e575c
commit ade6b373d4

@ -28,12 +28,10 @@
<classpathentry kind="lib" path="common/lib/log4j-1.2.8.jar"/> <classpathentry kind="lib" path="common/lib/log4j-1.2.8.jar"/>
<classpathentry kind="lib" path="common/lib/mail.jar"/> <classpathentry kind="lib" path="common/lib/mail.jar"/>
<classpathentry kind="lib" path="common/lib/TableLayout.jar"/> <classpathentry kind="lib" path="common/lib/TableLayout.jar"/>
<classpathentry kind="lib" path="common/lib/cayenne-server-3.0M2.jar" sourcepath="/home/tsimao/Desktop/cayenne-3.0M4/src"/>
<classpathentry kind="lib" path="common/lib/commons-collections-3.1.jar"/> <classpathentry kind="lib" path="common/lib/commons-collections-3.1.jar"/>
<classpathentry kind="lib" path="common/lib/commons-lang-2.1.jar"/> <classpathentry kind="lib" path="common/lib/commons-lang-2.1.jar"/>
<classpathentry kind="lib" path="common/lib/commons-logging-1.1.jar"/> <classpathentry kind="lib" path="common/lib/commons-logging-1.1.jar"/>
<classpathentry kind="lib" path="common/lib/jcalendar-1.3.2.jar"/> <classpathentry kind="lib" path="common/lib/jcalendar-1.3.2.jar"/>
<classpathentry kind="lib" path="common/lib/ashwood-1.1.jar"/>
<classpathentry kind="lib" path="SIPRPSoft/lib/xmlgraphics-commons-1.3.1.jar"/> <classpathentry kind="lib" path="SIPRPSoft/lib/xmlgraphics-commons-1.3.1.jar"/>
<classpathentry kind="lib" path="SIPRPSoft/lib/commons-io-1.4.jar"/> <classpathentry kind="lib" path="SIPRPSoft/lib/commons-io-1.4.jar"/>
<classpathentry kind="lib" path="SIPRPSoft/lib/batik-all-1.7.jar"/> <classpathentry kind="lib" path="SIPRPSoft/lib/batik-all-1.7.jar"/>
@ -42,5 +40,7 @@
<classpathentry kind="lib" path="SIPRPSoft/lib/xalan-2.7.0.jar"/> <classpathentry kind="lib" path="SIPRPSoft/lib/xalan-2.7.0.jar"/>
<classpathentry kind="lib" path="SIPRPSoft/lib/xercesImpl-2.7.1.jar"/> <classpathentry kind="lib" path="SIPRPSoft/lib/xercesImpl-2.7.1.jar"/>
<classpathentry kind="lib" path="SIPRPSoft/lib/fop.jar"/> <classpathentry kind="lib" path="SIPRPSoft/lib/fop.jar"/>
<classpathentry kind="lib" path="common/lib/ashwood-2.0.jar"/>
<classpathentry kind="lib" path="common/lib/cayenne-server-3.0M6.jar"/>
<classpathentry kind="output" path="SIPRPSoft/build/classes"/> <classpathentry kind="output" path="SIPRPSoft/build/classes"/>
</classpath> </classpath>

@ -93,20 +93,20 @@ public class SIPRPDataLoader implements CompanyDataLoader
// Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local_3" ); // Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local_3" );
// Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" ); // Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" );
// //
Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" );
Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" );
Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" );
Singleton.setInstance( SingletonConstants.LOCAL_URL, "10.158.2.2:5432" );
Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local" );
Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" );
// Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" ); // Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" );
// Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" ); // Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" );
// Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" ); // Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" );
// Singleton.setInstance( SingletonConstants.LOCAL_URL, "dbserver:5432" ); // Singleton.setInstance( SingletonConstants.LOCAL_URL, "10.158.2.2:5432" );
// Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local3" ); // Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local" );
// Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" ); // Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" );
Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" );
Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" );
Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" );
Singleton.setInstance( SingletonConstants.LOCAL_URL, "dbserver:5432" );
Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local3" );
Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" );
// //
// Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" ); // Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" );
// Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" ); // Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" );

@ -18,6 +18,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTree;
public abstract class AdicionarPanel extends JPanel public abstract class AdicionarPanel extends JPanel
{ {
@ -38,7 +39,7 @@ public abstract class AdicionarPanel extends JPanel
protected final DefaultTreeModel model = new DefaultTreeModel( root ); protected final DefaultTreeModel model = new DefaultTreeModel( root );
protected final JTree tree = new JTree( model ); protected final LeafTree tree = new LeafTree( model );
protected final JScrollPane scroll = new JScrollPane( tree ); protected final JScrollPane scroll = new JScrollPane( tree );

@ -22,6 +22,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTree;
import leaf.ui.TreeInserterDialog; import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsEquipamento; import siprp.database.cayenne.objects.HsEquipamento;
@ -49,7 +50,7 @@ public class AdicionarEquipamentosPanel extends JPanel
private final DefaultTreeModel model = new DefaultTreeModel( root ); private final DefaultTreeModel model = new DefaultTreeModel( root );
public final JTree tree = new JTree( model ); public final LeafTree tree = new LeafTree( model );
private final JScrollPane scroll = new JScrollPane( tree ); private final JScrollPane scroll = new JScrollPane( tree );

@ -29,6 +29,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTree;
import leaf.ui.LeafUIConstants; import leaf.ui.LeafUIConstants;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsEquipamento; import siprp.database.cayenne.objects.HsEquipamento;
@ -63,7 +64,7 @@ public class GerirEquipamentosPanel extends JPanel implements CaretListener, Lea
private final DefaultTreeModel model = new DefaultTreeModel( root ); private final DefaultTreeModel model = new DefaultTreeModel( root );
private final JTree tree = new JTree( model ); private final LeafTree tree = new LeafTree( model );
private final JScrollPane scroll = new JScrollPane( tree ); private final JScrollPane scroll = new JScrollPane( tree );

@ -31,6 +31,7 @@ import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTextAreaEditor; import leaf.ui.LeafTextAreaEditor;
import leaf.ui.LeafTree;
import leaf.ui.LeafUIConstants; import leaf.ui.LeafUIConstants;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsLegislacao; import siprp.database.cayenne.objects.HsLegislacao;
@ -70,7 +71,7 @@ public class GerirLegislacaoPanel extends JPanel implements LeafUIConstants
private final DefaultTreeModel modelGeral = new DefaultTreeModel( rootGeral ); private final DefaultTreeModel modelGeral = new DefaultTreeModel( rootGeral );
private final JTree treeGeral = new JTree( modelGeral ); private final LeafTree treeGeral = new LeafTree( modelGeral );
private final JScrollPane scrollGeral = new JScrollPane( treeGeral ); private final JScrollPane scrollGeral = new JScrollPane( treeGeral );
@ -78,7 +79,7 @@ public class GerirLegislacaoPanel extends JPanel implements LeafUIConstants
private final DefaultTreeModel modelCategorias = new DefaultTreeModel( rootCategorias ); private final DefaultTreeModel modelCategorias = new DefaultTreeModel( rootCategorias );
private final JTree treeCategorias = new JTree( modelCategorias ); private final LeafTree treeCategorias = new LeafTree( modelCategorias );
private final JScrollPane scrollCategorias = new JScrollPane( treeCategorias ); private final JScrollPane scrollCategorias = new JScrollPane( treeCategorias );

@ -37,6 +37,7 @@ import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTextAreaEditor; import leaf.ui.LeafTextAreaEditor;
import leaf.ui.LeafTree;
import leaf.ui.LeafUIConstants; import leaf.ui.LeafUIConstants;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsNormalizacao; import siprp.database.cayenne.objects.HsNormalizacao;
@ -75,7 +76,7 @@ public class GerirNormalizacaoPanel extends JPanel implements LeafUIConstants, C
private final DefaultTreeModel modelPortuguesa = new DefaultTreeModel( rootPortuguesa ); private final DefaultTreeModel modelPortuguesa = new DefaultTreeModel( rootPortuguesa );
private final JTree treePortuguesa = new JTree( modelPortuguesa ); private final LeafTree treePortuguesa = new LeafTree( modelPortuguesa );
private final JScrollPane scrollPortuguesa = new JScrollPane( treePortuguesa ); private final JScrollPane scrollPortuguesa = new JScrollPane( treePortuguesa );
@ -83,7 +84,7 @@ public class GerirNormalizacaoPanel extends JPanel implements LeafUIConstants, C
private final DefaultTreeModel modelInternacional = new DefaultTreeModel( rootInternacional ); private final DefaultTreeModel modelInternacional = new DefaultTreeModel( rootInternacional );
private final JTree treeInternacional = new JTree( modelInternacional ); private final LeafTree treeInternacional = new LeafTree( modelInternacional );
private final JScrollPane scrollInternacional = new JScrollPane( treeInternacional ); private final JScrollPane scrollInternacional = new JScrollPane( treeInternacional );

@ -20,6 +20,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTree;
import leaf.ui.TreeInserterDialog; import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.Estabelecimentos; import siprp.database.cayenne.objects.Estabelecimentos;
@ -48,7 +49,7 @@ public class AdicionarAreasPanel extends JPanel
private final DefaultTreeModel model = new DefaultTreeModel( root ); private final DefaultTreeModel model = new DefaultTreeModel( root );
public final JTree tree = new JTree( model ); public final LeafTree tree = new LeafTree( model );
private final JScrollPane scroll = new JScrollPane( tree ); private final JScrollPane scroll = new JScrollPane( tree );

@ -34,6 +34,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTree;
import leaf.ui.LeafUIConstants; import leaf.ui.LeafUIConstants;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.Empresas;
@ -69,7 +70,7 @@ public class GerirAreasPanel extends JPanel implements LeafUIConstants
private final DefaultTreeModel model = new DefaultTreeModel( root ); private final DefaultTreeModel model = new DefaultTreeModel( root );
public final JTree tree = new JTree( model ); public final LeafTree tree = new LeafTree( model );
private final JScrollPane scroll = new JScrollPane( tree ); private final JScrollPane scroll = new JScrollPane( tree );

@ -21,6 +21,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTree;
import leaf.ui.TreeInserterDialog; import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.BaseObject; import siprp.database.cayenne.objects.BaseObject;
@ -51,7 +52,7 @@ public class AdicionarRiscosPanel extends JPanel
private final DefaultTreeModel model = new DefaultTreeModel( root ); private final DefaultTreeModel model = new DefaultTreeModel( root );
public final JTree tree = new JTree( model ); public final LeafTree tree = new LeafTree( model );
private final JScrollPane scroll = new JScrollPane( tree ); private final JScrollPane scroll = new JScrollPane( tree );

@ -28,6 +28,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTree;
import leaf.ui.LeafUIConstants; import leaf.ui.LeafUIConstants;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsMedida; import siprp.database.cayenne.objects.HsMedida;
@ -79,7 +80,7 @@ public class GerirRiscosPanel extends JPanel implements LeafUIConstants
private final DefaultTreeModel model = new DefaultTreeModel( root ); private final DefaultTreeModel model = new DefaultTreeModel( root );
private final JTree tree = new JTree( model ); private final LeafTree tree = new LeafTree( model );
private final JScrollPane scroll = new JScrollPane( tree ); private final JScrollPane scroll = new JScrollPane( tree );

@ -30,6 +30,7 @@ import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafButton; import leaf.ui.LeafButton;
import leaf.ui.LeafDialog; import leaf.ui.LeafDialog;
import leaf.ui.LeafIconButton; import leaf.ui.LeafIconButton;
import leaf.ui.LeafTree;
import leaf.ui.TreeInserterDialog; import leaf.ui.TreeInserterDialog;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.BaseObject; import siprp.database.cayenne.objects.BaseObject;
@ -67,7 +68,7 @@ public class GerirMedidasRelatorioPanel extends JPanel
private final DefaultTreeModel model = new DefaultTreeModel( root ); private final DefaultTreeModel model = new DefaultTreeModel( root );
public final JTree tree = new JTree( model ); public final LeafTree tree = new LeafTree( model );
private final JScrollPane scroll = new JScrollPane( tree ); private final JScrollPane scroll = new JScrollPane( tree );

@ -17,6 +17,7 @@ import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath; import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel; import javax.swing.tree.TreeSelectionModel;
import leaf.ui.LeafTree;
import leaf.ui.TreeTools; import leaf.ui.TreeTools;
import siprp.database.cayenne.objects.HsRelatorio; import siprp.database.cayenne.objects.HsRelatorio;
import siprp.database.cayenne.objects.HsRelatorioPosto; import siprp.database.cayenne.objects.HsRelatorioPosto;
@ -35,7 +36,7 @@ public class VerAreasRelatorioPanel extends JPanel
private final DefaultTreeModel model = new DefaultTreeModel( root ); private final DefaultTreeModel model = new DefaultTreeModel( root );
public final JTree tree = new JTree( model ); public final LeafTree tree = new LeafTree( model );
private final JScrollPane scroll = new JScrollPane( tree ); private final JScrollPane scroll = new JScrollPane( tree );

@ -130,17 +130,20 @@ public class MarcacoesDataProvider
// //
String trabalhador = ( String ) array.get( n, 4 ); String trabalhador = ( String ) array.get( n, 4 );
String split[] = trabalhador.split( " " ); String split[] = trabalhador.split( " " );
trabalhador = split[ 0 ] + " " + ( split.length > 2 ? split[ 1 ].charAt( 0 ) + ". " : " " ) + if( split != null && split.length > 1 && split[0] != null && split[0].length() > 0 && split[1] != null && split[1].length() > 0 )
( split.length > 1 ? split[ split.length - 1 ] : "" ); {
String estabelecimento = ( String ) array.get( n, 5 ); trabalhador = split[ 0 ] + " " + ( split.length > 2 ? split[ 1 ].charAt( 0 ) + ". " : " " ) +
String empresa = ( String ) array.get( n, 6 ); ( split.length > 1 ? split[ split.length - 1 ] : "" );
String str = "<html><body><font color=\"#00009f\">" + trabalhador + "</font>" String estabelecimento = ( String ) array.get( n, 5 );
+ "<br>&nbsp;&nbsp;&nbsp;" + "Ficha de aptid" + atilde + "o caduca a " + D_F.format( c.getTime() ) String empresa = ( String ) array.get( n, 6 );
+ "<br>&nbsp;&nbsp;&nbsp;<font color=\"#009f00\">" + descricao + "</font>" String str = "<html><body><font color=\"#00009f\">" + trabalhador + "</font>"
+ "<br>&nbsp;&nbsp;&nbsp;" + empresa.substring( 0, empresa.length() > 20 ? 20 : empresa.length() ) + "<br>&nbsp;&nbsp;&nbsp;" + "Ficha de aptid" + atilde + "o caduca a " + D_F.format( c.getTime() )
+ " / " + estabelecimento.substring( 0, estabelecimento.length() > 10 ? 10 : estabelecimento.length() ) + "<br>&nbsp;&nbsp;&nbsp;<font color=\"#009f00\">" + descricao + "</font>"
+ "</body></html>"; + "<br>&nbsp;&nbsp;&nbsp;" + empresa.substring( 0, empresa.length() > 20 ? 20 : empresa.length() )
lembretes[ n ] = new MappableObject( id, str ); + " / " + estabelecimento.substring( 0, estabelecimento.length() > 10 ? 10 : estabelecimento.length() )
+ "</body></html>";
lembretes[ n ] = new MappableObject( id, str );
}
} }
return lembretes; return lembretes;
} }

Binary file not shown.

Binary file not shown.

@ -2,10 +2,11 @@ package leaf.ui;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List;
import javax.swing.JTree; import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeModel; import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath; import javax.swing.tree.TreePath;
public class LeafTree extends JTree public class LeafTree extends JTree
@ -13,7 +14,7 @@ public class LeafTree extends JTree
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final List<Object> expandedNodes = new LinkedList<Object>();
public LeafTree(TreeModel model) public LeafTree(TreeModel model)
{ {
@ -22,26 +23,52 @@ public class LeafTree extends JTree
public void saveExpansionState() public void saveExpansionState()
{ {
TreePath treePath = new TreePath((TreeNode)getModel().getRoot()); expandedNodes.clear();
TreePath treePath = new TreePath(getRoot());
savePath( treePath ); savePath( treePath );
} }
public void savePath( TreePath treePath ) private DefaultMutableTreeNode getRoot()
{
return (DefaultMutableTreeNode) getModel().getRoot();
}
private void savePath( TreePath treePath )
{ {
//TODO
if( treePath != null ) if( treePath != null )
{ {
Enumeration<TreePath> expanded = getExpandedDescendants(treePath); Enumeration<TreePath> expanded = getExpandedDescendants(treePath);
if( expanded != null ) if( expanded != null )
{ {
expanded.nextElement(); while( expanded.hasMoreElements() )
{
TreePath path = expanded.nextElement();
if( path != null )
{
Object leaf = path.getLastPathComponent();
if( leaf instanceof DefaultMutableTreeNode )
{
Object userObject = ((DefaultMutableTreeNode)leaf).getUserObject();
if( userObject != null )
{
expandedNodes.add(userObject);
}
}
}
savePath(path);
}
} }
} }
} }
public void loadExpansionState() public void loadExpansionState()
{ {
//TODO for( Object userObject : expandedNodes )
{
TreeTools.expandNodeForObject( userObject, this );
}
} }
} }

@ -51,6 +51,10 @@ public class TreeTools
public static void refreshTree( JTree tree, DefaultMutableTreeNode node, boolean expand ) public static void refreshTree( JTree tree, DefaultMutableTreeNode node, boolean expand )
{ {
if( tree instanceof LeafTree )
{
((LeafTree)tree).saveExpansionState();
}
((DefaultTreeModel) tree.getModel()).nodeStructureChanged( node ); ((DefaultTreeModel) tree.getModel()).nodeStructureChanged( node );
if( expand ) if( expand )
{ {
@ -59,6 +63,10 @@ public class TreeTools
tree.expandPath( tree.getPathForRow( i ) ); tree.expandPath( tree.getPathForRow( i ) );
} }
} }
if( tree instanceof LeafTree )
{
((LeafTree)tree).loadExpansionState();
}
} }
public static boolean userObjectExistsOn( Object object, DefaultMutableTreeNode on ) public static boolean userObjectExistsOn( Object object, DefaultMutableTreeNode on )
@ -226,4 +234,25 @@ public class TreeTools
return path; return path;
} }
private static DefaultMutableTreeNode getRoot( JTree tree )
{
return (DefaultMutableTreeNode) tree.getModel().getRoot();
}
public static void expandNodeForObject(Object userObject, JTree tree )
{
DefaultMutableTreeNode on = getRoot( tree );
DefaultMutableTreeNode found = findNodeWithUserObject(userObject, on);
if( found != null )
{
TreePath path = getPathFor(found);
if( path != null )
{
tree.expandPath( path );
}
}
}
} }

@ -4,6 +4,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.Date;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -72,9 +73,27 @@ public class BaseObject extends CayenneDataObject implements Comparable<BaseObje
commit(); commit();
} }
private boolean hasDeletedDate()
{
boolean result = false;
try {
result = getClass().getField("DELETED_DATE_PROPERTY") != null;
} catch (SecurityException e) {
} catch (NoSuchFieldException e) {
}
return result;
}
public void delete() throws Exception public void delete() throws Exception
{ {
dao.getContext().deleteObject( this ); if( hasDeletedDate() )
{
writeProperty( "deletedDate", new Date() );
}
else
{
dao.getContext().deleteObject( this );
}
commit(); commit();
} }
@ -114,20 +133,6 @@ public class BaseObject extends CayenneDataObject implements Comparable<BaseObje
return result; return result;
} }
private <OBJ_CLASS extends BaseObject> List<OBJ_CLASS>getNtoN( String relation, String toGet )
{
List<OBJ_CLASS> result = new LinkedList<OBJ_CLASS>();
for( BaseObject o : (List<? extends BaseObject>) super.readProperty(relation) )
{
OBJ_CLASS toGetObj = (OBJ_CLASS) o.readProperty( toGet );
if( null == toGetObj.readProperty( "deleted_date" ) )
{
result.add(toGetObj);
}
}
return result;
}
@Override @Override
public Object readProperty(String propertyName) { public Object readProperty(String propertyName) {
return (propertyName != null && propertyName.endsWith("Array") ) ? getReferringObjects(propertyName) : super.readProperty(propertyName); return (propertyName != null && propertyName.endsWith("Array") ) ? getReferringObjects(propertyName) : super.readProperty(propertyName);

@ -1,5 +1,7 @@
package siprp.database.cayenne.objects; package siprp.database.cayenne.objects;
import java.util.Date;
import siprp.database.cayenne.objects.auto._HsRisco; import siprp.database.cayenne.objects.auto._HsRisco;
public class HsRisco extends _HsRisco { public class HsRisco extends _HsRisco {

@ -5,7 +5,9 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import org.apache.cayenne.DataObjectUtils; import org.apache.cayenne.DataObjectUtils;
import org.apache.cayenne.cache.QueryCache;
import org.apache.cayenne.exp.ExpressionFactory; import org.apache.cayenne.exp.ExpressionFactory;
import org.apache.cayenne.query.QueryCacheStrategy;
import org.apache.cayenne.query.SelectQuery; import org.apache.cayenne.query.SelectQuery;
import siprp.database.cayenne.objects.EmailPlanoDeActuacao; import siprp.database.cayenne.objects.EmailPlanoDeActuacao;

Loading…
Cancel
Save