queryviewer-devel Mailing List for queryviewer (Page 4)
Status: Alpha
Brought to you by:
avdyk
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(82) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(14) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <av...@us...> - 2003-06-17 00:35:32
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing In directory sc8-pr-cvs1:/tmp/cvs-serv32565 Modified Files: QueryTab.java Log Message: ATTENTION! Ré-écrire toute cette classe! Index: QueryTab.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing/QueryTab.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** QueryTab.java 12 Jun 2003 07:43:35 -0000 1.3 --- QueryTab.java 17 Jun 2003 00:35:27 -0000 1.4 *************** *** 3,21 **** package net.sourceforge.queryviewer.ui.swing; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; - import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JTextArea; - import net.sourceforge.queryviewer.Query; - import net.sourceforge.queryviewer.QueryEvent; import net.sourceforge.queryviewer.QueryException; - import net.sourceforge.queryviewer.QueryListener; /** ! * Le panneau qui va afficher l'application * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ --- 3,19 ---- package net.sourceforge.queryviewer.ui.swing; + + import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JTextArea; import net.sourceforge.queryviewer.Query; import net.sourceforge.queryviewer.QueryException; /** ! * Le panneau qui va afficher l'application <b>ATTENTION</b> réécrire toute cette classe! * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ *************** *** 47,99 **** */ public void actionPerformed(ActionEvent arg0) { ! this.query.setQueryString(this.queryArea.getText()); ! } ! ! /** ! * @param event ! */ ! protected void fireQueryPerformed(QueryEvent event) { ! try { ! if (!this.listeners.isEmpty()) { ! java.util.Iterator it = this.listeners.iterator(); ! while(it.hasNext()) { ! net.sourceforge.queryviewer.QueryListener ql = (net.sourceforge.queryviewer.QueryListener)it.next(); ! ql.queryPerformed(event); ! } ! } ! } catch(QueryException qex) { ! qex.printStackTrace(); ! } ! ! } ! ! /** ! * @param ql ! */ ! public void addQueryListener(QueryListener ql) { ! this.listeners.add(ql); ! } ! ! /** ! * ! * @return les écouteur de requêtes enregistrés ! */ ! public QueryListener[] getQueryListeners() { ! QueryListener[] ql = null; ! if(!this.listeners.isEmpty()) { ! ql = new QueryListener[this.listeners.size()]; ! ql = (QueryListener[]) this.listeners.toArray(ql); ! } ! return ql; ! } ! ! /** ! * ! * @param l'écouteur à supprimer ! */ ! public void removeQueryListener(QueryListener ql) { ! if(!this.listeners.isEmpty()) { ! this.listeners.remove(ql); ! } } --- 45,53 ---- */ public void actionPerformed(ActionEvent arg0) { ! try { ! this.query.setQueryString(this.queryArea.getText()); ! } catch ( QueryException qe ) { ! // que faire??? ! } // end of try-catch } *************** *** 110,118 **** * lancer la mise à jour de la requête (mais pas du résultat!). * @param query */ protected void setQuery(net.sourceforge.queryviewer.Query newQuery) { this.query = newQuery; - this.query.addPropertyChangeListener(this.result); - this.fireQueryPerformed(new QueryEvent(newQuery.getQueryString())); } --- 64,71 ---- * lancer la mise à jour de la requête (mais pas du résultat!). * @param query + * @deprecated */ protected void setQuery(net.sourceforge.queryviewer.Query newQuery) { this.query = newQuery; } |
From: <av...@us...> - 2003-06-17 00:34:49
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing In directory sc8-pr-cvs1:/tmp/cvs-serv32441 Modified Files: QueryJPanel.java Log Message: ajout d'import, correction de bugs Index: QueryJPanel.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing/QueryJPanel.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** QueryJPanel.java 16 Jun 2003 07:45:22 -0000 1.5 --- QueryJPanel.java 17 Jun 2003 00:34:46 -0000 1.6 *************** *** 10,14 **** import javax.swing.JTabbedPane; import net.sourceforge.queryviewer.Query; ! import net.sourceforge.queryviewer.ui.event.ControlFactory; /** --- 10,15 ---- import javax.swing.JTabbedPane; import net.sourceforge.queryviewer.Query; ! import net.sourceforge.queryviewer.QueryException; ! import net.sourceforge.queryviewer.ui.event.ControlerFactory; /** *************** *** 57,67 **** */ public void jdbcConnection(Connection connection) { ! this.it = new InfoTab(connection); ! this.jtp.addTab(QueryJPanel.DRIVER_INFO_TAB, this.it); ! Query q = new Query(new net.sourceforge.queryviewer.JDBCQueryImpl(connection)); ! this.qt = new QueryTab(q); ! //TODO Attention à qui écoute qui et quoi? ! //this.qt.addQueryListener(new JDBCQueryImpl(connection)); ! this.jtp.addTab(QueryJPanel.QUERY_TAB, this.qt); } --- 58,73 ---- */ public void jdbcConnection(Connection connection) { ! try { ! this.it = new InfoTab(connection); ! this.jtp.addTab(QueryJPanel.DRIVER_INFO_TAB, this.it); ! Query q = new Query(new net.sourceforge.queryviewer.JDBCConnectionImpl(connection)); ! this.qt = new QueryTab(q); ! //TODO Attention à qui écoute qui et quoi? ! //this.qt.addQueryListener(new JDBCQueryImpl(connection)); ! this.jtp.addTab(QueryJPanel.QUERY_TAB, this.qt); ! } catch ( QueryException qex ) { ! // ??? ! } // end of try-catch ! } *************** *** 83,86 **** --- 89,99 ---- } + + /** + * + */ + public ControlerFactory getControlerFactory() { + return this.controlerFactory; + } } |
From: <av...@us...> - 2003-06-17 00:33:54
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing In directory sc8-pr-cvs1:/tmp/cvs-serv32328 Modified Files: Main.java Log Message: nettoyage d'import dépréciés Index: Main.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing/Main.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Main.java 16 Jun 2003 07:45:22 -0000 1.5 --- Main.java 17 Jun 2003 00:33:48 -0000 1.6 *************** *** 12,18 **** import javax.swing.JMenu; import javax.swing.JMenuBar; - import net.sourceforge.queryviewer.QueryEvent; import net.sourceforge.queryviewer.QueryException; - import net.sourceforge.queryviewer.QueryListener; import net.sourceforge.queryviewer.ui.event.ControlerFactory; import net.sourceforge.queryviewer.ui.event.ControlerFactory; --- 12,16 ---- |
From: <av...@us...> - 2003-06-17 00:33:16
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing In directory sc8-pr-cvs1:/tmp/cvs-serv32270 Modified Files: ConnectionTab.java Log Message: ajout de beaucoup imports et correction de quelques fautes... Il faut ABSOLUMENT retravailler cette classe! Index: ConnectionTab.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing/ConnectionTab.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ConnectionTab.java 16 Jun 2003 07:45:22 -0000 1.2 --- ConnectionTab.java 17 Jun 2003 00:33:13 -0000 1.3 *************** *** 3,17 **** package net.sourceforge.queryviewer.ui.swing; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector; import javax.swing.Action; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JPanel; import net.sourceforge.queryviewer.ConnectionListener; ! import net.sourceforge.queryviewer.JDBCQueryImpl; import net.sourceforge.queryviewer.ui.ViewInfo; import net.sourceforge.queryviewer.ui.event.ControlerFactory; --- 3,22 ---- package net.sourceforge.queryviewer.ui.swing; + import java.awt.BorderLayout; import java.awt.FlowLayout; + import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; + import java.util.Map; import java.util.Vector; import javax.swing.Action; import javax.swing.Box; import javax.swing.BoxLayout; + import javax.swing.JLabel; import javax.swing.JPanel; import net.sourceforge.queryviewer.ConnectionListener; ! import net.sourceforge.queryviewer.JDBCConnectionImpl; import net.sourceforge.queryviewer.ui.ViewInfo; + import net.sourceforge.queryviewer.ui.event.AbstractControler; import net.sourceforge.queryviewer.ui.event.ControlerFactory; *************** *** 33,39 **** super.add( this.getCenter( controler ), BorderLayout.CENTER ); ! AbstractControler openConnection = controler.getAction( ControlerFactory.OPEN_CONNECTION ); openConnection.setViewInfo( this ); ! AbstractControler closeConnection = controler.getAction( ControlerFactory.CLOSE_CONNECTION ); closeConnection.setViewInfo( this ); --- 38,44 ---- super.add( this.getCenter( controler ), BorderLayout.CENTER ); ! AbstractControler openConnection = (AbstractControler)controler.getAction( ControlerFactory.OPEN_CONNECTION ); openConnection.setViewInfo( this ); ! AbstractControler closeConnection = (AbstractControler)controler.getAction( ControlerFactory.CLOSE_CONNECTION ); closeConnection.setViewInfo( this ); |
From: <av...@us...> - 2003-06-17 00:32:12
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event In directory sc8-pr-cvs1:/tmp/cvs-serv32164 Modified Files: QueryControler.java Log Message: ajout de plusieurs imports et correction d'une faute de typo Index: QueryControler.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event/QueryControler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** QueryControler.java 16 Jun 2003 07:46:14 -0000 1.1 --- QueryControler.java 17 Jun 2003 00:32:09 -0000 1.2 *************** *** 3,10 **** --- 3,13 ---- import java.awt.Event; import java.awt.event.ActionEvent; + import java.util.Map; import javax.swing.Action; import javax.swing.KeyStroke; import net.sourceforge.queryviewer.Connection; import net.sourceforge.queryviewer.Query; + import net.sourceforge.queryviewer.QueryException; + import net.sourceforge.queryviewer.ui.ViewInfo; /** *************** *** 40,46 **** if( super.getViewInfo()!=null ) { ViewInfo vi = super.getViewInfo(); ! Map map = vi.getuserInputs(); ! String queryString = map.get( QueryActions.TF_QUERY_STRING ); ! super.query.setQuery( queryString ); // et automatiquement, la requête est effectuée ;-) } --- 43,49 ---- if( super.getViewInfo()!=null ) { ViewInfo vi = super.getViewInfo(); ! Map map = vi.getUserInputs(); ! String queryString = (String)map.get( QueryActions.TF_QUERY_STRING ); ! super.query.setQueryString( queryString ); // et automatiquement, la requête est effectuée ;-) } |
From: <av...@us...> - 2003-06-17 00:31:27
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event In directory sc8-pr-cvs1:/tmp/cvs-serv32023 Modified Files: OpenControler.java Log Message: ajout d'un transtypage et d'un import Index: OpenControler.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event/OpenControler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OpenControler.java 16 Jun 2003 07:46:14 -0000 1.1 --- OpenControler.java 17 Jun 2003 00:31:24 -0000 1.2 *************** *** 9,12 **** --- 9,13 ---- import net.sourceforge.queryviewer.JDBCConnectionImpl; import net.sourceforge.queryviewer.Query; + import net.sourceforge.queryviewer.QueryException; import net.sourceforge.queryviewer.ui.ViewInfo; import net.sourceforge.queryviewer.ui.event.QueryActions; *************** *** 40,43 **** --- 41,45 ---- public void actionPerformed(ActionEvent action) { + Connection connection = null; try { // pour l'instant, on ne peut ouvrir qu'une JDBCConnectionImpl *************** *** 45,58 **** if( super.getViewInfo()!=null ) { ViewInfo vi = super.getViewInfo(); ! Map map = vi.getuserInputs(); ! String driver = map.get( QueryActions.TF_JDBC_DRIVER ); ! String url = map.get( QueryActions.TF_JDBC_URL ); ! String username = map.get( QueryActions.TF_JDBC_USERNAME ); ! String password = map.get( QueryActions.TF_JDBC_PASSWORD ); ! Connection connection = new JDBCConnectionImpl( driver, ! url, ! username, ! password ); ! super.query.setConnection( connection ); } catch(QueryException qe) { // passer l'exception à la vue? --- 47,61 ---- if( super.getViewInfo()!=null ) { ViewInfo vi = super.getViewInfo(); ! Map map = vi.getUserInputs(); ! String driver = (String)map.get( QueryActions.TF_JDBC_DRIVER ); ! String url = (String)map.get( QueryActions.TF_JDBC_URL ); ! String username = (String)map.get( QueryActions.TF_JDBC_USERNAME ); ! String password = (String)map.get( QueryActions.TF_JDBC_PASSWORD ); ! connection = new JDBCConnectionImpl( driver, ! url, ! username, ! password ); ! } ! super.query.setConnection( connection ); } catch(QueryException qe) { // passer l'exception à la vue? |
From: <av...@us...> - 2003-06-17 00:30:42
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event In directory sc8-pr-cvs1:/tmp/cvs-serv31890 Modified Files: ControlerFactory.java Log Message: ajout d'une méthode getAction() qui ne demande pas de ViewInfo Index: ControlerFactory.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event/ControlerFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ControlerFactory.java 16 Jun 2003 07:46:14 -0000 1.1 --- ControlerFactory.java 17 Jun 2003 00:30:39 -0000 1.2 *************** *** 1,9 **** package net.sourceforge.queryviewer.ui.event; ! import java.util.Map; import java.util.HashMap; import javax.swing.Action; - import net.sourceforge.queryviewer.Query; /** --- 1,10 ---- package net.sourceforge.queryviewer.ui.event; ! import java.util.HashMap; + import java.util.Map; import javax.swing.Action; import net.sourceforge.queryviewer.Query; + import net.sourceforge.queryviewer.ui.ViewInfo; /** *************** *** 42,48 **** public ControlerFactory() { Query q = new Query(); ! this.actions = new HasMap(); ! this.actions.put( ControlerFactory.OPEN_CONNECTION, new OpenConnectionControler( q ) ); ! this.actions.put( ControlerFactory.CLOSE_CONNECTION, new CloseConnectionControler( q ) ); this.actions.put( ControlerFactory.QUIT, new QuitControler( q ) ); this.actions.put( ControlerFactory.EXECUTE_QUERY, new QueryControler( q ) ); --- 43,49 ---- public ControlerFactory() { Query q = new Query(); ! this.actions = new HashMap(); ! this.actions.put( ControlerFactory.OPEN_CONNECTION, new OpenControler( q ) ); ! this.actions.put( ControlerFactory.CLOSE_CONNECTION, new CloseControler( q ) ); this.actions.put( ControlerFactory.QUIT, new QuitControler( q ) ); this.actions.put( ControlerFactory.EXECUTE_QUERY, new QueryControler( q ) ); *************** *** 58,61 **** --- 59,72 ---- AbstractControler controler = (AbstractControler) this.actions.get( action ); controler.setViewInfo( viewInfo ); + return (Action)controler; + } + + /** + * Retourne un contrôleur sans lui fournir la vue... Elle a déjà été fournie (ou elle sera fournie) par l'appelle de l'autre méthode. + * @param action une représentation du contrôleur que l'on désire + * @return le contrôleur. + */ + public Action getAction( String action ) { + AbstractControler controler = (AbstractControler) this.actions.get( action ); return (Action)controler; } |
From: <av...@us...> - 2003-06-17 00:24:24
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event In directory sc8-pr-cvs1:/tmp/cvs-serv31114 Modified Files: CloseControler.java Log Message: import QueryException Index: CloseControler.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event/CloseControler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CloseControler.java 16 Jun 2003 07:46:14 -0000 1.1 --- CloseControler.java 17 Jun 2003 00:24:21 -0000 1.2 *************** *** 7,10 **** --- 7,11 ---- import net.sourceforge.queryviewer.Connection; import net.sourceforge.queryviewer.Query; + import net.sourceforge.queryviewer.QueryException; /** |
From: <av...@us...> - 2003-06-17 00:23:51
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event In directory sc8-pr-cvs1:/tmp/cvs-serv31038 Modified Files: AbstractControler.java Log Message: cette classe est abstraite! Index: AbstractControler.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event/AbstractControler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AbstractControler.java 16 Jun 2003 07:46:14 -0000 1.1 --- AbstractControler.java 17 Jun 2003 00:23:47 -0000 1.2 *************** *** 28,32 **** * @version $Id$ */ ! public class AbstractControler extends AbstractAction { protected Query query; --- 28,32 ---- * @version $Id$ */ ! public abstract class AbstractControler extends AbstractAction { protected Query query; *************** *** 78,82 **** * @param action l'action qui vient d'avoir lieu */ ! public void actionPerformed(ActionEvent action); } // AbstractControler --- 78,82 ---- * @param action l'action qui vient d'avoir lieu */ ! public abstract void actionPerformed(ActionEvent action); } // AbstractControler |
From: <av...@us...> - 2003-06-17 00:23:16
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer In directory sc8-pr-cvs1:/tmp/cvs-serv31006 Modified Files: QueryListener.java Log Message: cette classe est maintenant dépréciée Index: QueryListener.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/QueryListener.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** QueryListener.java 12 Jun 2003 07:43:35 -0000 1.2 --- QueryListener.java 17 Jun 2003 00:23:10 -0000 1.3 *************** *** 9,13 **** * * Created on 12-mai-2003 ! * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ --- 9,13 ---- * * Created on 12-mai-2003 ! * @deprecated * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ |
From: <av...@us...> - 2003-06-17 00:22:44
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer In directory sc8-pr-cvs1:/tmp/cvs-serv30945 Modified Files: QueryException.java Log Message: Adaptation des constructeurs pour qu'ils fonctionnent avec jdk <1.4 Index: QueryException.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/QueryException.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** QueryException.java 16 Jun 2003 07:42:47 -0000 1.2 --- QueryException.java 17 Jun 2003 00:22:41 -0000 1.3 *************** *** 38,42 **** */ public QueryException(String cause, Throwable erreur) { ! super(cause, erreur); } --- 38,42 ---- */ public QueryException(String cause, Throwable erreur) { ! super(cause/*, erreur*/); // uniquement à partir du jdk 1.4 } *************** *** 46,50 **** */ public QueryException(Throwable erreur) { ! super(erreur); } --- 46,50 ---- */ public QueryException(Throwable erreur) { ! super(erreur.toString()); // uniquement à partir du jdk 1.4 } |
From: <av...@us...> - 2003-06-17 00:21:49
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer In directory sc8-pr-cvs1:/tmp/cvs-serv30836 Modified Files: Query.java Log Message: ajout de performQuery(String):String[][] et précédante version dépréciée typo dans setConnection() Index: Query.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/Query.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Query.java 16 Jun 2003 07:42:47 -0000 1.3 --- Query.java 17 Jun 2003 00:21:46 -0000 1.4 *************** *** 22,26 **** */ public Query( ) { ! super( this ); } --- 22,26 ---- */ public Query( ) { ! super( "query" ); } *************** *** 47,51 **** this.queryString = newQueryString; // exécution de la requête ! this.setResult( this.performQuery(newQueryString) ); } --- 47,52 ---- this.queryString = newQueryString; // exécution de la requête ! String[][] res = this.performQuery(newQueryString); ! this.setResult( res ); } *************** *** 73,85 **** /** * Exécution de la requête. Cet objet contient un objet Connection et peut donc exécuter une requête. ! * Le résultat de cette requête est à la fois envoyé à la méthode privée {link setResult(String[][])} * @see net.sourceforge.queryviewer.Connection#performQuery(net.sourceforge.queryviewer.Query) */ ! protected String[][] performQuery(Query query) throws QueryException { String result[][] = null; if (this.connection==null) { throw new QueryException( "No connection available" ); } ! result = this.connection.performQuery(query); return result; } --- 74,86 ---- /** * Exécution de la requête. Cet objet contient un objet Connection et peut donc exécuter une requête. ! * Le résultat de cette requête est à la fois envoyé à la méthode privée {@link setResult(String[][])} * @see net.sourceforge.queryviewer.Connection#performQuery(net.sourceforge.queryviewer.Query) */ ! protected String[][] performQuery(String queryString) throws QueryException { String result[][] = null; if (this.connection==null) { throw new QueryException( "No connection available" ); } ! result = this.connection.performQuery(queryString); return result; } *************** *** 102,106 **** * @param newConnection la nouvelle connexion (null si fermeture de connexion). */ ! public void setconnexion(Connection newConnection) { super.firePropertyChange( "connection", this.connection, newConnection ); this.connection = newConnection; --- 103,107 ---- * @param newConnection la nouvelle connexion (null si fermeture de connexion). */ ! public void setConnection(Connection newConnection) { super.firePropertyChange( "connection", this.connection, newConnection ); this.connection = newConnection; |
From: <av...@us...> - 2003-06-17 00:20:39
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer In directory sc8-pr-cvs1:/tmp/cvs-serv30733 Modified Files: JDBCConnectionImpl.java Log Message: ajout de performQuery(String):String[][] et précédante version dépréciée modification des constructeurs (toujours les anciens noms) ajout d'un try/catch je sais plus où ;) Index: JDBCConnectionImpl.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/JDBCConnectionImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JDBCConnectionImpl.java 16 Jun 2003 07:41:15 -0000 1.1 --- JDBCConnectionImpl.java 17 Jun 2003 00:20:36 -0000 1.2 *************** *** 4,9 **** import java.sql.Connection; - import java.sql.ResultSetMetaData; import java.sql.DatabaseMetaData; import java.sql.SQLException; --- 4,10 ---- import java.sql.Connection; import java.sql.DatabaseMetaData; + import java.sql.ResultSet; + import java.sql.ResultSetMetaData; import java.sql.SQLException; *************** *** 29,33 **** * @throws java.sql.SQLException Si la connexion n'a pu être établie */ ! public JDBCQueryImpl( String driver, String url, String username, String password) throws QueryException { super(); --- 30,34 ---- * @throws java.sql.SQLException Si la connexion n'a pu être établie */ ! public JDBCConnectionImpl( String driver, String url, String username, String password) throws QueryException { super(); *************** *** 50,54 **** * @param connection la connexion qui sera utilisée pour effectuer les requêtes */ ! public JDBCQueryImpl(Connection connection) throws QueryException { super(); --- 51,55 ---- * @param connection la connexion qui sera utilisée pour effectuer les requêtes */ ! public JDBCConnectionImpl(Connection connection) throws QueryException { super(); *************** *** 57,60 **** --- 58,69 ---- } + /** + * @deprecated + */ + public String[][] performQuery(Query q) + throws QueryException { + return this.performQuery(q.getQueryString()); + } + /** * Exécution de la requête. *************** *** 62,71 **** * @return un tableau à deux dimensions contenant les lignes et les colonnes de la requête */ ! public synchronized String[][] performQuery(Query q) throws QueryException { String[][] data = null; try { java.sql.Statement stmt = this.connection.createStatement(); ! java.sql.ResultSet rs = stmt.executeQuery(q.getQueryString()); String [] title = getColumnNames(rs.getMetaData()); java.util.ArrayList ar = new java.util.ArrayList(); --- 71,80 ---- * @return un tableau à deux dimensions contenant les lignes et les colonnes de la requête */ ! public synchronized String[][] performQuery(String queryString) throws QueryException { String[][] data = null; try { java.sql.Statement stmt = this.connection.createStatement(); ! java.sql.ResultSet rs = stmt.executeQuery(queryString); String [] title = getColumnNames(rs.getMetaData()); java.util.ArrayList ar = new java.util.ArrayList(); *************** *** 118,138 **** protected String prepareInfo() { StringBuffer stb = new StringBuffer( "JDBC Driver Informations\n" ); ! DatabaseMetaData dbmd = this.connection.getMetaData(); ! stb.append( "Product Name: " + dbmd.getDatabaseProductName() + "\n" ); ! stb.append( "Product Version: " + dbmd.getDatabaseProductVersion() + "\n" ); ! stb.append( "Driver Version: " + dbmd.getMajorVersion() + "." + dbmd.getMinorVersion() + "\n" ); ! stb.append( "Driver Name: " + dbmd.getDriverName() + "\n" ); ! stb.append( "URL: " + dbmd.getURL() + "\n" ); ! stb.append( "User Name: " + dbmd.getUserName() + "\n" ); ! stb.append( "Schemas:\n---------\n " ); ! ResultSet sches = dbmd.getSchemas(); ! while(cats.next()) { ! stb.append( sches.getString(1) + "\n" ); ! } ! stb.append( "Catalogs:\n---------\n " ); ! ResultSet cats = dbmd.getCatalogs(); ! while(cats.next()) { ! stb.append( cats.getString(1) + "\n" ); ! } return stb.toString(); } --- 127,152 ---- protected String prepareInfo() { StringBuffer stb = new StringBuffer( "JDBC Driver Informations\n" ); ! try { ! DatabaseMetaData dbmd = this.connection.getMetaData(); ! stb.append( "Product Name: " + dbmd.getDatabaseProductName() + "\n" ); ! stb.append( "Product Version: " + dbmd.getDatabaseProductVersion() + "\n" ); ! // stb.append( "Driver Version: " + dbmd.getMajorVersion() + "." + dbmd.getMinorVersion() + "\n" ); ! stb.append( "Driver Name: " + dbmd.getDriverName() + "\n" ); ! stb.append( "URL: " + dbmd.getURL() + "\n" ); ! stb.append( "User Name: " + dbmd.getUserName() + "\n" ); ! stb.append( "Schemas:\n---------\n " ); ! ResultSet sches = dbmd.getSchemas(); ! while(sches.next()) { ! stb.append( sches.getString(1) + "\n" ); ! } ! stb.append( "Catalogs:\n---------\n " ); ! ResultSet cats = dbmd.getCatalogs(); ! while(cats.next()) { ! stb.append( cats.getString(1) + "\n" ); ! } ! } catch ( SQLException sqle ) { ! stb.append( sqle.toString() ); ! } // end of try-catch ! return stb.toString(); } |
From: <av...@us...> - 2003-06-17 00:18:50
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer In directory sc8-pr-cvs1:/tmp/cvs-serv30536 Modified Files: Connection.java Log Message: ajout de performQuery(String):String[][] et précédante version dépréciée Index: Connection.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/Connection.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Connection.java 16 Jun 2003 07:42:47 -0000 1.2 --- Connection.java 17 Jun 2003 00:18:47 -0000 1.3 *************** *** 10,14 **** --- 10,20 ---- public interface Connection { + /** + * @deprecated use {@link performQuery(Query)} instead + */ public String[][] performQuery(Query query) + throws QueryException; + + public String[][] performQuery(String queryString) throws QueryException; |
From: <av...@us...> - 2003-06-16 23:39:02
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer In directory sc8-pr-cvs1:/tmp/cvs-serv26150 Removed Files: JDBCQueryImpl.java Log Message: Changement de nom. Maintenant JDBCConnectionImpl --- JDBCQueryImpl.java DELETED --- |
From: <av...@us...> - 2003-06-16 21:14:36
|
Update of /cvsroot/queryviewer/queryviewer/src/xdoc In directory sc8-pr-cvs1:/tmp/cvs-serv1849 Modified Files: queryvieweranalyse.xml Log Message: Modification des QVConnection en Connection (reflète le nom utilisé dans le projet) et QVTableModel en QueryTableModel. Index: queryvieweranalyse.xml =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/xdoc/queryvieweranalyse.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** queryvieweranalyse.xml 15 Jun 2003 11:41:19 -0000 1.4 --- queryvieweranalyse.xml 16 Jun 2003 21:14:33 -0000 1.5 *************** *** 216,220 **** <constructorsynopsis> <methodparam> ! <parameter>QVConnection</parameter> </methodparam> </constructorsynopsis> --- 216,220 ---- <constructorsynopsis> <methodparam> ! <parameter>Connection</parameter> </methodparam> </constructorsynopsis> *************** *** 240,244 **** <methodname>setConnection</methodname> <methodparam> ! <parameter>QVConnection</parameter> </methodparam> <modifier>void</modifier> --- 240,244 ---- <methodname>setConnection</methodname> <methodparam> ! <parameter>Connection</parameter> </methodparam> <modifier>void</modifier> *************** *** 247,251 **** <methodname>getConnection</methodname> <void/> ! <modifier>QVConnection</modifier> </methodsynopsis> </classsynopsis> --- 247,251 ---- <methodname>getConnection</methodname> <void/> ! <modifier>Connection</modifier> </methodsynopsis> </classsynopsis> *************** *** 257,261 **** <para>On observe un objet dont nous avons abordé l'idée mais dont nous n'avons pas encore parlé: ! <classname>QVConnection</classname>. Si nous voulons établir une connexion avec une source de données, nous ne savons pas de quelle type de source de données il pourrait s'agir, comment nous allons l'interroger, comment elle va nous répondre. Au lieu de lier notre API à une source de données particulière, nous allons analyser les besoins de notre application. Nous --- 257,261 ---- <para>On observe un objet dont nous avons abordé l'idée mais dont nous n'avons pas encore parlé: ! <classname>Connection</classname>. Si nous voulons établir une connexion avec une source de données, nous ne savons pas de quelle type de source de données il pourrait s'agir, comment nous allons l'interroger, comment elle va nous répondre. Au lieu de lier notre API à une source de données particulière, nous allons analyser les besoins de notre application. Nous *************** *** 263,273 **** (String[][]). Nous pourrions aussi avoir besoin d'obtenir des informations sur cette source de données. Nous allons donc devoir concevoir une <emphasis>interface</emphasis> et demander à ce que chaque classe qui voudra fournir une connexion à ! une source de données implémente cette intreface <classname>QVConnection</classname>. On pourrait par exemple, directement ! créer une classe <classname>JDBCQVConnectionImpl</classname> qui sera une implémentation de l'interface ! <classname>QVConnection</classname>.</para> <classsynopsis> <oointerface> ! <interfacename>QVConnection</interfacename> </oointerface> <methodsynopsis> --- 263,273 ---- (String[][]). Nous pourrions aussi avoir besoin d'obtenir des informations sur cette source de données. Nous allons donc devoir concevoir une <emphasis>interface</emphasis> et demander à ce que chaque classe qui voudra fournir une connexion à ! une source de données implémente cette intreface <classname>Connection</classname>. On pourrait par exemple, directement ! créer une classe <classname>JDBCConnectionImpl</classname> qui sera une implémentation de l'interface ! <classname>Connection</classname>.</para> <classsynopsis> <oointerface> ! <interfacename>Connection</interfacename> </oointerface> <methodsynopsis> *************** *** 286,300 **** <figure> ! <title>L'interface QVConnection (UML)</title> <graphic fileref="http://queryviewer.sourceforge.net/images/qvconnection.png"/> </figure> <figure> ! <title>JDBCQVConnectionImpl: Une implémentation JDBC de l'interface QVConnection (UML)</title> <graphic fileref="http://queryviewer.sourceforge.net/images/jdbcqvconnection.png"/> </figure> <para>Lorsqu'on instanciera un objet <classname>Query</classname>, on lui passera en argument une classe concrête de type ! <classname>QVConnection</classname> telle, par exemple, <classname>JDBCQVConnectionImpl</classname>.</para> </section> --- 286,300 ---- <figure> ! <title>L'interface Connection (UML)</title> <graphic fileref="http://queryviewer.sourceforge.net/images/qvconnection.png"/> </figure> <figure> ! <title>JDBCConnectionImpl: Une implémentation JDBC de l'interface Connection (UML)</title> <graphic fileref="http://queryviewer.sourceforge.net/images/jdbcqvconnection.png"/> </figure> <para>Lorsqu'on instanciera un objet <classname>Query</classname>, on lui passera en argument une classe concrête de type ! <classname>Connection</classname> telle, par exemple, <classname>JDBCConnectionImpl</classname>.</para> </section> *************** *** 348,352 **** <para>Il est à noter qu'une <classname>javax.swing.JTable</classname> peut se rafraîchir toute seule quand elle a reçu au moment de sa construction une classe qui implémente <classname>javax.swing.table.TableModel</classname>. On créera une ! classe <classname>QVTableModel</classname> qui étendra la classe <ulink url="http://java.sun.com/j2se/1.4.1/docs/api/javax/swing/table/AbstractTableModel.html"> <classname>javax.swing.table.AbstractTableModel</classname></ulink>. </para> --- 348,352 ---- <para>Il est à noter qu'une <classname>javax.swing.JTable</classname> peut se rafraîchir toute seule quand elle a reçu au moment de sa construction une classe qui implémente <classname>javax.swing.table.TableModel</classname>. On créera une ! classe <classname>QueryTableModel</classname> qui étendra la classe <ulink url="http://java.sun.com/j2se/1.4.1/docs/api/javax/swing/table/AbstractTableModel.html"> <classname>javax.swing.table.AbstractTableModel</classname></ulink>. </para> |
From: <av...@us...> - 2003-06-16 07:46:18
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event In directory sc8-pr-cvs1:/tmp/cvs-serv12467 Added Files: AbstractControler.java CloseControler.java ControlerFactory.java OpenControler.java QueryActions.java QueryControler.java QuitControler.java Log Message: ajout des controleurs --- NEW FILE: AbstractControler.java --- package net.sourceforge.queryviewer.ui.event; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import net.sourceforge.queryviewer.Query; import net.sourceforge.queryviewer.ui.ViewInfo; /** * Classe mère de tous les contrôles du QueryViewer. * Pour que les sous-classe fonctionnent correctement, il va mettre à jour le Map tel que: * <ul> * <li><b>NAME</b> la clé pour stocker le nom de l'action (utilisé pour menu ou bouton).</li> * <li><b>SHORT_DESCRIPTION</b> la clé pour stocker une description courte de l'action. * C'est utilisé pour les texte 'tooltip'.</li> * <li><b>LONG_DESCRIPTION</b> la clé pour stocker une description plus longue. * Cela peut être utilisé pour l'aide contextuelle.</li> * <li><b>SMALL_ICON</b> la clé pour stocker une petite icône (toolbar).</li> * <li><b>ACTION_COMMAND_KEY</b> la clé pour déterminer la chaîne de commande pour l'{@link java.awt.event.ActionEvent} * qui sera créée quand l'action aura lieu et qu'elle notifiera * en tant que résultat d'une clé associée avec un JComponent.</li> * <li><b>ACCELERATOR_KEY</b> la clé pour stocker l'association de touches utilisée comme raccourci * pour lancer une action.</li> * </ul> * * Created: Fri Jun 13 14:27:09 2003 * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: AbstractControler.java,v 1.1 2003/06/16 07:46:14 avdyk Exp $ */ public class AbstractControler extends AbstractAction { protected Query query; protected ViewInfo viewInfo; public AbstractControler(Query query) { super(); this.query = query; } // AbstractControler constructor /** * Get the Query value. * @return the Query value. */ public Query getQuery() { return this.query; } /** * Set the Query value. * @param newQuery The new Query value. */ public void setQuery(Query newQuery) { super.firePropertyChange( "Query", this.query, newQuery ); this.query = newQuery; } /** * Get the ViewInfo value. * @return the ViewInfo value. */ public ViewInfo getViewInfo() { return this.viewInfo; } /** * Set the ViewInfo value. * @param newViewInfo The new ViewInfo value. */ public void setViewInfo(ViewInfo newViewInfo) { super.firePropertyChange( "ViewInfo", this.viewInfo, newViewInfo ); this.viewInfo = newViewInfo; } /** * Méthode héritée de {@link java.awt.event.ActionListener}. * * @param action l'action qui vient d'avoir lieu */ public void actionPerformed(ActionEvent action); } // AbstractControler --- NEW FILE: CloseControler.java --- package net.sourceforge.queryviewer.ui.event; import java.awt.Event; import java.awt.event.ActionEvent; import javax.swing.Action; import javax.swing.KeyStroke; import net.sourceforge.queryviewer.Connection; import net.sourceforge.queryviewer.Query; /** * Action de fermer une connexion. * * * Created: Sat Jun 14 15:46:42 2003 * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: CloseControler.java,v 1.1 2003/06/16 07:46:14 avdyk Exp $ */ public class CloseControler extends AbstractControler { /** * Création d'une action fermeture de connexion. * * @param query l'objet requête que l'on va fermer. */ public CloseControler(Query query) { super(query); super.putValue( Action.NAME, "Fermer la connexion" ); super.putValue( Action.SHORT_DESCRIPTION, "Fermeture de la connexion à la source de données" ); super.putValue( Action.LONG_DESCRIPTION, "Choisissez cette option pour clôturer\n" + "la connexion à la source de données" ); //super.putValue( Action.SMALL_ICON, ); super.putValue( Action.ACTION_COMMAND_KEY, KeyStroke.getKeyStroke( new Character( 'w' ), Event.CTRL_MASK ) ); super.putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke( new Character( 'w' ), Event.CTRL_MASK ) ); } // CloseConnection constructor public void actionPerformed(ActionEvent action) { Connection connection = super.query.getConnection(); try { connection.close(); super.query.setConnection(null); } catch(QueryException qe) { // passer l'exception à la vue? } } } // CloseControler --- NEW FILE: ControlerFactory.java --- package net.sourceforge.queryviewer.ui.event; import java.util.Map; import java.util.HashMap; import javax.swing.Action; import net.sourceforge.queryviewer.Query; /** * Fabricateur de contrôles. Cette classe va générer une requête et donner vie aux contrôleurs * qui vont réagir aux événements des utilisateurs. Chaque contrôleur va étendre {@link javax.swing.Action} * même si les sous-classe n'implémentent pas toutes les méthodes. Les vues appelleront la méthode {@link getAction(String,ViewInfo)} * qui leur renverra une instance {@link javax.swing.Action} prette à l'emploi en fonction de l'action qui doit être gérée par cette vue. * toutes les actions possible sont définies sous forme de constantes dans l'interface {@link QueryActions}. * * Created: Fri Jun 13 09:12:32 2003 * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: ControlerFactory.java,v 1.1 2003/06/16 07:46:14 avdyk Exp $ * @since 0.2 */ public class ControlerFactory { /** Ouvrir une connexion */ public static final String OPEN_CONNECTION = "openconnection"; /** Fermer une connexion */ public static final String CLOSE_CONNECTION = "closeconnection"; /** Quitter le programme */ public static final String QUIT = "quit"; /** Exécuter une requête */ public static final String EXECUTE_QUERY = "executequery"; protected Map actions; /** Constructeur par défaut. * Construction de l'objet {@link Query} qui sera connu de tous les controleurs. * Construction de tous les contrôleurs. */ public ControlerFactory() { Query q = new Query(); this.actions = new HasMap(); this.actions.put( ControlerFactory.OPEN_CONNECTION, new OpenConnectionControler( q ) ); this.actions.put( ControlerFactory.CLOSE_CONNECTION, new CloseConnectionControler( q ) ); this.actions.put( ControlerFactory.QUIT, new QuitControler( q ) ); this.actions.put( ControlerFactory.EXECUTE_QUERY, new QueryControler( q ) ); } // ControlerFactory constructor /** * Retourne un contrôleur en n'oubliant pas de lui fournir la vue pour qu'il puisse l'interroger. * @param action une représentation du contrôleur que l'on désire * @param viewInfo la vue qui pourra fournir les entrées de l'utilisateur. * @return le contrôleur. */ public Action getAction( String action, ViewInfo viewInfo ) { AbstractControler controler = (AbstractControler) this.actions.get( action ); controler.setViewInfo( viewInfo ); return (Action)controler; } } // ControlerFactory --- NEW FILE: OpenControler.java --- package net.sourceforge.queryviewer.ui.event; import java.awt.Event; import java.awt.event.ActionEvent; import java.util.Map; import javax.swing.Action; import javax.swing.KeyStroke; import net.sourceforge.queryviewer.Connection; import net.sourceforge.queryviewer.JDBCConnectionImpl; import net.sourceforge.queryviewer.Query; import net.sourceforge.queryviewer.ui.ViewInfo; import net.sourceforge.queryviewer.ui.event.QueryActions; /** * Action d'ouvrir une connexion. * * * Created: Sat Jun 14 15:46:42 2003 * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: OpenControler.java,v 1.1 2003/06/16 07:46:14 avdyk Exp $ */ public class OpenControler extends AbstractControler { /** * Création d'une action fermeture de connexion. * * @param query l'objet requête que l'on va ouvrir. */ public OpenControler(Query query) { super(query); super.putValue( Action.NAME, "Ouvrir la connexion" ); super.putValue( Action.SHORT_DESCRIPTION, "Ouverture de la connexion à la source de données" ); super.putValue( Action.LONG_DESCRIPTION, "Choisissez cette option pour ouvrir\n" + "la connexion à la source de données" ); //super.putValue( Action.SMALL_ICON, ); super.putValue( Action.ACTION_COMMAND_KEY, KeyStroke.getKeyStroke( new Character( 'o' ), Event.CTRL_MASK ) ); super.putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke( new Character( 'o' ), Event.CTRL_MASK ) ); } // CloseConnection constructor public void actionPerformed(ActionEvent action) { try { // pour l'instant, on ne peut ouvrir qu'une JDBCConnectionImpl // récupérer les informations de la vue if( super.getViewInfo()!=null ) { ViewInfo vi = super.getViewInfo(); Map map = vi.getuserInputs(); String driver = map.get( QueryActions.TF_JDBC_DRIVER ); String url = map.get( QueryActions.TF_JDBC_URL ); String username = map.get( QueryActions.TF_JDBC_USERNAME ); String password = map.get( QueryActions.TF_JDBC_PASSWORD ); Connection connection = new JDBCConnectionImpl( driver, url, username, password ); super.query.setConnection( connection ); } catch(QueryException qe) { // passer l'exception à la vue? } } } // OpenControler --- NEW FILE: QueryActions.java --- package net.sourceforge.queryviewer.ui.event; /** * QueryActions.java * * * Created: Sat Jun 14 16:51:27 2003 * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: QueryActions.java,v 1.1 2003/06/16 07:46:14 avdyk Exp $ */ public interface QueryActions { public static final String TF_JDBC_DRIVER ="tfjdbcdriver"; public static final String TF_JDBC_URL ="tfjdbcurl"; public static final String TF_JDBC_USERNAME ="tfjdbcusername"; public static final String TF_JDBC_PASSWORD ="tfjdbcpassword"; public static final String TF_QUERY_STRING ="tfquerystring"; }// QueryActions --- NEW FILE: QueryControler.java --- package net.sourceforge.queryviewer.ui.event; import java.awt.Event; import java.awt.event.ActionEvent; import javax.swing.Action; import javax.swing.KeyStroke; import net.sourceforge.queryviewer.Connection; import net.sourceforge.queryviewer.Query; /** * Action d'exécuter une requête. * * * Created: Sat Jun 14 15:46:42 2003 * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: QueryControler.java,v 1.1 2003/06/16 07:46:14 avdyk Exp $ */ public class QueryControler extends AbstractControler { /** * Création d'une action d'exécution d'une requête. * * @param query l'objet requête que l'on va fermer. */ public QueryControler(Query query) { super(query); super.putValue( Action.NAME, "Exécuter une requête" ); super.putValue( Action.SHORT_DESCRIPTION, "Exécution d'une requête sur la source de données" ); super.putValue( Action.LONG_DESCRIPTION, "Choisissez cette option pour exécuter\n" + "une requête sur la source de données" ); //super.putValue( Action.SMALL_ICON, ); super.putValue( Action.ACTION_COMMAND_KEY, KeyStroke.getKeyStroke( new Character( 'e' ), Event.CTRL_MASK ) ); super.putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke( new Character( 'e' ), Event.CTRL_MASK ) ); } // CloseConnection constructor public void actionPerformed(ActionEvent action) { try { // récupérer les informations de la vue if( super.getViewInfo()!=null ) { ViewInfo vi = super.getViewInfo(); Map map = vi.getuserInputs(); String queryString = map.get( QueryActions.TF_QUERY_STRING ); super.query.setQuery( queryString ); // et automatiquement, la requête est effectuée ;-) } } catch(QueryException qe) { // passer l'exception à la vue? } } } // QueryControler --- NEW FILE: QuitControler.java --- package net.sourceforge.queryviewer.ui.event; import java.awt.Event; import java.awt.event.ActionEvent; import java.util.Map; import javax.swing.Action; import javax.swing.KeyStroke; import net.sourceforge.queryviewer.Connection; import net.sourceforge.queryviewer.JDBCConnectionImpl; import net.sourceforge.queryviewer.Query; import net.sourceforge.queryviewer.ui.ViewInfo; import net.sourceforge.queryviewer.ui.event.QueryActions; /** * Action de fermer l'application. * * * Created: Sat Jun 14 15:46:42 2003 * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: QuitControler.java,v 1.1 2003/06/16 07:46:14 avdyk Exp $ */ public class QuitControler extends AbstractControler { /** * Création d'une action fermeture de connexion. * * @param query l'objet requête que l'on va ouvrir. */ public QuitControler(Query query) { super(query); super.putValue( Action.NAME, "Quitter" ); super.putValue( Action.SHORT_DESCRIPTION, "Quitter le programme" ); super.putValue( Action.LONG_DESCRIPTION, "Quitter le programme" ); //super.putValue( Action.SMALL_ICON, ); super.putValue( Action.ACTION_COMMAND_KEY, KeyStroke.getKeyStroke( new Character( 'q' ), Event.CTRL_MASK ) ); super.putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke( new Character( 'q' ), Event.CTRL_MASK ) ); } // CloseConnection constructor public void actionPerformed(ActionEvent action) { // il faudrait peut-être gentillement appeler // l'action de fermeture de connexion System.exit( 0 ); } } // QuitControler |
From: <av...@us...> - 2003-06-16 07:45:26
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing In directory sc8-pr-cvs1:/tmp/cvs-serv12376/swing Modified Files: ConnectionTab.java Main.java QueryJPanel.java Log Message: mises à jour... Index: ConnectionTab.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing/ConnectionTab.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ConnectionTab.java 12 Jun 2003 07:43:35 -0000 1.1 --- ConnectionTab.java 16 Jun 2003 07:45:22 -0000 1.2 *************** *** 3,14 **** package net.sourceforge.queryviewer.ui.swing; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector; ! import javax.swing.JPanel; - import net.sourceforge.queryviewer.ConnectionListener; import net.sourceforge.queryviewer.JDBCQueryImpl; /** --- 3,18 ---- package net.sourceforge.queryviewer.ui.swing; + import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector; ! import javax.swing.Action; ! import javax.swing.Box; ! import javax.swing.BoxLayout; import javax.swing.JPanel; import net.sourceforge.queryviewer.ConnectionListener; import net.sourceforge.queryviewer.JDBCQueryImpl; + import net.sourceforge.queryviewer.ui.ViewInfo; + import net.sourceforge.queryviewer.ui.event.ControlerFactory; /** *************** *** 17,84 **** * @version $Id$ */ ! public class ConnectionTab extends JPanel implements ActionListener { - protected Vector listeners = new Vector(); - /** * */ ! public ConnectionTab() { ! super(/*LayoutManager arg0*/); ! // TODO Constructeur du ConnectionTab ! } ! /** ! * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) ! */ ! public void actionPerformed(ActionEvent arg0) { ! // TODO Auto-generated method stub ! } ! /** ! * Ajoute un écouteur de connexion. ! * @param listener l'écouteur de connexion. ! */ ! public void addConnectionListener(ConnectionListener listener) { ! this.listeners.add(listener); } ! /** ! * ! * @return les écouteur de requêtes enregistrés ! */ ! public ConnectionListener[] getQueryListeners() { ! ConnectionListener[] ql = null; ! if(!this.listeners.isEmpty()) { ! ql = new ConnectionListener[this.listeners.size()]; ! ql = (ConnectionListener[]) this.listeners.toArray(ql); ! } ! return ql; ! } ! ! /** ! * ! * @param l'écouteur à supprimer ! */ ! public void removeConnectionListener(ConnectionListener ql) { ! if(!this.listeners.isEmpty()) { ! this.listeners.remove(ql); ! } ! } ! /** ! * @param event ! */ ! protected void fireConnectionPerformed(java.sql.Connection connection) { ! if (!this.listeners.isEmpty()) { ! java.util.Iterator it = this.listeners.iterator(); ! while(it.hasNext()) { ! ConnectionListener cl = (ConnectionListener)it.next(); ! net.sourceforge.queryviewer.Connection qconn = new JDBCQueryImpl(connection); ! cl.connection(qconn); ! } ! } ! } } --- 21,107 ---- * @version $Id$ */ ! public class ConnectionTab extends JPanel implements ViewInfo { ! ! protected Map userInputs; /** * */ ! public ConnectionTab( ControlerFactory controler ) { ! super( new BorderLayout( 1, 1 ) ); ! super.add( this.getNorth( controler ), BorderLayout.NORTH ); ! super.add( this.getCenter( controler ), BorderLayout.CENTER ); ! AbstractControler openConnection = controler.getAction( ControlerFactory.OPEN_CONNECTION ); ! openConnection.setViewInfo( this ); ! AbstractControler closeConnection = controler.getAction( ControlerFactory.CLOSE_CONNECTION ); ! closeConnection.setViewInfo( this ); ! // TODO ! /* ! exemple pour un driver jdbc ! +------------------------------------------------+ ! | +---------------------------------------+ | ! | | liste des types de connexions \/ | | ! | +---------------------------------------+ | ! +------------------------------------------------+ ! | | ! | | ! | JDBC Driver: ___________________ | ! | URL : ___________________ | ! | Username : ___________________ | ! | Password : ___________________ | ! | | ! | | ! | | ! | | ! | | ! +------------------------------------------------+ ! */ } ! protected JPanel getNorth( ControlerFactory controler ) { ! JPanel result = new JPanel( new FlowLayout( FlowLayout.CENTER ) ); ! result.add( new JLabel( "JDBC Driver") ); ! return result; ! } ! protected JPanel getCenter( ControlerFactory controler ) { ! //TODO here is a cardLayout! ! return getJDBCPanel( controler ); ! } ! ! protected JPanel getJDBCPanel( ControlerFactory controler ) { ! /* ! JDBC Driver: ___________________ ! URL : ___________________ ! Username : ___________________ ! Password : ___________________ ! */ ! JPanel result = new JPanel( new GridLayout( 1, 1 ) ); ! Box b = new Box( BoxLayout.Y_AXIS ); ! ! ! ! result.add( b ); ! return result; ! } ! ! /** ! * Get the UserInputs value. ! * @return the UserInputs value. ! */ ! public Map getUserInputs() { ! return userInputs; ! } ! ! /** ! * Set the UserInputs value. ! * @param newUserInputs The new UserInputs value. ! */ ! public void setUserInputs(Map newUserInputs) { ! this.userInputs = newUserInputs; ! } } Index: Main.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing/Main.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Main.java 12 Jun 2003 07:43:35 -0000 1.4 --- Main.java 16 Jun 2003 07:45:22 -0000 1.5 *************** *** 3,15 **** package net.sourceforge.queryviewer.ui.swing; import java.awt.event.ActionEvent; import java.awt.event.WindowEvent; ! import javax.swing.JFrame; import javax.swing.JMenuBar; - import net.sourceforge.queryviewer.QueryEvent; import net.sourceforge.queryviewer.QueryException; import net.sourceforge.queryviewer.QueryListener; /** --- 3,20 ---- package net.sourceforge.queryviewer.ui.swing; + + import java.awt.event.ActionEvent; + import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; ! import javax.swing.Action; import javax.swing.JFrame; + import javax.swing.JMenu; import javax.swing.JMenuBar; import net.sourceforge.queryviewer.QueryEvent; import net.sourceforge.queryviewer.QueryException; import net.sourceforge.queryviewer.QueryListener; + import net.sourceforge.queryviewer.ui.event.ControlerFactory; + import net.sourceforge.queryviewer.ui.event.ControlerFactory; /** *************** *** 18,22 **** * @version $Id$ */ ! public class Main extends JFrame implements QueryListener { /** --- 23,27 ---- * @version $Id$ */ ! public class Main extends JFrame { /** *************** *** 29,38 **** super( "QueryViewer" ); setSize( 600, 500 ); ! super.addWindowListener( new java.awt.event.WindowAdapter() { public void windowClosing( WindowEvent e ) {System.exit(0);} - public void windowOpened( WindowEvent e ) {} }); ! setJMenuBar( this.createMenu() ); ! QueryJPanel qp = new QueryJPanel(); getContentPane().add( qp ); } --- 34,42 ---- super( "QueryViewer" ); setSize( 600, 500 ); ! super.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) {System.exit(0);} }); ! QueryJPanel qp = new QueryJPanel(); ! setJMenuBar( this.createJMenu( qp.getControlerFactory() ) ); getContentPane().add( qp ); } *************** *** 42,62 **** * @return une JMenuBar */ ! private JMenuBar createMenu() { ! javax.swing.JMenuBar mb = new javax.swing.JMenuBar(); ! javax.swing.JMenu file = new javax.swing.JMenu( "File" ); ! file.add( new javax.swing.AbstractAction( "Exit" ) { public void actionPerformed(ActionEvent event) { - System.exit(0); } ! }); ! mb.add( file ); ! return mb; ! } ! /** ! * @see net.sourceforge.queryviewer.QueryListener#queryPerformed(net.sourceforge.queryviewer.QueryEvent) ! */ ! public void queryPerformed(QueryEvent eve) throws QueryException { ! System.out.println("net.sourceforge.queryviewer.ui.swing.Main: OUPS!"); } --- 46,83 ---- * @return une JMenuBar */ ! private JMenuBar createJMenu( ControlerFactory controler ) { ! JMenuBar mb = new JMenuBar(); ! JMenu file = new JMenu( "File" ); ! //file.add( controler.getAction( ControlerFactory.OPEN_CONNECTION ) ); ! file.add( controler.getAction( ControlerFactory.CLOSE_CONNECTION ) ); ! file.add( controler.getAction( ControlerFactory.CLOSE_CONNECTION ) ); ! ! mb.add( file ); ! ! JMenu edition = new JMenu( "Edition" ); ! edition.add( new javax.swing.AbstractAction( "Couper" ) { public void actionPerformed(ActionEvent event) { } ! public boolean isEnabled() { return false; } ! }); ! edition.add( new javax.swing.AbstractAction( "Copier" ) { ! public void actionPerformed(ActionEvent event) { ! } ! public boolean isEnabled() { return false; } ! }); ! edition.add( new javax.swing.AbstractAction( "Coller" ) { ! public void actionPerformed(ActionEvent event) { ! } ! public boolean isEnabled() { return false; } ! }); ! mb.add( edition ); ! ! JMenu action = new JMenu( "Action" ); ! action.add( controler.getAction( ControlerFactory.EXECUTE_QUERY ) ); ! ! mb.add( action ); ! ! return mb; } Index: QueryJPanel.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/swing/QueryJPanel.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** QueryJPanel.java 12 Jun 2003 07:43:35 -0000 1.4 --- QueryJPanel.java 16 Jun 2003 07:45:22 -0000 1.5 *************** *** 3,13 **** package net.sourceforge.queryviewer.ui.swing; import java.awt.GridLayout; import java.sql.Connection; - import javax.swing.JPanel; import javax.swing.JTabbedPane; - import net.sourceforge.queryviewer.Query; /** --- 3,14 ---- package net.sourceforge.queryviewer.ui.swing; + + import java.awt.GridLayout; import java.sql.Connection; import javax.swing.JPanel; import javax.swing.JTabbedPane; import net.sourceforge.queryviewer.Query; + import net.sourceforge.queryviewer.ui.event.ControlFactory; /** *************** *** 35,46 **** protected QueryTab qt; /** * Construction du panel principal. Ajouter dans un TabbedPane le premier tableau. */ ! public QueryJPanel() { super(new GridLayout( 1, 1 )); this.jtp = new JTabbedPane(); ! this.ct = new ConnectionTab(); // TODO Ajouter un écouteur pour la connexion! //this.ct.addConnectionListener(this); --- 36,49 ---- protected QueryTab qt; + protected ControlerFactory controlerFactory; /** * Construction du panel principal. Ajouter dans un TabbedPane le premier tableau. */ ! public QueryJPanel( ) { super(new GridLayout( 1, 1 )); + this.controlerFactory = new ControlerFactory(); this.jtp = new JTabbedPane(); ! this.ct = new ConnectionTab( this.controlerFactory ); // TODO Ajouter un écouteur pour la connexion! //this.ct.addConnectionListener(this); *************** *** 51,54 **** --- 54,58 ---- /** * @see net.sourceforge.queryviewer.ui.swing.ConnectionListener#jdbcConnection(java.sql.Connection) + * @deprecated use the Actions... {@link net.sourceforge.queryviewer.ui.event.AbstractAction}. */ public void jdbcConnection(Connection connection) { |
From: <av...@us...> - 2003-06-16 07:44:29
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui In directory sc8-pr-cvs1:/tmp/cvs-serv12165 Added Files: ViewInfo.java Log Message: informations sur la vue pour retrouver les valeurs des champs --- NEW FILE: ViewInfo.java --- package net.sourceforge.queryviewer.ui; import java.util.Map; /** * Cette interface doit être implémentée par toutes les vues. Elle va permettre aux différents contrôleurs de connaître les entrées * utilisateurs sans pour cela connaître la vue de manière précise. * * Created: Fri Jun 13 09:38:11 2003 * * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: ViewInfo.java,v 1.1 2003/06/16 07:44:26 avdyk Exp $ * @since 0.2 */ public interface ViewInfo { /** * Récupère les entrées utilisateur. * @return les entrées utilisateur. */ public Map getUserInputs(); /** * Met à jour les entrées utilisateur. * @param inputs les entrées utilisateur. */ public void setUserInputs(Map inputs); }// ViewInfo |
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer In directory sc8-pr-cvs1:/tmp/cvs-serv11887a Modified Files: Connection.java JDBCQueryImpl.java QueryEvent.java QueryException.java Query.java Log Message: mises à jour... Index: Connection.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/Connection.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Connection.java 12 Jun 2003 07:43:35 -0000 1.1 --- Connection.java 16 Jun 2003 07:42:47 -0000 1.2 *************** *** 15,17 **** --- 15,20 ---- public String getInfo(); + public void close() + throws QueryException; + } Index: JDBCQueryImpl.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/JDBCQueryImpl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JDBCQueryImpl.java 12 Jun 2003 07:43:35 -0000 1.2 --- JDBCQueryImpl.java 16 Jun 2003 07:42:47 -0000 1.3 *************** *** 9,12 **** --- 9,13 ---- /** * Une classe qui permet d'exécuter les requêtes que l'utilisateur a encodé. + * @deprecated use JDBCConnectionImpl instead. * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ Index: QueryEvent.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/QueryEvent.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** QueryEvent.java 12 Jun 2003 07:43:35 -0000 1.3 --- QueryEvent.java 16 Jun 2003 07:42:47 -0000 1.4 *************** *** 4,8 **** /** ! * Représente un événement lancé par un QueryListener * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ --- 4,10 ---- /** ! * Représente un événement lancé par un QueryListener. Je ne sais pas si cette classe ! * va rester dans l'API. ! * @deprecated Plus utilisée. Pas de remplacement. * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ Index: QueryException.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/QueryException.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** QueryException.java 12 Jun 2003 07:43:35 -0000 1.1 --- QueryException.java 16 Jun 2003 07:42:47 -0000 1.2 *************** *** 4,8 **** /** ! * * @author arnaud <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ --- 4,15 ---- /** ! * Cette classe représente une erreur qui a pu se produire au niveau d'une requête (ou d'une connexion). ! * En effet, comme nous ne pouvons savoir quel sera le type de connexion et quel sera le type ! * de la source de données, nous allons créer un type QueryException qui va <b>envelopper</b> ! * les exceptions que nous pourrions retrouver avec chaque type de données. ! * Par exemple, dans le cas d'une connexion à une base de données, les requêtes peuvent ! * soulever des {@link java.sql.SQLException}s. Nos interface soulèveront à la place une QueryException ! * qui en réalité sera un SQLException. Mais comme nous ne pouvons connaître à l'avance quel type d'exception ! * sera soulevé, il vaut mieux créer un type d'exception pour tout problème au niveau des requêtes. * @author arnaud <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id$ *************** *** 11,15 **** /** ! * */ public QueryException() { --- 18,22 ---- /** ! * Constructeur par défaut. */ public QueryException() { *************** *** 18,21 **** --- 25,29 ---- /** + * Constructeur avec une cause. * @param cause */ *************** *** 25,28 **** --- 33,37 ---- /** + * Constructeur avec une cuase et l'erreur. * @param cause * @param erreur *************** *** 33,36 **** --- 42,46 ---- /** + * Constructeur avec l'erreur. * @param erreur */ Index: Query.java =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/Query.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Query.java 12 Jun 2003 07:43:35 -0000 1.2 --- Query.java 16 Jun 2003 07:42:47 -0000 1.3 *************** *** 11,15 **** * @version $Id$ */ ! public class Query extends PropertyChangeSupport implements Connection { private Connection connection; --- 11,15 ---- * @version $Id$ */ ! public class Query extends PropertyChangeSupport { private Connection connection; *************** *** 18,22 **** /** ! * Une requête ne se conçoit que si une connexion est possible. * @param connextion */ --- 18,34 ---- /** ! * Constructeur par défaut. ! * @param connextion ! */ ! public Query( ) { ! super( this ); ! } ! ! /** ! * Une requête ne se conçoit<b>-elle</b> que si une connexion est possible? ! * En fait, nous allons construire <b>une seule</b> requête, contrairement au modèle ! * que j'avais établi avant. Si la connexion se perd ou si une nouvelle connexion est établie, ! * il faudra utiliser la méthode {@link #setConnection(Connection)}. ! * @deprecated Utiliser le constructeur par défaut à la place. * @param connextion */ *************** *** 27,36 **** /** ! * Une nouvelle requête va être exécutée. * @param newQueryString la requête */ ! public void setQueryString(String newQueryString) { super.firePropertyChange( "query", this.queryString, newQueryString); this.queryString = newQueryString; } --- 39,51 ---- /** ! * Une nouvelle requête est mise à jour <b>et</b> exécutée. Le résultat est prêt en appelant ! * la méthode {@link getResult()} si aucune exception n'a été soulevée. * @param newQueryString la requête */ ! public void setQueryString(String newQueryString) throws QueryException { super.firePropertyChange( "query", this.queryString, newQueryString); this.queryString = newQueryString; + // exécution de la requête + this.setResult( this.performQuery(newQueryString) ); } *************** *** 51,55 **** * @param strings un tableau à deux dimensions de String */ ! private void setResult(String[][] newResult) { super.firePropertyChange( "result", this.result, newResult); this.result = newResult; --- 66,70 ---- * @param strings un tableau à deux dimensions de String */ ! protected void setResult(String[][] newResult) { super.firePropertyChange( "result", this.result, newResult); this.result = newResult; *************** *** 61,80 **** * @see net.sourceforge.queryviewer.Connection#performQuery(net.sourceforge.queryviewer.Query) */ ! public String[][] performQuery(Query query) throws QueryException { String result[][] = null; ! if (this.connection!=null) { ! result = this.connection.performQuery(query); } ! this.setResult(result); return result; } /** * @see net.sourceforge.queryviewer.Connection#getInfo() */ public String getInfo() { ! // TODO Auto-generated method stub ! return null; } } --- 76,117 ---- * @see net.sourceforge.queryviewer.Connection#performQuery(net.sourceforge.queryviewer.Query) */ ! protected String[][] performQuery(Query query) throws QueryException { String result[][] = null; ! if (this.connection==null) { ! throw new QueryException( "No connection available" ); } ! result = this.connection.performQuery(query); return result; } /** + * Informations about the driver. + * @deprecated Utiliser plutôt {@link #getConnection()}. * @see net.sourceforge.queryviewer.Connection#getInfo() */ public String getInfo() { ! String info = null; ! if (this.connection!=null) { ! info = this.connection.getInfo(); ! } ! return info; } + + /** + * Met à jour la connexion. + * @param newConnection la nouvelle connexion (null si fermeture de connexion). + */ + public void setconnexion(Connection newConnection) { + super.firePropertyChange( "connection", this.connection, newConnection ); + this.connection = newConnection; + } + + /** + * Retourne la connexion en cours. + * @return la {@link Connection connexion} en cours. + */ + public Connection getConnection() { + return this.connection; + } } |
From: <av...@us...> - 2003-06-16 07:41:19
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer In directory sc8-pr-cvs1:/tmp/cvs-serv11685a Added Files: JDBCConnectionImpl.java Log Message: changement de nom --- NEW FILE: JDBCConnectionImpl.java --- /* Created on 14-mai-2003 */ package net.sourceforge.queryviewer; import java.sql.Connection; import java.sql.ResultSetMetaData; import java.sql.DatabaseMetaData; import java.sql.SQLException; /** * Une classe qui permet d'exécuter les requêtes que l'utilisateur a encodé. * @author <a href="mailto:arn...@ul...">Arnaud Vandyck</a> * @version $Id: JDBCConnectionImpl.java,v 1.1 2003/06/16 07:41:15 avdyk Exp $ */ public class JDBCConnectionImpl implements net.sourceforge.queryviewer.Connection { private java.sql.Connection connection; private String info; /** * Construction d'un objet qui va permettre de trouver les requêtes de l'utilisateur. * * @param driver le pilote de la base de données * @param url l'url de la base de données * @param username le nom d'utilisateur pour se connecter à la base de données * @param password le mot de passe pour se connecter à la base de données * @throws ClassNotFoundException Si le pilote n'a pas été trouvé * @throws java.sql.SQLException Si la connexion n'a pu être établie */ public JDBCQueryImpl( String driver, String url, String username, String password) throws QueryException { super(); try { Class.forName( driver ); this.connection = java.sql.DriverManager.getConnection( url, username, password ); this.info = prepareInfo(); } catch( ClassNotFoundException cnf ) { this.info = cnf.toString(); throw new QueryException( cnf ); } catch( java.sql.SQLException sqlex ) { this.info = sqlex.toString(); throw new QueryException( sqlex ); } } /** * Construction du moteur de requête avec un objet java.sql.Connection. * @deprecated * @param connection la connexion qui sera utilisée pour effectuer les requêtes */ public JDBCQueryImpl(Connection connection) throws QueryException { super(); this.connection = connection; this.info = prepareInfo(); } /** * Exécution de la requête. * @param q la requête * @return un tableau à deux dimensions contenant les lignes et les colonnes de la requête */ public synchronized String[][] performQuery(Query q) throws QueryException { String[][] data = null; try { java.sql.Statement stmt = this.connection.createStatement(); java.sql.ResultSet rs = stmt.executeQuery(q.getQueryString()); String [] title = getColumnNames(rs.getMetaData()); java.util.ArrayList ar = new java.util.ArrayList(); ar.add(title); int cols = title.length; while(rs.next()) { String[] row=new String[cols]; for(int i=0; i<cols; i++) { row[i]=rs.getString(i+1); } ar.add(row); } if(!ar.isEmpty()) { data=new String[ar.size()][cols]; data=(String[][])ar.toArray(data); } } catch(SQLException sqlex) { throw new QueryException(sqlex); } return data; } /** * Retourne le nom des colonnes * @param metaData les méta données de la requête * @return un tableau contenant les noms des colonnes */ private String[] getColumnNames(ResultSetMetaData metaData) throws SQLException { String[] title=null; int col=metaData.getColumnCount(); title=new String[col]; for(int i=0; i<col; i++) { title[i]=metaData.getColumnName(i+1); } return title; } /** * Retourne une description du driver JDBC. * @see net.sourceforge.queryviewer.Connection#getInfo() */ public String getInfo() { return this.info; } /** Préparation des informations sur le driver. * @return les informations */ protected String prepareInfo() { StringBuffer stb = new StringBuffer( "JDBC Driver Informations\n" ); DatabaseMetaData dbmd = this.connection.getMetaData(); stb.append( "Product Name: " + dbmd.getDatabaseProductName() + "\n" ); stb.append( "Product Version: " + dbmd.getDatabaseProductVersion() + "\n" ); stb.append( "Driver Version: " + dbmd.getMajorVersion() + "." + dbmd.getMinorVersion() + "\n" ); stb.append( "Driver Name: " + dbmd.getDriverName() + "\n" ); stb.append( "URL: " + dbmd.getURL() + "\n" ); stb.append( "User Name: " + dbmd.getUserName() + "\n" ); stb.append( "Schemas:\n---------\n " ); ResultSet sches = dbmd.getSchemas(); while(cats.next()) { stb.append( sches.getString(1) + "\n" ); } stb.append( "Catalogs:\n---------\n " ); ResultSet cats = dbmd.getCatalogs(); while(cats.next()) { stb.append( cats.getString(1) + "\n" ); } return stb.toString(); } public void close() throws QueryException { try { this.connection.close(); } catch(SQLException sqlex) { throw new QueryException( sqlex ); } } } |
From: <av...@us...> - 2003-06-16 07:40:52
|
Update of /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event In directory sc8-pr-cvs1:/tmp/cvs-serv11625/ui/event Log Message: Directory /cvsroot/queryviewer/queryviewer/src/net/sourceforge/queryviewer/ui/event added to the repository |
From: <av...@us...> - 2003-06-16 07:39:05
|
Update of /cvsroot/queryviewer/queryviewer/src/diagram In directory sc8-pr-cvs1:/tmp/cvs-serv11410 Modified Files: query.png Log Message: mise à jour... Index: query.png =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/diagram/query.png,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsR5ywcz and /tmp/cvsyz1L6X differ |
From: <av...@us...> - 2003-06-16 07:38:29
|
Update of /cvsroot/queryviewer/queryviewer/src/diagram In directory sc8-pr-cvs1:/tmp/cvs-serv11374 Modified Files: mvc.dia mvc-qv.dia mvc.png mvc-qv.png qvconnection.png jdbcqvconnection.png Log Message: mises à jour... Index: mvc.dia =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/diagram/mvc.dia,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mvc.dia 12 Jun 2003 14:19:33 -0000 1.1 --- mvc.dia 16 Jun 2003 07:38:25 -0000 1.2 *************** *** 211,221 **** <dia:object type="UML - Object" version="0" id="O2"> <dia:attribute name="obj_pos"> ! <dia:point val="18,14"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="17.95,13.95;23.1156,15.85"/> </dia:attribute> <dia:attribute name="elem_corner"> ! <dia:point val="18,14"/> </dia:attribute> <dia:attribute name="elem_width"> --- 211,221 ---- <dia:object type="UML - Object" version="0" id="O2"> <dia:attribute name="obj_pos"> ! <dia:point val="18,13"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="17.95,12.95;23.1156,14.85"/> </dia:attribute> <dia:attribute name="elem_corner"> ! <dia:point val="18,13"/> </dia:attribute> <dia:attribute name="elem_width"> *************** *** 237,241 **** </dia:attribute> <dia:attribute name="pos"> ! <dia:point val="20.5328,15.1129"/> </dia:attribute> <dia:attribute name="color"> --- 237,241 ---- </dia:attribute> <dia:attribute name="pos"> ! <dia:point val="20.5328,14.1129"/> </dia:attribute> <dia:attribute name="color"> *************** *** 287,300 **** <dia:object type="UML - Association" version="0" id="O3"> <dia:attribute name="obj_pos"> ! <dia:point val="-8,13"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-8.05,1.2;5.75,14.6"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="-8,13"/> <dia:point val="-8,2"/> ! <dia:point val="5,2"/> ! <dia:point val="5,4"/> </dia:attribute> <dia:attribute name="orth_orient"> --- 287,300 ---- <dia:object type="UML - Association" version="0" id="O3"> <dia:attribute name="obj_pos"> ! <dia:point val="6.8904,4"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-8.05,1.2;7.6404,14.6"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="6.8904,4"/> ! <dia:point val="6.8904,2"/> <dia:point val="-8,2"/> ! <dia:point val="-8,13"/> </dia:attribute> <dia:attribute name="orth_orient"> *************** *** 304,311 **** </dia:attribute> <dia:attribute name="name"> ! <dia:string>#le modèle notifie la vue#</dia:string> </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="0"/> </dia:attribute> <dia:attribute name="ends"> --- 304,311 ---- </dia:attribute> <dia:attribute name="name"> ! <dia:string/> </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="2"/> </dia:attribute> <dia:attribute name="ends"> *************** *** 321,325 **** </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> --- 321,325 ---- </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> *************** *** 332,345 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O1" connection="0"/> ! <dia:connection handle="1" to="O0" connection="0"/> </dia:connections> </dia:object> --- 332,345 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O0" connection="1"/> ! <dia:connection handle="1" to="O1" connection="0"/> </dia:connections> </dia:object> *************** *** 349,359 **** </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="6.8116,5.75;22.502,15.6"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="8.7808,5.8"/> <dia:point val="8.7808,8"/> ! <dia:point val="20.5328,8"/> ! <dia:point val="20.5328,14"/> </dia:attribute> <dia:attribute name="orth_orient"> --- 349,359 ---- </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="8.7308,5.75;26.6384,13.8"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="8.7808,5.8"/> <dia:point val="8.7808,8"/> ! <dia:point val="23.0656,8"/> ! <dia:point val="23.0656,13"/> </dia:attribute> <dia:attribute name="orth_orient"> *************** *** 363,370 **** </dia:attribute> <dia:attribute name="name"> ! <dia:string>#le contrôleur pilote le modèle#</dia:string> </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="0"/> </dia:attribute> <dia:attribute name="ends"> --- 363,370 ---- </dia:attribute> <dia:attribute name="name"> ! <dia:string/> </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="2"/> </dia:attribute> <dia:attribute name="ends"> *************** *** 377,381 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> --- 377,381 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> *************** *** 385,389 **** <dia:composite> <dia:attribute name="role"> ! <dia:string/> </dia:attribute> <dia:attribute name="multiplicity"> --- 385,389 ---- <dia:composite> <dia:attribute name="role"> ! <dia:string>#<<use>>#</dia:string> </dia:attribute> <dia:attribute name="multiplicity"> *************** *** 394,398 **** </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> --- 394,398 ---- </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> *************** *** 400,418 **** <dia:connections> <dia:connection handle="0" to="O0" connection="7"/> ! <dia:connection handle="1" to="O2" connection="1"/> </dia:connections> </dia:object> <dia:object type="UML - Association" version="0" id="O5"> <dia:attribute name="obj_pos"> ! <dia:point val="18,14"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-6.5164,10.2;19.0212,15.6"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="18,14"/> ! <dia:point val="18,11"/> ! <dia:point val="-5.4952,11"/> ! <dia:point val="-5.4952,13"/> </dia:attribute> <dia:attribute name="orth_orient"> --- 400,418 ---- <dia:connections> <dia:connection handle="0" to="O0" connection="7"/> ! <dia:connection handle="1" to="O2" connection="2"/> </dia:connections> </dia:object> <dia:object type="UML - Association" version="0" id="O5"> <dia:attribute name="obj_pos"> ! <dia:point val="-6.7476,14.8"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-6.7976,14.75;24.1056,16.4"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="-6.7476,14.8"/> ! <dia:point val="-6.7476,16"/> ! <dia:point val="20.5328,16"/> ! <dia:point val="20.5328,14.8"/> </dia:attribute> <dia:attribute name="orth_orient"> *************** *** 422,426 **** </dia:attribute> <dia:attribute name="name"> ! <dia:string>#la vue notifie le contrôleur (action utilisateur)#</dia:string> </dia:attribute> <dia:attribute name="direction"> --- 422,426 ---- </dia:attribute> <dia:attribute name="name"> ! <dia:string>#le contrôleur peut modifier la vue#</dia:string> </dia:attribute> <dia:attribute name="direction"> *************** *** 436,440 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> --- 436,440 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> *************** *** 444,448 **** <dia:composite> <dia:attribute name="role"> ! <dia:string/> </dia:attribute> <dia:attribute name="multiplicity"> --- 444,448 ---- <dia:composite> <dia:attribute name="role"> ! <dia:string>#<<use>>#</dia:string> </dia:attribute> <dia:attribute name="multiplicity"> *************** *** 453,477 **** </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O2" connection="0"/> ! <dia:connection handle="1" to="O1" connection="2"/> </dia:connections> </dia:object> <dia:object type="UML - Association" version="0" id="O6"> <dia:attribute name="obj_pos"> ! <dia:point val="-5.4952,14.8"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-5.5452,14.75;18.75,18.05"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="-5.4952,14.8"/> ! <dia:point val="-5.4952,18"/> ! <dia:point val="18,18"/> ! <dia:point val="18,15.8"/> </dia:attribute> <dia:attribute name="orth_orient"> --- 453,477 ---- </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O1" connection="6"/> ! <dia:connection handle="1" to="O2" connection="6"/> </dia:connections> </dia:object> <dia:object type="UML - Association" version="0" id="O6"> <dia:attribute name="obj_pos"> ! <dia:point val="5,5.8"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-6.7976,5.75;5.05,14.6"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="5,5.8"/> ! <dia:point val="5,9"/> ! <dia:point val="-6.7476,9"/> ! <dia:point val="-6.7476,13"/> </dia:attribute> <dia:attribute name="orth_orient"> *************** *** 481,488 **** </dia:attribute> <dia:attribute name="name"> ! <dia:string>#le contrôleur peut modifier la vue#</dia:string> </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="0"/> </dia:attribute> <dia:attribute name="ends"> --- 481,488 ---- </dia:attribute> <dia:attribute name="name"> ! <dia:string/> </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="1"/> </dia:attribute> <dia:attribute name="ends"> *************** *** 495,499 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> --- 495,499 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> *************** *** 512,536 **** </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O1" connection="7"/> ! <dia:connection handle="1" to="O2" connection="5"/> </dia:connections> </dia:object> ! <dia:object type="UML - Association" version="0" id="O7"> <dia:attribute name="obj_pos"> ! <dia:point val="5,4.9"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-10.1652,4.85;8.1652,14.6"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="5,4.9"/> ! <dia:point val="5,9"/> ! <dia:point val="-7,9"/> ! <dia:point val="-7,13"/> </dia:attribute> <dia:attribute name="orth_orient"> --- 512,596 ---- </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O0" connection="5"/> ! <dia:connection handle="1" to="O1" connection="1"/> </dia:connections> </dia:object> ! <dia:object type="Standard - Text" version="0" id="O7"> <dia:attribute name="obj_pos"> ! <dia:point val="-3,21"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-3.05,20.3329;-3,21.2829"/> ! </dia:attribute> ! <dia:attribute name="text"> ! <dia:composite type="text"> ! <dia:attribute name="string"> ! <dia:string>##</dia:string> ! </dia:attribute> ! <dia:attribute name="font"> ! <dia:font name="Courier"/> ! </dia:attribute> ! <dia:attribute name="height"> ! <dia:real val="0.8"/> ! </dia:attribute> ! <dia:attribute name="pos"> ! <dia:point val="-3,21"/> ! </dia:attribute> ! <dia:attribute name="color"> ! <dia:color val="#000000"/> ! </dia:attribute> ! <dia:attribute name="alignment"> ! <dia:enum val="1"/> ! </dia:attribute> ! </dia:composite> ! </dia:attribute> ! </dia:object> ! <dia:object type="Standard - Text" version="0" id="O8"> ! <dia:attribute name="obj_pos"> ! <dia:point val="-2,23"/> ! </dia:attribute> ! <dia:attribute name="obj_bb"> ! <dia:rectangle val="-2.05,22.3329;-2,23.2829"/> ! </dia:attribute> ! <dia:attribute name="text"> ! <dia:composite type="text"> ! <dia:attribute name="string"> ! <dia:string>##</dia:string> ! </dia:attribute> ! <dia:attribute name="font"> ! <dia:font name="Courier"/> ! </dia:attribute> ! <dia:attribute name="height"> ! <dia:real val="0.8"/> ! </dia:attribute> ! <dia:attribute name="pos"> ! <dia:point val="-2,23"/> ! </dia:attribute> ! <dia:attribute name="color"> ! <dia:color val="#000000"/> ! </dia:attribute> ! <dia:attribute name="alignment"> ! <dia:enum val="1"/> ! </dia:attribute> ! </dia:composite> ! </dia:attribute> ! </dia:object> ! <dia:object type="UML - Association" version="0" id="O9"> ! <dia:attribute name="obj_pos"> ! <dia:point val="-5.4952,13"/> ! </dia:attribute> ! <dia:attribute name="obj_bb"> ! <dia:rectangle val="-6.2452,10.2;18.05,14.6"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="-5.4952,13"/> ! <dia:point val="-5.4952,11"/> ! <dia:point val="18,11"/> ! <dia:point val="18,13"/> </dia:attribute> <dia:attribute name="orth_orient"> *************** *** 540,547 **** </dia:attribute> <dia:attribute name="name"> ! <dia:string>#la vue 'pourrait' appeler le modèle#</dia:string> </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="0"/> </dia:attribute> <dia:attribute name="ends"> --- 600,607 ---- </dia:attribute> <dia:attribute name="name"> ! <dia:string/> </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="1"/> </dia:attribute> <dia:attribute name="ends"> *************** *** 557,561 **** </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> --- 617,621 ---- </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> *************** *** 568,581 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O0" connection="3"/> </dia:connections> </dia:object> </dia:layer> --- 628,766 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O1" connection="2"/> ! <dia:connection handle="1" to="O2" connection="0"/> </dia:connections> + </dia:object> + <dia:object type="Standard - Text" version="0" id="O10"> + <dia:attribute name="obj_pos"> + <dia:point val="6,12"/> + </dia:attribute> + <dia:attribute name="obj_bb"> + <dia:rectangle val="-1.326,11.3329;13.376,13.0829"/> + </dia:attribute> + <dia:attribute name="text"> + <dia:composite type="text"> + <dia:attribute name="string"> + <dia:string>#la vue notifie le contrôleur + (action utilisateur)#</dia:string> + </dia:attribute> + <dia:attribute name="font"> + <dia:font name="Courier"/> + </dia:attribute> + <dia:attribute name="height"> + <dia:real val="0.8"/> + </dia:attribute> + <dia:attribute name="pos"> + <dia:point val="6,12"/> + </dia:attribute> + <dia:attribute name="color"> + <dia:color val="#000000"/> + </dia:attribute> + <dia:attribute name="alignment"> + <dia:enum val="1"/> + </dia:attribute> + </dia:composite> + </dia:attribute> + </dia:object> + <dia:object type="Standard - Text" version="0" id="O11"> + <dia:attribute name="obj_pos"> + <dia:point val="0,7"/> + </dia:attribute> + <dia:attribute name="obj_bb"> + <dia:rectangle val="-4.422,6.33286;4.472,8.08286"/> + </dia:attribute> + <dia:attribute name="text"> + <dia:composite type="text"> + <dia:attribute name="string"> + <dia:string>#la vue 'pourrait' + appeler le modèle#</dia:string> + </dia:attribute> + <dia:attribute name="font"> + <dia:font name="Courier"/> + </dia:attribute> + <dia:attribute name="height"> + <dia:real val="0.8"/> + </dia:attribute> + <dia:attribute name="pos"> + <dia:point val="0,7"/> + </dia:attribute> + <dia:attribute name="color"> + <dia:color val="#000000"/> + </dia:attribute> + <dia:attribute name="alignment"> + <dia:enum val="1"/> + </dia:attribute> + </dia:composite> + </dia:attribute> + </dia:object> + <dia:object type="Standard - Text" version="0" id="O12"> + <dia:attribute name="obj_pos"> + <dia:point val="-3,3"/> + </dia:attribute> + <dia:attribute name="obj_bb"> + <dia:rectangle val="-7.4132,2.33286;1.4632,4.08286"/> + </dia:attribute> + <dia:attribute name="text"> + <dia:composite type="text"> + <dia:attribute name="string"> + <dia:string>#le modèle notifie + la vue#</dia:string> + </dia:attribute> + <dia:attribute name="font"> + <dia:font name="Courier"/> + </dia:attribute> + <dia:attribute name="height"> + <dia:real val="0.8"/> + </dia:attribute> + <dia:attribute name="pos"> + <dia:point val="-3,3"/> + </dia:attribute> + <dia:attribute name="color"> + <dia:color val="#000000"/> + </dia:attribute> + <dia:attribute name="alignment"> + <dia:enum val="1"/> + </dia:attribute> + </dia:composite> + </dia:attribute> + </dia:object> + <dia:object type="Standard - Text" version="0" id="O13"> + <dia:attribute name="obj_pos"> + <dia:point val="19,6"/> + </dia:attribute> + <dia:attribute name="obj_bb"> + <dia:rectangle val="13.7948,5.33286;24.2552,7.08286"/> + </dia:attribute> + <dia:attribute name="text"> + <dia:composite type="text"> + <dia:attribute name="string"> + <dia:string>#le contrôleur pilote + le modèle#</dia:string> + </dia:attribute> + <dia:attribute name="font"> + <dia:font name="Courier"/> + </dia:attribute> + <dia:attribute name="height"> + <dia:real val="0.8"/> + </dia:attribute> + <dia:attribute name="pos"> + <dia:point val="19,6"/> + </dia:attribute> + <dia:attribute name="color"> + <dia:color val="#000000"/> + </dia:attribute> + <dia:attribute name="alignment"> + <dia:enum val="1"/> + </dia:attribute> + </dia:composite> + </dia:attribute> </dia:object> </dia:layer> Index: mvc-qv.dia =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/diagram/mvc-qv.dia,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mvc-qv.dia 12 Jun 2003 14:19:32 -0000 1.1 --- mvc-qv.dia 16 Jun 2003 07:38:25 -0000 1.2 *************** *** 312,316 **** </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="0"/> </dia:attribute> <dia:attribute name="ends"> --- 312,316 ---- </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="2"/> </dia:attribute> <dia:attribute name="ends"> *************** *** 323,327 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> --- 323,327 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> *************** *** 354,358 **** </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="14.686,5.4629;20.4168,11.6"/> </dia:attribute> <dia:attribute name="orth_points"> --- 354,358 ---- </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="14.686,5.4629;23.2396,10.8"/> </dia:attribute> <dia:attribute name="orth_points"> *************** *** 371,375 **** </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="0"/> </dia:attribute> <dia:attribute name="ends"> --- 371,375 ---- </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="2"/> </dia:attribute> <dia:attribute name="ends"> *************** *** 382,386 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> --- 382,386 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> *************** *** 390,394 **** <dia:composite> <dia:attribute name="role"> ! <dia:string/> </dia:attribute> <dia:attribute name="multiplicity"> --- 390,394 ---- <dia:composite> <dia:attribute name="role"> ! <dia:string>#<<use>>#</dia:string> </dia:attribute> <dia:attribute name="multiplicity"> *************** *** 399,403 **** </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> --- 399,403 ---- </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> *************** *** 430,434 **** </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="0"/> </dia:attribute> <dia:attribute name="ends"> --- 430,434 ---- </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="1"/> </dia:attribute> <dia:attribute name="ends"> *************** *** 441,445 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> --- 441,445 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> *************** *** 472,481 **** </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-3.3008,14.5629;20.4168,18.05"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="-3.2508,15.3129"/> ! <dia:point val="-3.2508,18"/> ! <dia:point val="19.6668,18"/> <dia:point val="19.6668,15.3129"/> </dia:attribute> --- 472,481 ---- </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-3.3008,15.2629;23.2396,17.7371"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="-3.2508,15.3129"/> ! <dia:point val="-3.2508,17.6871"/> ! <dia:point val="19.6668,17.6871"/> <dia:point val="19.6668,15.3129"/> </dia:attribute> *************** *** 500,504 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> --- 500,504 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> *************** *** 508,512 **** <dia:composite> <dia:attribute name="role"> ! <dia:string/> </dia:attribute> <dia:attribute name="multiplicity"> --- 508,512 ---- <dia:composite> <dia:attribute name="role"> ! <dia:string>#<<use>>#</dia:string> </dia:attribute> <dia:attribute name="multiplicity"> *************** *** 517,521 **** </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> --- 517,521 ---- </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> *************** *** 528,540 **** <dia:object type="UML - Association" version="0" id="O7"> <dia:attribute name="obj_pos"> ! <dia:point val="8.868,5.5129"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-4.0008,5.4629;8.918,11.6"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="8.868,5.5129"/> ! <dia:point val="8.868,7"/> ! <dia:point val="-3.2508,7"/> <dia:point val="-3.2508,10"/> </dia:attribute> --- 528,540 ---- <dia:object type="UML - Association" version="0" id="O7"> <dia:attribute name="obj_pos"> ! <dia:point val="3,5.5129"/> </dia:attribute> <dia:attribute name="obj_bb"> ! <dia:rectangle val="-3.3008,5.4629;3.05,11.6"/> </dia:attribute> <dia:attribute name="orth_points"> ! <dia:point val="3,5.5129"/> ! <dia:point val="3,7.4871"/> ! <dia:point val="-3.2508,7.4871"/> <dia:point val="-3.2508,10"/> </dia:attribute> *************** *** 548,552 **** </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="0"/> </dia:attribute> <dia:attribute name="ends"> --- 548,552 ---- </dia:attribute> <dia:attribute name="direction"> ! <dia:enum val="1"/> </dia:attribute> <dia:attribute name="ends"> *************** *** 559,563 **** </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="aggregate"> --- 559,563 ---- </dia:attribute> <dia:attribute name="arrow"> ! <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="aggregate"> *************** *** 576,585 **** </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="1"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O0" connection="6"/> <dia:connection handle="1" to="O1" connection="1"/> </dia:connections> --- 576,585 ---- </dia:attribute> <dia:attribute name="aggregate"> ! <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:connections> ! <dia:connection handle="0" to="O0" connection="5"/> <dia:connection handle="1" to="O1" connection="1"/> </dia:connections> Index: mvc.png =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/diagram/mvc.png,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsB5sgWm and /tmp/cvs2cyuBz differ Index: mvc-qv.png =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/diagram/mvc-qv.png,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsy9fMMn and /tmp/cvsq2cjiB differ Index: qvconnection.png =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/diagram/qvconnection.png,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsn52ODo and /tmp/cvsEwBx2C differ Index: jdbcqvconnection.png =================================================================== RCS file: /cvsroot/queryviewer/queryviewer/src/diagram/jdbcqvconnection.png,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvss19KBp and /tmp/cvscFDIVE differ |
From: <av...@us...> - 2003-06-16 07:37:39
|
Update of /cvsroot/queryviewer/queryviewer/src/diagram In directory sc8-pr-cvs1:/tmp/cvs-serv11293 Added Files: queryviewer.dia queryviewer.png Log Message: diagram du projet complet --- NEW FILE: queryviewer.dia --- <?xml version="1.0" encoding="UTF-8"?> <dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/"> <dia:diagramdata> <dia:attribute name="background"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="paper"> <dia:composite type="paper"> <dia:attribute name="name"> <dia:string>#A4#</dia:string> </dia:attribute> <dia:attribute name="tmargin"> <dia:real val="2.8222"/> </dia:attribute> <dia:attribute name="bmargin"> <dia:real val="2.8222"/> </dia:attribute> <dia:attribute name="lmargin"> <dia:real val="2.8222"/> [...3850 lines suppressed...] <dia:attribute name="type"> <dia:string>#Query#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string/> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> </dia:attribute> <dia:attribute name="template"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="templates"/> </dia:object> </dia:layer> </dia:diagram> --- NEW FILE: queryviewer.png --- (This appears to be a binary file; contents omitted.) |