* @param install if true, install all features contained in the features repository.
* @throws Exception in case of adding failure.
*/
public void addRepository(URI uri, boolean install) throws Exception {
if (!repositories.containsKey(uri)) {
Repository repositoryImpl = this.internalAddRepository(uri);
saveState();
if (install) {
for (Feature feature : repositoryImpl.getFeatures()) {
installFeature(feature, EnumSet.noneOf(Option.class));
}
}
} else {
refreshRepository(uri, install);