r120 - in trunk/msm/src/main: java/org/nuiton/mapstoragemanager/plugins java/org/nuiton/mapstoragemanager/ui java/org/nuiton/mapstoragemanager/ui/gui resources resources/i18n resources/icons
Author: fgilet Date: 2010-02-22 19:17:14 +0100 (Mon, 22 Feb 2010) New Revision: 120 Added: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/OurHashMap2.java trunk/msm/src/main/resources/icons/ trunk/msm/src/main/resources/icons/ok.png Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMNavigationListener.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/TableModel.java trunk/msm/src/main/resources/i18n/msm-en_GB.properties trunk/msm/src/main/resources/i18n/msm-fr_FR.properties Log: am?\195?\169lioration du contenu d'une table avec specification BigTable Erreurs encore sur les cellules. Added: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/OurHashMap2.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/OurHashMap2.java (rev 0) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/plugins/OurHashMap2.java 2010-02-22 18:17:14 UTC (rev 120) @@ -0,0 +1,127 @@ +package org.nuiton.mapstoragemanager.plugins; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +public class OurHashMap2 implements NewBigTable { + + private Map<String, ArrayList<String>> mapTable = new HashMap<String,ArrayList<String>>(); + private Map<String, ArrayList<String>> mapColumn = new HashMap<String, ArrayList<String>>(); + private Map<String, String> mapData = new HashMap<String,String>(); + + @Override + public boolean connect(Properties properties) { + return true; + } + + @Override + public void selectTable(String table) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void createTable(String table) { + mapTable.put(table, new ArrayList<String>()); + } + + @Override + public void deleteTable(String table) { + mapTable.remove(table); + } + + @Override + public Set<String> getTablesNames() { + return mapTable.keySet(); + } + + @Override + public void createColumn(String table, String column) { + mapColumn.put(column, new ArrayList<String>()); + if(mapTable.containsKey(table)){ + ArrayList<String> list; + list = mapTable.get(table); + list.add(column); + mapTable.put(table,list); + } + } + + @Override + public void deleteColumn(String table, String column) { + if(mapTable.containsKey(table)){ + ArrayList<String> list = mapTable.get(table); + list.remove(column); + mapTable.put(table,list); + } + } + + @Override + public Set<String> getColumnsNames(String table) { + Set<String> columnNames = new HashSet(mapTable.get(table)); + return columnNames; + } + + @Override + public void put(String table, String column, String key, String content) { + if(mapTable.containsKey(table)){ + if(mapColumn.containsKey(column)){ + ArrayList<String> list; + list = mapColumn.get(column); + list.add(key); + mapColumn.put(column,list); + mapData.put(key, content); + } + } + } + + @Override + public String get(String table, String column, String key) { + if(mapTable.containsKey(table)){ + if(mapColumn.containsKey(column)){ + return mapData.get(key); + }else{ + return "Erreur"; + } + }else{ + return "Erreur"; + } + } + + @Override + public String get(String table, String column, String key, int version) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Map<String, String> getRow(String table, String key) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Set<String> getKeys(String table) { + Set<String> keys = null; + Set<String> column = new HashSet(mapTable.get(table)); + Iterator i = column.iterator(); + while(i.hasNext()){ + String columnName = (String)i.next(); + System.out.println("columnName : "+columnName); + ArrayList<String> al = mapColumn.get(columnName); + for(String str : al){ + System.out.println("str : "+str); + keys.add(str); + } + } + return keys; + } + + public Set<String> getKeys(String table, String column) { + Set<String> keys = new HashSet(mapColumn.get(column)); + return keys; + } + + +} Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx 2010-02-22 15:31:58 UTC (rev 119) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx 2010-02-22 18:17:14 UTC (rev 120) @@ -6,8 +6,9 @@ <![CDATA[ import org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine; import javax.swing.tree.*; + import static org.nuiton.i18n.I18n.n_; - ApplicationEngine engine = new ApplicationEngine(); + ApplicationEngine engine = ApplicationEngine.getInstance(); /** * classe instance (singleton pattern). @@ -25,7 +26,15 @@ return instance; } + /** + * Access to the engine. + * @return instance of the class + */ + public ApplicationEngine getEngine(){ + return engine; + } + ]]> </script> @@ -69,11 +78,16 @@ </JMenuBar> + <!-- images + <javax.swing.ImageIcon id='valid' constructorParams='getClass().getResource("ok.png")'/> + --> + <JPanel layout='{new BorderLayout()}' id='mainPanel'> <JToolBar constraints='BorderLayout.NORTH' opaque='true'> <JLabel text="name base :" styleClass='boldUnderline' /> <JAXXComboBox id='nameBase' onActionPerformed='engine.doSomething()' > - <item value='HBase' selected='true' /> + <item value='OurHashMap' selected='true'/> + <item value='HBase'/> <item value='Cassandra'/> <item value='Other'/> </JAXXComboBox> @@ -81,16 +95,21 @@ <JTextField id='login'/> <JLabel text="password :" styleClass='boldUnderline'/> <JPasswordField id='password'/> - <JButton text="ok" onActionPerformed='engine.connection()'/> + <!-- <JButton text="ok" onActionPerformed='engine.connection()'/> --> + <JButton text="ok" icon='ok.png' onActionPerformed='engine.connection()'/> </JToolBar> <JSplitPane constraints='BorderLayout.CENTER' dividerLocation='200' > <JScrollPane> <JTree id='navigation' - model='{new DefaultTreeModel(new DefaultMutableTreeNode("Welcome to MapStorageManager"))}' /> + model='{new DefaultTreeModel(new DefaultMutableTreeNode(n_("welcome.MapStorageManager")))}' /> </JScrollPane> - <JScrollPane> - <JPanel id='tableContent'/> + <JScrollPane > + <JPanel layout='{new BorderLayout()}'> + <JPanel id='tableName' constraints='BorderLayout.NORTH'/> + <JPanel id='tableContent' constraints='BorderLayout.CENTER'/> + <JPanel id='tableTips' constraints='BorderLayout.SOUTH'/> + </JPanel> </JScrollPane> </JSplitPane> </JPanel> Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java 2010-02-22 15:31:58 UTC (rev 119) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java 2010-02-22 18:17:14 UTC (rev 120) @@ -1,13 +1,19 @@ package org.nuiton.mapstoragemanager.ui.gui; +import java.util.Iterator; import java.util.Locale; +import java.util.Properties; import java.util.ResourceBundle; +import java.util.Set; import javax.swing.JOptionPane; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.mapstoragemanager.plugins.OurHashMap; +import org.nuiton.mapstoragemanager.plugins.OurHashMap2; import org.nuiton.mapstoragemanager.ui.MainUI; +import static org.nuiton.i18n.I18n.n_; /** * Engine Class with methods for application user interface. @@ -29,11 +35,45 @@ * ResourceBundle. */ private ResourceBundle messages; - + /** + * OurHashMap2. + */ + OurHashMap2 ohm; + + /** + * classe instance (singleton pattern). + */ + private static ApplicationEngine instance = null; + + + + /** * Constructor. */ - public ApplicationEngine(){ + private ApplicationEngine(){ + ohm = new OurHashMap2(); + ohm.createTable("table1"); + ohm.createTable("table2"); + + ohm.createColumn("table1", "column1"); + ohm.createColumn("table1", "column2"); + + ohm.createColumn("table2", "column3"); + ohm.createColumn("table2", "column4"); + ohm.createColumn("table2", "column5"); + + ohm.put("table1", "column1", "1", "content1"); + ohm.put("table1", "column1", "2", "content2"); + ohm.put("table1", "column2", "1", "content3"); + ohm.put("table1", "column2", "4", "content4"); + + ohm.put("table2", "column3", "5", "content1"); + ohm.put("table2", "column3", "6", "content2"); + ohm.put("table2", "column4", "7", "content3"); + ohm.put("table2", "column4", "8", "content4"); + ohm.put("table2", "column5", "9", "content3"); + ohm.put("table2", "column5", "10", "content4"); } /** @@ -84,7 +124,8 @@ //connection verification boolean goodUse = true; - //boolean goodUse = verifyConnection(nameBase, login, password); + goodUse = ohm.connect(new Properties()); + if(goodUse){ //update tree MainUI.getInstance().getNavigation().setModel(new MSMModel(nameBase)); @@ -92,19 +133,43 @@ DefaultMutableTreeNode root = (DefaultMutableTreeNode) MainUI.getInstance().getNavigation().getModel().getRoot(); DefaultTreeModel dtm = ((DefaultTreeModel) MainUI.getInstance().getNavigation().getModel()); - dtm.insertNodeInto(new DefaultMutableTreeNode("table1"), root, root.getChildCount()); - dtm.insertNodeInto(new DefaultMutableTreeNode("table2"), root, root.getChildCount()); - dtm.insertNodeInto(new DefaultMutableTreeNode("table3"), root, root.getChildCount()); + Set<String> tableNames = ohm.getTablesNames(); + + Iterator i = tableNames.iterator(); + while(i.hasNext()){ + String tableName = (String)i.next(); + dtm.insertNodeInto(new DefaultMutableTreeNode(tableName), root, root.getChildCount()); + } + MainUI.getInstance().getNavigation().repaint(); MainUI.getInstance().getNavigation().revalidate(); }else{ //display error - JOptionPane.showMessageDialog(null, "The connection attempt has failed, Please retry !"); + JOptionPane.showMessageDialog(null, n_("connectionError")); } } + /** + * getInstance method (singleton pattern). + * @return instance of the class + */ + public static ApplicationEngine getInstance() { + if (instance == null){ + instance = new ApplicationEngine(); + } + return instance; + } + //GETTERS AND SETTERS + public OurHashMap2 getOurHashMap(){ + return ohm; + } + + public void setOurHashMap(OurHashMap2 ohm){ + this.ohm = ohm; + } + } Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMNavigationListener.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMNavigationListener.java 2010-02-22 15:31:58 UTC (rev 119) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMNavigationListener.java 2010-02-22 18:17:14 UTC (rev 120) @@ -5,9 +5,12 @@ package org.nuiton.mapstoragemanager.ui.gui; +import java.awt.Color; +import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; +import javax.swing.table.TableColumn; import javax.swing.tree.DefaultMutableTreeNode; import org.nuiton.mapstoragemanager.ui.MainUI; @@ -20,15 +23,16 @@ @Override public void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode node = (DefaultMutableTreeNode)MainUI.getInstance().getNavigation().getLastSelectedPathComponent(); - MainUI.getInstance().getTableContent().removeAll() - ; + MainUI.getInstance().getTableContent().removeAll(); + MainUI.getInstance().getTableName().removeAll(); + /* if nothing is selected */ - if (node == null) { + if (node == null || node.isRoot()) { return; } else { //we create a standard model of table - TableModel exemple = new TableModel(); - JTable jTable = new JTable(exemple); + TableModel model = new TableModel(node); + JTable jTable = new JTable(model); //we check attributes and values of the select table @@ -37,6 +41,7 @@ MainUI.getInstance().getTableContent().add(jTable); } + MainUI.getInstance().getTableName().add(new JLabel("<html><b><u>"+node.toString()+"</b></u></html>")); MainUI.getInstance().getTableContent().repaint(); MainUI.getInstance().getTableContent().revalidate(); } Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/TableModel.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/TableModel.java 2010-02-22 15:31:58 UTC (rev 119) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/TableModel.java 2010-02-22 18:17:14 UTC (rev 120) @@ -5,7 +5,11 @@ package org.nuiton.mapstoragemanager.ui.gui; +import java.util.Iterator; +import java.util.Set; import javax.swing.table.AbstractTableModel; +import javax.swing.tree.DefaultMutableTreeNode; +import org.nuiton.mapstoragemanager.plugins.OurHashMap2; /** * Model of a table content @@ -13,11 +17,57 @@ */ public class TableModel extends AbstractTableModel { - /** - * Constructor. - */ - public TableModel() { } + /** + * columnNames. + */ + String[] titres; + + /** + * data. + */ + String[][] data; + + /** + * Constructor. + */ + public TableModel(DefaultMutableTreeNode node) { + String table = node.toString(); + ApplicationEngine engine = ApplicationEngine.getInstance(); + OurHashMap2 testHashmap2 = engine.getOurHashMap(); + Set<String> set = testHashmap2.getColumnsNames(table); + titres = new String[set.size()]; + + //content + Iterator i = set.iterator(); + int j=0; + int k=0; + while(i.hasNext()){ + String titreTemp = (String)i.next(); + titres[j]=titreTemp; + + //content of data + Set<String> keySet = testHashmap2.getKeys(table,titres[j]); + Iterator i2 = keySet.iterator(); + + System.out.println(set.size()+" | "+keySet.size()); + if(j==0){ + data = new String[set.size()][keySet.size()]; + } + while(i2.hasNext()){ + String str = testHashmap2.get(table,titreTemp,(String)i2.next()); + data[j][k]=str; + System.out.println("data["+j+"]["+k+"] = "+data[j][k]); + k++; + }; + j++; + k=0; + } + + + + } + /** * Add data into the table. @@ -26,32 +76,7 @@ */ @Override public Object getValueAt(int rowIndex, int colIndex) { - if (rowIndex == 0) { - if (colIndex == 0) { - return "1"; - } else { - return ""; - } - } else { - if (colIndex > rowIndex) { - return ""; - } else { - if (colIndex == rowIndex) { - return "1"; - } else { - if (colIndex == 0) { - return "1"; - } else { - int i = Integer.parseInt((String) getValueAt(rowIndex - 1, colIndex - 1)); - int j = Integer.parseInt((String) getValueAt(rowIndex - 1, colIndex)); - return Integer.toString(i + j); - } - - //return data(rowIndex,colIndex); - - } - } - } + return data[colIndex][rowIndex]; } /** @@ -60,7 +85,7 @@ */ @Override public int getColumnCount() { - return 2; + return titres.length; } /** @@ -69,7 +94,7 @@ */ @Override public int getRowCount() { - return 10; + return data[0].length; } /** @@ -79,11 +104,12 @@ */ @Override public String getColumnName(int col){ - return ""; + return titres[col]; } + /** - * Check if the cell is editable + * Check if the cell is editable. * @param row the line number * @param col the column number * @return false Modified: trunk/msm/src/main/resources/i18n/msm-en_GB.properties =================================================================== --- trunk/msm/src/main/resources/i18n/msm-en_GB.properties 2010-02-22 15:31:58 UTC (rev 119) +++ trunk/msm/src/main/resources/i18n/msm-en_GB.properties 2010-02-22 18:17:14 UTC (rev 120) @@ -1,32 +1,35 @@ -Map\ Storage\ Manager=Map Storage Manager -TABLE\ NAME\ \:\ TODO= -login\ \:=Login -mapstoragemanager.action.aboutUs=About us -mapstoragemanager.action.aboutUs.tip=About Code Lutin -mapstoragemanager.action.connect=Connect -mapstoragemanager.action.connect.tip=Start a new connection -mapstoragemanager.action.disconnect=Disconnect -mapstoragemanager.action.disconnect.tip=Disconnect the current session -mapstoragemanager.action.edit=Edit -mapstoragemanager.action.edit.tip= -mapstoragemanager.action.exit=Exit -mapstoragemanager.action.exit.tip= -mapstoragemanager.action.file=File -mapstoragemanager.action.file.tip= -mapstoragemanager.action.fr=French -mapstoragemanager.action.fr.tip=Change to french language -mapstoragemanager.action.help=Help -mapstoragemanager.action.help.tip= -mapstoragemanager.action.language=Choose language -mapstoragemanager.action.language.tip= -mapstoragemanager.action.menuHelp=Help -mapstoragemanager.action.menuHelp.tip= -mapstoragemanager.action.preferences=Preferences -mapstoragemanager.action.preferences.tip= -mapstoragemanager.action.uk=English -mapstoragemanager.action.uk.tip=Change to english language -mapstoragemanager.action.visitSite=Visit our site -mapstoragemanager.action.visitSite.tip= -name\ base\ \:=Name base -ok=Validate -password\ \:=Password +Map\ Storage\ Manager=Map Storage Manager +TABLE\ NAME\ \:\ TODO= +connectionError=The connection attempt to failed, please retry \! +login\ \:=Login +map\ Storage\ Manager= +mapstoragemanager.action.aboutUs=About us +mapstoragemanager.action.aboutUs.tip=About Code Lutin +mapstoragemanager.action.connect=Connect +mapstoragemanager.action.connect.tip=Start a new connection +mapstoragemanager.action.disconnect=Disconnect +mapstoragemanager.action.disconnect.tip=Disconnect the current session +mapstoragemanager.action.edit=Edit +mapstoragemanager.action.edit.tip= +mapstoragemanager.action.exit=Exit +mapstoragemanager.action.exit.tip= +mapstoragemanager.action.file=File +mapstoragemanager.action.file.tip= +mapstoragemanager.action.fr=French +mapstoragemanager.action.fr.tip=Change to french language +mapstoragemanager.action.help=Help +mapstoragemanager.action.help.tip= +mapstoragemanager.action.language=Choose language +mapstoragemanager.action.language.tip= +mapstoragemanager.action.menuHelp=Help +mapstoragemanager.action.menuHelp.tip= +mapstoragemanager.action.preferences=Preferences +mapstoragemanager.action.preferences.tip= +mapstoragemanager.action.uk=English +mapstoragemanager.action.uk.tip=Change to english language +mapstoragemanager.action.visitSite=Visit our site +mapstoragemanager.action.visitSite.tip= +name\ base\ \:=Name base +ok=Validate +password\ \:=Password +welcome.MapStorageManager=Welcome to MapStorageManager Modified: trunk/msm/src/main/resources/i18n/msm-fr_FR.properties =================================================================== --- trunk/msm/src/main/resources/i18n/msm-fr_FR.properties 2010-02-22 15:31:58 UTC (rev 119) +++ trunk/msm/src/main/resources/i18n/msm-fr_FR.properties 2010-02-22 18:17:14 UTC (rev 120) @@ -1,32 +1,35 @@ -Map\ Storage\ Manager=Map Storage Manager -TABLE\ NAME\ \:\ TODO= -login\ \:=Identifiant -mapstoragemanager.action.aboutUs=A propos -mapstoragemanager.action.aboutUs.tip=A propos de Code Lutin -mapstoragemanager.action.connect=Connexion -mapstoragemanager.action.connect.tip=Etablis une nouvelle connexion -mapstoragemanager.action.disconnect=D\u00E9connexion -mapstoragemanager.action.disconnect.tip=D\u00E9connecte la session courante -mapstoragemanager.action.edit=Edition -mapstoragemanager.action.edit.tip= -mapstoragemanager.action.exit=Quitter -mapstoragemanager.action.exit.tip=Quitte l'application -mapstoragemanager.action.file=Fichier -mapstoragemanager.action.file.tip= -mapstoragemanager.action.fr=Fran\u00E7ais -mapstoragemanager.action.fr.tip=Changer la langue en fran\u00E7ais -mapstoragemanager.action.help=Aide -mapstoragemanager.action.help.tip= -mapstoragemanager.action.language=choisir la langue -mapstoragemanager.action.language.tip= -mapstoragemanager.action.menuHelp=Aide -mapstoragemanager.action.menuHelp.tip=Aide contextuelle -mapstoragemanager.action.preferences=Pr\u00E9f\u00E9rences -mapstoragemanager.action.preferences.tip=Permet de configurer l'application -mapstoragemanager.action.uk=Anglais -mapstoragemanager.action.uk.tip=Changer la langue en anglais -mapstoragemanager.action.visitSite=Visiter notre site -mapstoragemanager.action.visitSite.tip= -name\ base\ \:=Nom de la base -ok=Valider -password\ \:=Mot de passe +Map\ Storage\ Manager=Map Storage Manager +TABLE\ NAME\ \:\ TODO= +connectionError=La connexion \u00E0 \u00E9chou\u00E9e, r\u00E9essayez s'il vous pla\u00EEt \! +login\ \:=Identifiant +map\ Storage\ Manager= +mapstoragemanager.action.aboutUs=A propos +mapstoragemanager.action.aboutUs.tip=A propos de Code Lutin +mapstoragemanager.action.connect=Connexion +mapstoragemanager.action.connect.tip=Etablis une nouvelle connexion +mapstoragemanager.action.disconnect=D\u00E9connexion +mapstoragemanager.action.disconnect.tip=D\u00E9connecte la session courante +mapstoragemanager.action.edit=Edition +mapstoragemanager.action.edit.tip= +mapstoragemanager.action.exit=Quitter +mapstoragemanager.action.exit.tip=Quitte l'application +mapstoragemanager.action.file=Fichier +mapstoragemanager.action.file.tip= +mapstoragemanager.action.fr=Fran\u00E7ais +mapstoragemanager.action.fr.tip=Changer la langue en fran\u00E7ais +mapstoragemanager.action.help=Aide +mapstoragemanager.action.help.tip= +mapstoragemanager.action.language=choisir la langue +mapstoragemanager.action.language.tip= +mapstoragemanager.action.menuHelp=Aide +mapstoragemanager.action.menuHelp.tip=Aide contextuelle +mapstoragemanager.action.preferences=Pr\u00E9f\u00E9rences +mapstoragemanager.action.preferences.tip=Permet de configurer l'application +mapstoragemanager.action.uk=Anglais +mapstoragemanager.action.uk.tip=Changer la langue en anglais +mapstoragemanager.action.visitSite=Visiter notre site +mapstoragemanager.action.visitSite.tip= +name\ base\ \:=Nom de la base +ok=Valider +password\ \:=Mot de passe +welcome.MapStorageManager=Bienvenue dans MapStorageManager Added: trunk/msm/src/main/resources/icons/ok.png =================================================================== (Binary files differ) Property changes on: trunk/msm/src/main/resources/icons/ok.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream
participants (1)
-
fgilet@users.nuiton.org