Skip to content

Commit e6f00a1

Browse files
committed
Prevent projectURL exceptions bubbling up.
This commit prevents URL parsing exceptions in package projectURL strings from bubbling up and causing BEAUti to produce incorrect "your internet connection is broken" error messages.
1 parent ff4d7ec commit e6f00a1

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

src/beast/pkgmgmt/PackageManager.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535

3636

37+
import beast.base.core.Log;
3738
import org.w3c.dom.Document;
3839
import org.w3c.dom.Element;
3940
import org.w3c.dom.Node;
@@ -381,9 +382,14 @@ private static void loadURL(URL url, InputStream is, Map<String, Package> packag
381382

382383
PackageVersion packageVersion = new PackageVersion(element.getAttribute("version"));
383384

384-
if (element.hasAttribute("projectURL") &&
385-
!(pkg.getLatestVersion() != null && packageVersion.compareTo(pkg.getLatestVersion())<0))
386-
pkg.setProjectURL(new URL(element.getAttribute("projectURL")));
385+
if (element.hasAttribute("projectURL") &&
386+
!(pkg.getLatestVersion() != null && packageVersion.compareTo(pkg.getLatestVersion()) < 0)) {
387+
try {
388+
pkg.setProjectURL(new URL(element.getAttribute("projectURL")));
389+
} catch (MalformedURLException ex) {
390+
Log.warning.println("Error parsing projectURL: " + ex.getMessage());
391+
}
392+
}
387393

388394
Set<PackageDependency> packageDependencies = new HashSet<PackageDependency>();
389395
NodeList depNodes = element.getElementsByTagName("depends");

0 commit comments

Comments
 (0)