Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java20
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,

Back to the top