Revision 38743

View differences:

tags/v2_0_0_Build_2051/libraries/libRemoteServices/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
5
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
6
                      
7
	<modelVersion>4.0.0</modelVersion>
8
	<artifactId>org.gvsig.remoteclient</artifactId>
9
	<packaging>jar</packaging>
10
	<version>2.0-SNAPSHOT</version>
11
	<name>libRemoteServices</name>
12
	<parent>
13
		<groupId>org.gvsig</groupId>
14
		<artifactId>gvsig-base-library-pom</artifactId>
15
		<version>2.0-SNAPSHOT</version>
16
	</parent>	
17
	<dependencies>
18
		<dependency>
19
			<groupId>org.gvsig</groupId>
20
	        <artifactId>org.gvsig.tools.lib</artifactId>
21
            <scope>compile</scope>
22
      	</dependency>
23
      	<dependency>
24
			<groupId>org.gvsig</groupId>
25
			<artifactId>org.gvsig.compat</artifactId>
26
            <scope>compile</scope>
27
		</dependency>
28
      	<dependency>
29
			<groupId>org.gvsig</groupId>
30
	        <artifactId>org.gvsig.fmap.geometry</artifactId>
31
            <scope>compile</scope>
32
      	</dependency>
33
        <dependency>
34
            <groupId>net.sf.kxml</groupId>
35
            <artifactId>kxml2</artifactId>
36
            <scope>compile</scope>
37
        </dependency>
38
        <dependency>
39
            <groupId>xmlpull</groupId>
40
            <artifactId>xmlpull</artifactId>
41
            <scope>compile</scope>
42
        </dependency>
43
	</dependencies>
44
	<properties>
45
		<build-dir>${basedir}/../build</build-dir>
46
        <eclipse.project.name>libRemoteServices</eclipse.project.name>
47
	</properties>
48
	<profiles>
49
		<profile>
50
			<id>se</id>
51
			<dependencies>
52
				<dependency>
53
					<groupId>org.gvsig</groupId>
54
					<artifactId>org.gvsig.compat</artifactId>
55
					<classifier>se</classifier>
56
                    <scope>test</scope>
57
				</dependency>
58
			</dependencies>
59
		</profile>
60
		<profile>
61
			<id>cdc</id>
62
			<dependencies>
63
				<dependency>
64
					<groupId>org.gvsig.mobile</groupId>
65
					<artifactId>org.gvsig.mobile.compat</artifactId>
66
					<version>2.0-SNAPSHOT</version>
67
                    <scope>test</scope>
68
				</dependency>
69
			</dependencies>
70
			<build>
71
				<plugins>
72
					<plugin>
73
						<groupId>org.apache.maven.plugins</groupId>
74
						<artifactId>maven-compiler-plugin</artifactId>
75
						<configuration>
76
							<source>1.4</source>
77
							<target>1.4</target>
78
						</configuration>
79
					</plugin>
80
				</plugins>
81
			</build>
82
		</profile>
83
	</profiles>
84
	<build>
85
		<sourceDirectory>src</sourceDirectory>
86
		<testSourceDirectory>test</testSourceDirectory>
87
		
88
		<!-- TODO: MAKE TESTS WORK AND REMOVE THIS OPTION -->
89
		<plugins>
90
			<plugin>
91
				<groupId>org.apache.maven.plugins</groupId>
92
				<artifactId>maven-surefire-plugin</artifactId>
93
				<configuration>
94
					<skipTests>true</skipTests>
95
				</configuration>
96
			</plugin>
97
		</plugins>
98
	</build>
99
</project>
tags/v2_0_0_Build_2051/libraries/libRemoteServices/.cvsignore
1
remote-clients.jar
2
dist
3
bin
4
bin-test
0 5

  
tags/v2_0_0_Build_2051/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_2051/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_2051/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_2051/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_2051/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_2051/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_2051/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_2051/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_2051/libraries/libRemoteServices/src/org/gvsig/remoteclient/taskplanning/IRunnableTask.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.1  2006-05-12 07:15:45  jaume
47
* *** empty log message ***
48
*
49
* Revision 1.1  2006/05/11 17:18:06  jaume
50
* Un planificador, monitorizador, de descargas que trabaja en segundo plano
51
*
52
*
53
*/
54
package org.gvsig.remoteclient.taskplanning;
55

  
56
/**
57
 * Interface implemented by those tasks that can be background-executed,
58
 * cancelled or any other thing.
59
 * 
60
 * @author jaume dominguez faus - jaume.dominguez@iver.es
61
 */
