From: <tri...@us...> - 2008-03-19 21:37:53
|
Revision: 398 http://equanda.svn.sourceforge.net/equanda/?rev=398&view=rev Author: triathlon98 Date: 2008-03-19 14:37:39 -0700 (Wed, 19 Mar 2008) Log Message: ----------- EQ-142 force keys to be saved sorted (and fix some other details) Modified Paths: -------------- trunk/equanda-client/src/main/java/org/equanda/translations/Key.java trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/KeyTableModel.java trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java Modified: trunk/equanda-client/src/main/java/org/equanda/translations/Key.java =================================================================== --- trunk/equanda-client/src/main/java/org/equanda/translations/Key.java 2008-03-19 15:51:34 UTC (rev 397) +++ trunk/equanda-client/src/main/java/org/equanda/translations/Key.java 2008-03-19 21:37:39 UTC (rev 398) @@ -31,7 +31,7 @@ * @author Florin */ public class Key - implements Comparable, Serializable + implements Comparable<Key>, Serializable { private String key; private String context; @@ -64,10 +64,8 @@ this.context = context; } - public int compareTo( Object o ) + public int compareTo( Key other ) { - if ( !( o instanceof Key ) ) return -1; - Key other = (Key) o; if ( getKey() == null || other.getKey() == null ) return -1; // should be impossible int ret = getKey().compareTo( other.getKey() ); if ( ret == 0 ) Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/KeyTableModel.java =================================================================== --- trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/KeyTableModel.java 2008-03-19 15:51:34 UTC (rev 397) +++ trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/KeyTableModel.java 2008-03-19 21:37:39 UTC (rev 398) @@ -30,7 +30,6 @@ import javax.swing.table.DefaultTableModel; import java.util.TreeMap; import java.util.Iterator; -import java.util.List; import java.util.Collection; /** @@ -182,8 +181,7 @@ } // don't use that internal vector DefaultTableModel uses, we use the map of translations - public void addRow( Object value ) - {} + public void addRow( Object value ) {} public void removeRow( int index ) {} } Modified: trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java =================================================================== --- trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java 2008-03-19 15:51:34 UTC (rev 397) +++ trunk/equanda-tool/src/main/java/org/equanda/tool/translationsEditor/TranslationsEditor.java 2008-03-19 21:37:39 UTC (rev 398) @@ -42,6 +42,7 @@ import java.util.ArrayList; import java.util.List; import java.util.TreeMap; +import java.util.Collections; import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; @@ -480,7 +481,7 @@ org.equanda.domain.xml.Parser parser = new org.equanda.domain.xml.Parser(); parser.setConfiguration( generatorIni ); domainModel = parser.parseDomainModel( config.getAppdir() ); - if ( domainModel != null || parser.isFailed() ) + if ( domainModel == null || parser.isFailed() ) { throw new RuntimeException( "Cannot parse domain model" ); } @@ -524,10 +525,10 @@ importDbKeys( config, "select." + table.getName() + "." + select.getName(), select.getName(), dbItems, addToModel ); - for ( Selection selection : select.getSelections() ) + for ( Selection selection : select.getSelectionsDeep() ) { importDbKeys( config, "parameter." + table.getName() + "." + select.getName() + - "." + selection.getName(), selection.getName(), dbItems, addToModel ); + "." + selection.getField().getName(), selection.getField().getName(), dbItems, addToModel ); } } for ( Action action : table.getActions() ) @@ -610,8 +611,7 @@ try { BufferedWriter writer = - new BufferedWriter( - new OutputStreamWriter( new FileOutputStream( config.getTargetFile() ), "UTF-8" ) ); + new BufferedWriter( new OutputStreamWriter( new FileOutputStream( config.getTargetFile() ), "UTF-8" ) ); writer.write( ";Last edited: " + new Date( System.currentTimeMillis() ) + '\n' ); TextBuilder line = TextBuilder.newInstance(); line.append( ".languages " ); @@ -623,10 +623,13 @@ line.append( '\n' ); writer.write( line.toString() ); - for ( int i = 0; i < model.getRowCount() ; i++ ) + List<Key> sortedKeys = new ArrayList<Key>(); + sortedKeys.addAll( model.getKeys() ); + Collections.sort(sortedKeys); + + for (Key key : sortedKeys ) { line.reset(); - Key key = model.getKeyAtIndex( i ); line.append( ".key " ); line.append( key.getKey() ); if ( key.getContext() != null && key.getContext().length() > 0 ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |