|
From: <de...@us...> - 2012-10-05 21:19:20
|
Revision: 7720
http://fudaa.svn.sourceforge.net/fudaa/?rev=7720&view=rev
Author: deniger
Date: 2012-10-05 21:19:13 +0000 (Fri, 05 Oct 2012)
Log Message:
-----------
support fichier externe
Modified Paths:
--------------
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceIconModel.java
Added Paths:
-----------
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceBoxToStringTransformer.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceIconModelToStringTransformer.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceLigneModelToStringTransformer.java
trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/
trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceBoxToStringTransformerTest.java
trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceIconModelToStringTransformerTest.java
trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceLigneModelToStringTransformerTest.java
Added: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceBoxToStringTransformer.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceBoxToStringTransformer.java (rev 0)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceBoxToStringTransformer.java 2012-10-05 21:19:13 UTC (rev 7720)
@@ -0,0 +1,87 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ebli.converter;
+
+import com.memoire.fu.FuLib;
+import java.awt.Color;
+import org.fudaa.ctulu.converter.AbstractPropertyToStringTransformer;
+import org.fudaa.ctulu.converter.ColorToStringTransformer;
+import org.fudaa.ctulu.converter.PropertyToStringCacheDecorator;
+import org.fudaa.ebli.trace.TraceBox;
+import org.fudaa.ebli.trace.TraceLigneModel;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class TraceBoxToStringTransformer extends AbstractPropertyToStringTransformer<TraceBox> {
+
+ AbstractPropertyToStringTransformer<Color> colorToStringTransformer;
+ TraceLigneModelToStringTransformer traceLigneModelToStringTransformer;
+ char sep = '|';
+
+ public TraceBoxToStringTransformer() {
+ this(new PropertyToStringCacheDecorator<Color>(new ColorToStringTransformer()));
+ }
+
+ public TraceBoxToStringTransformer(AbstractPropertyToStringTransformer<Color> toStringTransformer) {
+ this.colorToStringTransformer = toStringTransformer;
+ traceLigneModelToStringTransformer = new TraceLigneModelToStringTransformer();
+ }
+
+ @Override
+ public String toStringSafe(TraceBox in) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(colorToStringTransformer.toString(in.getColorBoite()));
+ builder.append(sep);
+ builder.append(colorToStringTransformer.toString(in.getColorFond()));
+ builder.append(sep);
+ builder.append(colorToStringTransformer.toString(in.getColorText()));
+ builder.append(sep);
+ builder.append(Boolean.toString(in.isDrawBox()));
+ builder.append(sep);
+ builder.append(Boolean.toString(in.isVertical()));
+ builder.append(sep);
+ builder.append(Boolean.toString(in.isDrawFond()));
+ builder.append(sep);
+ builder.append(Integer.toString(in.getHMargin()));
+ builder.append(sep);
+ builder.append(Integer.toString(in.getVMargin()));
+ builder.append(sep);
+ builder.append(traceLigneModelToStringTransformer.toString(in.getTraceLigne().getModel()));
+ return builder.toString();
+ }
+
+ @Override
+ public boolean isValidSafe(String in) {
+ return fromString(in) != null;
+ }
+
+ @Override
+ public TraceBox fromStringSafe(String in) {
+ String[] split = FuLib.split(in, sep);
+ if (split.length != 9) {
+ return null;
+ }
+ try {
+ int idx = 0;
+ TraceBox res = new TraceBox();
+ res.setColorBoite(colorToStringTransformer.fromString(split[idx++]));
+ res.setColorFond(colorToStringTransformer.fromString(split[idx++]));
+ res.setColorText(colorToStringTransformer.fromString(split[idx++]));
+ res.setDrawBox(Boolean.parseBoolean(split[idx++]));
+ res.setVertical(Boolean.parseBoolean(split[idx++]));
+ res.setDrawFond(Boolean.parseBoolean(split[idx++]));
+ res.setHMargin(Integer.parseInt(split[idx++]));
+ res.setVMargin(Integer.parseInt(split[idx++]));
+ TraceLigneModel ligneModel = traceLigneModelToStringTransformer.fromString(split[idx++]);
+ if (ligneModel != null) {
+ res.getTraceLigne().setModel(ligneModel);
+ }
+ return res;
+ } catch (NumberFormatException numberFormatException) {
+ }
+ return null;
+ }
+}
Added: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceIconModelToStringTransformer.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceIconModelToStringTransformer.java (rev 0)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceIconModelToStringTransformer.java 2012-10-05 21:19:13 UTC (rev 7720)
@@ -0,0 +1,71 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ebli.converter;
+
+import com.memoire.fu.FuLib;
+import java.awt.Color;
+import org.fudaa.ctulu.converter.AbstractPropertyToStringTransformer;
+import org.fudaa.ctulu.converter.ColorToStringTransformer;
+import org.fudaa.ctulu.converter.PropertyToStringCacheDecorator;
+import org.fudaa.ebli.trace.TraceIconModel;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class TraceIconModelToStringTransformer extends AbstractPropertyToStringTransformer<TraceIconModel> {
+
+ AbstractPropertyToStringTransformer<Color> colorToStringTransformer;
+
+ public TraceIconModelToStringTransformer(ColorToStringTransformer toStringTransformer) {
+ this.colorToStringTransformer = toStringTransformer;
+ }
+
+ public TraceIconModelToStringTransformer() {
+ colorToStringTransformer = new PropertyToStringCacheDecorator<Color>(new ColorToStringTransformer());
+ }
+
+ @Override
+ public String toStringSafe(TraceIconModel in) {
+ final String string = ";";
+ return in.getType()
+ + string + in.getTaille()
+ + string + in.getTypeLigne()
+ + string + in.getEpaisseurLigne()
+ + string + colorToStringTransformer.toString(in.getCouleur())
+ + string + colorToStringTransformer.toString(in.getBackgroundColor())
+ + string + Boolean.toString(in.isBackgroundColorPainted());
+ }
+
+ @Override
+ public boolean isValidSafe(String in) {
+ return fromString(in) != null;
+ }
+
+ @Override
+ public TraceIconModel fromStringSafe(String in) {
+ String[] split = FuLib.split(in, ';');
+ if (split.length != 7) {
+ return null;
+ }
+ try {
+ int idx = 0;
+ int type = Integer.parseInt(split[idx++]);
+ int taille = Integer.parseInt(split[idx++]);
+ int typeLigne = Integer.parseInt(split[idx++]);
+ float epaisseur = Float.parseFloat(split[idx++]);
+ Color c = colorToStringTransformer.fromString(split[idx++]);
+ Color background = colorToStringTransformer.fromString(split[idx++]);
+ boolean backgroundPainted = Boolean.parseBoolean(split[idx++]);
+ final TraceIconModel traceIconModel = new TraceIconModel(type, taille, c);
+ traceIconModel.setBackgroundColor(background);
+ traceIconModel.setEpaisseurLigne(epaisseur);
+ traceIconModel.setTypeLigne(typeLigne);
+ traceIconModel.setBackgroundColorPainted(backgroundPainted);
+ return traceIconModel;
+ } catch (NumberFormatException numberFormatException) {
+ }
+ return null;
+ }
+}
Added: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceLigneModelToStringTransformer.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceLigneModelToStringTransformer.java (rev 0)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/converter/TraceLigneModelToStringTransformer.java 2012-10-05 21:19:13 UTC (rev 7720)
@@ -0,0 +1,55 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ebli.converter;
+
+import com.memoire.fu.FuLib;
+import java.awt.Color;
+import org.fudaa.ctulu.converter.AbstractPropertyToStringTransformer;
+import org.fudaa.ctulu.converter.ColorToStringTransformer;
+import org.fudaa.ctulu.converter.PropertyToStringCacheDecorator;
+import org.fudaa.ebli.trace.TraceLigneModel;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class TraceLigneModelToStringTransformer extends AbstractPropertyToStringTransformer<TraceLigneModel> {
+
+ AbstractPropertyToStringTransformer<Color> colorToStringTransformer;
+
+ public TraceLigneModelToStringTransformer(ColorToStringTransformer toStringTransformer) {
+ this.colorToStringTransformer = toStringTransformer;
+ }
+
+ public TraceLigneModelToStringTransformer() {
+ colorToStringTransformer = new PropertyToStringCacheDecorator<Color>(new ColorToStringTransformer());
+ }
+
+ @Override
+ public String toStringSafe(TraceLigneModel in) {
+ final String string = ";";
+ return in.getTypeTrait() + string + in.getEpaisseur() + string + colorToStringTransformer.toString(in.getCouleur());
+ }
+
+ @Override
+ public boolean isValidSafe(String in) {
+ return fromString(in) != null;
+ }
+
+ @Override
+ public TraceLigneModel fromStringSafe(String in) {
+ String[] split = FuLib.split(in, ';');
+ if (split.length != 3) {
+ return null;
+ }
+ try {
+ int type = Integer.parseInt(split[0]);
+ float epaisseur = Float.parseFloat(split[1]);
+ Color c = colorToStringTransformer.fromString(split[2]);
+ return new TraceLigneModel(type, epaisseur, c);
+ } catch (NumberFormatException numberFormatException) {
+ }
+ return null;
+ }
+}
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java 2012-10-05 20:23:48 UTC (rev 7719)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java 2012-10-05 21:19:13 UTC (rev 7720)
@@ -47,6 +47,59 @@
vMargin_ = 1;
}
+ @Override
+ public int hashCode() {
+ int hash = 3;
+ hash = 41 * hash + (this.colorFond_ != null ? this.colorFond_.hashCode() : 0);
+ hash = 41 * hash + (this.colorBoite_ != null ? this.colorBoite_.hashCode() : 0);
+ hash = 41 * hash + (this.colorText_ != null ? this.colorText_.hashCode() : 0);
+ hash = 41 * hash + (this.drawBox_ ? 1 : 0);
+ hash = 41 * hash + (this.vertical ? 1 : 0);
+ hash = 41 * hash + (this.drawFond_ ? 1 : 0);
+ hash = 41 * hash + this.hMargin_;
+ hash = 41 * hash + (this.traceLigne_ != null ? this.traceLigne_.hashCode() : 0);
+ hash = 41 * hash + this.vMargin_;
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final TraceBox other = (TraceBox) obj;
+ if (this.colorFond_ != other.colorFond_ && (this.colorFond_ == null || !this.colorFond_.equals(other.colorFond_))) {
+ return false;
+ }
+ if (this.colorBoite_ != other.colorBoite_ && (this.colorBoite_ == null || !this.colorBoite_.equals(other.colorBoite_))) {
+ return false;
+ }
+ if (this.colorText_ != other.colorText_ && (this.colorText_ == null || !this.colorText_.equals(other.colorText_))) {
+ return false;
+ }
+ if (this.drawBox_ != other.drawBox_) {
+ return false;
+ }
+ if (this.vertical != other.vertical) {
+ return false;
+ }
+ if (this.drawFond_ != other.drawFond_) {
+ return false;
+ }
+ if (this.hMargin_ != other.hMargin_) {
+ return false;
+ }
+ if (this.vMargin_ != other.vMargin_) {
+ return false;
+ }
+ final TraceLigneModel model = traceLigne_.getModel();
+ final TraceLigneModel otherModel = other.traceLigne_.getModel();
+ return model == otherModel || (model != null && model.equals(otherModel));
+ }
+
public Color getColorFond() {
if (colorFond_ == null) {
colorFond_ = Color.yellow;
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceIconModel.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceIconModel.java 2012-10-05 20:23:48 UTC (rev 7719)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceIconModel.java 2012-10-05 21:19:13 UTC (rev 7720)
@@ -61,11 +61,12 @@
if (_obj instanceof TraceIconModel) {
TraceIconModel other = (TraceIconModel) _obj;
return taille_ == other.taille_
- && typeLigne_ == other.typeLigne_
- && type_ == other.type_
- && CtuluLib.isEquals(couleur_, other.couleur_)
- && backgroundColorPainted == other.backgroundColorPainted
- && CtuluLib.isEquals(backgroundColor, other.backgroundColor);
+ && typeLigne_ == other.typeLigne_
+ && epaisseurLigne_ == other.epaisseurLigne_
+ && type_ == other.type_
+ && CtuluLib.isEquals(couleur_, other.couleur_)
+ && backgroundColorPainted == other.backgroundColorPainted
+ && CtuluLib.isEquals(backgroundColor, other.backgroundColor);
}
return false;
@@ -143,6 +144,10 @@
return type_;
}
+ public int getTypeLigne() {
+ return typeLigne_;
+ }
+
public boolean isColorIgnored() {
return couleur_ == null;
}
Added: trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceBoxToStringTransformerTest.java
===================================================================
--- trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceBoxToStringTransformerTest.java (rev 0)
+++ trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceBoxToStringTransformerTest.java 2012-10-05 21:19:13 UTC (rev 7720)
@@ -0,0 +1,34 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ebli.converter;
+
+import java.awt.Color;
+import junit.framework.TestCase;
+import org.fudaa.ebli.trace.TraceBox;
+import org.fudaa.ebli.trace.TraceLigne;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class TraceBoxToStringTransformerTest extends TestCase {
+
+ public void testToString() {
+ TraceBoxToStringTransformer toStringTransformer = new TraceBoxToStringTransformer();
+ TraceBox box = new TraceBox();
+ box.setVertical(true);
+ box.setDrawBox(false);
+ box.setDrawFond(true);
+ box.setColorBoite(Color.RED);
+ box.setColorText(Color.CYAN);
+ box.setColorFond(Color.GRAY);
+ box.setHMargin(4);
+ box.setVMargin(1);
+ box.setTraceLigne(new TraceLigne(6, 3, Color.LIGHT_GRAY));
+ String toString = toStringTransformer.toString(box);
+ assertTrue(toStringTransformer.isValid(toString));
+ TraceBox read = toStringTransformer.fromString(toString);
+ assertEquals(read, box);
+ }
+}
Added: trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceIconModelToStringTransformerTest.java
===================================================================
--- trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceIconModelToStringTransformerTest.java (rev 0)
+++ trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceIconModelToStringTransformerTest.java 2012-10-05 21:19:13 UTC (rev 7720)
@@ -0,0 +1,39 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ebli.converter;
+
+import java.awt.Color;
+import junit.framework.TestCase;
+import org.fudaa.ebli.trace.TraceIconModel;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class TraceIconModelToStringTransformerTest extends TestCase {
+
+ public void testToStringNullBackground() {
+ TraceIconModelToStringTransformer toStringTransformer = new TraceIconModelToStringTransformer();
+ TraceIconModel model = new TraceIconModel(2, 4, Color.RED);
+ String toString = toStringTransformer.toString(model);
+ assertTrue(toStringTransformer.isValid(toString));
+ TraceIconModel read = toStringTransformer.fromString(toString);
+ assertNull(read.getBackgroundColor());
+ assertTrue(read.equals(model));
+ }
+
+ public void testToStringNotNullBackground() {
+ TraceIconModelToStringTransformer toStringTransformer = new TraceIconModelToStringTransformer();
+ final Color color = Color.RED;
+ final Color backgroundColor = Color.GREEN;
+ TraceIconModel model = new TraceIconModel(5, 8, color);
+ model.setTypeLigne(10);
+ model.setEpaisseurLigne(50);
+ model.setBackgroundColor(backgroundColor);
+ String toString = toStringTransformer.toString(model);
+ assertTrue(toStringTransformer.isValid(toString));
+ TraceIconModel read = toStringTransformer.fromString(toString);
+ assertTrue(read.equals(model));
+ }
+}
Added: trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceLigneModelToStringTransformerTest.java
===================================================================
--- trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceLigneModelToStringTransformerTest.java (rev 0)
+++ trunk/framework/ebli-common/src/test/java/org/fudaa/ebli/converter/TraceLigneModelToStringTransformerTest.java 2012-10-05 21:19:13 UTC (rev 7720)
@@ -0,0 +1,25 @@
+/*
+ GPL 2
+ */
+package org.fudaa.ebli.converter;
+
+import java.awt.Color;
+import junit.framework.TestCase;
+import org.fudaa.ebli.trace.TraceLigneModel;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class TraceLigneModelToStringTransformerTest extends TestCase {
+
+ public void testToString() {
+ TraceLigneModelToStringTransformer toStringTransformer = new TraceLigneModelToStringTransformer();
+ TraceLigneModel model = new TraceLigneModel(2, 4, Color.RED);
+ String toString = toStringTransformer.toString(model);
+ assertTrue(toStringTransformer.isValid(toString));
+ TraceLigneModel read = toStringTransformer.fromString(toString);
+ assertTrue(model.equals(read));
+
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|