From: <de...@us...> - 2012-12-15 00:36:13
|
Revision: 8142 http://fudaa.svn.sourceforge.net/fudaa/?rev=8142&view=rev Author: deniger Date: 2012-12-15 00:36:06 +0000 (Sat, 15 Dec 2012) Log Message: ----------- Modified Paths: -------------- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/LogConverter.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluAnalyzeGUI.java Added Paths: ----------- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/AbstractComparator.java trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/CoordinateComparator.java trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/PointComparator.java Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/LogConverter.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/LogConverter.java 2012-12-15 00:35:42 UTC (rev 8141) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/LogConverter.java 2012-12-15 00:36:06 UTC (rev 8142) @@ -12,7 +12,7 @@ * @author Frederic Deniger */ public class LogConverter { - + public static CtuluLogLevel getLevel(Level level) { if (CtuluAnalyze.FATAL == level) { return CtuluLogLevel.FATAL; @@ -30,17 +30,18 @@ return CtuluLogLevel.WARNING; } return CtuluLogLevel.ERROR; - - + + } - + public static CtuluLogRecord convert(LogRecord record) { CtuluLogRecord res = new CtuluLogRecord(getLevel(record.getLevel()), record.getMessage()); + res.setLocalizedMessage(record.getMessage()); res.setArgs(record.getParameters()); res.setThrown(record.getThrown()); return res; } - + public static CtuluLog convert(CtuluAnalyze in) { CtuluLog res = new CtuluLog(in.getDefaultResourceBundle()); res.setDesc(in.getDesc()); @@ -49,7 +50,7 @@ } return res; } - + public static CtuluLogGroup convert(CtuluAnalyzeGroup in) { CtuluLogGroup res = new CtuluLogGroup(in.defaultResource); res.setDescription(in.getMainDesc()); @@ -60,7 +61,7 @@ List<CtuluAnalyzeGroup> groups = in.getGroups(); for (CtuluAnalyzeGroup group : groups) { res.addGroup(convert(group)); - + } return res; } Added: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/AbstractComparator.java =================================================================== --- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/AbstractComparator.java (rev 0) +++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/AbstractComparator.java 2012-12-15 00:36:06 UTC (rev 8142) @@ -0,0 +1,45 @@ +/* + GPL 2 + */ +package org.fudaa.ctulu.gis.comparator; + +import com.vividsolutions.jts.geom.Point; +import java.util.Comparator; +import org.fudaa.ctulu.gis.CtuluLibGeometrie; + +/** + * + * @author Frederic Deniger + */ +public class AbstractComparator { + + private double eps = 1e-3; + + public AbstractComparator() { + } + + public AbstractComparator(double eps) { + this.eps = eps; + } + + public int compare(double x1, double y1, double x2, double y2) { + double distance = CtuluLibGeometrie.getDistance(x1, y1, x2, y2); + if (distance < eps) { + return 0; + } + if (x1 > x2) { + return 1; + } + if (x1 < x2) { + return -1; + } + if (y1 > y2) { + return 1; + } + if (y1 < y2) { + return -1; + } + + return 0; + } +} Added: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/CoordinateComparator.java =================================================================== --- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/CoordinateComparator.java (rev 0) +++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/CoordinateComparator.java 2012-12-15 00:36:06 UTC (rev 8142) @@ -0,0 +1,41 @@ +/* + GPL 2 + */ +package org.fudaa.ctulu.gis.comparator; + +import com.vividsolutions.jts.geom.Coordinate; +import java.util.Comparator; + +/** + * + * @author Frederic Deniger + */ +public class CoordinateComparator extends AbstractComparator implements Comparator<Coordinate> { + + /** + * comparaison par defaut a 1e-3 + */ + public CoordinateComparator() { + } + + /** + * @param eps le eps de comparaison + */ + public CoordinateComparator(double eps) { + super(eps); + } + + @Override + public int compare(Coordinate o1, Coordinate o2) { + if (o1 == o2) { + return 0; + } + if (o1 == null) { + return -1; + } + if (o2 == null) { + return 1; + } + return super.compare(o1.x, o1.y, o2.x, o2.y); + } +} Added: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/PointComparator.java =================================================================== --- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/PointComparator.java (rev 0) +++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/comparator/PointComparator.java 2012-12-15 00:36:06 UTC (rev 8142) @@ -0,0 +1,41 @@ +/* + GPL 2 + */ +package org.fudaa.ctulu.gis.comparator; + +import com.vividsolutions.jts.geom.Point; +import java.util.Comparator; + +/** + * + * @author Frederic Deniger + */ +public class PointComparator extends AbstractComparator implements Comparator<Point> { + + /** + * comparaison par defaut a 1e-3 + */ + public PointComparator() { + } + + /** + * @param eps le eps de comparaison + */ + public PointComparator(double eps) { + super(eps); + } + + @Override + public int compare(Point o1, Point o2) { + if (o1 == o2) { + return 0; + } + if (o1 == null) { + return -1; + } + if (o2 == null) { + return 1; + } + return super.compare(o1.getX(), o1.getY(), o2.getX(), o2.getY()); + } +} Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluAnalyzeGUI.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluAnalyzeGUI.java 2012-12-15 00:35:42 UTC (rev 8141) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluAnalyzeGUI.java 2012-12-15 00:36:06 UTC (rev 8142) @@ -55,7 +55,7 @@ public static void showDialog(final CtuluAnalyzeGroup errors, final CtuluUI ui, final String title) { showDialogErrorFiltre(errors, ui, title, false); } - + private static void addLines(final CtuluLog message, final DefaultMutableTreeTableNode rootFic, final boolean onlyError) { final List<CtuluLogRecord> all = new ArrayList<CtuluLogRecord>(); final List<CtuluLogRecord> warn = new ArrayList<CtuluLogRecord>(); @@ -75,16 +75,19 @@ all.addAll(info); for (final CtuluLogRecord log : all) { if (log != null) { + if (log.getLocalizedMessage() == null) { + log.setLocalizedMessage(log.getMsg()); + } rootFic.add(new MessageTreeTableNode(log.getLocalizedMessage(), log.getLevel())); } - + } } - + private static DefaultMutableTreeTableNode constructArborescence(final CtuluLogGroup listemessage, final DefaultMutableTreeTableNode parent, final boolean onlyError) { final DefaultMutableTreeTableNode root = parent == null ? new MessageTreeTableNode(listemessage.getDesci18n(), "") : parent; - + for (final CtuluLog message : listemessage.getLogs()) { if (onlyError && !message.containsErrors()) { continue; @@ -101,11 +104,11 @@ rootFic.setGroup(true); root.add(rootFic); constructArborescence(err, rootFic, onlyError); - + } return root; } - + protected static void loadTablePreferencesLater(final JXTable table) { EventQueue.invokeLater(new Runnable() { @Override @@ -114,24 +117,24 @@ } }); } - + public static void showDialogErrorFiltre(final CtuluAnalyze errors, final CtuluUI ui, final String title, final boolean onlyError) { CtuluAnalyzeGroup gr = new CtuluAnalyzeGroup(null); gr.addAnalyzer(errors); showDialogErrorFiltre(gr, ui, title, onlyError); } - + public static void showDialogErrorFiltre(final CtuluLog errors, final CtuluUI ui, final String title, final boolean onlyError) { CtuluLogGroup gr = new CtuluLogGroup(null); gr.addLog(errors); showDialogErrorFiltre(gr, ui, title, onlyError); } - + @SuppressWarnings("serial") public static void showDialogErrorFiltre(final CtuluAnalyzeGroup errors, final CtuluUI ui, final String title, final boolean onlyError) { showDialogErrorFiltre(LogConverter.convert(errors), ui, title, onlyError); } - + @SuppressWarnings("serial") public static void showDialogErrorFiltre(final CtuluLogGroup errors, final CtuluUI ui, final String title, final boolean onlyError) { if (!errors.containsSomething() && ui != null) { @@ -142,9 +145,9 @@ final List<String> colonnes = new ArrayList<String>(); colonnes.add(CtuluResource.CTULU.getString("Message")); colonnes.add(CtuluResource.CTULU.getString("Niveau")); - + modeleJX.setColumnIdentifiers(colonnes); - + final JXTreeTable table = new JXTreeTable(modeleJX); PopupMenuReceiver.installDefault(table, ui); table.setTreeCellRenderer(new DefaultTreeCellRenderer() { @@ -152,7 +155,7 @@ Icon warn = CtuluLibImage.resize(UIManager.getIcon("OptionPane.warningIcon"), 16, 16); Icon info = CtuluLibImage.resize(UIManager.getIcon("OptionPane.informationIcon"), 16, 16); Font bdFont; - + @Override public Component getTreeCellRendererComponent(final JTree tree, final Object value, final boolean sel, final boolean expanded, final boolean leaf, final int row, final boolean hasFocus) { @@ -175,12 +178,12 @@ setFont(tree.getFont()); } return res; - + } }); table.setSortable(true); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); - + table.setEditable(false); final Frame f; if (ui != null) { @@ -194,11 +197,11 @@ final JPanel container = new JPanel(new BorderLayout(2, 10)); container.setBorder(BuBorders.EMPTY2222); final JScrollPane comp = new JScrollPane(table); - + comp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); final JCheckBox cbOnlyError = new JCheckBox(CtuluResource.CTULU.getString("Afficher uniquement les erreurs")); cbOnlyError.setSelected(onlyError); - + container.add(comp, BorderLayout.CENTER); final JButton btContinue = new JButton(BuResource.BU.getString("Continuer"), BuResource.BU.getIcon("crystal_valider")); // final JButton btSave= new JButton(CtuluLib.getS("Tout copier dans le presse-papier"), BuResource.BU @@ -218,12 +221,12 @@ UserPreferencesSaver.saveLocationAndDimension(dialog); dialog.dispose(); showDialogErrorFiltre(errors, ui, title, cbOnlyError.isSelected()); - + } }); JPanel pnNorth = new JPanel(new BuBorderLayout()); - - + + JLabel lb = new JLabel(CtuluResource.CTULU.getString(containsError ? "Erreurs rencontr\xE9es" : "Pas d'erreur")); lb.setForeground(containsError ? Color.RED : Color.GREEN.darker()); pnNorth.add(cbOnlyError, BorderLayout.EAST); @@ -233,7 +236,7 @@ pnBt.setLayout(new FlowLayout(FlowLayout.CENTER)); pnBt.add(btContinue); container.add(pnBt, BorderLayout.SOUTH); - + dialog.setContentPane(container); table.packAll(); dialog.pack(); @@ -243,11 +246,11 @@ dialog.setVisible(true); UserPreferencesSaver.saveTablePreferences(table); UserPreferencesSaver.saveLocationAndDimension(dialog); - + } - + private static class MessageTreeTableNode extends DefaultMutableTreeTableNode { - + private final CtuluLogLevel level; private final String replacer; boolean group; @@ -265,30 +268,30 @@ public void setGroup(boolean group) { this.group = group; } - + public MessageTreeTableNode(final String msg, final Level level) { super(msg); this.level = LogConverter.getLevel(level); replacer = CtuluLibString.EMPTY_STRING; } - + public MessageTreeTableNode(final String msg, final CtuluLogLevel level) { super(msg); this.level = level; replacer = CtuluLibString.EMPTY_STRING; } - + public MessageTreeTableNode(final String msg, final String replace) { super(msg); this.level = null; this.replacer = replace == null ? CtuluLibString.EMPTY_STRING : replace; } - + @Override public int getColumnCount() { return 2; } - + @Override public Object getValueAt(final int column) { if (column == 0) { @@ -305,7 +308,7 @@ } return CtuluLib.getS("Information"); } - + @Override public boolean isEditable(final int column) { return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |