Revision 39318

View differences:

tags/v2_0_0_Build_2059/libraries/libRemoteServices/test/org/gvsig/remoteclient/wcs/wcs_1_0_0/WCSProtocolHandler_1_0_0Test.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
/*
42
 * $Id$ 
43
 * $Log$
44
 * Revision 1.8  2006-05-12 07:45:49  jaume
45
 * some warnings removed
46
 *
47
 * Revision 1.7  2006/03/15 08:54:31  jaume
48
 * *** empty log message ***
49
 *
50
 * Revision 1.6  2006/03/06 07:16:08  jaume
51
 * *** empty log message ***
52
 *
53
 * Revision 1.5  2006/03/02 07:17:08  jaume
54
 * *** empty log message ***
55
 *
56
 * Revision 1.3  2006/03/01 18:07:11  jaume
57
 * *** empty log message ***
58
 *
59
 * Revision 1.2  2006/03/01 17:56:28  jaume
60
 * *** empty log message ***
61
 *
62
 * Revision 1.1  2006/02/28 15:26:59  jaume
63
 * *** empty log message ***
64
 * 
65
 */
66
package org.gvsig.remoteclient.wcs.wcs_1_0_0;
67

  
68
import java.io.File;
69

  
70
import junit.framework.TestCase;
71
/**
72
 * 
73
 * @author jaume
74
 *
75
 */
76
public class WCSProtocolHandler_1_0_0Test extends TestCase {
77
	WCSProtocolHandler1_0_0 handler1, handler2, handler3, handler4;
78
	
79
	public void setUp() {
80
		System.out.println("Setting up test..");
81
		handler1 = new WCSProtocolHandler1_0_0();
82
		handler2 = new WCSProtocolHandler1_0_0();
83
		handler3 = new WCSProtocolHandler1_0_0();
84
		handler4 = new WCSProtocolHandler1_0_0();
85
	}
86
	
87
	
88
	
89
	public void testParsing() {
90
		long t1 = System.currentTimeMillis();
91
		assertTrue(handler1.parseCapabilities(new File("testdata/wcs/WCS-hypnosGetCapabilities.xml")));
92
		assertTrue(handler1.parseDescribeCoverage(new File("testdata/wcs/WCS-hypnosDescribeCoverage.xml")));
93
		assertTrue(handler2.parseCapabilities(new File("testdata/wcs/WCS-simonCITCostasGetCapabilities.xml")));
94
		assertTrue(handler2.parseDescribeCoverage(new File("testdata/wcs/WCS-simonCITCostasDescribeCoverage.xml")));
95
		assertTrue(handler3.parseCapabilities(new File("testdata/wcs/WCS-simonCITSpotGetCapabilities.xml")));
96
		assertTrue(handler3.parseDescribeCoverage(new File("testdata/wcs/WCS-simonCITSpotDescribeCoverage.xml")));
97
		assertTrue(handler4.parseCapabilities(new File("testdata/wcs/WCS-ionicGetCapabilities.xml")));
98
		assertTrue(handler4.parseDescribeCoverage(new File("testdata/wcs/WCS-ionicDescribeCoverage.xml")));
99
		long t2 = System.currentTimeMillis();
100
		System.out.println("Test parsing done with apparently no errors in "+ (t2-(float)t1)/1000+" seconds");
101
	}
102
}
0 103

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/test/org/gvsig/remoteclient/wfs/wfs_1_0_0/WFSProtocolHandlerTest1_0_0.java
1
package org.gvsig.remoteclient.wfs.wfs_1_0_0;
2

  
3
import java.io.File;
4

  
5
import junit.framework.TestCase;
6
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
7
 *
8
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
9
 *
10
 * This program is free software; you can redistribute it and/or
11
 * modify it under the terms of the GNU General Public License
12
 * as published by the Free Software Foundation; either version 2
13
 * of the License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program; if not, write to the Free Software
22
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
23
 *
24
 * For more information, contact:
25
 *
26
 *  Generalitat Valenciana
27
 *   Conselleria d'Infraestructures i Transport
28
 *   Av. Blasco Ib??ez, 50
29
 *   46010 VALENCIA
30
 *   SPAIN
31
 *
32
 *      +34 963862235
33
 *   gvsig@gva.es
34
 *      www.gvsig.gva.es
35
 *
36
 *    or
37
 *
38
 *   IVER T.I. S.A
39
 *   Salamanca 50
40
 *   46005 Valencia
41
 *   Spain
42
 *
43
 *   +34 963163400
44
 *   dac@iver.es
45
 */
46
/* CVS MESSAGES:
47
 *
48
 * $Id$
49
 * $Log$
50
 * Revision 1.2  2006-10-10 12:52:28  jorpiell
51
 * Soporte para features complejas.
52
 *
53
 * Revision 1.1  2006/08/10 12:00:49  jorpiell
54
 * Primer commit del driver de Gml
55
 *
56
 * Revision 1.3  2006/05/23 13:23:13  jorpiell
57
 * Se ha cambiado el final del bucle de parseado y se tiene en cuenta el online resource
58
 *
59
 * Revision 1.2  2006/04/20 16:39:16  jorpiell
60
 * A?adida la operacion de describeFeatureType y el parser correspondiente.
61
 *
62
 * Revision 1.1  2006/04/19 12:51:35  jorpiell
63
 * A?adidas algunas de las clases del servicio WFS
64
 *
65
 *
66
 */
67
/**
68
 * @author Jorge Piera Llodr? (piera_jor@gva.es)
69
 */
