Revision 37734

View differences:

tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/ExtentHistoryTest.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2009 {}  {{Task}}
26
 */
27
package org.gvsig.fmap.mapcontext;
28

  
29
import java.awt.Rectangle;
30
import java.awt.geom.Rectangle2D;
31

  
32
import junit.framework.TestCase;
33

  
34
/**
35
 * Unit tests for the class {@link ExtentHistory}.
36
 * 
37
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
38
 */
39
public class ExtentHistoryTest extends TestCase {
40

  
41
	protected void setUp() throws Exception {
42
		super.setUp();
43
	}
44

  
45
	/**
46
	 * Test method for
47
	 * {@link org.gvsig.fmap.mapcontext.ExtentHistory#put(java.awt.geom.Rectangle2D)}
48
	 * .
49
	 */
50
	public void testPut() {
51
		ExtentHistory history = new ExtentHistory();
52

  
53
		Rectangle2D rectangle = new Rectangle2D.Double(1, 1, 2, 2);
54
		Rectangle2D rectangle2 = new Rectangle2D.Double(2, 2, 3, 3);
55
		Rectangle2D rectangle3 = new Rectangle2D.Double(3, 3, 4, 4);
56
		history.put(rectangle3);
57
		history.put(rectangle2);
58
		history.put(rectangle);
59

  
60
		assertEquals(rectangle, history.get());
61

  
62
		history = new ExtentHistory(2);
63

  
64
		history.put(rectangle);
65
		history.put(rectangle2);
66
		history.put(rectangle3);
67

  
68
		assertEquals(rectangle3, history.get());
69
	}
70

  
71
	/**
72
	 * Test method for
73
	 * {@link org.gvsig.fmap.mapcontext.ExtentHistory#hasPrevious()}.
74
	 */
75
	public void testHasPrevious() {
76
		ExtentHistory history = new ExtentHistory();
77

  
78
		assertFalse(history.hasPrevious());
79

  
80
		Rectangle2D rectangle = new Rectangle2D.Double(1, 1, 2, 2);
81
		history.put(rectangle);
82

  
83
		assertTrue(history.hasPrevious());
84

  
85
		history.removePrev();
86
		assertFalse(history.hasPrevious());
87
	}
88

  
89
	/**
90
	 * Test method for {@link org.gvsig.fmap.mapcontext.ExtentHistory#get()}.
91
	 */
92
	public void testGet() {
93
		ExtentHistory history = new ExtentHistory();
94

  
95
		assertNull("The ExtentHistory has got an element without adding one",
96
				history.get());
97

  
98
		Rectangle2D rectangle = new Rectangle2D.Double(1, 1, 2, 2);
99
		Rectangle2D rectangle2 = new Rectangle2D.Double(2, 2, 3, 3);
100

  
101
		history.put(rectangle);
102
		assertEquals(rectangle, history.get());
103

  
104
		history.put(rectangle2);
105
		assertEquals(rectangle2, history.get());
106

  
107
		history.removePrev();
108
		assertEquals(rectangle, history.get());
109

  
110
		history.removePrev();
111
		assertNull("The ExtentHistory has got an element, "
112
				+ "but all have been previously removed", history.get());
113
	}
114

  
115
	/**
116
	 * Test method for
117
	 * {@link org.gvsig.fmap.mapcontext.ExtentHistory#removePrev()}.
118
	 */
119
	public void testRemovePrev() {
120
		ExtentHistory history = new ExtentHistory();
121

  
122
		assertNull(
123
				"The ExtentHistory allows removing an element without adding "
124
						+ "at least one", history.removePrev());
125

  
126
		Rectangle2D rectangle = new Rectangle2D.Double(1, 1, 2, 2);
127
		Rectangle2D rectangle2 = new Rectangle2D.Double(2, 2, 3, 3);
128

  
129
		history.put(rectangle);
130
		history.put(rectangle2);
131

  
132
		history.removePrev();
133
		assertEquals(rectangle, history.get());
134

  
135
		history.removePrev();
136
		assertNull("The ExtentHistory allows to remove the last element, "
137
				+ "but all have been previously removed", history.removePrev());
138
	}
139
}
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/rendering/symbol/DummyVectorLegend.java
1
package org.gvsig.fmap.mapcontext.rendering.symbol;
2

  
3
import java.awt.Color;
4
import java.awt.Graphics2D;
5
import java.awt.image.BufferedImage;
6
import java.util.Iterator;
7
import java.util.Map;
8

  
9
import org.cresques.cts.ICoordTrans;
10

  
11
import org.gvsig.compat.print.PrintAttributes;
12
import org.gvsig.fmap.dal.exception.DataException;
13
import org.gvsig.fmap.dal.feature.Feature;
14
import org.gvsig.fmap.dal.feature.FeatureQuery;
15
import org.gvsig.fmap.dal.feature.FeatureSet;
16
import org.gvsig.fmap.dal.feature.FeatureStore;
17
import org.gvsig.fmap.geom.Geometry.TYPES;
18
import org.gvsig.fmap.mapcontext.ViewPort;
19
import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
20
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
21
import org.gvsig.fmap.mapcontext.rendering.legend.LegendException;
22
import org.gvsig.fmap.mapcontext.rendering.legend.events.LegendContentsChangedListener;
23
import org.gvsig.fmap.mapcontext.rendering.legend.events.SymbolLegendEvent;
24
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
25
import org.gvsig.tools.ToolsLocator;
26
import org.gvsig.tools.dynobject.DynStruct;
27
import org.gvsig.tools.evaluator.Evaluator;
28
import org.gvsig.tools.observer.Observer;
29
import org.gvsig.tools.persistence.PersistenceManager;
30
import org.gvsig.tools.persistence.PersistentState;
31
import org.gvsig.tools.persistence.exception.PersistenceException;
32
import org.gvsig.tools.task.Cancellable;
33

  
34
public class DummyVectorLegend implements IVectorLegend {
35

  
36
    private long shpType = -1;
37

  
38
    private ISymbol sym = new DummySymbol(Color.RED, TYPES.SOLID);
39

  
40
    public DummyVectorLegend() {
41
        shpType = System.currentTimeMillis() % 1000000;
42
    }
43

  
44
    public DummyVectorLegend(int type) {
45
        shpType = type; // System.currentTimeMillis() % 1000000;
46
    }
47

  
48
    public void draw(BufferedImage image, Graphics2D graphics2D,
49
        ViewPort viewPort, Cancellable cancel, double scale,
50
        Map queryParameters, ICoordTrans coordTrans,
51
        FeatureStore featureStore, FeatureQuery featureQuery) throws LegendException {
52

  
53
    }
54
    public void draw(BufferedImage image, Graphics2D graphics2D,
55
        ViewPort viewPort, Cancellable cancel, double scale,
56
        Map queryParameters, ICoordTrans coordTrans,
57
        FeatureStore featureStore) throws LegendException {
58

  
59
        try {
60
            FeatureSet fs = featureStore.getFeatureSet();
61
            Iterator iter = fs.iterator();
62
            Feature feat = null;
63
            ISymbol symb = null;
64
            while (iter.hasNext()) {
65
                feat = (Feature) iter.next();
66
                symb = this.getSymbolByFeature(feat);
67
                symb.draw(graphics2D, viewPort.getAffineTransform(), feat.getDefaultGeometry(), feat, null);
68
            }
69
        } catch (DataException e) {
70
            // TODO Auto-generated catch block
71
            e.printStackTrace();
72
        }
73
        // TODO Auto-generated method stub
74

  
75
    }
76

  
77
    public int getShapeType() {
78
        // TODO Auto-generated method stub
79
        return (int) shpType;
80
    }
81

  
82
    public ISymbol getSymbolByFeature(Feature feat) {
83
        return sym;
84
    }
85

  
86
    public boolean isSuitableForShapeType(int shapeType) {
87
        return sym.getSymbolType() == shapeType;
88
    }
89

  
90
    public boolean isUseDefaultSymbol() {
91
        return true;
92
    }
93

  
94
    public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,
95
        double scale, Object object, ICoordTrans coordTrans,
96
        FeatureStore featureStore, Evaluator evaluator, PrintAttributes properties)
97
    throws LegendException {
98
        // TODO Auto-generated method stub
99

  
100
    }
101

  
102
    public void setDefaultSymbol(ISymbol s) throws IllegalArgumentException {
103
        sym = s;
104
    }
105

  
106
    public void setShapeType(int shapeType) {
107
        shpType = shapeType;
108
    }
109

  
110
    public void useDefaultSymbol(boolean b) {
111
    }
112

  
113
    public void addLegendListener(LegendContentsChangedListener listener) {
114
        // TODO Auto-generated method stub
115

  
116
    }
117

  
118
    public ILegend cloneLegend() {
119
        // TODO Auto-generated method stub
120
        return null;
121
    }
122

  
123
    public void fireDefaultSymbolChangedEvent(SymbolLegendEvent event) {
124
        // TODO Auto-generated method stub
125

  
126
    }
127

  
128
    public ISymbol getDefaultSymbol() {
129
        return sym;
130
    }
131

  
132
    public LegendContentsChangedListener[] getListeners() {
133
        // TODO Auto-generated method stub
134
        return null;
135
    }
136

  
137
    public void removeLegendListener(LegendContentsChangedListener listener) {
138
        // TODO Auto-generated method stub
139

  
140
    }
141

  
142
    public String getClassName() {
143
        return this.getClass().getName();
144
    }
145

  
146

  
147

  
148

  
149
    public void addDrawingObserver(Observer observer) {
150
        // TODO Auto-generated method stub
151

  
152
    }
153

  
154
    public void deleteDrawingObserver(Observer observer) {
155
        // TODO Auto-generated method stub
156

  
157
    }
158

  
159
    public void deleteDrawingObservers() {
160
        // TODO Auto-generated method stub
161

  
162
    }
163

  
164
    public void loadFromState(PersistentState state) throws PersistenceException {
165
        shpType = state.getLong("shpType");
166
    }
167

  
168

  
169
    public void saveToState(PersistentState state) throws PersistenceException {
170
        state.set("shpType", shpType);
171
    }
172

  
173
    public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,
174
        double scale, Map queryParameters, ICoordTrans coordTrans,
175
        FeatureStore featureStore, FeatureQuery featureQuery, PrintAttributes properties)
176
    throws LegendException {
177
        // TODO Auto-generated method stub
178

  
179
    }
180

  
181
    public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,
182
        double scale, Map queryParameters, ICoordTrans coordTrans,
183
        FeatureStore featureStore, PrintAttributes properties)
184
    throws LegendException {
185
        // TODO Auto-generated method stub
186

  
187
    }
188

  
189
    public static void registerPersistent() {
190
        PersistenceManager manager = ToolsLocator.getPersistenceManager();
191
        DynStruct definition = manager.addDefinition(
192
            DummyVectorLegend.class,
193
            "DummyVectorLegend",
194
            "DummyVectorLegend Persistence definition",
195
            null, 
196
            null
197
        );
198
        definition.addDynFieldLong("shpType")
199
        .setMandatory(true);
200
    }
201

  
202

  
203
    public Object clone() throws CloneNotSupportedException {
204
        return super.clone();
205
    }