62
public interface IRunnableTask {
63
	/**
64
	 * Executes this task's operations.
65
	 */
66
	public void execute();
67
	
68
	/**
69
	 * Cancels the current execution, if any, of this task. Should have no
70
	 * effect if the task is not executing anything.
71
	 */
72
	public void cancel();
73
	
74
	/**
75
	 * Tells if the task is on execution.
76
	 * @return true if the task is busy, false otherwise.
77
	 */
78
	public boolean isRunning();
79
	
80
	/**
81
	 * Returns the timeout set to this task in milliseconds
82
	 * @return the amount of milliseconds to wait until the task
83
	 * 		   will be considered as unsuccessful, or 0 or less to
84
	 * 		   say that task can wait forever.
85
	 */
86
	public long getTaskTimeout();
87
}
0 88

  
tags/v2_0_0_Build_2051/libraries/libRemoteServices/src/org/gvsig/remoteclient/taskplanning/FIFOTaskPlanner.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.1  2006-05-12 07:15:45  jaume
47
* *** empty log message ***
48
*
49
* Revision 1.1  2006/05/11 17:18:06  jaume
50
* Un planificador, monitorizador, de descargas que trabaja en segundo plano
51
*
52
*
53
*/
54
package org.gvsig.remoteclient.taskplanning;
55

  
56
/**
57
 * A simple FIFO task planner. The tasks returned by this planner are executed
58
 * enterely. It does not issue another task until the current is finished. 
59
 * @author jaume
60
 *
61
 */
62
public class FIFOTaskPlanner implements ITaskPlanner {
63
	IQueue queue;
64
	
65
	/**
66
	 * Creates a new instance of FIFOTaskPlanner that will work against the
67
	 * queue passed as paramenter 
68
	 * @param queue, the IQueue to be planned
69
	 */
70
	public FIFOTaskPlanner(IQueue queue) {
71
		this.queue = queue;
72
	}
73

  
74
	
75
	public IRunnableTask nextTask() {
76
		synchronized (this) {
77
			return (IRunnableTask) queue.getTasks().remove(0);
78
		}
79
	}
80
	/**
81
	 * FIFO plans have no previous tasks so, null is always returned.
82
	 */
83
	public IRunnableTask previousTask() {
84
		return null;
85
	}
86

  
87
}
0 88

  
tags/v2_0_0_Build_2051/libraries/libRemoteServices/src/org/gvsig/remoteclient/taskplanning/ITaskPlanner.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.2  2006-05-12 07:45:49  jaume
47
* some warnings removed
48
*
49
* Revision 1.1  2006/05/12 07:15:45  jaume
50
* *** empty log message ***
51
*
52
* Revision 1.1  2006/05/11 17:18:06  jaume
53
* Un planificador, monitorizador, de descargas que trabaja en segundo plano
54
*
55
*
56
*/
57
package org.gvsig.remoteclient.taskplanning;
58

  
59
/**
60
 * <p>
61
 * ITaskPlanner provides an interface to program your own task planning. It gives
62
 * you operations for pick a task from the queue according on the criteria that
63
 * you designed.<br>
64
 * </p>
65
 * <p>
66
 * The simplest implementation of ITaskPlanner would be a FIFO task planner (see
67
 * FIFOTaskPlanner.java) which takes jobs from a task queue in the same order
68
 * they were put. But any kind of planner is possible (SJF, LIFO, RoundRobin, etc.). 
69
 * </p>
70
 * @author jaume dominguez faus - jaume.dominguez@iver.es
71
 *
72
 */
73
public interface ITaskPlanner {
74
	/**
75
	 * Takes the next task to be executed.
76
	 * @return IRunnableTask representing the next task to be executed
77
	 */
78
	public IRunnableTask nextTask();
79
	
80
	/**
81
	 * Takes the previous executed task. Notice that it may or may not have
82
	 * sense for specific implementations. For example, in a FIFO-like planner,
83
	 * the task is taken from the queue, executed until it is finished and 
84
	 * removed from the queue. So, there is no previous task.
85
	 * 
86
	 * @return IRunnableTask representing the previous executed task, or null
87
	 * if none.
88
	 * @deprecated (probably this is unuseful and i'll remove it)
89
	 */
90
	public IRunnableTask previousTask();
91
}
0 92

  
tags/v2_0_0_Build_2051/libraries/libRemoteServices/src/org/gvsig/remoteclient/taskplanning/IQueue.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.2  2006-05-16 17:10:27  jaume
47
* *** empty log message ***
48
*
49
* Revision 1.1  2006/05/12 07:15:45  jaume
50
* *** empty log message ***
51
*
52
* Revision 1.1  2006/05/11 17:18:06  jaume
53
* Un planificador, monitorizador, de descargas que trabaja en segundo plano
54
*
55
*
56
*/
57
package org.gvsig.remoteclient.taskplanning;
58

  
59
import java.util.Vector;
60

  
61
/**
62
 *  <p>
63
 *  You should write your own concrete Queue implementation to hold the tasks in
64
 *  a specific kind of queue.<br>
65
 *  </p>
66
 *  <p>
67
 *  Following the contract, you should also write a task planner that does what 
68
 *  you desire. Task planners are a concrete class of the ITaskPlanner that would 
69
 *  plannify which is the next, the previous,.. task to be done. However, if
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff