Revision 38191 branches/v2_0_0_prep/extensions/org.gvsig.installer/org.gvsig.installer.lib/org.gvsig.installer.lib.impl/src/main/java/org/gvsig/installer/lib/impl/DefaultPackageInfo.java
DefaultPackageInfo.java | ||
---|---|---|
34 | 34 |
import java.util.ArrayList; |
35 | 35 |
import java.util.List; |
36 | 36 |
|
37 |
import org.slf4j.Logger; |
|
38 |
import org.slf4j.LoggerFactory; |
|
39 |
|
|
37 | 40 |
import org.gvsig.installer.lib.api.Dependencies; |
38 | 41 |
import org.gvsig.installer.lib.api.InstallerLocator; |
39 | 42 |
import org.gvsig.installer.lib.api.InstallerManager; |
... | ... | |
55 | 58 |
*/ |
56 | 59 |
public class DefaultPackageInfo implements PackageInfo { |
57 | 60 |
|
61 |
private static final Logger LOG = LoggerFactory |
|
62 |
.getLogger(DefaultPackageInfo.class); |
|
63 |
|
|
58 | 64 |
private String code = null; |
59 | 65 |
private String name = null; |
60 | 66 |
private String description = null; |
... | ... | |
381 | 387 |
|
382 | 388 |
public File downloadFile(SimpleTaskStatus taskStatus) |
383 | 389 |
throws InstallPackageServiceException { |
390 |
|
|
384 | 391 |
Download download = new Download(taskStatus); |
392 |
|
|
393 |
// First download from the index base URL this package info has |
|
394 |
// been downloaded from. If not there, download from the URL |
|
395 |
// available in the downloadURL property. |
|
396 |
InstallerManager manager = InstallerLocator.getInstallerManager(); |
|
397 |
URL baseURL = manager.getDownloadBaseURL(); |
|
398 |
String relativePath = |
|
399 |
"../../pool/" + getCode() + "/" + getPackageFileName(); |
|
385 | 400 |
try { |
386 |
return download.downloadFile(this.getDownloadURL(), null); |
|
401 |
URL downloadURL = new URL(baseURL, relativePath); |
|
402 |
return download.downloadFile(downloadURL, null); |
|
387 | 403 |
} catch (IOException e) { |
388 |
throw new FileDownloadException(this.getDownloadURL(), e); |
|
404 |
LOG.debug("Package " + getName() |
|
405 |
+ " not found relative to the index URL: " + baseURL, e); |
|
406 |
try { |
|
407 |
return download.downloadFile(this.getDownloadURL(), null); |
|
408 |
} catch (IOException e2) { |
|
409 |
throw new FileDownloadException(this.getDownloadURL(), e); |
|
410 |
} |
|
389 | 411 |
} |
390 | 412 |
} |
391 | 413 |
|
414 |
private String getPackageFileName() { |
|
415 |
Object[] values = |
|
416 |
new Object[] { "gvSIG-desktop", getGvSIGVersion(), getCode(), |
|
417 |
getVersion(), getState(), getOperatingSystem(), |
|
418 |
getArchitecture(), getJavaVM() }; |
|
419 |
StringBuffer buffer = new StringBuffer(); |
|
420 |
for (int i = 0; i < values.length - 1; i++) { |
|
421 |
buffer.append(values[i]).append('-'); |
|
422 |
} |
|
423 |
buffer.append(values[values.length - 1]).append(".gvspkg"); |
|
424 |
return buffer.toString(); |
|
425 |
} |
|
426 |
|
|
392 | 427 |
public void addFileToCopy(File file) { |
393 | 428 |
auxFiles.add(file); |
394 | 429 |
} |
Also available in: Unified diff