|
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.
|