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 |
}
|