@Override public void removeRepository(IPapyrusRepository repository) { if (repository.isConnected()) { throw new IllegalArgumentException("repository is still connected"); // $NON-NLS-1$ } repositories.remove(repository.getURL()); EcoreUtil.delete(((PapyrusRepository) repository).getModel()); fireElementRemovedEvent(repository); }
@Override public void setURL(IPapyrusRepository repository, String url) { if (!Objects.equal(repository.getURL(), url)) { if (getRepository(url) != null) { throw new IllegalArgumentException("repository already exists"); // $NON-NLS-1$ } if (repository.isConnected()) { throw new IllegalStateException("repository is connected"); // $NON-NLS-1$ } PapyrusRepository internalRepository = (PapyrusRepository) repository; repositories.remove(internalRepository.getURL()); internalRepository.getModel().setURL(url); repositories.put(url, internalRepository); } }