Revision 5246

View differences:

branches/MULTITHREADING_DEVELOPMENT/libraries/libRemoteServices/src/org/gvsig/remoteClient/taskplanning/retrieving/RequestManager.java
114 114
				URLRetrieveTask task = new URLRetrieveTask(request);
115 115
				return (URLRetrieveTask) serverQueue.put(task);
116 116
			}
117
			
118
//			// TODO canviar per a quetorne el Request antic, que la request guarde el
119
//			// seu estat aix? com la llista de listeners
120
//			File f = getPreviousDownloadedURLRequest(request);
121
//			
122
//			if (f!=null) {
123
//				// The file was already requested and it is in the cache or
124
//				// the download is in process
125
//				
126
//				// Overwrite the file name with the file in the cache's one.
127
//				request.setFileName(f.getAbsolutePath());
128
//				System.out.println(request.getUrl()+" is cached at '"+f.getAbsolutePath()+"'");
129
//				
130
//
131
//				// get this server's task queue
132
//				RetrieveQueue serverQueue = (RetrieveQueue) getQueue(request.getHost());
133
//				
134
//				// Look up the previous cached jobs
135
//				
136
//				URLRetrieveTask workingTask = serverQueue.getURLPreviousRequest(request);
137
//				if (workingTask == null) {
138
//					// Task already done. Notify listener
139
//					if (debug)
140
//						System.err.println("done job found: "+request.getUrl());
141
//					RetrieveEvent event = new RetrieveEvent();
142
//					event.setType(RetrieveEvent.REQUEST_FINISHED);
143
//					listener.transferEventReceived(event);
144
//					
145
//				} else {
146
//					// The task is working yet, will register the listener
147
//					
148
//					// TODO no va b?... perqu? la cola va buidant-se molt r?pidament
149
//					// per a fer que vaja tamb? hi hauria que registrar en cache
150
//					// lo que s'est? baixant al principi de l'execute();
151
//					if (debug)
152
//						System.err.println("working job found: "+request.getUrl());
153
//					workingTask.addRetrieveListener(listener);
154
//					
155
//				}
156
//			} else {
157
//				// Pick an unrepeatable fileName
158
//				String host = request.getHost();
159
//				String fileName = request.getFileName();
160
//				File tempDir = new File(tempDirectoryPath);
161
//				if (!tempDir.exists())
162
//					tempDir.mkdir();
163
//				String fileNamePrefix = tempDirectoryPath + 
164
//											File.separator + host + 
165
//											"-" ;
166
//				if (fileName.startsWith(fileNamePrefix))
167
//					fileName = fileName.substring(fileNamePrefix.length(), fileName.length());
168
//				
169
//				// get this server's task queue
170
//				RetrieveQueue serverQueue = (RetrieveQueue) getQueue(request.getHost());
171
//				
172
//				
173
//				fileName = fileNamePrefix + fileName;
174
//				
175
//				request.setFileName(fileName);
176
//				
177
//				// TODO
178
//				// jo ac? comprovaria quin protocol, m?tode, host, etc... i crearia un
179
//				// objecte que tractara la desc?rrega segons el m?tode que li toca.
180
//				// algo en plan Strategy's
181
//				//
182
//				// per exemple si fem URLRetrieveTask una abstracta i tenim
183
//				// 
184
//				// GET de tota la vida
185
//				// serverQueue.put(new HTTPGetRetrieveTask(request, listener));
186
//				//
187
//				// POST
188
//				// serverQueue.put(new HTTPPostRetrieveTask(request, listener));
189
//				//
190
//				// FTP
191
//				// serverQueue.put(new FTPRetrieveTask(request, listener));
192
//				//
193
//				// ????Xarxa local?????
194
//				// serverQueue.put(new SMBRetrieveTask(request, listener));
195
//				
196
//				// Enqueue the request and the listener will be notified when done.
197
//				URLRetrieveTask task = new URLRetrieveTask(request, listener);
198
//				return (URLRetrieveTask) serverQueue.put(task);
199
//			}
200 117
		} catch (MalformedURLException e) {
201 118
			e.printStackTrace();
202 119
		}
......
235 152
     * @param url
236 153
     * @param filePath
237 154
     */
238
    protected void addDownloadedURLRequest(URLRequest request){
155
    private void addDownloadedURLRequest(URLRequest request){
239 156
        if (!downloadedFiles.contains(request)) {
240 157
        	downloadedFiles.add(request);
241
        } else {
242
        	System.out.println("NOT ADDED");
243 158
        }
244
        
245
        
246
//        
247
//        String fileName = request.getFileName();
248
//        if (fileName!=null){
249
//            File f = new File(fileName);
250
//            if (f.exists())
251
//                f.delete();
252
//        }
253 159
    }
254 160

  
255 161
}
branches/MULTITHREADING_DEVELOPMENT/libraries/libRemoteServices/src/org/gvsig/remoteClient/taskplanning/retrieving/URLRequest.java
33 33
		u += "://"+host;
34 34
		if (port != -1)
35 35
			u += ":"+port;
36
		u += "/"+file;
36
		u += (file.charAt(0) == '/') ? file : "/"+file;
37 37
		return new URL(u);
38 38
	}
39 39
	/**

Also available in: Unified diff