Revision 5378 branches/MULTITHREADING_DEVELOPMENT/libraries/libRemoteServices/src/org/gvsig/remoteClient/taskplanning/retrieving/RequestManager.java

View differences:

RequestManager.java
38 38
					if (r.equals(request)) {
39 39
						System.out.println(request.getUrl()+" is cached at '"+r.getFileName()+"'");
40 40
						request.setFileName(r.getFileName()); /* Uaaah! 
41
															   * Si no pose a?? l'event es 
41
															   * Si no pose aixo l'event es 
42 42
															   * dispara abans que haja 
43 43
															   * retornat el request 
44 44
															   * reasignat i confon el 
......
49 49
					}
50 50
				}
51 51
				
52
				
53 52
				synchronized (this) {
54
					if (request.getStatus() == RetrieveEvent.REQUEST_CANCELED ||
55
						request.getStatus() == RetrieveEvent.REQUEST_FAILED) {
53
					if (request.getStatus() < 0) { // Error codes are less than 0
56 54
						// The last requested URL was cancelled or it failed but now it is required again
57 55
						// so, I have to remove it and add again.
58 56
						removeURLRequest(request);
59 57
						return addURLRequest(request, listener);
60 58
					} else if (request.getStatus() == RetrieveEvent.REQUEST_FINISHED) {
59
						File f = new File(request.getFileName());
60
						if (!f.exists()) {
61
							/* 
62
							 * Maybe a multiple instance of the 
63
							 * application erased previous cached files.
64
							 * 
65
							 * Remove from the table, and try again.
66
							 */
67
							removeURLRequest(request);
68
							return addURLRequest(request, listener);
69
						}
61 70
						if (debug)
62 71
							System.err.println("done job found ("+request.getFileName()+")");
72
						
63 73
						RetrieveEvent event = new RetrieveEvent();
64 74
						event.setFileName(request.getFileName());
65 75
						event.setType(RetrieveEvent.REQUEST_FINISHED);
......
81 91
				if (!tempDir.exists())
82 92
					tempDir.mkdir();
83 93
				String fileNamePrefix = tempDirectoryPath + 
84
											File.separator + host + 
94
											File.separator + host.toString().replaceAll("[.]", "_") + /* GDAL gets confused if there is dots in the filename */
85 95
											"-" ;
86 96
				if (fileName.startsWith(fileNamePrefix))
87 97
					fileName = fileName.substring(fileNamePrefix.length(), fileName.length());

Also available in: Unified diff