r2163 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher
Author: chatellier Date: 2009-05-03 08:58:08 +0000 (Sun, 03 May 2009) New Revision: 2163 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java Log: Improve comparison for AS. (xxx_10 was before xxx_2) Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-04-30 16:41:43 UTC (rev 2162) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-05-03 08:58:08 UTC (rev 2163) @@ -148,10 +148,31 @@ this.onlyCheckControl = onlyCheckControl; } + /** + * L'ordre depend : + * - de la priorite + * - si le nom fini par un chiffre : + * - du nom avant le chiffre (TODO :) ) + * - du chiffre + * - sinon du nom + */ + @Override public int compareTo(SimulationJob o) { int result = this.priority - o.priority; if (result == 0) { - result = this.getId().compareTo(o.getId()); + if (this.getId().matches(".*_\\d+") && o.getId().matches(".*_\\d+")) { + String firstString = this.getId().substring(0, this.getId().lastIndexOf("_")); + String secondString = o.getId().substring(0, o.getId().lastIndexOf("_")); + result = firstString.compareTo(secondString); + if (result == 0) { + int firstNumber = Integer.parseInt(this.getId().substring(this.getId().lastIndexOf("_") + 1)); + int secondNumber = Integer.parseInt(o.getId().substring(o.getId().lastIndexOf("_") + 1)); + result = firstNumber - secondNumber; + } + } + if (result == 0) { + result = this.getId().compareTo(o.getId()); + } } return result; }
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org