aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java b/src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java
index ff8786a6b5..6a45860803 100644
--- a/src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java
+++ b/src/com/vaadin/terminal/gwt/widgetsetutils/ClassPathExplorer.java
@@ -98,7 +98,21 @@ public class ClassPathExplorer {
files[i].length() - 8);
classname = classpathLocations.get(location) + "."
+ classname;
- widgetsets.put(classname, location);
+ if (!widgetsets.containsKey(classname)) {
+ String packageName = classpathLocations.get(location);
+ String packagePath = packageName.replaceAll("\\.", "/");
+ String basePath = location.getFile().replaceAll(
+ "/" + packagePath + "$", "");
+ try {
+ URL url = new URL(location.getProtocol(), location
+ .getHost(), location.getPort(), basePath);
+ widgetsets.put(classname, url);
+ } catch (MalformedURLException e) {
+ // should never happen as based on an existing URL,
+ // only changing end of file name/path part
+ e.printStackTrace();
+ }
+ }
}
}
} else {