Revision 5378 branches/MULTITHREADING_DEVELOPMENT/libraries/libRemoteServices/src/org/gvsig/remoteClient/taskplanning/retrieving/RequestManager.java
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