Revision 39464

View differences:

tags/v2_0_0_Build_2061/libraries/libRemoteServices/.cvsignore
1
remote-clients.jar
2
dist
3
bin
4
bin-test
0 5

  
tags/v2_0_0_Build_2061/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_2061/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_2061/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_2061/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_2061/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_2061/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_2061/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_2061/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_2061/libraries/libRemoteServices/src/org/gvsig/remoteclient/RemoteClientStatus.java
1

  
2
package org.gvsig.remoteclient;
3

  
4
import org.gvsig.remoteclient.ogc.OGCClientOperation;
5

  
6
/**
7
 * This class represents the client status at a certain moment
8
 * it describes the "graphic" situation or the requirements of the data
9
 * to be retrieved.
10
 * 
11
 */
12
public abstract class RemoteClientStatus {
13

  
14
	// width and heigh of the map
15
    private int width;
16
    private int height;
17
    
18
    //format of the image to be retrieved
19
    private String format;
20
    private String infoFormat;
21
    // spatial reference system of the image to be retrieved
22
    private String srs;
23
    // exception format, to be retrieved in case of error
24
    private String exceptionFormat;
25
    
26
    //To set if the client has to use GET or POST
27
	private int protocol = OGCClientOperation.PROTOCOL_UNDEFINED;
28

  
29
	public int getWidth() {        
30
        return width;
31
    }
32
    
33
    public void setWidth(int _width) {        
34
    	width = _width;
35
    } 
36

  
37
    public int getHeight() {                
38
        return height;
39
    } 
40
    public void setHeight(int _height) {        
41
        height = _height;
42
    } 
43

  
44
    public String getFormat() {        
45
        return format;
46
    }
47
    
48
    public void setFormat(String _format) {        
49
        format = _format;
50
    } 
51
    
52
    public String getInfoFormat() {        
53
        return infoFormat;
54
    } 
55
    
56
    public void setInfoFormat(String _format) {        
57
        infoFormat = _format;
58
    } 
59

  
60
    public String getSrs() {        
61
        return srs;
62
    } 
63

  
64
    public void setSrs(String _srs) {        
65
        srs = _srs;
66
    } 
67

  
68
    public void setExceptionFormat(String _format) {        
69
        exceptionFormat = _format;
70
    } 
71
    
72
    public String getExceptionFormat() {        
73
        return exceptionFormat;
74
    }
75
    
76
    /**
77
	 * @return the protocol
78
	 */
79
	public int getProtocol() {
80
		return protocol;
81
	}
82

  
83
	/**
84
	 * @param protocol the protocol to set
85
	 */
86
	public void setProtocol(int protocol) {
87
		this.protocol = protocol;
88
	}
89
 
90
 }
0 91

  
tags/v2_0_0_Build_2061/libraries/libRemoteServices/src/org/gvsig/remoteclient/RasterClient.java
1

  
2
package org.gvsig.remoteclient;
3

  
4
/**
5
 * <p></p>
6
 * 
7
 */
8
public abstract class RasterClient extends org.gvsig.remoteclient.RemoteClient implements org.gvsig.remoteclient.IRasterClient {
9
 }
0 10

  
tags/v2_0_0_Build_2061/libraries/libRemoteServices/src/org/gvsig/remoteclient/wfs/WFSSchemaParser.java
1
package org.gvsig.remoteclient.wfs;
2

  
3
import java.io.IOException;
4

  
5
import org.kxml2.io.KXmlParser;
6
import org.xmlpull.v1.XmlPullParserException;
7

  
8
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
9
 *
10
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
11
 *
12
 * This program is free software; you can redistribute it and/or
13
 * modify it under the terms of the GNU General Public License
14
 * as published by the Free Software Foundation; either version 2
15
 * of the License, or (at your option) any later version.
16
 *
17
 * This program is distributed in the hope that it will be useful,
18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
 * GNU General Public License for more details.
21
 *
22
 * You should have received a copy of the GNU General Public License
23
 * along with this program; if not, write to the Free Software
24
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
25
 *
26
 * For more information, contact:
27
 *
28
 *  Generalitat Valenciana
29
 *   Conselleria d'Infraestructures i Transport
30
 *   Av. Blasco Ib??ez, 50
31
 *   46010 VALENCIA
32
 *   SPAIN
33
 *
34
 *      +34 963862235
35
 *   gvsig@gva.es
36
 *      www.gvsig.gva.es
37
 *
38
 *    or
39
 *
40
 *   IVER T.I. S.A
41
 *   Salamanca 50
42
 *   46005 Valencia
43
 *   Spain
44
 *
45
 *   +34 963163400
46
 *   dac@iver.es
47
 */
48
/* CVS MESSAGES:
49
 *
50
 * $Id$
51
 * $Log$
52
 * Revision 1.1  2006-05-16 14:12:56  jorpiell
53
 * A?adido el parseador de Esquemas
54
 *
55
 *
56
 */
