Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2017-12-28 06:03:14 +0000
committerEike Stepper2017-12-28 06:03:14 +0000
commit97e16c37cb134d71216601ade7d98aba5c8e00c4 (patch)
treebe7fe9f6543cc2cc3be5ea12d23396553acb7db6
parentccf2d493ec17c106306579cdf5161f95615315b6 (diff)
downloadcdo-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.java10
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);

Back to the top