diff options
author | Eike Stepper | 2017-12-28 06:03:14 +0000 |
---|---|---|
committer | Eike Stepper | 2017-12-28 06:03:14 +0000 |
commit | 97e16c37cb134d71216601ade7d98aba5c8e00c4 (patch) | |
tree | be7fe9f6543cc2cc3be5ea12d23396553acb7db6 | |
parent | ccf2d493ec17c106306579cdf5161f95615315b6 (diff) | |
download | cdo-97e16c37cb134d71216601ade7d98aba5c8e00c4.tar.gz cdo-97e16c37cb134d71216601ade7d98aba5c8e00c4.tar.xz cdo-97e16c37cb134d71216601ade7d98aba5c8e00c4.zip |
[529260] SynchronizableRepository must not accept dynamic package addition
https://bugs.eclipse.org/bugs/show_bug.cgi?id=529260
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java index 8057dfdc5e..121c25336d 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/SynchronizableRepository.java @@ -549,8 +549,14 @@ public abstract class SynchronizableRepository extends Repository.Default implem { if (beforeCommit && commitContext.getNewPackageUnits().length != 0) { - throw new IllegalStateException( - "Synchronizable repositories don't support dynamic addition of new packages. Use IRepository.setInitialPackages() instead."); + for (InternalCDOPackageUnit packageUnit : commitContext.getNewPackageUnits()) + { + if (!packageUnit.isSystem()) + { + throw new IllegalStateException( + "Synchronizable repositories don't support dynamic addition of new packages. Use IRepository.setInitialPackages() instead."); + } + } } super.notifyWriteAccessHandlers(transaction, commitContext, beforeCommit, monitor); |