57
/**
58
 * 
59
 * @author Jorge Piera Llodr? (piera_jor@gva.es)
60
 */
61
public class WFSSchemaParser extends KXmlParser {
62
	private String schema = "";
63
	
64
	public WFSSchemaParser(){
65
		super();
66
	}
67
	
68
	public WFSSchemaParser(String schema){
69
		this.schema = schema;
70
	}
71
	
72
	/**
73
	 * It gets the schema from a tag. The schema is separated
74
	 * of the tag name by ":".
75
	 * @param tag
76
	 */
77
	public void setSchemaFromMainTag(String tag){
78
		int pos = tag.indexOf(":");
79
		if (pos > 0){
80
			this.schema = tag.substring(0,pos);
81
		}else{
82
			this.schema = "";
83
		}
84
	}	
85

  
86
	/**
87
	 * @return Returns the schema.
88
	 */
89
	public String getSchema() {
90
		return schema;
91
	}
92

  
93
	/**
94
	 * @param schema The schema to set.
95
	 */
96
	public void setSchema(String schema) {
97
		this.schema = schema;
98
	}	
99
	
100
	/**
101
	 * Returns a SCHEMA:TAG
102
	 * @param tag
103
	 * @return SCHEMA:TAG
104
	 */
105
	private String getTag(String tag){
106
		if (tag == null){
107
			return null;
108
		}
109
		if ((schema == null) || (schema.equals(""))){
110
			return tag;
111
		}
112
		return schema + ":" + tag;
113
	}
114
	
115
	/*
116
	 *  (non-Javadoc)
117
	 * @see org.xmlpull.v1.XmlPullParser#require(int, java.lang.String, java.lang.String)
118
	 */
119
	public void require(int type, String namespace, String name)
120
		throws XmlPullParserException, IOException{
121
		super.require(type,namespace,getTag(name));
122
	}
123
	
124
	/*
125
	 *  (non-Javadoc)
126
	 * @see org.xmlpull.v1.XmlPullParser#getName()
127
	 */
128
	public String getName(){
129
		try{
130
		String name = super.getName();
131
		if ((schema != null) || (!(schema.equals("")))){
132
			return name.substring(name.indexOf(":") + 1,name.length());
133
		}
134
		return name;
135
		}catch (NullPointerException e){
136
			return "";
137
		}
138
	}
139
	
140
}
0 141

  
tags/v2_0_0_Build_2061/libraries/libRemoteServices/src/org/gvsig/remoteclient/wfs/wfs_1_0_0/request/WFSDescribeFeatureTypeRequest1_0_0.java
1
package org.gvsig.remoteclient.wfs.wfs_1_0_0.request;
2

  
3
import org.gvsig.compat.CompatLocator;
4
import org.gvsig.compat.lang.StringUtils;
5
import org.gvsig.remoteclient.wfs.WFSProtocolHandler;
6
import org.gvsig.remoteclient.wfs.WFSStatus;
7
import org.gvsig.remoteclient.wfs.request.WFSDescribeFeatureTypeRequest;
8

  
9
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
10
 *
11
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
12
 *
13
 * This program is free software; you can redistribute it and/or
14
 * modify it under the terms of the GNU General Public License
15
 * as published by the Free Software Foundation; either version 2
16
 * of the License, or (at your option) any later version.
17
 *
18
 * This program is distributed in the hope that it will be useful,
19
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
 * GNU General Public License for more details.
22
 *
23
 * You should have received a copy of the GNU General Public License
24
 * along with this program; if not, write to the Free Software
25
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
26
 *
27
 * For more information, contact:
28
 *
29
 *  Generalitat Valenciana
30
 *   Conselleria d'Infraestructures i Transport
31
 *   Av. Blasco Ib??ez, 50
32
 *   46010 VALENCIA
33
 *   SPAIN
34
 *
35
 *      +34 963862235
36
 *   gvsig@gva.es
37
 *      www.gvsig.gva.es
38
 *
39
 *    or
40
 *
41
 *   IVER T.I. S.A
42
 *   Salamanca 50
43
 *   46005 Valencia
44
 *   Spain
45
 *
46
 *   +34 963163400
47
 *   dac@iver.es
48
 */
49
/* CVS MESSAGES:
50
 *
51
 * $Id$
52
 * $Log$
53
 *
54
 */
55
/**
56
 * @author Jorge Piera Llodr? (jorge.piera@iver.es)
57
 */
58
public class WFSDescribeFeatureTypeRequest1_0_0 extends WFSDescribeFeatureTypeRequest {
59

  
60
    private static final StringUtils stringUtils = CompatLocator.getStringUtils();
61
    
62
	public WFSDescribeFeatureTypeRequest1_0_0(WFSStatus status,
63
			WFSProtocolHandler protocolHandler) {
64
		super(status, protocolHandler);		
65
	}
66

  
67
	/*
68
	 * (non-Javadoc)
69
	 * @see org.gvsig.remoteClient.wfs.requests.WFSRequest#getHttpGetRequest(java.lang.String)
70
	 */
71
	protected String getHttpGetRequest(String onlineResource) {
72
		StringBuffer req = new StringBuffer();
73
		req.append(onlineResource);
74
		req.append("REQUEST=DescribeFeatureType&SERVICE=WFS&");
75
		//Typename
76
		String typeName = status.getFeatureFullName();
77
		if ((status.getNamespaceLocation() != null) && 
78
				(status.getNamespacePrefix() != null)){
79
			req.append("NAMESPACE=");
80
			req.append("xmlns(" + status.getNamespacePrefix() + "=");
81
			req.append(status.getNamespaceLocation() + ")");
82
			req.append("&");				
83
		}
84
		req.append("TYPENAME=").append(typeName).append("&");
85
		req.append("VERSION=").append(protocolHandler.getVersion()).append("&EXCEPTIONS=XML");
86
		String request = stringUtils.replaceAll(req.toString(), "UEeRtKxB+ROJTlqYiWB3XQ==", "UEeRtKxB%2bROJTlqYiWB3XQ%3d%3d");
87
		return request;
88
	}
89

  
90
}
0 91

  
tags/v2_0_0_Build_2061/libraries/libRemoteServices/src/org/gvsig/remoteclient/wfs/wfs_1_0_0/request/WFSTransactionRequest1_0_0.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
package org.gvsig.remoteclient.wfs.wfs_1_0_0.request;
23

  
24
import java.util.Iterator;
25

  
26
import org.gvsig.remoteclient.utils.CapabilitiesTags;
27
import org.gvsig.remoteclient.wfs.WFSProtocolHandler;
28
import org.gvsig.remoteclient.wfs.WFSStatus;
29
import org.gvsig.remoteclient.wfs.edition.IWFSTOperation;
30
import org.gvsig.remoteclient.wfs.edition.WFSTInsertOperation;
31
import org.gvsig.remoteclient.wfs.edition.WFSTTags;
32
import org.gvsig.remoteclient.wfs.edition.WFSTTransaction;
33
import org.gvsig.remoteclient.wfs.edition.WFSTUpdateOperation;
34
import org.gvsig.remoteclient.wfs.filters.filterencoding.FilterEncoding;
35
import org.gvsig.remoteclient.wfs.request.WFSTransactionRequest;
36

  
37

  
38
/**
39
 * @author gvSIG Team
40
 * @version $Id$
41
 *
42
 */
43
public class WFSTransactionRequest1_0_0 extends WFSTransactionRequest{
44

  
45
    /**
46
     * @param status
47
     * @param protocolHandler
48
     */
49
    public WFSTransactionRequest1_0_0(WFSStatus status,
50
        WFSProtocolHandler protocolHandler) {
51
        super(status, protocolHandler);      
52
    }
53

  
54
    protected String getHttpGetRequest(String onlineResource) {
55
        // TODO Auto-generated method stub
56
        return null;
57
    }
58

  
59
    protected String getHttpPostRequest(String onlineResource) {
60
        StringBuffer request = new StringBuffer();
61
        addHttpPostHeaderRequest(request);
62
        //Add the operations
63
        WFSTTransaction transaction = status.getTransaction();
64

  
65
        //Insert operations
66
        for (int i=0 ; i<transaction.getInsertOperationSize() ; i++){
67
            addInsertOperation(transaction.getInseOperationAt(i), request);            
68
        }
69

  
70
        //Update operations
71
        for (int i=0 ; i<transaction.getUpdateOperationSize() ; i++){
72
            addUpdateOperation(transaction.getUpdateOperationAt(i), request);            
73
        }
74

  
75
        //Delete operations. All of them in just one operation
76
        if (transaction.getDeleteOperationSize() > 0){            
77
            IWFSTOperation firstOperation = transaction.getDeleteOperationAt(0);
78
            addOperationHeader(firstOperation, request);
79
            
80
            FilterEncoding filterEncoding = new FilterEncoding(status);
81
            filterEncoding.setQualified(true);
82
            for (int i=0 ; i<transaction.getDeleteOperationSize() ; i++){               
83
                filterEncoding.addFeatureById(transaction.getDeleteOperationAt(i).getId());       
84
            }
85
            request.append(filterEncoding.toString(protocolHandler.getVersion()));
86
            addOperationEnd(firstOperation, request);
87
        }
88
        addHttpPostEndRequest(request);
89
        return request.toString();
90
    }
91

  
92
    private void addOperationHeader(IWFSTOperation operation, StringBuffer request){
93
        request.append("<" + CapabilitiesTags.WFS_NAMESPACE_PREFIX + ":");
94
        request.append(operation.getOperationName());
95
        if (operation.hasTypeName()){
96
            request.append(" typeName=\"" + status.getFeatureFullName() + "\"");
97
        }
98
        request.append(">");      
99
    }
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff