public void reload() throws BackingStoreException {
if (!this.prefsChanging) {
this.folders.clear();
final ProjectScope scope = new ProjectScope(project);
final IEclipsePreferences prefs = scope.getNode(PREFS_QUALIFIER);
if (prefs.nodeExists(PREFS_DEFAULT_WEB_ROOT)) {
final String def = prefs.get(PREFS_DEFAULT_WEB_ROOT, null);
if (def.length() == 0) {
this.defaultWebFolder = this.project;
} else {
this.defaultWebFolder = this.project.getFolder(def);
}
} else {
this.defaultWebFolder = this.project;
}
if (prefs.nodeExists(PREFS_FOLDER_COUNT)) {
for (int i = 0; i < prefs.getInt(PREFS_FOLDER_COUNT, 0); i++) {
final String container = prefs.get(PREFS_FOLDER_CONTAINER + i, null);
final String pathName = prefs.get(PREFS_FOLDER_PATHNAME + i, null);
this.folders.add(new WebFolder(project.getFolder(container), pathName));
}
}
}
}