diff options
author | Eike Stepper | 2008-09-22 09:20:06 +0000 |
---|---|---|
committer | Eike Stepper | 2008-09-22 09:20:06 +0000 |
commit | 91cf0441c6eec7922615a0bde10d31cb7ccf5f7b (patch) | |
tree | ba551831427f0b232b1295f123c0fab7b41f4420 /plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo | |
parent | 5f8e5f6c696fac456ede5cd5162449beb486e1d4 (diff) | |
download | cdo-91cf0441c6eec7922615a0bde10d31cb7ccf5f7b.tar.gz cdo-91cf0441c6eec7922615a0bde10d31cb7ccf5f7b.tar.xz cdo-91cf0441c6eec7922615a0bde10d31cb7ccf5f7b.zip |
[247817] Develop configurable test bed
https://bugs.eclipse.org/bugs/show_bug.cgi?id=247817
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo')
19 files changed, 302 insertions, 103 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/CommitManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/CommitManager.java index dc2cc04632..205af5c86a 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/CommitManager.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/CommitManager.java @@ -11,6 +11,7 @@ package org.eclipse.emf.cdo.internal.server; import org.eclipse.emf.cdo.internal.server.Transaction.InternalCommitContext; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.IRepositoryElement; import org.eclipse.net4j.util.lifecycle.Lifecycle; @@ -29,22 +30,26 @@ import java.util.concurrent.Future; */ public class CommitManager extends Lifecycle implements IRepositoryElement { - private Repository repository; + private IRepository repository; private ExecutorService executors; private Map<Transaction, TransactionCommitContextEntry> commitContextMap = new ConcurrentHashMap<Transaction, TransactionCommitContextEntry>(); - public CommitManager(Repository repository) + public CommitManager() { - this.repository = repository; } - public Repository getRepository() + public IRepository getRepository() { return repository; } + public void setRepository(IRepository repository) + { + this.repository = repository; + } + public synchronized ExecutorService getExecutors() { if (executors == null) diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/NotificationManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/NotificationManager.java index 0cc2b6526e..289f43c971 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/NotificationManager.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/NotificationManager.java @@ -16,6 +16,7 @@ import org.eclipse.emf.cdo.common.id.CDOIDAndVersion; import org.eclipse.emf.cdo.common.id.CDOIDUtil; import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta; import org.eclipse.emf.cdo.server.INotificationManager; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.IStoreWriter.CommitContext; import org.eclipse.net4j.util.lifecycle.Lifecycle; @@ -29,18 +30,22 @@ import java.util.List; */ public class NotificationManager extends Lifecycle implements INotificationManager { - private Repository repository; + private IRepository repository; - public NotificationManager(Repository repository) + public NotificationManager() { - this.repository = repository; } - public Repository getRepository() + public IRepository getRepository() { return repository; } + public void setRepository(IRepository repository) + { + this.repository = repository; + } + public void notifyCommit(Session session, CommitContext commitContext) { CDORevisionDelta[] arrayOfDeltas = commitContext.getDirtyObjectDeltas(); @@ -60,12 +65,14 @@ public class NotificationManager extends Lifecycle implements INotificationManag dirtyIDs.add(dirtyIDAndVersion); deltas.add(delta); } + List<CDOID> detachedObjects = new ArrayList<CDOID>(detachedObjectsSize); for (int i = 0; i < detachedObjectsSize; i++) { detachedObjects.add(arrayOfDetachedObjects[i]); } - SessionManager sessionManager = repository.getSessionManager(); + + SessionManager sessionManager = (SessionManager)repository.getSessionManager(); sessionManager.handleCommitNotification(commitContext.getTimeStamp(), dirtyIDs, detachedObjects, deltas, session); } } diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/PackageManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/PackageManager.java index ed32508a7d..813d9edb84 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/PackageManager.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/PackageManager.java @@ -16,6 +16,7 @@ import org.eclipse.emf.cdo.common.model.CDOPackage; import org.eclipse.emf.cdo.common.model.CDOPackageInfo; import org.eclipse.emf.cdo.internal.common.model.CDOPackageManagerImpl; import org.eclipse.emf.cdo.server.IPackageManager; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.IStoreReader; import org.eclipse.emf.cdo.server.StoreThreadLocal; @@ -26,18 +27,31 @@ import java.util.Collection; */ public class PackageManager extends CDOPackageManagerImpl implements IPackageManager { - private Repository repository; + private IRepository repository; - public PackageManager(Repository repository) + /** + * @since 2.0 + */ + public PackageManager() { - this.repository = repository; } - public Repository getRepository() + /** + * @since 2.0 + */ + public IRepository getRepository() { return repository; } + /** + * @since 2.0 + */ + public void setRepository(IRepository repository) + { + this.repository = repository; + } + public CDOIDObjectFactory getCDOIDObjectFactory() { return repository.getStore().getCDOIDObjectFactory(); diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/QueryManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/QueryManager.java index dcf52db9b8..c4d4a31125 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/QueryManager.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/QueryManager.java @@ -15,6 +15,7 @@ import org.eclipse.emf.cdo.common.query.CDOQueryInfo; import org.eclipse.emf.cdo.internal.server.bundle.OM; import org.eclipse.emf.cdo.server.IQueryContext; import org.eclipse.emf.cdo.server.IQueryHandler; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.IRepositoryElement; import org.eclipse.emf.cdo.server.IView; @@ -39,7 +40,7 @@ public class QueryManager extends Lifecycle implements IRepositoryElement { private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SESSION, QueryManager.class); - private Repository repository; + private IRepository repository; private Map<Integer, QueryContext> queryContexts = new ConcurrentHashMap<Integer, QueryContext>(); @@ -47,16 +48,20 @@ public class QueryManager extends Lifecycle implements IRepositoryElement private int nextQuery; - public QueryManager(Repository repository) + public QueryManager() { - this.repository = repository; } - public Repository getRepository() + public IRepository getRepository() { return repository; } + public void setRepository(IRepository repository) + { + this.repository = repository; + } + public synchronized ExecutorService getExecutors() { if (executors == null) 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 8f3e17745e..71b9d422d8 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 @@ -57,19 +57,19 @@ public class Repository extends Container<IRepositoryElement> implements IReposi private Boolean verifyingRevisions; - private PackageManager packageManager = createPackageManager(); + private PackageManager packageManager; - private SessionManager sessionManager = createSessionManager(); + private SessionManager sessionManager; - private ResourceManager resourceManager = createResourceManager(); + private ResourceManager resourceManager; - private RevisionManager revisionManager = createRevisionManager(); + private RevisionManager revisionManager; - private QueryManager queryManager = createQueryManager(); + private QueryManager queryManager; - private NotificationManager notificationManager = createNotificationManager(); + private NotificationManager notificationManager; - private CommitManager commitManager = createCommitManager(); + private CommitManager commitManager; private IQueryHandlerProvider queryHandlerProvider; @@ -106,8 +106,15 @@ public class Repository extends Container<IRepositoryElement> implements IReposi { if (uuid == null) { - String value = getProperties().get(Props.PROP_OVERRIDE_UUID); - uuid = StringUtil.isEmpty(value) ? UUID.randomUUID().toString() : value; + uuid = getProperties().get(Props.PROP_OVERRIDE_UUID); + if (uuid == null) + { + uuid = UUID.randomUUID().toString(); + } + else if (uuid.length() == 0) + { + uuid = getName(); + } } return uuid; @@ -166,16 +173,40 @@ public class Repository extends Container<IRepositoryElement> implements IReposi return packageManager; } + /** + * @since 2.0 + */ + public void setPackageManager(PackageManager packageManager) + { + this.packageManager = packageManager; + } + public SessionManager getSessionManager() { return sessionManager; } + /** + * @since 2.0 + */ + public void setSessionManager(SessionManager sessionManager) + { + this.sessionManager = sessionManager; + } + public ResourceManager getResourceManager() { return resourceManager; } + /** + * @since 2.0 + */ + public void setResourceManager(ResourceManager resourceManager) + { + this.resourceManager = resourceManager; + } + public RevisionManager getRevisionManager() { return revisionManager; @@ -184,6 +215,14 @@ public class Repository extends Container<IRepositoryElement> implements IReposi /** * @since 2.0 */ + public void setRevisionManager(RevisionManager revisionManager) + { + this.revisionManager = revisionManager; + } + + /** + * @since 2.0 + */ public QueryManager getQueryManager() { return queryManager; @@ -192,6 +231,14 @@ public class Repository extends Container<IRepositoryElement> implements IReposi /** * @since 2.0 */ + public void setQueryManager(QueryManager queryManager) + { + this.queryManager = queryManager; + } + + /** + * @since 2.0 + */ public NotificationManager getNotificationManager() { return notificationManager; @@ -200,6 +247,14 @@ public class Repository extends Container<IRepositoryElement> implements IReposi /** * @since 2.0 */ + public void setNotificationManager(NotificationManager notificationManager) + { + this.notificationManager = notificationManager; + } + + /** + * @since 2.0 + */ public CommitManager getCommitManager() { return commitManager; @@ -208,6 +263,14 @@ public class Repository extends Container<IRepositoryElement> implements IReposi /** * @since 2.0 */ + public void setCommitManager(CommitManager commitManager) + { + this.commitManager = commitManager; + } + + /** + * @since 2.0 + */ public IQueryHandlerProvider getQueryHandlerProvider() { return queryHandlerProvider; @@ -294,54 +357,26 @@ public class Repository extends Container<IRepositoryElement> implements IReposi return MessageFormat.format("Repository[{0}]", name); } - protected PackageManager createPackageManager() - { - return new PackageManager(this); - } - - protected SessionManager createSessionManager() - { - return new SessionManager(this); - } - - protected ResourceManager createResourceManager() - { - return new ResourceManager(this); - } - - protected RevisionManager createRevisionManager() - { - return new RevisionManager(this); - } - - /** - * @since 2.0 - */ - protected QueryManager createQueryManager() - { - return new QueryManager(this); - } - - /** - * @since 2.0 - */ - protected NotificationManager createNotificationManager() - { - return new NotificationManager(this); - } - - /** - * @since 2.0 - */ - protected CommitManager createCommitManager() - { - return new CommitManager(this); - } - @Override protected void doBeforeActivate() throws Exception { super.doBeforeActivate(); + checkArg(packageManager, "packageManager"); + checkArg(sessionManager, "sessionManager"); + checkArg(resourceManager, "resourceManager"); + checkArg(revisionManager, "revisionManager"); + checkArg(queryManager, "queryManager"); + checkArg(notificationManager, "notificationManager"); + checkArg(commitManager, "commitManager"); + + packageManager.setRepository(this); + sessionManager.setRepository(this); + resourceManager.setRepository(this); + revisionManager.setRepository(this); + queryManager.setRepository(this); + notificationManager.setRepository(this); + commitManager.setRepository(this); + if (StringUtil.isEmpty(name)) { throw new IllegalArgumentException("name is null or empty"); @@ -414,4 +449,91 @@ public class Repository extends Container<IRepositoryElement> implements IReposi LifecycleUtil.deactivate(packageManager); LifecycleUtil.deactivate(store); } + + /** + * @author Eike Stepper + * @since 2.0 + */ + public static class Default extends Repository + { + public Default() + { + } + + @Override + protected void doBeforeActivate() throws Exception + { + if (getPackageManager() == null) + { + setPackageManager(createPackageManager()); + } + + if (getSessionManager() == null) + { + setSessionManager(createSessionManager()); + } + + if (getResourceManager() == null) + { + setResourceManager(createResourceManager()); + } + + if (getRevisionManager() == null) + { + setRevisionManager(createRevisionManager()); + } + + if (getQueryManager() == null) + { + setQueryManager(createQueryManager()); + } + + if (getNotificationManager() == null) + { + setNotificationManager(createNotificationManager()); + } + + if (getCommitManager() == null) + { + setCommitManager(createCommitManager()); + } + + super.doBeforeActivate(); + } + + protected PackageManager createPackageManager() + { + return new PackageManager(); + } + + protected SessionManager createSessionManager() + { + return new SessionManager(); + } + + protected ResourceManager createResourceManager() + { + return new ResourceManager(); + } + + protected RevisionManager createRevisionManager() + { + return new RevisionManager(); + } + + protected QueryManager createQueryManager() + { + return new QueryManager(); + } + + protected NotificationManager createNotificationManager() + { + return new NotificationManager(); + } + + protected CommitManager createCommitManager() + { + return new CommitManager(); + } + } } diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/RepositoryFactory.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/RepositoryFactory.java index 6d45c6968f..20087bb556 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/RepositoryFactory.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/RepositoryFactory.java @@ -35,7 +35,7 @@ public class RepositoryFactory implements IRepositoryFactory public Repository createRepository() { - return new Repository(); + return new Repository.Default(); } public static IRepository get(IManagedContainer container, String name) diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/ResourceManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/ResourceManager.java index a21ed24a67..aa1b0447b3 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/ResourceManager.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/ResourceManager.java @@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.internal.server; import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.internal.server.bundle.OM; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.IResourceManager; import org.eclipse.emf.cdo.server.IStoreReader; import org.eclipse.emf.cdo.server.StoreThreadLocal; @@ -29,22 +30,35 @@ public class ResourceManager extends Lifecycle implements IResourceManager { private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SESSION, SessionManager.class); - private Repository repository; + private IRepository repository; private Map<CDOID, String> idToPathMap = new HashMap<CDOID, String>(); private Map<String, CDOID> pathToIDMap = new HashMap<String, CDOID>(); - public ResourceManager(Repository repository) + /** + * @since 2.0 + */ + public ResourceManager() { - this.repository = repository; } - public Repository getRepository() + /** + * @since 2.0 + */ + public IRepository getRepository() { return repository; } + /** + * @since 2.0 + */ + public void setRepository(IRepository repository) + { + this.repository = repository; + } + public CDOID getResourceID(String path) { CDOID id = pathToIDMap.get(path); diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/RevisionManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/RevisionManager.java index 436611f82e..d5516a9936 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/RevisionManager.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/RevisionManager.java @@ -20,6 +20,7 @@ import org.eclipse.emf.cdo.common.model.resource.CDOPathFeature; import org.eclipse.emf.cdo.common.revision.CDOReferenceProxy; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.internal.common.revision.CDORevisionResolverImpl; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.IRevisionManager; import org.eclipse.emf.cdo.server.IStoreChunkReader; import org.eclipse.emf.cdo.server.IStoreReader; @@ -38,21 +39,34 @@ import java.util.List; */ public class RevisionManager extends CDORevisionResolverImpl implements IRevisionManager { - private Repository repository; + private IRepository repository; private CDOPathFeature cdoPathFeature; - public RevisionManager(Repository repository) + /** + * @since 2.0 + */ + public RevisionManager() { - this.repository = repository; - cdoPathFeature = repository.getPackageManager().getCDOResourcePackage().getCDOResourceClass().getCDOPathFeature(); } - public Repository getRepository() + /** + * @since 2.0 + */ + public IRepository getRepository() { return repository; } + /** + * @since 2.0 + */ + public void setRepository(IRepository repository) + { + this.repository = repository; + cdoPathFeature = repository.getPackageManager().getCDOResourcePackage().getCDOResourceClass().getCDOPathFeature(); + } + public CDOIDObjectFactory getCDOIDObjectFactory() { return repository.getStore().getCDOIDObjectFactory(); @@ -75,7 +89,7 @@ public class RevisionManager extends CDORevisionResolverImpl implements IRevisio if (revision.isResource()) { String path = (String)revision.get(cdoPathFeature, 0); - repository.getResourceManager().registerResource(revision.getID(), path); + ((Repository)repository).getResourceManager().registerResource(revision.getID(), path); } return super.addCachedRevision(revision); diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java index 7803df05a8..53d7f394df 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Session.java @@ -223,7 +223,7 @@ public class Session extends Container<IView> implements ISession, CDOIDProvider public void collectContainedRevisions(InternalCDORevision revision, int referenceChunk, Set<CDOID> revisions, List<InternalCDORevision> additionalRevisions) { - RevisionManager revisionManager = getSessionManager().getRepository().getRevisionManager(); + RevisionManager revisionManager = (RevisionManager)getSessionManager().getRepository().getRevisionManager(); CDOClass cdoClass = revision.getCDOClass(); CDOFeature[] features = cdoClass.getAllFeatures(); for (int i = 0; i < features.length; i++) diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/SessionManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/SessionManager.java index ec024b1eed..3bc9a5c77f 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/SessionManager.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/SessionManager.java @@ -17,6 +17,7 @@ import org.eclipse.emf.cdo.common.id.CDOIDAndVersion; import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta; import org.eclipse.emf.cdo.internal.server.bundle.OM; import org.eclipse.emf.cdo.internal.server.protocol.CDOServerProtocol; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.ISession; import org.eclipse.emf.cdo.server.ISessionManager; import org.eclipse.emf.cdo.server.SessionCreationException; @@ -35,22 +36,35 @@ public class SessionManager extends Container<ISession> implements ISessionManag { private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SESSION, SessionManager.class); - private Repository repository; + private IRepository repository; private Map<Integer, Session> sessions = new HashMap<Integer, Session>(); private int lastSessionID; - public SessionManager(Repository repository) + /** + * @since 2.0 + */ + public SessionManager() { - this.repository = repository; } - public Repository getRepository() + /** + * @since 2.0 + */ + public IRepository getRepository() { return repository; } + /** + * @since 2.0 + */ + public void setRepository(IRepository repository) + { + this.repository = repository; + } + public Session[] getSessions() { synchronized (sessions) diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Transaction.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Transaction.java index bf710086ae..eb41bb5f5d 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Transaction.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Transaction.java @@ -18,6 +18,7 @@ import org.eclipse.emf.cdo.common.model.CDOPackage; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta; import org.eclipse.emf.cdo.internal.server.TransactionCommitContextImpl.TransactionPackageManager; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.ITransaction; import org.eclipse.emf.cdo.server.IStoreWriter.CommitContext; @@ -29,7 +30,7 @@ import java.util.List; */ public class Transaction extends View implements ITransaction { - private Repository repository; + private IRepository repository; public Transaction(Session session, int viewID) { @@ -40,7 +41,7 @@ public class Transaction extends View implements ITransaction /** * @since 2.0 */ - public Repository getRepository() + public IRepository getRepository() { return repository; } diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContextImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContextImpl.java index 0aa5e71d58..2d24899a3a 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContextImpl.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContextImpl.java @@ -402,7 +402,7 @@ public class TransactionCommitContextImpl implements IStoreWriter.CommitContext, private void addNewPackages() { - PackageManager packageManager = transaction.getRepository().getPackageManager(); + PackageManager packageManager = (PackageManager)transaction.getRepository().getPackageManager(); for (int i = 0; i < newPackages.length; i++) { CDOPackage cdoPackage = newPackages[i]; @@ -412,7 +412,7 @@ public class TransactionCommitContextImpl implements IStoreWriter.CommitContext, private void addRevisions(CDORevision[] revisions) { - RevisionManager revisionManager = transaction.getRepository().getRevisionManager(); + RevisionManager revisionManager = (RevisionManager)transaction.getRepository().getRevisionManager(); for (CDORevision revision : revisions) { if (revision != null) @@ -434,7 +434,7 @@ public class TransactionCommitContextImpl implements IStoreWriter.CommitContext, { detachedRevisions.clear(); - RevisionManager revisionManager = transaction.getRepository().getRevisionManager(); + RevisionManager revisionManager = (RevisionManager)transaction.getRepository().getRevisionManager(); for (CDOID id : getDetachedObjects()) { @@ -453,7 +453,7 @@ public class TransactionCommitContextImpl implements IStoreWriter.CommitContext, { private List<CDOPackage> newPackages = new ArrayList<CDOPackage>(); - private PackageManager repositoryPackageManager = transaction.getRepository().getPackageManager(); + private PackageManager repositoryPackageManager = (PackageManager)transaction.getRepository().getPackageManager(); public TransactionPackageManager() { diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/XATransactionCommitContext.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/XATransactionCommitContext.java index 51b2a9fc2e..611135b54b 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/XATransactionCommitContext.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/XATransactionCommitContext.java @@ -39,7 +39,8 @@ public class XATransactionCommitContext extends TransactionCommitContextImpl @Override public void postCommit(boolean success) { - getTransaction().getRepository().getCommitManager().remove(this); + Repository repository = (Repository)getTransaction().getRepository(); + repository.getCommitManager().remove(this); super.postCommit(success); } diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/CDOServerIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/CDOServerIndication.java index e753ed7143..17549e0707 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/CDOServerIndication.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/CDOServerIndication.java @@ -78,7 +78,7 @@ public abstract class CDOServerIndication extends IndicationWithResponse protected Repository getRepository() { - Repository repository = getSessionManager().getRepository(); + Repository repository = (Repository)getSessionManager().getRepository(); if (!repository.isActive()) { throw new IllegalStateException("Repository has been deactivated"); diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/CDOServerRequest.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/CDOServerRequest.java index 07cfb39b2a..acbc73c4b0 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/CDOServerRequest.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/CDOServerRequest.java @@ -74,7 +74,7 @@ public abstract class CDOServerRequest extends Request protected Repository getRepository() { - Repository repository = getSessionManager().getRepository(); + Repository repository = (Repository)getSessionManager().getRepository(); if (!repository.isActive()) { throw new IllegalStateException("Repository has been deactivated"); diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/LoadRevisionIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/LoadRevisionIndication.java index b8a0d428da..72a4954636 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/LoadRevisionIndication.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/protocol/LoadRevisionIndication.java @@ -179,7 +179,7 @@ public class LoadRevisionIndication extends CDOReadIndication visitedFetchRules.add(fetchRule); - RevisionManager revisionManager = getSessionManager().getRepository().getRevisionManager(); + RevisionManager revisionManager = (RevisionManager)getSessionManager().getRepository().getRevisionManager(); for (CDOFeature feature : fetchRule.getFeatures()) { if (feature.isMany()) diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerUtil.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerUtil.java index 0b21ee6edc..e52b9aad6f 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerUtil.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerUtil.java @@ -45,7 +45,7 @@ public final class CDOServerUtil public static IRepository createRepository(String name, IStore store, Map<String, String> props) { - Repository repository = new Repository(); + Repository repository = new Repository.Default(); repository.setName(name); repository.setStore(store); repository.setProperties(props); diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepositoryElement.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepositoryElement.java index 8cf97386a5..8bb4ce1fe2 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepositoryElement.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IRepositoryElement.java @@ -10,6 +10,7 @@ **************************************************************************/ package org.eclipse.emf.cdo.server; + /** * @author Eike Stepper * @noimplement This interface is not intended to be implemented by clients. @@ -17,4 +18,11 @@ package org.eclipse.emf.cdo.server; public interface IRepositoryElement { public IRepository getRepository(); + + /** + * Internal. + * + * @since 2.0 + */ + public void setRepository(IRepository repository); } diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStore.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStore.java index 8362b40b54..6d4169ded9 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStore.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStore.java @@ -14,18 +14,12 @@ import org.eclipse.emf.cdo.common.id.CDOIDLibraryDescriptor; import org.eclipse.emf.cdo.common.id.CDOIDLibraryProvider; import org.eclipse.emf.cdo.common.id.CDOIDObjectFactory; import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta; -import org.eclipse.emf.cdo.internal.server.Repository; /** * @author Eike Stepper */ public interface IStore extends IRepositoryElement { - /** - * Internal method. Should only be called by {@link Repository#setStore(IStore)}. - */ - public void setRepository(IRepository repository); - public String getStoreType(); public CDOIDObjectFactory getCDOIDObjectFactory(); |