70
public class WFSProtocolHandlerTest1_0_0 extends TestCase {
71
	WFSProtocolHandler1_0_0 handler;
72
	
73
	public void setUp() {
74
		System.out.println("Setting up test..");
75
		handler = new WFSProtocolHandler1_0_0();		
76
	}	
77
	
78
	public void testParsingDescribeFeatureType() {
79
		long t1 = System.currentTimeMillis();
80
		assertTrue(handler.parseCapabilities(new File("testdata/wfs/WFS-dmsolutionsGetCapabilities.xml")));
81
		handler.setCurrentFeature("popplace");		
82
		long t2 = System.currentTimeMillis();
83
		System.out.println("Test parsing vivid done with apparently no errors in "+ (t2-(float)t1)/1000+" seconds");
84
	}
85
	
86
	public void testParsingDescribeFeatureType2() {
87
		long t1 = System.currentTimeMillis();
88
		assertTrue(handler.parseCapabilities(new File("testdata/wfs/WFS-sercartlinGetCapabilities.xml")));
89
		handler.setCurrentFeature("topp:tasmania_roads");		
90
		long t2 = System.currentTimeMillis();
91
		System.out.println("Test parsing sercartlin done with apparently no errors in "+ (t2-(float)t1)/1000+" seconds");
92
	}
93
	
94
	public void testParsingDescribeFeatureType3() {
95
		long t1 = System.currentTimeMillis();
96
		assertTrue(handler.parseCapabilities(new File("testdata/wfs/WFS-IDEEGetCapabilities.xml")));
97
		handler.setCurrentFeature("BDLL200_Provincia");	
98
		long t2 = System.currentTimeMillis();
99
		System.out.println("Test parsing TNT done with apparently no errors in "+ (t2-(float)t1)/1000+" seconds");
100
	}
101
	
102

  
103
	
104
}
0 105

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/test/org/gvsig/remoteclient/wfs/wfs_1_1_0/WFSProtocolHandlerTest1_1_0.java
1
package org.gvsig.remoteclient.wfs.wfs_1_1_0;
2

  
3
import java.io.File;
4

  
5
import junit.framework.TestCase;
6
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
7
 *
8
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
9
 *
10
 * This program is free software; you can redistribute it and/or
11
 * modify it under the terms of the GNU General Public License
12
 * as published by the Free Software Foundation; either version 2
13
 * of the License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program; if not, write to the Free Software
22
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
23
 *
24
 * For more information, contact:
25
 *
26
 *  Generalitat Valenciana
27
 *   Conselleria d'Infraestructures i Transport
28
 *   Av. Blasco Ib??ez, 50
29
 *   46010 VALENCIA
30
 *   SPAIN
31
 *
32
 *      +34 963862235
33
 *   gvsig@gva.es
34
 *      www.gvsig.gva.es
35
 *
36
 *    or
37
 *
38
 *   IVER T.I. S.A
39
 *   Salamanca 50
40
 *   46005 Valencia
41
 *   Spain
42
 *
43
 *   +34 963163400
44
 *   dac@iver.es
45
 */
46
/* CVS MESSAGES:
47
 *
48
 * $Id$
49
 * $Log$
50
 * Revision 1.1  2007-02-09 14:11:01  jorpiell
51
 * Primer piloto del soporte para WFS 1.1 y para WFS-T
52
 *
53
 *
54
 */
55
/**
56
 * @author Jorge Piera Llodr? (piera_jor@gva.es)
57
 */
58
public class WFSProtocolHandlerTest1_1_0 extends TestCase {
59
	WFSProtocolHandler1_1_0 handler;
60
	
61
	public void setUp() {
62
		System.out.println("Setting up test..");
63
		handler = new WFSProtocolHandler1_1_0();		
64
	}
65
	
66
	public void testParsingDescribeFeatureType1() {
67
//		long t1 = System.currentTimeMillis();
68
//		assertTrue(handler.parseCapabilities(new File("test/WFS-1_1_0SercartlinGetCapabilities.xml")));
69
//		handler.setCurrentFeature("popplace");
70
//		
71
//		assertTrue(handler.parseDescribeFeatureType(new File("test/WFS-dmsolutionsDescribeFeatureType.xml"),null));
72
//		long t2 = System.currentTimeMillis();
73
//		System.out.println("Test parsing vivid done with apparently no errors in "+ (t2-(float)t1)/1000+" seconds");
74
	}
75
	
76
	public void testParsingDescribeFeatureType2() {
77
		long t1 = System.currentTimeMillis();
78
		assertTrue(handler.parseCapabilities(new File("testdata/wfs/WFS-1_1_0IDEEGetCapabilities.xml")));
79
		handler.setCurrentFeature("ideewfs:VerticeRedOrdenInferior");	
80
		long t2 = System.currentTimeMillis();
81
		Object obj = handler.getFeatures().get("ideewfs:VerticeRedOrdenInferior");
82
		System.out.println("Test parsing vivid done with apparently no errors in "+ (t2-(float)t1)/1000+" seconds");
83
	}
84
	
85
	public void testParsingDescribeFeatureTypeTNT() {
86
		long t1 = System.currentTimeMillis();
87
		assertTrue(handler.parseCapabilities(new File("testdata/wfs/WFS-1_1_0TNTGetCapabilities.xml")));
88
		handler.setCurrentFeature("BDLL200_Provincia");		
89
		long t2 = System.currentTimeMillis();
90
		System.out.println("Test parsing IDEE done with apparently no errors in "+ (t2-(float)t1)/1000+" seconds");
91
	}
92
}
0 93

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/test/org/gvsig/remoteclient/Tests/Test.java
1
package org.gvsig.remoteclient.Tests;
2

  
3
import java.awt.geom.Rectangle2D;
4

  
5
import junit.framework.TestCase;
6

  
7
import org.gvsig.remoteclient.wms.WMSClient;
8
import org.gvsig.remoteclient.wms.WMSStatus;
9

  
10
public class Test extends TestCase
11
{
12

  
13
	public static void main(String[] args)
14
	{
15
		try
16
		{
17
			WMSClient wmsclient = new WMSClient("http://orto.cth.gva.es:80/wmsconnector/com.esri.wms.Esrimap/wms_urbanismo_tematicos?");
18
			//http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_urbanismo_tematicos?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=3&STYLES=&SRS=EPSG:4326&BBOX=-1.5597948439,37.8178641941,0.5286772976,40.8151000365&WIDTH=500&HEIGHT=500&FORMAT=image/jpeg&EXCEPTIONS=XML
19

  
20
			wmsclient.connect(null);
21
			//System.out.println();
22
			//System.out.println(Utilities.Vector2CS(layerNames));
23

  
24
			WMSStatus status = new WMSStatus();
25
			status.addLayerName("3");
26
//			status.addLayerName("europa_rivieren");
27
//			status.addStyleName("default");
28
//			status.addStyleName("default");
29
			status.setSrs("EPSG:4326");
30

  
31
			Rectangle2D extent = new Rectangle2D.Double(-1.5597948439,37.8178641941,-1.5597948439-0.5286772976,37.8178641941-40.8151000365);
32

  
33
			status.setExtent(extent);
34
			status.setFormat("image/jpeg");
35
			status.setHeight(500);
36
			status.setWidth(500);
37

  
38
			//wmsclient.getMap(status);
39

  
40
			//wmsclient.getFeatureInfo(status,300,300);
41

  
42
			System.out.println();
43
		}
44
		catch(Exception e)
45
		{
46
			System.out.println(e.getMessage());
47
		}
48
	}
49

  
50
}
0 51

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/test/org/gvsig/remoteclient/wms/WMSStatusTest.java
1
package org.gvsig.remoteclient.wms;
2

  
3
import java.awt.geom.Rectangle2D;
4
import java.util.Vector;
5

  
6
import junit.framework.TestCase;
7
/**
8
 * 
9
 * @author jaume
10
 *
11
 */
12
public class WMSStatusTest extends TestCase {
13
	WMSStatus st1, st2, st3, st4;
14
    protected void setUp() {
15
    	st1 = new WMSStatus();
16
    	// Layer names
17
    	Vector v1 = new Vector();
18
    	v1.add("a");
19
    	v1.add("b");
20
    	v1.add("c");
21
    	st1.setLayerNames(v1);
22
    	v1.clear();
23
    	// Styles
24
    	v1.add("s1");
25
    	v1.add("s2");
26
    	v1.add("s3");
27
    	st1.setStyles(v1);
28
    	// Transparency
29
    	st1.setTransparency(false);
30
    	v1.clear();
31
    	v1.add("TIME=february");
32
    	v1.add("WAVELENGTH=200nm");
33
    	st1.setDimensions(v1);
34
    	// Extent
35
    	Rectangle2D rect1 = new Rectangle2D.Double(1.0, 1.00000001, 5.000000, 6.8);
36
    	st1.setExtent(rect1);
37
    	// Exception format
38
    	st1.setExceptionFormat("bla");
39
    	// SRS
40
    	st1.setSrs("bla bla");
41
    	// Format
42
    	st1.setFormat("image/mpeg");
43
    	// Width
44
    	st1.setWidth(800);
45
    	// Height
46
    	st1.setHeight(600);
47
    	// Online resource
48
    	st1.setOnlineResource("alkjf");
49
    	
50
    	st2 = new WMSStatus();
51
    	// Layer names
52
        Vector v2 = new Vector();
53
    	v2.add("a");
54
    	v2.add("b");
55
    	v2.add("c");
56
    	st2.setLayerNames(v2);
57
    	v2.clear();
58
    	// Styles
59
    	v2.add("s1");
60
    	v2.add("s2");
61
    	v2.add("s3");
62
    	st2.setStyles(v2);
63
    	// Transparency
64
    	st2.setTransparency(false);
65
    	v2.clear();
66
    	// Dimensions
67
    	v2.add("TIME=february");
68
    	v2.add("WAVELENGTH=200nm");
69
    	st2.setDimensions(v2);
70
    	// Extent
71
    	Rectangle2D rect2 = new Rectangle2D.Double(1.0, 1.00000001, 5.000000, 6.8);
72
    	st2.setExtent(rect2);
73
    	// Exception format
74
    	st2.setExceptionFormat("bla");
75
    	// SRS
76
    	st2.setSrs("bla bla");
77
    	// Format
78
    	st2.setFormat("image/mpeg");
79
    	// Width
80
    	st2.setWidth(800);
81
    	// Height
82
    	st2.setHeight(600);
83
    	// Online resource
84
    	st2.setOnlineResource("alkjf");
85
    	
86
    	st3 = new WMSStatus();
87
    	// Layer names
88
        Vector v3 = new Vector();
89
    	v3.add("a");
90
    	v3.add("b");
91
    	v3.add("c");
92
    	st3.setLayerNames(v3);
93
    	v3.clear();
94
    	// Styles
95
    	v3.add("s1");
96
    	v3.add("s2");
97
    	v3.add("s3");
98
    	st3.setStyles(v3);
99
    	// Transparency
100
    	st3.setTransparency(false);
101
    	v3.clear();
102
    	// Dimensions
103
    	v3.add("TIME=february");
104
    	v3.add("WAVELENGTH=200nm");
105
    	st3.setDimensions(v3);
106
    	// Extent
107
    	Rectangle2D rect3 = new Rectangle2D.Double(2.0, 1.00000001, 5.000000, 6.8);
108
    	st3.setExtent(rect3);
109
    	// Exception format
110
    	st3.setExceptionFormat("bla");
111
    	// SRS
112
    	st3.setSrs("bla bla");
113
    	// Format
114
    	st3.setFormat("image/mpeg");
115
    	// Width
116
    	st3.setWidth(800);
117
    	// Height
118
    	st3.setHeight(600);
119
    	// Online resource
120
    	st3.setOnlineResource("alkjf");
121
        
122
    	st4 = new WMSStatus(); 
123
        // Layer names
124
        Vector v4 = new Vector();
125
    	v4.add("a");
126
    	v4.add("b");
127
    	v4.add("c");
128
    	st4.setLayerNames(v4);
129
    	v4.clear();
130
    	// Styles
131
    	v4.add("s1");
132
    	v4.add("s2");
133
    	v4.add("s3");
134
    	st4.setStyles(v4);
135
    	// Transparency
136
    	st4.setTransparency(false);
137
    	v4.clear();
138
    	// Dimensions
139
    	v4.add("TIME=february");
140
    	v4.add("WAVELENGTH=200nm");
141
    	st4.setDimensions(v4);
142
    	// Extent
143
    	Rectangle2D rect4 = new Rectangle2D.Double(2.0, 1.00000001, 5.000000, 6.8);
144
    	st4.setExtent(rect3);
145
    	// Exception format
146
    	st4.setExceptionFormat("bla");
147
    	// SRS
148
    	st4.setSrs("bla bla");
149
    	// Format
150
    	st4.setFormat("image/mpeg");
151
    	// Width
152
    	st4.setWidth(800);
153
    	// Height
154
    	st4.setHeight(600);
155
    	// Online resource
156
    	st4.setOnlineResource("alkjfa");
157
    }
158

  
159
    public void testEquality() {
160
    	assertTrue(st1.equals(st2));
161
    	assertFalse(st1.equals(st3)); // (distinct extent)
162
    	assertFalse(st3.equals(st4)); // (distinct online resources)
163
    }
164
}
0 165

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/test/org/gvsig/remoteclient/wms/wms_1_1_1/WMSProtocolHandler_1_1_1Test.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package org.gvsig.remoteclient.wms.wms_1_1_1;
42

  
43
import java.io.File;
44

  
45
import junit.framework.TestCase;
46

  
47
/**
48
 * @author jaume dominguez faus - jaume.dominguez@iver.es
49
 */
50
public class WMSProtocolHandler_1_1_1Test extends TestCase {
51
	WMSProtocolHandler1_1_1 handler1, handler2, handler3, handler4;
52

  
53
	public void setUp() {
54
		System.out.println("Setting up test..");
55
		handler1 = new WMSProtocolHandler1_1_1();
56
	}
57

  
58

  
59

  
60
	public void testParsing() {
61
		long t1 = System.currentTimeMillis();
62
		handler1.parseCapabilities(new File("testdata/wms/wms.xml"));
63
		long t2 = System.currentTimeMillis();
64
		System.out.println("Test parsing done with apparently no errors in "+ (t2-(float)t1)/1000+" seconds");
65
	}
66
}
67

  
0 68

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/test/org/gvsig/remoteclient/taskplanning/retrieving/URLRetrieveTest.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41

  
42
/* CVS MESSAGES:
43
 *
44
 * $Id$
45
 * $Log$
46
 * Revision 1.3  2006-05-16 17:10:27  jaume
47
 * *** empty log message ***
48
 *
49
 * Revision 1.2  2006/05/15 09:39:52  jaume
50
 * *** empty log message ***
51
 *
52
 * Revision 1.1  2006/05/12 07:45:49  jaume
53
 * some warnings removed
54
 *
55
 * Revision 1.1  2006/05/12 07:15:45  jaume
56
 * *** empty log message ***
57
 *
58
 *
59
 */
60
package org.gvsig.remoteclient.taskplanning.retrieving;
61

  
62
import java.io.File;
63

  
64
import junit.framework.TestCase;
65

  
66
import org.gvsig.remoteclient.taskplanning.IQueue;
67
import org.gvsig.remoteclient.taskplanning.IRunnableTask;
68
/**
69
 * 
70
 * @author jaume
71
 *
72
 */