206

  
207

  
208
}
0 209

  
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/rendering/symbol/DummySymbol.java
1
package org.gvsig.fmap.mapcontext.rendering.symbol;
2

  
3
import java.awt.Color;
4
import java.awt.Graphics2D;
5
import java.awt.Rectangle;
6
import java.awt.geom.AffineTransform;
7
import java.awt.geom.PathIterator;
8
import java.util.ArrayList;
9

  
10
import org.gvsig.compat.print.PrintAttributes;
11
import org.gvsig.fmap.dal.feature.Feature;
12
import org.gvsig.fmap.geom.Geometry;
13
import org.gvsig.fmap.geom.Geometry.TYPES;
14
import org.gvsig.fmap.geom.primitive.Point;
15
import org.gvsig.fmap.mapcontext.ViewPort;
16
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
17
import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolDrawingException;
18
import org.gvsig.tools.persistence.PersistentState;
19
import org.gvsig.tools.persistence.exception.PersistenceException;
20
import org.gvsig.tools.task.Cancellable;
21

  
22
public class DummySymbol implements ISymbol {
23

  
24
	private Color color = Color.GREEN;
25
	private int type = TYPES.SOLID;
26
	
27
	public DummySymbol(Color c, int geomtype) {
28
		color = c;
29
		type = geomtype;
30
	}
31
	
32
	public Object clone() {
33
		return null;
34
	}
35
	
36
	public void draw(Graphics2D g, AffineTransform affineTransform,
37
			Geometry geom, Feature f, Cancellable cancel) {
38
		
39
		g.setColor(color);
40
		
41
		if (geom instanceof Point) {
42
			Point p = (Point) geom;
43
			p.transform(affineTransform);
44
			g.drawRect((int) p.getX(), (int) p.getY(), 3, 3);
45
		} else {
46
			PathIterator piter = geom.getPathIterator(affineTransform); 
47
			drawPathIterator(g, piter);
48
		}
49
	}
50

  
51
	public void drawInsideRectangle(Graphics2D g,
52
			AffineTransform scaleInstance, Rectangle r,
53
			PrintAttributes properties) throws SymbolDrawingException {
54
		// TODO Auto-generated method stub
55

  
56
	}
57

  
58
	public Color getColor() {
59
		return color;
60
	}
61

  
62
	public String getDescription() {
63
		return "a dummy symbol";
64
	}
65

  
66
	public int getOnePointRgb() {
67
		return color.getRGB();
68
	}
69

  
70
	public void getPixExtentPlus(Geometry geom, float[] distances,
71
			ViewPort viewPort, int dpi) {
72
		// TODO Auto-generated method stub
73

  
74
	}
75

  
76
	public ISymbol getSymbolForSelection() {
77
		return new DummySymbol(Color.YELLOW, type);
78
	}
79

  
80
	public int getSymbolType() {
81
		return type;
82
	}
83

  
84
	public boolean isOneDotOrPixel(Geometry geom,
85
			double[] positionOfDotOrPixel, ViewPort viewPort, int dpi) {
86
		// TODO Auto-generated method stub
87
		return false;
88
	}
89

  
90
	public boolean isShapeVisible() {
91
		return true;
92
	}
93

  
94
	public boolean isSuitableFor(Geometry geom) {
95
		return type == geom.getType();
96
	}
97

  
98
	public void setColor(Color c) {
99
		color = c;
100
	}
101

  
102
	public void setDescription(String desc) {
103
	}
104

  
105
	public void loadFromState(PersistentState state)
106
			throws PersistenceException {
107
	}
108

  
109
	public void saveToState(PersistentState state) throws PersistenceException {
110
	}
111

  
112
	public void print(Graphics2D g, AffineTransform at, Geometry shape,
113
			PrintAttributes properties) {
114
	}
115
	
116
	
117
	
118
	/**
119
	 * Draws the general path on the graphics object with the given affine transformation
120
	 * @param g the graphics object
121
	 * @param gp the general path
122
	 */
123
	public static void drawPathIterator(Graphics2D g, PathIterator pit) {
124
		
125
		ArrayList x = new ArrayList();
126
		ArrayList y = new ArrayList();
127
		double[] current = new double[6];
128
		
129
		while (!pit.isDone()) {
130
			pit.currentSegment(current);
131
			x.add(new Integer((int) current[0]));
132
			y.add(new Integer((int) current[1]));
133
			pit.next();
134
		}
135
		
136
		int[] gx = integerArrayListToIntArray(x);
137
		int[] gy = integerArrayListToIntArray(y);
138

  
139
		g.drawPolyline(gx, gy, gx.length);
140
	}
141
	
142
	
143
	/**
144
	 * Converts array list of Integer objects into array of int
145
	 * @param l
146
	 * @return array of int
147
	 */
148
	public static int[] integerArrayListToIntArray(ArrayList l) {
149

  
150
		int size = l.size();
151
		int[] resp = new int[size];
152
		for (int i=0; i<size; i++) {
153
			resp[i] = ((Integer) l.get(i)).intValue();
154
		}
155
		return resp;
156
	}
157

  
158
}
0 159

  
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/tools/persistence/Rectangle2DPersistenceFactoryTest.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Gobernment (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2009 {}  {{Task}}
26
 */
27
package org.gvsig.fmap.mapcontext.tools.persistence;
28

  
29
import java.awt.geom.Rectangle2D;
30

  
31
import org.easymock.MockControl;
32
import org.gvsig.tools.ToolsLocator;
33
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
34
import org.gvsig.tools.persistence.PersistenceManager;
35
import org.gvsig.tools.persistence.PersistentState;
36

  
37
/**
38
 * Unit tests for the class {@link Rectangle2DPersistenceFactory}.
39
 * 
40
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
41
 */
42
public class Rectangle2DPersistenceFactoryTest extends
43
		AbstractLibraryAutoInitTestCase {
44

  
45
	private Rectangle2DPersistenceFactory factory;
46
	private MockControl stateControl;
47
	private PersistentState state;
48
	private Rectangle2D rectangle;
49

  
50
	protected void doSetUp() throws Exception {
51
		PersistenceManager persistenceManager = ToolsLocator
52
				.getPersistenceManager();
53
		factory = (Rectangle2DPersistenceFactory) persistenceManager
54
				.getFactories().get(Rectangle2D.class);
55
		stateControl = MockControl.createNiceControl(PersistentState.class);
56
		state = (PersistentState) stateControl.getMock();
57
		double x = Math.random() * 1000d;
58
		double y = Math.random() * 1000d;
59
		rectangle = new Rectangle2D.Double(x, y, 320, 200);
60
	}
61

  
62
	/**
63
	 * Test method for
64
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.Rectangle2DPersistenceFactory#createFromState(PersistentState, Class)}
65
	 * .
66
	 */
67
	public void testCreateFromState() throws Exception {
68
		stateControl.expectAndReturn(state
69
				.getDouble(Rectangle2DPersistenceFactory.FIELD_X), rectangle
70
				.getX());
71
		stateControl.expectAndReturn(state
72
				.getDouble(Rectangle2DPersistenceFactory.FIELD_Y), rectangle
73
				.getY());
74
		stateControl.expectAndReturn(state
75
				.getDouble(Rectangle2DPersistenceFactory.FIELD_WIDTH),
76
				rectangle.getWidth());
77
		stateControl.expectAndReturn(state
78
				.getDouble(Rectangle2DPersistenceFactory.FIELD_HEIGHT),
79
				rectangle.getHeight());
80
		stateControl.replay();
81

  
82
		Rectangle2D newRectangle = (Rectangle2D) factory.createFromState(state);
83

  
84
		System.out.println("Orig x = " + rectangle.getX() + " - New x = "
85
				+ newRectangle.getX());
86
		assertEquals(rectangle.getX(), newRectangle.getX(), 0.0d);
87
		System.out.println("Orig y = " + rectangle.getY() + " - New y = "
88
				+ newRectangle.getY());
89
		assertEquals(rectangle.getY(), newRectangle.getY(), 0.0d);
90
		System.out.println("Orig width = " + rectangle.getWidth()
91
				+ " - New width = " + newRectangle.getWidth());
92
		assertEquals(rectangle.getWidth(), newRectangle.getWidth(), 0.0d);
93
		System.out.println("Orig height = " + rectangle.getHeight()
94
				+ " - New height = " + newRectangle.getHeight());
95
		assertEquals(rectangle.getHeight(), newRectangle.getHeight(), 0.0d);
96

  
97
		assertTrue(newRectangle.equals(rectangle));
98

  
99
		stateControl.verify();
100
	}
101

  
102
	/**
103
	 * Test method for
104
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.Rectangle2DPersistenceFactory#saveToState(org.gvsig.tools.persistence.PersistentState, java.lang.Object)}
105
	 * .
106
	 */
107
	public void testSaveToState() throws Exception {
108
		state.set(Rectangle2DPersistenceFactory.FIELD_X, rectangle.getX());
109
		state.set(Rectangle2DPersistenceFactory.FIELD_Y, rectangle.getY());
110
		state.set(Rectangle2DPersistenceFactory.FIELD_WIDTH, rectangle
111
				.getWidth());
112
		state.set(Rectangle2DPersistenceFactory.FIELD_HEIGHT, rectangle
113
				.getHeight());
114
		stateControl.replay();
115

  
116
		factory.saveToState(state, rectangle);
117

  
118
		stateControl.verify();
119
	}
120
}
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/tools/persistence/ColorPersistenceFactoryTest.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Gobernment (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2009 {}  {{Task}}
26
 */
27
package org.gvsig.fmap.mapcontext.tools.persistence;
28

  
29
import java.awt.Color;
30

  
31
import org.easymock.MockControl;
32
import org.gvsig.tools.ToolsLocator;
33
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
34
import org.gvsig.tools.persistence.PersistenceManager;
35
import org.gvsig.tools.persistence.PersistentState;
36

  
37
/**
38
 * Unit tests for the class {@link ColorPersistenceFactory}.
39
 * 
40
 * @author gvSIG team
41
 */
42
public class ColorPersistenceFactoryTest extends
43
		AbstractLibraryAutoInitTestCase {
44

  
45
	private ColorPersistenceFactory factory;
46
	private MockControl stateControl;
47
	private PersistentState state;
48
	private Color color;
49

  
50
	protected void doSetUp() throws Exception {
51
		PersistenceManager persistenceManager = ToolsLocator
52
				.getPersistenceManager();
53
		factory = (ColorPersistenceFactory) persistenceManager.getFactories()
54
				.get(Color.class);
55
		stateControl = MockControl.createNiceControl(PersistentState.class);
56
		state = (PersistentState) stateControl.getMock();
57
		color = Color.magenta;
58
	}
59

  
60
	/**
61
	 * Test method for
62
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.ColorPersistenceFactory#createFromState(org.gvsig.tools.persistence.PersistentState, java.lang.Class)}
63
	 * .
64
	 */
65
	public void testCreateFromState() throws Exception {
66
		stateControl.expectAndReturn(state
67
				.getInt(ColorPersistenceFactory.FIELD_RED), color.getRed());
68
		stateControl.expectAndReturn(state
69
				.getInt(ColorPersistenceFactory.FIELD_GREEN), color.getGreen());
70
		stateControl.expectAndReturn(state
71
				.getInt(ColorPersistenceFactory.FIELD_BLUE), color.getBlue());
72
		stateControl.expectAndReturn(state
73
				.getInt(ColorPersistenceFactory.FIELD_ALPHA), color.getAlpha());
74
		stateControl.replay();
75

  
76
		Color newColor = (Color) factory.createFromState(state);
77
		assertTrue(newColor.equals(color));
78

  
79
		stateControl.verify();
80
	}
81

  
82
	/**
83
	 * Test method for
84
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.ColorPersistenceFactory#saveToState(org.gvsig.tools.persistence.PersistentState, java.lang.Object)}
85
	 * .
86
	 */
87
	public void testSaveToState() throws Exception {
88
		state.set(ColorPersistenceFactory.FIELD_RED, color.getRed());
89
		state.set(ColorPersistenceFactory.FIELD_GREEN, color.getGreen());
90
		state.set(ColorPersistenceFactory.FIELD_BLUE, color.getBlue());
91
		state.set(ColorPersistenceFactory.FIELD_ALPHA, color.getAlpha());
92
		stateControl.replay();
93

  
94
		factory.saveToState(state, color);
95

  
96
		stateControl.verify();
97
	}
98

  
99
}
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/tools/persistence/Point2DPersistenceFactoryTest.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Gobernment (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2009 {}  {{Task}}
26
 */
27
package org.gvsig.fmap.mapcontext.tools.persistence;
28

  
29
import java.awt.geom.Point2D;
30

  
31
import org.easymock.MockControl;
32
import org.gvsig.tools.ToolsLocator;
33
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
34
import org.gvsig.tools.persistence.PersistenceManager;
35
import org.gvsig.tools.persistence.PersistentState;
36

  
37
/**
38
 * Unit tests for the class {@link Point2DPersistenceFactory}.
39
 * 
40
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
41
 */
42
public class Point2DPersistenceFactoryTest extends
43
		AbstractLibraryAutoInitTestCase {
44

  
45
	private Point2DPersistenceFactory factory;
46
	private MockControl stateControl;
47
	private PersistentState state;
48
	private Point2D point;
49

  
50
	protected void doSetUp() throws Exception {
51
		PersistenceManager persistenceManager = ToolsLocator
52
				.getPersistenceManager();
53
		factory = (Point2DPersistenceFactory) persistenceManager.getFactories()
54
				.get(Point2D.class);
55
		stateControl = MockControl.createNiceControl(PersistentState.class);
56
		state = (PersistentState) stateControl.getMock();
57
		double x = Math.random() * 1000d;
58
		double y = Math.random() * 1000d;
59
		point = new Point2D.Double(x, y);
60
	}
61

  
62
	/**
63
	 * Test method for
64
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.Point2DPersistenceFactory#createFromState(PersistentState, Class)}
65
	 * .
66
	 */
67
	public void testCreateFromState() throws Exception {
68
		stateControl.expectAndReturn(state
69
				.getDouble(Point2DPersistenceFactory.FIELD_X), point.getX());
70
		stateControl.expectAndReturn(state
71
				.getDouble(Point2DPersistenceFactory.FIELD_Y), point.getY());
72
		stateControl.replay();
73

  
74
		Point2D newPoint = (Point2D) factory.createFromState(state);
75
		assertTrue(newPoint.equals(point));
76

  
77
		stateControl.verify();
78
	}
79

  
80
	/**
81
	 * Test method for
82
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.Point2DPersistenceFactory#saveToState(org.gvsig.tools.persistence.PersistentState, java.lang.Object)}
83
	 * .
84
	 */
85
	public void testSaveToState() throws Exception {
86
		state.set(Point2DPersistenceFactory.FIELD_X, point.getX());
87
		state.set(Point2DPersistenceFactory.FIELD_Y, point.getY());
88
		stateControl.replay();
89

  
90
		factory.saveToState(state, point);
91

  
92
		stateControl.verify();
93
	}
94
}
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/tools/persistence/DimensionPersistenceFactoryTest.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Gobernment (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2009 {}  {{Task}}
26
 */
27
package org.gvsig.fmap.mapcontext.tools.persistence;
28

  
29
import java.awt.Dimension;
30

  
31
import org.easymock.MockControl;
32

  
33
import org.gvsig.tools.ToolsLocator;
34
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
35
import org.gvsig.tools.persistence.PersistenceManager;
36
import org.gvsig.tools.persistence.PersistentState;
37

  
38
/**
39
 * Unit tests for the class {@link DimensionPersistenceFactory}.
40
 * 
41
 * @author gvSIG team
42
 */
43
public class DimensionPersistenceFactoryTest extends
44
		AbstractLibraryAutoInitTestCase {
45

  
46
	private DimensionPersistenceFactory factory;
47
	private MockControl stateControl;
48
	private PersistentState state;
49
	private Dimension dimension;
50

  
51
	protected void doSetUp() throws Exception {
52
		PersistenceManager persistenceManager = ToolsLocator
53
				.getPersistenceManager();
54
		factory = (DimensionPersistenceFactory) persistenceManager
55
				.getFactories().get(Dimension.class);
56
		stateControl = MockControl.createNiceControl(PersistentState.class);
57
		state = (PersistentState) stateControl.getMock();
58
		dimension = new Dimension(320, 200);
59
	}
60

  
61
	/**
62
	 * Test method for
63
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.DimensionPersistenceFactory#createFromState(org.gvsig.tools.persistence.PersistentState, java.lang.Class)}
64
	 * .
65
	 */
66
	public void testCreateFromState() throws Exception {
67
		stateControl.expectAndReturn(state
68
				.getInt(DimensionPersistenceFactory.FIELD_WIDTH), dimension.width);			
69
		stateControl.expectAndReturn(state
70
				.getInt(DimensionPersistenceFactory.FIELD_HEIGHT), dimension.height);				
71
		stateControl.replay();
72

  
73
		Dimension newDimension = (Dimension) factory.createFromState(state);
74
		assertTrue(newDimension.equals(dimension));
75

  
76
		stateControl.verify();
77
	}
78

  
79
	/**
80
	 * Test method for
81
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.DimensionPersistenceFactory#saveToState(org.gvsig.tools.persistence.PersistentState, java.lang.Object)}
82
	 * .
83
	 */
84
	public void testSaveToState() throws Exception {
85
		state.set(DimensionPersistenceFactory.FIELD_WIDTH, dimension.width);
86
		state.set(DimensionPersistenceFactory.FIELD_HEIGHT, dimension.height);
87
				
88
		stateControl.replay();
89

  
90
		factory.saveToState(state, dimension);
91

  
92
		stateControl.verify();
93
	}
94

  
95
}
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/tools/persistence/FontPersistenceFactoryTest.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Gobernment (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2009 {}  {{Task}}
26
 */
27
package org.gvsig.fmap.mapcontext.tools.persistence;
28

  
29
import java.awt.Font;
30

  
31
import org.easymock.MockControl;
32
import org.gvsig.tools.ToolsLocator;
33
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
34
import org.gvsig.tools.persistence.PersistenceManager;
35
import org.gvsig.tools.persistence.PersistentState;
36

  
37
/**
38
 * Unit tests for the class {@link FontPersistenceFactory}.
39
 * 
40
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
41
 */
42
public class FontPersistenceFactoryTest extends AbstractLibraryAutoInitTestCase {
43

  
44
	private FontPersistenceFactory factory;
45
	private MockControl stateControl;
46
	private PersistentState state;
47
	private Font font;
48

  
49
	protected void doSetUp() throws Exception {
50
		PersistenceManager persistenceManager = ToolsLocator
51
				.getPersistenceManager();
52
		factory = (FontPersistenceFactory) persistenceManager.getFactories()
53
				.get(Font.class);
54
		stateControl = MockControl.createNiceControl(PersistentState.class);
55
		state = (PersistentState) stateControl.getMock();
56
		font = new Font("Arial", Font.BOLD, 18);
57
	}
58

  
59
	/**
60
	 * Test method for
61
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.FontPersistenceFactory#createFromState(org.gvsig.tools.persistence.PersistentState, java.lang.Class)}
62
	 * .
63
	 */
64
	public void testCreateFromState() throws Exception {
65
		stateControl.expectAndReturn(state
66
				.getString(FontPersistenceFactory.FIELD_NAME), font.getName());
67
		stateControl.expectAndReturn(state
68
				.getInt(FontPersistenceFactory.FIELD_STYLE), font.getStyle());
69
		stateControl.expectAndReturn(state
70
				.getInt(FontPersistenceFactory.FIELD_SIZE), font.getSize());
71
		stateControl.replay();
72

  
73
		Font newFont = (Font) factory.createFromState(state);
74
		assertTrue(newFont.equals(font));
75

  
76
		stateControl.verify();
77
	}
78

  
79
	/**
80
	 * Test method for
81
	 * {@link org.gvsig.fmap.mapcontext.tools.persistence.FontPersistenceFactory#saveToState(org.gvsig.tools.persistence.PersistentState, java.lang.Object)}
82
	 * .
83
	 */
84
	public void testSaveToState() throws Exception {
85
		state.set(FontPersistenceFactory.FIELD_NAME, font.getName());
86
		state.set(FontPersistenceFactory.FIELD_STYLE, font.getStyle());
87
		state.set(FontPersistenceFactory.FIELD_SIZE, font.getSize());
88
		stateControl.replay();
89

  
90
		factory.saveToState(state, font);
91

  
92
		stateControl.verify();
93
	}
94

  
95
}
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/impl/DefaultMapContextManagerTest.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2009 {DiSiD Technologies}  {{Task}}
26
 */
27
package org.gvsig.fmap.mapcontext.impl;
28

  
29
import java.awt.Graphics2D;
30
import java.awt.image.BufferedImage;
31
import java.util.Map;
32

  
33
import org.cresques.cts.ICoordTrans;
34

  
35
import org.gvsig.compat.print.PrintAttributes;
36
import org.gvsig.fmap.crs.CRSFactory;
37
import org.gvsig.fmap.dal.exception.ReadException;
38
import org.gvsig.fmap.dal.feature.Feature;
39
import org.gvsig.fmap.dal.feature.FeatureQuery;
40
import org.gvsig.fmap.dal.feature.FeatureStore;
41
import org.gvsig.fmap.mapcontext.MapContext;
42
import org.gvsig.fmap.mapcontext.MapContextDrawer;
43
import org.gvsig.fmap.mapcontext.MapContextException;
44
import org.gvsig.fmap.mapcontext.MapContextRuntimeException;
45
import org.gvsig.fmap.mapcontext.ViewPort;
46
import org.gvsig.fmap.mapcontext.layers.FLayers;
47
import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
48
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
49
import org.gvsig.fmap.mapcontext.rendering.legend.LegendException;
50
import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendReader;
51
import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendWriter;
52
import org.gvsig.fmap.mapcontext.rendering.legend.events.LegendContentsChangedListener;
53
import org.gvsig.fmap.mapcontext.rendering.legend.events.SymbolLegendEvent;
54
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
55
import org.gvsig.tools.evaluator.Evaluator;
56
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
57
import org.gvsig.tools.observer.Observer;
58
import org.gvsig.tools.persistence.PersistentState;
59
import org.gvsig.tools.persistence.exception.PersistenceException;
60
import org.gvsig.tools.task.Cancellable;
61

  
62
/**
63
 * @author <a href="mailto:cordinyana@gvsig.org">C?sar Ordi?ana</a>
64
 */
65
public class DefaultMapContextManagerTest extends
66
AbstractLibraryAutoInitTestCase {
67

  
68
    private DefaultMapContextManager manager;
69

  
70
    protected void doSetUp() throws Exception {
71
        manager = new DefaultMapContextManager();
72

  
73
        manager.registerLegend("DummyLegend", DummyVectorLegend.class);
74
        manager.setDefaultVectorLegend("DummyLegend");
75
        manager.registerLegendReader("Dummy", DummyLegendReader.class);
76
        manager.registerLegendWriter("DummyLegend", "Dummy", DummyLegendWriter.class);
77
    }
78

  
79
    protected void tearDown() throws Exception {
80
        super.tearDown();
81
    }
82

  
83
    /**
84
     * Test method for
85
     * {@link org.gvsig.fmap.mapcontext.impl.DefaultMapContextManager#createDefaultMapContextDrawerInstance()}
86
     * .
87
     */
88
    public void testGetDefaultMapContextDrawerInstance() throws Exception {
89

  
90
        manager.setDefaultMapContextDrawer(DummyMapContextDrawer.class);
91

  
92
        MapContextDrawer drawer = manager
93
        .createDefaultMapContextDrawerInstance();
94

  
95
        assertNotNull("The created MapContextDrawer instance can't be null",
96
            drawer);
97
        assertTrue(
98
            "The created MapContextDrawer is not instance of the registered class"
99
            + DummyMapContextDrawer.class,
100
            drawer instanceof DummyMapContextDrawer);
101
    }
102

  
103
    /**
104
     * Test method for
105
     * {@link org.gvsig.fmap.mapcontext.impl.DefaultMapContextManager#setDefaultMapContextDrawer(java.lang.Class)}
106
     * .
107
     */
108
    public void testSetDefaultMapContextDrawer() throws Exception {
109

  
110
        // First, try to register an invalid class
111
        try {
112
            manager.setDefaultMapContextDrawer(Object.class);
113
            fail("Error, a class that does not implement the MapContextDrawer "
114
                + "interface has been accepted");
115
        } catch (MapContextRuntimeException e) {
116
            // OK
117
        }
118

  
119
        // Next, try to register a valid class
120
        manager.setDefaultMapContextDrawer(DummyMapContextDrawer.class);
121
    }
122

  
123
    public void testCreateGraphicsLayer() throws Exception {
124
        assertNotNull(manager.createGraphicsLayer(CRSFactory.getCRS("EPSG:23030")));
125
    }
126

  
127
    public void testCreateDefaultVectorLegend() throws Exception {
128

  
129
        IVectorLegend legend = manager.createDefaultVectorLegend(1);
130
        assertNotNull(legend);
131
        assertTrue(legend instanceof DummyVectorLegend);
132
    }
133

  
134
    public void testRegisterCreateLegend() throws Exception {
135

  
136
        manager.registerLegend("DummyLegend", DummyVectorLegend.class);
137

  
138
        ILegend legend = manager.createLegend("DummyLegend");
139
        assertNotNull(legend);
140
        assertTrue(legend instanceof DummyVectorLegend);
141

  
142
        assertNull(manager.createLegend("NONE"));
143
    }
144

  
145
    public void testRegisterCreateLegendReader() throws Exception {
146

  
147
        manager.registerLegendReader("Dummy", DummyLegendReader.class);
148

  
149
        ILegendReader legendReader = manager.createLegendReader("Dummy");
150
        assertNotNull(legendReader);
151
        assertTrue(legendReader instanceof DummyLegendReader);
152

  
153
        assertNull(manager.createLegendReader("NONE"));
154
    }
155

  
156
    public void testRegisterCreateLegendWriter() throws Exception {
157

  
158
        manager.registerLegend("DummyLegend", DummyVectorLegend.class);
159

  
160
        manager.registerLegendWriter("DummyLegend", "Dummy",
161
            DummyLegendWriter.class);
162

  
163
        // Test the registered writer is created
164
        ILegendWriter legendWriter = manager.createLegendWriter("DummyLegend",
165
        "Dummy");
166
        assertNotNull(legendWriter);
167
        assertTrue(legendWriter instanceof DummyLegendWriter);
168

  
169
        // Test non registered cases
170
        assertNull(manager.createLegendWriter("NONE", "Dummy"));
171
        assertNull(manager.createLegendWriter("DummyLegend", "NONE"));
172
        assertNull(manager.createLegendWriter("NONE", "NONE"));
173
    }
174

  
175
    public static class DummyMapContextDrawer implements MapContextDrawer {
176

  
177
        public void dispose() {
178
        }
179

  
180
        public void draw(FLayers root, BufferedImage image, Graphics2D g,
181
            Cancellable cancel, double scale) throws ReadException {
182
        }
183

  
184
        public void print(FLayers root, Graphics2D g, Cancellable cancel,
185
            double scale, PrintAttributes properties) throws ReadException {
186
        }
187

  
188
        public void setMapContext(MapContext mapContext) {
189
        }
190

  
191
        public void setViewPort(ViewPort viewPort) {
192
        }
193

  
194
    }
195

  
196
    public static class DummyLegendReader implements ILegendReader {
197

  
198
    }
199

  
200
    public static class DummyLegendWriter implements ILegendWriter {
201

  
202
    }
203

  
204
    public static class DummyVectorLegend implements IVectorLegend {
205

  
206
        public void draw(BufferedImage image, Graphics2D graphics2d,
207
            ViewPort viewPort, Cancellable cancel, double scale,
208
            Map queryParameters, ICoordTrans coordTrans,
209
            FeatureStore featureStore, FeatureQuery featureQuery) throws LegendException {
210
            // Empty method
211
        }
212

  
213
        public void draw(BufferedImage image, Graphics2D graphics2d,
214
            ViewPort viewPort, Cancellable cancel, double scale,
215
            Map queryParameters, ICoordTrans coordTrans,
216
            FeatureStore featureStore) throws LegendException {
217
            // Empty method
218
        }
219

  
220
        public int getShapeType() {
221
            // Empty method
222
            return 0;
223
        }
224

  
225
        public ISymbol getSymbolByFeature(Feature feat)
226
        throws MapContextException {
227
            // Empty method
228
            return null;
229
        }
230

  
231
        public boolean isSuitableForShapeType(int shapeType) {
232
            // Empty method
233
            return false;
234
        }
235

  
236
        public boolean isUseDefaultSymbol() {
237
            // Empty method
238
            return false;
239
        }
240

  
241
        public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,
242
            double scale, Map queryParameters, ICoordTrans coordTrans,
243
            FeatureStore featureStore, PrintAttributes properties)
244
        throws LegendException {
245
            // Empty method
246
        }
247

  
248
        public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,
249
            double scale, Map queryParameters, ICoordTrans coordTrans,
250
            FeatureStore featureStore, FeatureQuery featureQuery, PrintAttributes properties)
251
        throws LegendException {
252
            // Empty method
253
        }
254

  
255
        public void setDefaultSymbol(ISymbol s) {
256
            // Empty method
257
        }
258

  
259
        public void setShapeType(int shapeType) {
260
            // Empty method
261
        }
262

  
263
        public void useDefaultSymbol(boolean b) {
264
            // Empty method
265
        }
266

  
267
        public void addLegendListener(LegendContentsChangedListener listener) {
268
            // Empty method
269
        }
270

  
271
        public ILegend cloneLegend() {
272
            // Empty method
273
            return null;
274
        }
275

  
276
        public Object clone() throws CloneNotSupportedException {
277
            // TODO Auto-generated method stub
278
            return super.clone();
279
        }
280

  
281
        public void fireDefaultSymbolChangedEvent(SymbolLegendEvent event) {
282
            // Empty method
283
        }
284

  
285
        public ISymbol getDefaultSymbol() {
286
            // Empty method
287
            return null;
288
        }
289

  
290
        public LegendContentsChangedListener[] getListeners() {
291
            // Empty method
292
            return null;
293
        }
294

  
295
        public void removeLegendListener(LegendContentsChangedListener listener) {
296
            // Empty method
297
        }
298

  
299
        public void loadFromState(PersistentState state)
300
        throws PersistenceException {
301
            // Empty method
302
        }
303

  
304
        public void saveToState(PersistentState state)
305
        throws PersistenceException {
306
            // Empty method
307
        }
308

  
309
        public void addDrawingObserver(Observer observer) {
310
            // Empty method
311
        }
312

  
313
        public void deleteDrawingObserver(Observer observer) {
314
            // Empty method
315
        }
316

  
317
        public void deleteDrawingObservers() {
318
            // Empty method
319
        }
320
    }
321
}
tags/v2_0_0_Build_2043/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/persistence/MapContextPersistenceTest.java
1
package org.gvsig.fmap.mapcontext.persistence;
2

  
3
import java.awt.Color;
4
import java.awt.Dimension;
5
import java.awt.geom.Rectangle2D;
6
import java.io.File;
7
import java.io.FileInputStream;
8
import java.io.FileOutputStream;
9

  
10
import org.gvsig.fmap.crs.CRSFactory;
11
import org.gvsig.fmap.dal.feature.FeatureStore;
12
import org.gvsig.fmap.geom.Geometry.TYPES;
13
import org.gvsig.fmap.geom.primitive.Envelope;
14
import org.gvsig.fmap.geom.primitive.impl.Envelope2D;
15
import org.gvsig.fmap.mapcontext.MapContext;
16
import org.gvsig.fmap.mapcontext.MapContextLocator;
17
import org.gvsig.fmap.mapcontext.ViewPort;
18
import org.gvsig.fmap.mapcontext.exceptions.LegendLayerException;
19
import org.gvsig.fmap.mapcontext.layers.FLayer;
20
import org.gvsig.fmap.mapcontext.layers.FLayers;
21
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
22
import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
23
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
24
import org.gvsig.fmap.mapcontext.rendering.symbol.DummyVectorLegend;
25
import org.gvsig.tools.ToolsLocator;
26
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
27
import org.gvsig.tools.persistence.Persistent;
28
import org.gvsig.tools.persistence.PersistentState;
29
import org.slf4j.Logger;
30
import org.slf4j.LoggerFactory;
31

  
32
public class MapContextPersistenceTest extends AbstractLibraryAutoInitTestCase {
33

  
34
	final static private Logger logger =
35
			LoggerFactory.getLogger(MapContextPersistenceTest.class);
36

  
37
	protected void doSetUp() throws Exception {
38
		DummyVectorLegend.registerPersistent();
39
		DummyDBFeatureStore.registerPersistent();
40
		DummyFileFeatureStore.registerPersistent();
41

  
42
		MapContextLocator.getMapContextManager().registerLegend("DummyLegend",
43
				DummyVectorLegend.class);
44
		MapContextLocator.getMapContextManager().setDefaultVectorLegend(
45
				"DummyLegend");
46
	}
47
	
48
	private File getTempFile() throws Exception {
49

  
50
		File tempFile = File.createTempFile("persisted_mapcontext", ".xml");
51
		if (tempFile.exists())
52
			tempFile.delete();
53
		tempFile.createNewFile();
54
		
55
		System.out.println("TEMP FILE: " + tempFile.getAbsolutePath());
56
		return tempFile;
57
	}
58
	
59
	public void testMapContext() throws Exception {
60
		ViewPort vp = getViewPort();
61
		logger.debug("Creating mapcontext...");
62
		MapContext mc = new MapContext(vp);
63
		addDummyLayers(mc);
64
		doTestPersist(mc);
65
	}
66

  
67
	public void noTestFLyrs() throws Exception {
68
		
69
		int lyr_count = 3;
70
		// testPersist(mc);
71
		FLyrVect[] lyr = new FLyrVect[lyr_count];
72
		FeatureStore[] fs = new FeatureStore[lyr_count];
73
		FLayers lyrs = new FLayers();
74
		
75
		for (int i=0; i<lyr_count; i++) {
76
			fs[i] = new DummyFileFeatureStore("" + System.currentTimeMillis());
77
			lyr[i] = createLayer(fs[i]);
78
			lyr[i].setName("Layer " + (i+System.currentTimeMillis()));
79
			lyr[i].setIsLabeled(false);
80
			try { lyr[i].setLegend(new DummyVectorLegend(TYPES.SOLID)); } catch (LegendLayerException e) {
81
				assertTrue("Error while creating legend: " + e.getMessage(), false);
82
			}
83
			lyrs.addLayer(lyr[i]);
84
			lyr[i].dispose();
85
		}
86
		
87
		for (int i=0; i<lyr_count; i++) {
88
			fs[i] = new DummyDBFeatureStore("" + System.currentTimeMillis());
89
			lyr[i] = createLayer(fs[i]);
90
			lyr[i].setName("Layer " + (10000 + i + System.currentTimeMillis()));
91
			lyr[i].setIsLabeled(false);
92
			try { lyr[i].setLegend(new DummyVectorLegend(TYPES.SOLID)); } catch (LegendLayerException e) {
93
				assertTrue("Error while creating legend: " + e.getMessage(), false);
94
			}
95
			lyrs.addLayer(lyr[i]);
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff