Author: echatellier
Date: 2009-10-08 15:23:44 +0200 (Thu, 08 Oct 2009)
New Revision: 179
Modified:
trunk/src/main/java/org/nuiton/math/matrix/AbstractMatrixND.java
trunk/src/main/java/org/nuiton/math/matrix/BasicMatrix.java
trunk/src/main/java/org/nuiton/math/matrix/MatrixFactory.java
trunk/src/main/java/org/nuiton/math/matrix/MatrixHelper.java
trunk/src/main/java/org/nuiton/math/matrix/MatrixND.java
trunk/src/main/java/org/nuiton/math/matrix/MatrixStringEncoder.java
trunk/src/main/java/org/nuiton/math/matrix/gui/MatrixPanelEditor.java
trunk/src/main/java/org/nuiton/math/matrix/gui/MatrixPopupMenu.java
trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties
trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties
trunk/src/test/java/org/nuiton/math/matrix/MatrixNDTest.java
Log:
Add some generics.
Rename i18n string.
Modified: trunk/src/main/java/org/nuiton/math/matrix/AbstractMatrixND.java
===================================================================
--- trunk/src/main/java/org/nuiton/math/matrix/AbstractMatrixND.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/java/org/nuiton/math/matrix/AbstractMatrixND.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -499,7 +499,7 @@
}
@Override
- public List<Object> toList() {
+ public List<?> toList() {
List<Object> result = new ArrayList<Object>();
// [3,2,5,4]
for (MatrixIterator i = iterator(); i.next();) {
@@ -523,11 +523,11 @@
}
@Override
- public void fromList(List<Object> list) {
+ public void fromList(List<?> list) {
// on suppose que les listes sont bien formé, c-a-d qu'elles sont
// toutes de la meme dimension pour une dimension donnée.
ArrayIntList dim = new ArrayIntList();
- List<Object> tmp = list;
+ List<?> tmp = list;
while (tmp.get(tmp.size() - 1) instanceof List) {
dim.add(tmp.size());
tmp = (List<Object>) tmp.get(tmp.size() - 1);
@@ -892,7 +892,7 @@
* returned matrix
* @return new matrix
*/
- protected MatrixND reduce(List<Object> dimName, List<Object> sem,
+ protected MatrixND reduce(List<?> dimName, List<Object> sem,
int[] correspondance) {
// on converti les listes en tableau en inversant l'ordre car on
// a fait un parcours en sens inverse
Modified: trunk/src/main/java/org/nuiton/math/matrix/BasicMatrix.java
===================================================================
--- trunk/src/main/java/org/nuiton/math/matrix/BasicMatrix.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/java/org/nuiton/math/matrix/BasicMatrix.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -209,7 +209,7 @@
for (int i = 0; i < dim.length; i++) {
if (dim[i] <= 0) {
throw new IllegalArgumentException(I18n._(
- "lutinmatrix.invalid.size", Integer.valueOf(i), Integer
+ "nuitonmatrix.invalid.size", Integer.valueOf(i), Integer
.valueOf(dim[i])));
}
}
@@ -224,7 +224,7 @@
protected void checkDim(int dim) {
if (dim < 0 || dim >= getNbDim()) {
throw new IndexOutOfBoundsException(I18n._(
- "lutinmatrix.invalid.size", dim, getNbDim()));
+ "nuitonmatrix.invalid.size", dim, getNbDim()));
}
}
@@ -243,7 +243,7 @@
}
if (!result) {
throw new NoSuchElementException(I18n._(
- "lutinmatrix.invalid.element", Arrays.toString(pos), Arrays
+ "nuitonmatrix.invalid.element", Arrays.toString(pos), Arrays
.toString(dim)));
}
}
Modified: trunk/src/main/java/org/nuiton/math/matrix/MatrixFactory.java
===================================================================
--- trunk/src/main/java/org/nuiton/math/matrix/MatrixFactory.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/java/org/nuiton/math/matrix/MatrixFactory.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -170,7 +170,7 @@
return matrix;
}
- public MatrixND create(List<Object>[] semantics) {
+ public MatrixND create(List<?>[] semantics) {
return new MatrixNDImpl(this, semantics);
}
Modified: trunk/src/main/java/org/nuiton/math/matrix/MatrixHelper.java
===================================================================
--- trunk/src/main/java/org/nuiton/math/matrix/MatrixHelper.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/java/org/nuiton/math/matrix/MatrixHelper.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -73,7 +73,7 @@
* @param s la chaine representant les listes de liste
* @return une liste de liste ... de Double
*/
- public static List<Object> convertStringToList(String s) {
+ public static List<?> convertStringToList(String s) {
List<Object> result = null;
Stack<List<Object>> stack = new Stack<List<Object>>();
StringBuffer number = new StringBuffer(20); // initial to 20 char
Modified: trunk/src/main/java/org/nuiton/math/matrix/MatrixND.java
===================================================================
--- trunk/src/main/java/org/nuiton/math/matrix/MatrixND.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/java/org/nuiton/math/matrix/MatrixND.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -667,14 +667,14 @@
*
* @return list matrix representation
*/
- public List<Object> toList();
+ public List<?> toList();
/**
* Permet de charger une matrice a partir d'une representation List
*
* @param list la matrice sous forme de List de list ... de double
*/
- public void fromList(List<Object> list);
+ public void fromList(List<?> list);
/**
* Determine si la matrice supporte l'import et l'export CSV
Modified: trunk/src/main/java/org/nuiton/math/matrix/MatrixStringEncoder.java
===================================================================
--- trunk/src/main/java/org/nuiton/math/matrix/MatrixStringEncoder.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/java/org/nuiton/math/matrix/MatrixStringEncoder.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -105,11 +105,11 @@
int[] dim = getDimFromString(dimString);
String[] dimNames = getDimensionNamesFromString(dimNamesString);
- List<Object>[] semantics = getSemanticsFromString(semanticsString);
+ List<?>[] semantics = getSemanticsFromString(semanticsString);
matrix = MatrixFactory.getInstance().create(name, semantics,
dimNames);
- List<Object> data = MatrixHelper.convertStringToList(dataString);
+ List<?> data = MatrixHelper.convertStringToList(dataString);
matrix.fromList(data);
} else {
throw new IllegalArgumentException("Can't parse \"" + str
@@ -228,14 +228,14 @@
* @param str la chaine representant la semantique
* @return semantics list
*/
- public List<Object>[] getSemanticsFromString(String str) {
+ public List<?>[] getSemanticsFromString(String str) {
String localStr = str.trim();
if (localStr.startsWith("[") && localStr.endsWith("]")) {
localStr = localStr.substring(1, localStr.length() - 1); // remove [ and ]
}
String[] sems = StringUtil.split(localStr, ",");
- List<Object>[] result = new List[sems.length];
+ List<?>[] result = new List[sems.length];
for (int i = 0; i < sems.length; i++) {
result[i] = splitObjects(sems[i]);
@@ -253,7 +253,7 @@
* @param str la chaine representant
* @return semantics list
*/
- public List<Object> splitObjects(String str) {
+ public List<?> splitObjects(String str) {
List<Object> result = new LinkedList<Object>();
String localStr = str.trim();
if (localStr.startsWith("[") && localStr.endsWith("]")) {
Modified: trunk/src/main/java/org/nuiton/math/matrix/gui/MatrixPanelEditor.java
===================================================================
--- trunk/src/main/java/org/nuiton/math/matrix/gui/MatrixPanelEditor.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/java/org/nuiton/math/matrix/gui/MatrixPanelEditor.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -188,13 +188,13 @@
@Override
public JButton getButtonEdit() {
if (bEdit == null) {
- bEdit = new JButton(I18n._("lutinmatrix.create.matrix.button"));
+ bEdit = new JButton(I18n._("nuitonmatrix.create.matrix.button"));
bEdit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String dim;
- dim = JOptionPane.showInputDialog(null, I18n._("lutinmatrix.create.matrix.message"), I18n._("lutinmatrix.create.matrix.title"),
+ dim = JOptionPane.showInputDialog(null, I18n._("nuitonmatrix.create.matrix.message"), I18n._("nuitonmatrix.create.matrix.title"),
JOptionPane.DEFAULT_OPTION);
if (dim != null) {
Modified: trunk/src/main/java/org/nuiton/math/matrix/gui/MatrixPopupMenu.java
===================================================================
--- trunk/src/main/java/org/nuiton/math/matrix/gui/MatrixPopupMenu.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/java/org/nuiton/math/matrix/gui/MatrixPopupMenu.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -92,7 +92,7 @@
sendToFile = getSendToFile();
withSemantics = new JCheckBoxMenuItem(
- _("lutinmatrix.menu.option.semantics"), false);
+ _("nuitonmatrix.menu.option.semantics"), false);
add(sendToClipBoard);
add(sendToFile);
@@ -105,15 +105,15 @@
*/
public JMenu getSendToClipBoard() {
if (sendToClipBoard == null) {
- sendToClipBoard = new JMenu(_("lutinmatrix.menu.action"));
+ sendToClipBoard = new JMenu(_("nuitonmatrix.menu.action"));
JMenuItem sendToClipBoardAllCopy = new JMenuItem(
- _("lutinmatrix.menu.action.copy"));
+ _("nuitonmatrix.menu.action.copy"));
JMenuItem sendToClipBoardAllPaste = new JMenuItem(
- _("lutinmatrix.menu.action.paste"));
+ _("nuitonmatrix.menu.action.paste"));
JMenuItem sendToClipBoardSelectionCopy = new JMenuItem(
- _("lutinmatrix.menu.action.copy.selection"));
+ _("nuitonmatrix.menu.action.copy.selection"));
JMenuItem sendToClipBoardCurrentPaste = new JMenuItem(
- _("lutinmatrix.menu.action.paste.position"));
+ _("nuitonmatrix.menu.action.paste.position"));
sendToClipBoard.add(sendToClipBoardAllCopy);
sendToClipBoard.add(sendToClipBoardAllPaste);
@@ -139,15 +139,15 @@
*/
public JMenu getSendToFile() {
if (sendToFile == null) {
- sendToFile = new JMenu(_("lutinmatrix.menu.csv"));
+ sendToFile = new JMenu(_("nuitonmatrix.menu.csv"));
JMenuItem sendToFileAllCopy = new JMenuItem(
- _("lutinmatrix.menu.csv.export.file"));
+ _("nuitonmatrix.menu.csv.export.file"));
JMenuItem sendToFileAllPaste = new JMenuItem(
- _("lutinmatrix.menu.csv.import.file"));
+ _("nuitonmatrix.menu.csv.import.file"));
JMenuItem sendToFileSelectionCopy = new JMenuItem(
- _("lutinmatrix.menu.csv.export.selection"));
+ _("nuitonmatrix.menu.csv.export.selection"));
JMenuItem sendToFileCurrentPaste = new JMenuItem(
- _("lutinmatrix.menu.csv.import.position"));
+ _("nuitonmatrix.menu.csv.import.position"));
sendToFile.add(sendToFileAllCopy);
sendToFile.add(sendToFileAllPaste);
@@ -396,8 +396,8 @@
matrixEditor.repaint();
} catch (Exception e) {
JOptionPane.showMessageDialog(matrixEditor,
- _("lutinmatrix.error.clipboard.write"),
- _("lutinmatrix.error"), JOptionPane.ERROR_MESSAGE);
+ _("nuitonmatrix.error.clipboard.write"),
+ _("nuitonmatrix.error"), JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
@@ -411,8 +411,8 @@
matrixEditor.repaint();
} catch (Exception e) {
JOptionPane.showMessageDialog(matrixEditor,
- _("lutinmatrix.error.clipboard.read"),
- _("lutinmatrix.error"), JOptionPane.ERROR_MESSAGE);
+ _("nuitonmatrix.error.clipboard.read"),
+ _("nuitonmatrix.error"), JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
@@ -429,8 +429,8 @@
matrixEditor.repaint();
} catch (Exception e) {
JOptionPane.showMessageDialog(matrixEditor,
- _("lutinmatrix.error.clipboard.write"),
- _("lutinmatrix.error"), JOptionPane.ERROR_MESSAGE);
+ _("nuitonmatrix.error.clipboard.write"),
+ _("nuitonmatrix.error"), JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
@@ -445,8 +445,8 @@
matrixEditor.repaint();
} catch (Exception e) {
JOptionPane.showMessageDialog(matrixEditor,
- _("lutinmatrix.error.clipboard.read"),
- _("lutinmatrix.error"), JOptionPane.ERROR_MESSAGE);
+ _("nuitonmatrix.error.clipboard.read"),
+ _("nuitonmatrix.error"), JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
@@ -521,7 +521,7 @@
}
} catch (Exception e) {
JOptionPane.showMessageDialog(matrixEditor,
- _("lutinmatrix.error.file.write"), _("lutinmatrix.error"),
+ _("nuitonmatrix.error.file.write"), _("nuitonmatrix.error"),
JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
@@ -538,7 +538,7 @@
}
} catch (Exception e) {
JOptionPane.showMessageDialog(matrixEditor,
- _("lutinmatrix.error.file.read"), _("lutinmatrix.error"),
+ _("nuitonmatrix.error.file.read"), _("nuitonmatrix.error"),
JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
@@ -554,7 +554,7 @@
}
} catch (Exception e) {
JOptionPane.showMessageDialog(matrixEditor,
- _("lutinmatrix.error.file.write"), _("lutinmatrix.error"),
+ _("nuitonmatrix.error.file.write"), _("nuitonmatrix.error"),
JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
@@ -572,7 +572,7 @@
}
} catch (Exception e) {
JOptionPane.showMessageDialog(matrixEditor,
- _("lutinmatrix.error.file.read"), _("lutinmatrix.error"),
+ _("nuitonmatrix.error.file.read"), _("nuitonmatrix.error"),
JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
Modified: trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties
===================================================================
--- trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/resources/i18n/nuiton-matrix-en_GB.properties 2009-10-08 13:23:44 UTC (rev 179)
@@ -1,21 +1,21 @@
-lutinmatrix.create.matrix.button=New matrix
-lutinmatrix.create.matrix.message=Matrix size (separate by ';')
-lutinmatrix.create.matrix.title=New matrix
-lutinmatrix.error=Error
-lutinmatrix.error.clipboard.read=Cannot read clipboard
-lutinmatrix.error.clipboard.write=Cannot write clipboard
-lutinmatrix.error.file.read=Cannot read file
-lutinmatrix.error.file.write=Cannot write file
-lutinmatrix.invalid.element=Invalid element %s in matrix %s
-lutinmatrix.invalid.size=Invalid size\: 0 <\= %d <\= %d
-lutinmatrix.menu.action=Copy/Paste
-lutinmatrix.menu.action.copy=Copy
-lutinmatrix.menu.action.copy.selection=Copy selection
-lutinmatrix.menu.action.paste=Paste
-lutinmatrix.menu.action.paste.position=Paste at current position
-lutinmatrix.menu.csv=Import/Export file CSV
-lutinmatrix.menu.csv.export.file=Export to file
-lutinmatrix.menu.csv.export.selection=Export selection
-lutinmatrix.menu.csv.import.file=Import from file
-lutinmatrix.menu.csv.import.position=Import at current position
-lutinmatrix.menu.option.semantics=Export/Copy with semantics
+nuitonmatrix.create.matrix.button=New matrix
+nuitonmatrix.create.matrix.message=Matrix size (separate by ';')
+nuitonmatrix.create.matrix.title=New matrix
+nuitonmatrix.error=Error
+nuitonmatrix.error.clipboard.read=Cannot read clipboard
+nuitonmatrix.error.clipboard.write=Cannot write clipboard
+nuitonmatrix.error.file.read=Cannot read file
+nuitonmatrix.error.file.write=Cannot write file
+nuitonmatrix.invalid.element=Invalid element %s in matrix %s
+nuitonmatrix.invalid.size=Invalid size\: 0 <\= %d <\= %d
+nuitonmatrix.menu.action=Copy/Paste
+nuitonmatrix.menu.action.copy=Copy
+nuitonmatrix.menu.action.copy.selection=Copy selection
+nuitonmatrix.menu.action.paste=Paste
+nuitonmatrix.menu.action.paste.position=Paste at current position
+nuitonmatrix.menu.csv=Import/Export file CSV
+nuitonmatrix.menu.csv.export.file=Export to file
+nuitonmatrix.menu.csv.export.selection=Export selection
+nuitonmatrix.menu.csv.import.file=Import from file
+nuitonmatrix.menu.csv.import.position=Import at current position
+nuitonmatrix.menu.option.semantics=Export/Copy with semantics
Modified: trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties
===================================================================
--- trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/main/resources/i18n/nuiton-matrix-fr_FR.properties 2009-10-08 13:23:44 UTC (rev 179)
@@ -1,21 +1,21 @@
-lutinmatrix.create.matrix.button=Cr\u00E9er une matrice
-lutinmatrix.create.matrix.message=Dimensions de la matrice (s\u00E9par\u00E9es par ';')
-lutinmatrix.create.matrix.title=Cr\u00E9er une matrice
-lutinmatrix.error=Erreur
-lutinmatrix.error.clipboard.read=Donn\u00E9e corrompu dans le bloc note
-lutinmatrix.error.clipboard.write=Impossible d'\u00E9crire dans le bloc note
-lutinmatrix.error.file.read=Impossible de lire le fichier
-lutinmatrix.error.file.write=Impossible d'\u00E9crire dans le fichier
-lutinmatrix.invalid.element=L'\u00E9l\u00E9ment demand\u00E9 %s n'existe pas dans la matrice %s
-lutinmatrix.invalid.size=La dimension demand\u00E9e n'est pas correcte\: 0 <\= %d <\= %d
-lutinmatrix.menu.action=Copier/Coller
-lutinmatrix.menu.action.copy=Copier
-lutinmatrix.menu.action.copy.selection=Copier la s\u00E9lection
-lutinmatrix.menu.action.paste=Coller
-lutinmatrix.menu.action.paste.position=Coller \u00E0 la position courante
-lutinmatrix.menu.csv=Importer/Exporter fichier CSV
-lutinmatrix.menu.csv.export.file=Exporter dans un fichier
-lutinmatrix.menu.csv.export.selection=Exporter la s\u00E9lection
-lutinmatrix.menu.csv.import.file=Importer depuis un fichier
-lutinmatrix.menu.csv.import.position=Importer \u00E0 la position courante
-lutinmatrix.menu.option.semantics=Exporter/Copier avec la s\u00E9mantique
+nuitonmatrix.create.matrix.button=Cr\u00E9er une matrice
+nuitonmatrix.create.matrix.message=Dimensions de la matrice (s\u00E9par\u00E9es par ';')
+nuitonmatrix.create.matrix.title=Cr\u00E9er une matrice
+nuitonmatrix.error=Erreur
+nuitonmatrix.error.clipboard.read=Donn\u00E9e corrompu dans le bloc note
+nuitonmatrix.error.clipboard.write=Impossible d'\u00E9crire dans le bloc note
+nuitonmatrix.error.file.read=Impossible de lire le fichier
+nuitonmatrix.error.file.write=Impossible d'\u00E9crire dans le fichier
+nuitonmatrix.invalid.element=L'\u00E9l\u00E9ment demand\u00E9 %s n'existe pas dans la matrice %s
+nuitonmatrix.invalid.size=La dimension demand\u00E9e n'est pas correcte\: 0 <\= %d <\= %d
+nuitonmatrix.menu.action=Copier/Coller
+nuitonmatrix.menu.action.copy=Copier
+nuitonmatrix.menu.action.copy.selection=Copier la s\u00E9lection
+nuitonmatrix.menu.action.paste=Coller
+nuitonmatrix.menu.action.paste.position=Coller \u00E0 la position courante
+nuitonmatrix.menu.csv=Importer/Exporter fichier CSV
+nuitonmatrix.menu.csv.export.file=Exporter dans un fichier
+nuitonmatrix.menu.csv.export.selection=Exporter la s\u00E9lection
+nuitonmatrix.menu.csv.import.file=Importer depuis un fichier
+nuitonmatrix.menu.csv.import.position=Importer \u00E0 la position courante
+nuitonmatrix.menu.option.semantics=Exporter/Copier avec la s\u00E9mantique
Modified: trunk/src/test/java/org/nuiton/math/matrix/MatrixNDTest.java
===================================================================
--- trunk/src/test/java/org/nuiton/math/matrix/MatrixNDTest.java 2009-09-29 17:07:57 UTC (rev 178)
+++ trunk/src/test/java/org/nuiton/math/matrix/MatrixNDTest.java 2009-10-08 13:23:44 UTC (rev 179)
@@ -26,9 +26,9 @@
import java.util.Stack;
import org.apache.commons.lang.time.DurationFormatUtils;
-import org.nuiton.util.StringUtil;
import org.junit.Assert;
import org.junit.Test;
+import org.nuiton.util.StringUtil;
/**
* MatrixNDTest.java
@@ -718,7 +718,7 @@
mat1.setValue(0, 0, 0, 1.0E-7);
mat1.setValue(1, 1, 0, 2);
mat1.setValue(2, 1, 0, 5.0E-7);
- List<Object> l = mat1.toList();
+ List l = mat1.toList();
System.out.println(l);
MatrixND mat2 = getFactory().create(new int[] { 3, 2, 1 });
@@ -730,9 +730,9 @@
Assert.assertEquals(mat1, mat2);
String s = String.valueOf(l);
- List<Object> l2 = convertStringToList2(s);
- List<Object> l1 = convertStringToList1(s);
- List<Object> l0 = convertStringToList0(s);
+ List l2 = convertStringToList2(s);
+ List l1 = convertStringToList1(s);
+ List l0 = convertStringToList0(s);
System.out.println(l);
System.out.println(l2);
@@ -879,4 +879,20 @@
return result;
}
+ @Test
+ public void testSemanticsArraySynthax() throws Exception {
+
+ List<String>[] semantics = new ArrayList[3];
+ semantics[0] = new ArrayList<String>();
+ semantics[0].add("a");
+ semantics[1] = new ArrayList<String>();
+ semantics[1].add("b");
+ semantics[2] = new ArrayList<String>();
+ semantics[2].add("c");
+ MatrixND mat = getFactory().create(semantics);
+
+ // this don't work in 2.0.0
+ // List<String> a = mat.getSemantics()[0];
+ mat.setSemantic(0, new ArrayList<String>());
+ }
}