73
public class URLRetrieveTest extends TestCase {
74
	private final static String tempDirectoryPath = System.getProperty("java.io.tmpdir")+"tmp-andami";
75
	IQueue queue;
76
	IRunnableTask task1, task2, task3, task4;
77
	boolean finished1, finished2, finished3, finished4;
78
	RetrieveListener listener1 = new RetrieveListener() {
79
		public void transferEventReceived(RetrieveEvent event) {
80
			int e = event.getType();
81
			printMessage("listener1", event.getType());
82
			if (e==RetrieveEvent.REQUEST_FINISHED || e == RetrieveEvent.REQUEST_FAILED || e == RetrieveEvent.REQUEST_CANCELLED )
83
				finished1 = true;
84
		}
85
	};
86
	
87
	String protocol = URLRequest.HTTP;
88
	String host1 = "192.168.0.223";
89
	String page1 = "cgi-bin/mapserv_46.exe?map=c:\\ms4w\\Apache\\cgi-bin\\demo.map&&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=comunidades&SRS=EPSG:23030&BBOX=507522.0,4154976.282477341,942309.0,4552983.717522658&WIDTH=332&HEIGHT=305&FORMAT=image/png&STYLES=&TRANSPARENT=TRUE";
90
	URLRequest request1;
91
	
92
	String host2 = "localhost";
93
	String page2 = "aegCapabilities1.3.xml";
94
	URLRequest request2;
95
	RetrieveListener listener2 = new RetrieveListener() {
96
		public void transferEventReceived(RetrieveEvent event) {
97
			int e = event.getType();
98
			printMessage("listener2", event.getType());
99
			if (e==RetrieveEvent.REQUEST_FINISHED || e == RetrieveEvent.REQUEST_FAILED || e==RetrieveEvent.REQUEST_CANCELLED )
100
				finished2 = true;
101

  
102
		}
103
	};
104
	
105
	String host3 = "localhost";
106
	String page3 = "avalencia.ecw";
107
	URLRequest request3;
108
	RetrieveListener listener3 = new RetrieveListener() {
109
		public void transferEventReceived(RetrieveEvent event) {
110
			int e = event.getType();
111
			printMessage("listener3", event.getType());
112
			if (e==RetrieveEvent.REQUEST_FINISHED || e == RetrieveEvent.REQUEST_FAILED  || e == RetrieveEvent.REQUEST_CANCELLED )
113
				finished3 = true;
114

  
115
		}
116
	};
117
	
118
	String host4 = "192.168.0.223";
119
	String page4 = "prueba.rar";
120
	URLRequest request4;
121
	RetrieveListener listener4 = new RetrieveListener() {
122
		public void transferEventReceived(RetrieveEvent event) {
123
			int e = event.getType();
124
			printMessage("listener4", event.getType());
125
			if (e==RetrieveEvent.REQUEST_FINISHED || e == RetrieveEvent.REQUEST_FAILED  || e == RetrieveEvent.REQUEST_CANCELLED )
126
				finished4 = true;
127

  
128
		}
129
	};
130
	{
131
		cleanFiles();
132
	}
133
	private static void cleanFiles(){
134
		try{
135
			File tempDirectory = new File(tempDirectoryPath);
136
			
137
			File[] files = tempDirectory.listFiles();
138
			if (files!=null) {
139
				for (int i = 0; i < files.length; i++) {
140
					// s?lo por si en un futuro se necesitan crear directorios temporales
141
					files[i].delete();
142
				}
143
			}
144
			tempDirectory.delete();
145
		} catch (Exception e) {	}
146
	}
147
	
148
	
149
	public void setUp() {
150
		File tmpDir = new File(tempDirectoryPath);
151
		if (!tmpDir.exists())
152
			tmpDir.mkdir();
153
		finished1 = finished2 = finished3 = finished4 = false;
154
		System.out.println("\n\n\nSetting up test..");
155
		queue = new RetrieveQueue("http://192.168.0.223/cgi-bin/mapserv_46.exe?map=c:\\ms4w\\Apache\\cgi-bin\\demo.map");
156
		
157
		request1 = new URLRequest();
158
		// http://192.168.0.223/cgi-bin/mapserv_46.exe?map=c:\\ms4w\\Apache\\cgi-bin\\demo.map&&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&LAYERS=comunidades&SRS=EPSG:23030&BBOX=507522.0,4154976.282477341,942309.0,4552983.717522658&WIDTH=332&HEIGHT=305&FORMAT=image/png&STYLES=&TRANSPARENT=TRUE
159
		request1.setProtocol(protocol);
160
		request1.setHost(host1);
161
		request1.setFile(page1);
162
		request1.setFileName(tempDirectoryPath+File.separator+"task1");
163
		request1.setRequestType(URLRequest.GET);
164
		task1 = new URLRetrieveTask(request1, listener1); 
165
		
166
		request2 = new URLRequest();
167
		// http://localhost/aegCapabilities1.3.xml
168
		request2.setProtocol(protocol);
169
		request2.setHost(host2);
170
		request2.setFile(page2);
171
		request2.setFileName(tempDirectoryPath+File.separator+"task2");
172
		request2.setRequestType(URLRequest.GET);
173
		task2 = new URLRetrieveTask(request2, listener2);
174
		
175
		request3 = new URLRequest();
176
		// http://localhost/avalencia.ecw
177
		request3.setProtocol(protocol);
178
		request3.setHost(host3);
179
		request3.setFile(page3);
180
		request3.setFileName(tempDirectoryPath+File.separator+"task3");
181
		request3.setRequestType(URLRequest.GET);
182
		task3 = new URLRetrieveTask(request3, listener3);
183
		
184
		request4 = new URLRequest();
185
		// http://192.168.0.223/prueba.rar
186
		request4.setProtocol(protocol);
187
		request4.setHost(host4);
188
		request4.setFile(page4);
189
		request4.setFileName(tempDirectoryPath+File.separator+"task4");
190
		request4.setRequestType(URLRequest.GET);
191
		
192
		task4 = new URLRetrieveTask(request4, listener4);
193
		
194
	}
195
	
196
	public void testRetrieve() {
197
		queue.put(task1);
198
		queue.put(task2);
199
		
200
		while(!queue.isEmpty()) {		
201
		}
202
	}
203
	
204
	public void testCancelling() {
205
		long time = System.currentTimeMillis();
206
		
207
		queue.put(task1);
208
		queue.put(task2);
209
		boolean more = true;
210
		while (!queue.isEmpty()) {
211
			if (more && System.currentTimeMillis()-time > 1000) { // wait 1 seconds and cancel
212
				task2.cancel();
213
				more = false;
214
			}
215
		}
216
	}
217
	
218
	public void testRequestManager() {
219
		System.out.println("tests parallel downloading from different servers");
220
		request3.setFileName("task3");
221
		// http://localhost/avalencia.ecw
222
		
223
		request4.setFileName("task4");
224
		// http://192.168.0.223/prueba.rar
225
		RequestManager manager = RequestManager.getInstance();
226
		manager.addURLRequest(request3, listener3);
227
		manager.addURLRequest(request4, listener4);
228
		manager.addURLRequest(request4, listener1);
229
		while (!(finished1 && finished3 && finished4)) { 
230
			
231
		}
232
	}
233
	
234
	public void testCocurrentTransfers() {
235
		finished1 = finished2 = finished3 = finished4 = false;
236
		System.out.println("tests to merge two or more equivalent transfers into one");
237
		RequestManager manager = RequestManager.getInstance();
238
		//manager.removeURLRequest(request3);
239
		request3.setFileName("task3");
240
		
241
		manager.addURLRequest(request3, listener1);
242
		manager.addURLRequest(request3, listener2);
243
		manager.addURLRequest(request3, listener3);
244
		
245
		manager.addURLRequest(request3, listener4);
246
		while (!(finished1 && finished2 && finished3 && finished4)) { 
247
			
248
		}
249
	}
250
	
251
	public void printMessage(String who, int code) {
252
		switch (code) {
253
		case RetrieveEvent.CONNECTING:
254
			System.out.println(who+": connecting");
255
			break;
256
		case RetrieveEvent.TRANSFERRING:
257
			System.out.println(who+": transferring");
258
			break;
259
		case RetrieveEvent.REQUEST_CANCELLED:
260
			System.out.println(who+": cancelled");
261
			break;
262
		case RetrieveEvent.REQUEST_FINISHED:
263
			System.out.println(who+": finished");
264
			break;
265
		case RetrieveEvent.REQUEST_FAILED:
266
			System.err.println(who+": failed");
267
			break;
268
		case RetrieveEvent.NOT_STARTED:
269
			System.out.println(who+": not started");
270
			break;
271
		case RetrieveEvent.POSTPROCESSING:
272
			System.out.println(who+": postprocessing");
273
			break;
274
		}
275
	}
276
}
0 277

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/test/org/gvsig/remoteclient/AllTests.java
1
package org.gvsig.remoteclient;
2

  
3
import junit.framework.Test;
4
import junit.framework.TestSuite;
5

  
6
import org.gvsig.remoteclient.wcs.wcs_1_0_0.WCSProtocolHandler_1_0_0Test;
7
import org.gvsig.remoteclient.wfs.wfs_1_0_0.WFSProtocolHandlerTest1_0_0;
8
import org.gvsig.remoteclient.wfs.wfs_1_1_0.WFSProtocolHandlerTest1_1_0;
9
import org.gvsig.remoteclient.wms.WMSStatusTest;
10
import org.gvsig.remoteclient.wms.wms_1_1_1.WMSProtocolHandler_1_1_1Test;
11

  
12
public class AllTests {
13

  
14
	public static Test suite() {
15
		TestSuite suite = new TestSuite("Test for org.gvsig.remoteClient");
16
		//$JUnit-BEGIN$
17
		suite.addTestSuite(Test.class);
18
		
19
		//commented until there is a way to simulate the needed servers.
20
		//suite.addTestSuite(URLRetrieveTest.class);
21
		suite.addTestSuite(WCSProtocolHandler_1_0_0Test.class);
22
		suite.addTestSuite(WFSProtocolHandlerTest1_0_0.class);
23
		suite.addTestSuite(WFSProtocolHandlerTest1_1_0.class);
24
		suite.addTestSuite(WMSProtocolHandler_1_1_1Test.class);
25
		suite.addTestSuite(WMSStatusTest.class);
26
		
27
		//$JUnit-END$
28
		return suite;
29
	}
30

  
31
}
0 32

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/src/org/gvsig/remoteclient/ILayer.java
1

  
2
package org.gvsig.remoteclient;
3
/**
4
 * <p></p>
5
 * 
6
 */
7
public interface ILayer {
8
/**
9
 * <p>Does ...</p>
10
 * 
11
 * 
12
 * @return 
13
 */
14
    public String getName();
15
/**
16
 * <p>Does ...</p>
17
 * 
18
 * 
19
 * @param _name 
20
 */
21
    public void setName(String _name);
22
/**
23
 * <p>Does ...</p>
24
 * 
25
 * 
26
 * @param _title 
27
 */
28
    public void setTitle(String _title);
29
/**
30
 * <p>Does ...</p>
31
 * 
32
 * 
33
 * @return 
34
 */
35
    public String getTitle();
36
/**
37
 * <p>Does ...</p>
38
 * 
39
 * 
40
 * @return 
41
 */
42
    public String getAbstract();
43
/**
44
 * <p>Does ...</p>
45
 * 
46
 * 
47
 * @param _abstract 
48
 */
49
    public void setAbstract(String _abstract);
50
}
51

  
52

  
0 53

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/src/org/gvsig/remoteclient/conf/logger.properties
1
# LOGGER PROPERTIES
2

  
3
## limit is ignored if its value is empty or if its value is set to zero.
4
## Note: this property only affects info messages.
5
#log4j.info.maxsize=
6

  
7
## Set root category priority to DEBUG and its only appender to stdout.
8
## on a windows machine:
9
#log4j.rootCategory=DEBUG, stdout
10
# on the freya:
11
log4j.rootCategory=DEBUG, file
12
#log4j.rootCategory=FATAL
13

  
14
## stdout is set to be a ConsoleAppender which outputs to System.out.
15
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
16
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
17
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
18

  
19
log4j.appender.file=org.apache.log4j.RollingFileAppender
20
log4j.appender.file.File=C:\\projects\\gvsig\\RemoteMapClients.log
21
log4j.appender.file.MaxBackupIndex=1
22
log4j.appender.file.MaxFileSize=100KB
23
log4j.appender.file.layout=org.apache.log4j.PatternLayout
24
log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
25

  
26

  
27
##
28
## Package Logging 
29
##
30
## Each package can have its own appender
31
##
32
## Priorities are as follows :
33
##
34
## 1. FATAL
35
## 2. ERROR
36
## 3. WARN
37
## 4. INFO
38
## 5. DEBUG
39
##
40
## If a package has a priority of DEBUG, this means all
41
## messages will be shown in the log. If the priority is
42
## INFO, then all messages with a minimum priory of INFO will
43
## be shown i.e. INFO, WARN, ERROR and FATAL
44
##
45
## For minimum log output, set the priority to FATAL
46
##
47

  
48

  
49
#log4j.category.nl.rivm.rrgs.log.NogEenTester=DEBUG, R1
50
 
51
#log4j.appender.R1=org.apache.log4j.RollingFileAppender
52
#log4j.appender.R1.File=d:\\Test1.log
53
#log4j.appender.R1.MaxBackupIndex=1
54
#log4j.appender.R1.MaxFileSize=100KB
55
#log4j.appender.R1.layout=org.apache.log4j.PatternLayout
56
#log4j.appender.R1.layout.ConversionPattern=%d %p %t %c - %m%n
57

  
58

  
59
#log4j.category.nl.rivm.rrgs.log.Tester=DEBUG, R
60

  
61
#log4j.appender.R=org.apache.log4j.RollingFileAppender
62
#log4j.appender.R.File=d:\\Test.log
63
#log4j.appender.R.MaxBackupIndex=1
64
#log4j.appender.R.MaxFileSize=100KB
65
#log4j.appender.R.layout=org.apache.log4j.PatternLayout
66
#log4j.appender.R.layout.ConversionPattern=%d %p %t %c - %m%n
0 67

  
tags/v2_0_0_Build_2059/libraries/libRemoteServices/src/org/gvsig/remoteclient/wms/WMSLayer.java
1
package org.gvsig.remoteclient.wms;
2

  
3
import java.io.IOException;
4
import java.util.ArrayList;
5
import java.util.Hashtable;
6
import java.util.TreeMap;
7
import java.util.Vector;
8

  
9
import org.kxml2.io.KXmlParser;
10
import org.xmlpull.v1.XmlPullParserException;
11

  
12
import org.gvsig.remoteclient.utils.BoundaryBox;
13
import org.gvsig.remoteclient.utils.CapabilitiesTags;
14

  
15
/**
16
 * <p>Abstract class that defines an WMSLayer.</p>
17
 *
18
 */
19
public abstract class WMSLayer implements org.gvsig.remoteclient.ILayer {
20

  
21
    protected ArrayList children;
22
    protected WMSLayer parent;
23

  
24
    /**
25
     * <p>Layer Abstract field in the capabilities document </p>
26
     */
27
    private String layerAbstract;
28

  
29
    /**
30
     * <p>Themes provided by the WMS for the layer</p>
31
     */
32
    public ArrayList styles = new ArrayList();
33

  
34
    /**
35
     * <p>Layer name</p>
36
     */
37
    private String name;
38

  
39
    /**
40
     * <p>Layer title</p>
41
     */
42
    private String title;
43

  
44
    private ArrayList keywordList = new ArrayList();
45
    /**
46
     * <p>Layer srs.</p>
47
     */
48
    protected Vector srs = new Vector();
49

  
50
    /**
51
     * <p>extents for each srs the layer can be reproyected to</p>
52
     */
53
    private Hashtable bBoxes  = new Hashtable();
54

  
55
    /**
56
     * <p>extents that defines the bbox for the LatLon projection
57
     * It can be included in the bBoxes vector as well, because it is the most used, we keep it separeted too, according
58
     *  with the OGC WMSCapabilities specifications...
59
     */
60
    private org.gvsig.remoteclient.utils.BoundaryBox latLonBbox;
61

  
62
    /**
63
     * <p>min scale for the layer to be visible</p>
64
     */
65
    private double scaleMin;
66

  
67
    /**
68
     * <p>max scale for the layer to be visible</p>
69
     */
70
    private double scaleMax;
71

  
72
    /**
73
     * <p>Dimensions defined for the layer in the capabilities doc</p>
74
     */
75
    protected java.util.ArrayList dimensions = new ArrayList();
76

  
77
    /**
78
     * Tells if this layer accepts getFeatureInfo requests.
79
     */
80
    private boolean queryable = false;
81

  
82
    /**
83
     * Tells if this layer is opaque.
84
     */
85
    private boolean opaque = false;
86
    /**
87
     * when set to true, noSubsets indicates that the server is not able to make a map
88
     * of a geographic area other than the layer's bounding box.
89
     */
90
    private boolean m_noSubSets = false;
91

  
92
    /**
93
     * when present and non-zero fixedWidth and fixedHeight indicate that the server is not
94
     * able to produce a map of the layer at a width and height different from the fixed sizes indicated.
95
     */
96
    private int fixedWidth = 0;
97
    private int fixedHeight = 0;
98

  
99
    /**
100
     * Tells if this layer can be served with transparency.
101
     */
102
    private boolean transparency;
103

  
104
    /**
105
     * <p>Parses the LAYER tag in the WMS capabilities, filling the WMSLayer object
106
     * loading the data in memory to be easily accesed</p>
107
     *
108
     */
109
    public abstract void parse(KXmlParser parser, TreeMap layerTreeMap)
110
    throws IOException, XmlPullParserException;
111

  
112
    //public abstract ArrayList getAllDimensions();
113

  
114
    /**
115
     * add a new keyword to the keywordList.
116
     * @param key
117
     */
118
    protected void addkeyword(String key)
119
    {
120
    	keywordList.add(key);
121
    }
122
    public ArrayList getKeywords()
123
    {
124
    	return keywordList;
125
    }
126
    /**
127
     * <p>Adds a style to the styles vector</p>
128
     * @param _style
129
     */
130
    public void addStyle(org.gvsig.remoteclient.wms.WMSStyle _style) {
131
        styles.add( _style );    }
132

  
133
   /**
134
     * <p>Gets the style vector</p>
135
     * @return
136
     */
137
    public ArrayList getStyles() {
138
    	ArrayList list = new ArrayList();
139
    	if (styles != null)
140
    		list.addAll(styles);
141
    	if (this.getParent()!= null)
142
    	{
143
    		//return getAllStyles(this);
144
    		if(this.getParent().getStyles() != null)
145
    			list.addAll(this.getParent().getStyles());
146
    	}
147
        return list;
148
    }
149

  
150
    public ArrayList getAllStyles(WMSLayer layer)
151
    {
152
    	if (layer.getParent()!= null)
153
    	{
154
    		ArrayList list = getAllStyles(layer.getParent());
155
    		for(int i = 0; i < this.styles.size(); i++)
156
    		{
157
    			list.add(styles.get(i));
158
    		}
159
    		return list;
160
    	}
161
    	else
162
    	{
163
    		return styles;
164
    	}
165
    }
166
    /**
167
     * <p>Adds a bbox to the Bboxes vector</p>
168
     * @param bbox
169
     */
170
    public void addBBox(BoundaryBox bbox) {
171
        bBoxes.put(bbox.getSrs(), bbox);
172
    }
173

  
174
    /**
175
     * <p>returns the bbox with that id in the Bboxes vector</p>
176
     * @param id
177
     */
178
    public BoundaryBox getBbox(String id) {
179
    	if ((id.compareToIgnoreCase( CapabilitiesTags.EPSG_4326 )==0)
180
    		||(id.compareToIgnoreCase( CapabilitiesTags.CRS_84)==0))
181
    	{
182
    		if (latLonBbox != null)
183
    		return (BoundaryBox)latLonBbox;
184
    	}
185
        BoundaryBox b = (BoundaryBox) bBoxes.get(id);
186
        if (b == null && parent!=null)
187
            return parent.getBbox(id);
188
        return (BoundaryBox)bBoxes.get(id);
189
    }
190

  
191
    /**
192
     * <p>Gets the bBoxes vector</p>
193
     * @return
194
     */
195
    public Hashtable getBboxes() {
196
        return bBoxes;
197
    }
198

  
199

  
200
    //Methods to manipulate the box that defines the layer extent in LatLon SRS.
201
    public BoundaryBox getLatLonBox()
202
    {
203
        return latLonBbox;
204
    }
205
    public void setLatLonBox(BoundaryBox box)
206
    {
207
        latLonBbox = box;
208
    }
209
    /**
210
     * <p>adds a new srs to the srs vector</p>
211
     */
212
    public void addSrs(String srs)
213
    {
214
    	if (!this.srs.contains(srs))
215
    		this.srs.add(srs);
216
    }
217

  
218
    public Vector getAllSrs()
219
    {
220
        Vector mySRSs = (Vector) this.srs.clone();
221
        if (parent!=null)
222
            mySRSs.addAll(parent.getAllSrs());
223
        return mySRSs;
224

  
225
//    	if (this.getParent()!= null)
226
//    	{
227
//    		Vector list = this.getParent().getAllSrs();
228
//    		for(int i = 0; i < this.srs.size(); i++)
229
//    		{
230
//    			list.add(srs.get(i));
231
//    		}
232
//    		return list;
233
//    	}
234
//    	else
235
//    	{
236
//    		return srs;
237
//    	}
238

  
239
    }
240
    /**
241
     * <p>gets the maximum scale for this layer</p>
242
     * @return
243
     */
244
    public double getScaleMax() {
245
        return scaleMax;
246
    }
247

  
248
    /**
249
     * <p>gets the minimum scale for this layer</p>
250
     * @return
251
     */
252
    public double getScaleMin() {
253
        return scaleMin;
254
    }
255

  
256
    /**
257
     * <p>sets the minimum scale for this layer to be visible.</p>
258
     *
259
     * @param scale
260
     */
261
    public void setScaleMin(double scale) {
262
        scaleMin = scale;
263
    }
264

  
265
    /**
266
     * <p>sets the maximum scale for this layer to be visible</p>
267
     * @param scale
268
     */
269
    public void setScaleMax(double scale) {
270
        scaleMax = scale;
271
    }
272

  
273
    /**
274
     * <p> gets the dimension vector defined in this layer</p>
275
     * @return
276
     */
277
    public abstract ArrayList getDimensions();
278
//    public ArrayList getDimensions() {
279
//        return dimensions;
280
//    }
281

  
282
    public WMSDimension getDimension(String name)
283
    {
284
    	for(int i = 0; i < dimensions.size(); i++ ){
285
    		if(((WMSDimension)dimensions.get(i)).getName().compareTo(name)==0)
286
    		{
287
    			return (WMSDimension)dimensions.get(i);
288
    		}
289
    	}
290
    	return null;
291
    }
292

  
293
//    /**
294
//     * <p>Sets the dimension vector defined for this layer</p>
295
//     * @param v
296
//     */
297
//    public void setDimensions(ArrayList v) {
298
//        dimensions = (ArrayList)v.clone();
299
//    }
300

  
301
    /**
302
     * <p>Adds a dimension to the dimension vector </p>
303
     * @param dimension
304
     */
305
    public void addDimension(org.gvsig.remoteclient.wms.WMSDimension dimension) {
306
        dimensions.add(dimension);
307
    }
308

  
309
    /**
310
     * <p>Gets layer name</p>
311
     * @return
312
     */
313
    public String getName() {
314
        return this.name;
315
    }
316

  
317
    /**
318
     * <p>Sets layer name</p>
319
     * @param _name
320
     */
321
    public void setName(String name) {
322
        this.name = name;
323
    }
324

  
325
    /**
326
     * <p>Gets layer title</p>
327
     * @return
328
     */
329
    public String getTitle() {
330
        return title;
331
    }
332

  
333
    /**
334
     * <p>Sets the layer title</p>
335
     * @param _title
336
     */
337
    public void setTitle(String title) {
338
        this.title = title;
339
    }
340

  
341
    /**
342
     * <p>Gets the layer abstract</p>
343
     * @return
344
     */
345
    public String getAbstract() {
346
        return layerAbstract;
347
    }
348

  
349
    /**
350
     * <p>Sets the layer abstract</p>
351
     * @param m_abstract
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff