diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java index 07b05504a6..c158d62b59 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java @@ -103,6 +103,7 @@ import org.eclipse.net4j.util.concurrent.IRWLockManager.LockType; import org.eclipse.net4j.util.concurrent.RWOLockManager.LockState; import org.eclipse.net4j.util.concurrent.TimeoutRuntimeException; import org.eclipse.net4j.util.container.Container; +import org.eclipse.net4j.util.container.IManagedContainer; import org.eclipse.net4j.util.container.IPluginContainer; import org.eclipse.net4j.util.lifecycle.LifecycleUtil; import org.eclipse.net4j.util.om.monitor.Monitor; @@ -187,6 +188,8 @@ public class Repository extends Container<Object> implements InternalRepository private IQueryHandlerProvider queryHandlerProvider; + private IManagedContainer container; + private List<ReadAccessHandler> readAccessHandlers = new ArrayList<ReadAccessHandler>(); private List<WriteAccessHandler> writeAccessHandlers = new ArrayList<WriteAccessHandler>(); @@ -1088,7 +1091,7 @@ public class Repository extends Container<Object> implements InternalRepository if (queryHandlerProvider == null) { - queryHandlerProvider = new ContainerQueryHandlerProvider(IPluginContainer.INSTANCE); + queryHandlerProvider = new ContainerQueryHandlerProvider(getContainer()); } IQueryHandler handler = queryHandlerProvider.getQueryHandler(info); @@ -1100,6 +1103,21 @@ public class Repository extends Container<Object> implements InternalRepository return null; } + public IManagedContainer getContainer() + { + if (container == null) + { + return IPluginContainer.INSTANCE; + } + + return container; + } + + public void setContainer(IManagedContainer container) + { + this.container = container; + } + public Object[] getElements() { final Object[] elements = { packageRegistry, branchManager, revisionManager, sessionManager, queryManager, |