Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2009-07-11 11:10:36 +0000
committerEike Stepper2009-07-11 11:10:36 +0000
commit7ff8457fa80727def71578ffe34500d71277ccea (patch)
tree10d92b9ade07ff08c9bed4a91bbd255fef5a3d01 /plugins/org.eclipse.emf.cdo
parent938dd6fe4b9c8e6b13cc65f7c737dfa87dd5318d (diff)
downloadcdo-7ff8457fa80727def71578ffe34500d71277ccea.tar.gz
cdo-7ff8457fa80727def71578ffe34500d71277ccea.tar.xz
cdo-7ff8457fa80727def71578ffe34500d71277ccea.zip
[282481] Provide an EmbeddedSessionProtocol
https://bugs.eclipse.org/bugs/show_bug.cgi?id=282481
Diffstat (limited to 'plugins/org.eclipse.emf.cdo')
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java4
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java114
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java18
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java10
4 files changed, 11 insertions, 135 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java
index f2cddb316b..35a221fcb6 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/eresource/impl/CDOResourceImpl.java
@@ -13,7 +13,6 @@ package org.eclipse.emf.cdo.eresource.impl;
import org.eclipse.emf.cdo.CDOState;
import org.eclipse.emf.cdo.common.id.CDOID;
-import org.eclipse.emf.cdo.common.id.CDOIDObjectFactory;
import org.eclipse.emf.cdo.common.id.CDOIDUtil;
import org.eclipse.emf.cdo.eresource.CDOResource;
import org.eclipse.emf.cdo.eresource.EresourcePackage;
@@ -520,8 +519,7 @@ public class CDOResourceImpl extends CDOResourceNodeImpl implements CDOResource,
try
{
- CDOIDObjectFactory cdoidObjectFactory = cdoView().getSession();
- CDOID cdoID = CDOIDUtil.read(uriFragment, cdoidObjectFactory);
+ CDOID cdoID = CDOIDUtil.read(uriFragment);
if (CDOIDUtil.isNull(cdoID) || cdoID.isTemporary() && !cdoView().isObjectRegistered(cdoID))
{
return null;
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
index 538f5df98e..314d002bc7 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java
@@ -19,9 +19,6 @@ import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.cdo.common.CDOCommonView;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
-import org.eclipse.emf.cdo.common.id.CDOIDLibraryDescriptor;
-import org.eclipse.emf.cdo.common.id.CDOIDObject;
-import org.eclipse.emf.cdo.common.id.CDOIDObjectFactory;
import org.eclipse.emf.cdo.common.id.CDOIDUtil;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
import org.eclipse.emf.cdo.common.protocol.CDOAuthenticator;
@@ -58,8 +55,6 @@ import org.eclipse.net4j.util.event.Event;
import org.eclipse.net4j.util.event.EventUtil;
import org.eclipse.net4j.util.event.IListener;
import org.eclipse.net4j.util.event.Notifier;
-import org.eclipse.net4j.util.io.ExtendedDataInput;
-import org.eclipse.net4j.util.io.IOUtil;
import org.eclipse.net4j.util.lifecycle.ILifecycle;
import org.eclipse.net4j.util.lifecycle.Lifecycle;
import org.eclipse.net4j.util.lifecycle.LifecycleEventAdapter;
@@ -86,9 +81,6 @@ import org.eclipse.emf.spi.cdo.InternalCDOViewSet;
import org.eclipse.emf.spi.cdo.InternalCDOTransaction.InternalCDOCommitContext;
import org.eclipse.emf.spi.cdo.InternalCDOXATransaction.InternalCDOXACommitContext;
-import java.io.File;
-import java.net.URL;
-import java.net.URLClassLoader;
import java.text.MessageFormat;
import java.util.Arrays;
import java.util.Collection;
@@ -144,9 +136,6 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter
private Set<InternalCDOView> views = new HashSet<InternalCDOView>();
@ExcludeFromDump
- private CDOIDObjectFactory cdoidObjectFactory;
-
- @ExcludeFromDump
private transient QueueRunner invalidationRunner;
@ExcludeFromDump
@@ -232,19 +221,6 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter
this.sessionProtocol = sessionProtocol;
}
- public CDOIDObject createCDOIDObject(ExtendedDataInput in)
- {
- return cdoidObjectFactory.createCDOIDObject(in);
- }
-
- /**
- * @since 2.0
- */
- public CDOIDObject createCDOIDObject(String in)
- {
- return cdoidObjectFactory.createCDOIDObject(in);
- }
-
public void close()
{
LifecycleUtil.deactivate(this, OMLogger.Level.DEBUG);
@@ -693,6 +669,11 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter
*/
protected void initView(InternalCDOView view, ResourceSet resourceSet)
{
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Initializing new {0} view", view.getViewType());
+ }
+
InternalCDOViewSet viewSet = SessionUtil.prepareResourceSet(resourceSet);
synchronized (views)
{
@@ -770,74 +751,6 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter
super.doDeactivate();
}
- public void setLibraryDescriptor(CDOIDLibraryDescriptor libraryDescriptor) throws Exception
- {
- if (libraryDescriptor == null)
- {
- return;
- }
-
- String factoryName = libraryDescriptor.getFactoryName();
- if (TRACER.isEnabled())
- {
- TRACER.format("Using CDOID factory: {0}", factoryName);
- }
-
- File cacheFolder = getCacheFolder();
- ClassLoader classLoader = OM.class.getClassLoader();
-
- Set<String> neededLibraries = createSet(libraryDescriptor.getLibraryNames());
- if (!neededLibraries.isEmpty())
- {
- IOUtil.mkdirs(cacheFolder);
- Set<String> existingLibraries = createSet(cacheFolder.list());
- Set<String> missingLibraries = new HashSet<String>(neededLibraries);
- missingLibraries.removeAll(existingLibraries);
- if (!missingLibraries.isEmpty())
- {
- getSessionProtocol().loadLibraries(missingLibraries, cacheFolder);
- }
- }
-
- int i = 0;
- URL[] urls = new URL[neededLibraries.size()];
- for (String neededLibrary : neededLibraries)
- {
- File lib = new File(cacheFolder, neededLibrary);
- if (TRACER.isEnabled())
- {
- TRACER.format("Using CDOID library: {0}", lib.getAbsolutePath());
- }
-
- urls[i++] = new URL("file:///" + lib.getAbsolutePath());
- }
-
- classLoader = new URLClassLoader(urls, classLoader);
- Class<?> factoryClass = classLoader.loadClass(factoryName);
- cdoidObjectFactory = (CDOIDObjectFactory)factoryClass.newInstance();
- }
-
- private File getCacheFolder()
- {
- String stateLocation = OM.BUNDLE.getStateLocation();
- File repos = new File(stateLocation, "repos"); //$NON-NLS-1$
- return new File(repos, getRepositoryInfo().getUUID());
- }
-
- private Set<String> createSet(String[] fileNames)
- {
- Set<String> set = new HashSet<String>();
- for (String fileName : fileNames)
- {
- if (fileName.endsWith(".jar"))
- {
- set.add(fileName);
- }
- }
-
- return set;
- }
-
private Map<CDOID, CDOIDAndVersion> getAllCDOIDAndVersion()
{
Map<CDOID, CDOIDAndVersion> uniqueObjects = new HashMap<CDOID, CDOIDAndVersion>();
@@ -1264,23 +1177,6 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter
}
}
- public void loadLibraries(Set<String> missingLibraries, File cacheFolder)
- {
- int attempt = 0;
- for (;;)
- {
- try
- {
- delegate.loadLibraries(missingLibraries, cacheFolder);
- return;
- }
- catch (Exception ex)
- {
- handleException(++attempt, ex);
- }
- }
- }
-
public EPackage[] loadPackages(CDOPackageUnit packageUnit)
{
int attempt = 0;
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
index 108796972e..6ee8664713 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOSessionProtocol.java
@@ -14,7 +14,6 @@ import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.cdo.common.CDOCommonView;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
-import org.eclipse.emf.cdo.common.id.CDOIDLibraryDescriptor;
import org.eclipse.emf.cdo.common.id.CDOIDProvider;
import org.eclipse.emf.cdo.common.id.CDOIDTemp;
import org.eclipse.emf.cdo.common.protocol.CDOProtocol;
@@ -36,14 +35,12 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.spi.cdo.InternalCDOTransaction.InternalCDOCommitContext;
import org.eclipse.emf.spi.cdo.InternalCDOXATransaction.InternalCDOXACommitContext;
-import java.io.File;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Set;
/**
* @author Eike Stepper
@@ -51,8 +48,6 @@ import java.util.Set;
*/
public interface CDOSessionProtocol extends CDOProtocol, PackageLoader, RevisionLoader
{
- public void loadLibraries(Set<String> missingLibraries, File cacheFolder);
-
public void setPassiveUpdate(Map<CDOID, CDOIDAndVersion> idAndVersions, int initialChunkSize,
boolean passiveUpdateEnabled);
@@ -135,18 +130,18 @@ public interface CDOSessionProtocol extends CDOProtocol, PackageLoader, Revision
private boolean repositorySupportingAudits;
- private CDOIDLibraryDescriptor libraryDescriptor;
-
private List<InternalCDOPackageUnit> packageUnits = new ArrayList<InternalCDOPackageUnit>();
+ /**
+ * @since 3.0
+ */
public OpenSessionResult(int sessionID, String repositoryUUID, long repositoryCreationTime,
- boolean repositorySupportingAudits, CDOIDLibraryDescriptor libraryDescriptor)
+ boolean repositorySupportingAudits)
{
this.sessionID = sessionID;
this.repositoryUUID = repositoryUUID;
this.repositoryCreationTime = repositoryCreationTime;
this.repositorySupportingAudits = repositorySupportingAudits;
- this.libraryDescriptor = libraryDescriptor;
}
public int getSessionID()
@@ -179,11 +174,6 @@ public interface CDOSessionProtocol extends CDOProtocol, PackageLoader, Revision
this.repositoryTimeResult = repositoryTimeResult;
}
- public CDOIDLibraryDescriptor getLibraryDescriptor()
- {
- return libraryDescriptor;
- }
-
public List<InternalCDOPackageUnit> getPackageUnits()
{
return packageUnits;
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java
index 33e1b9a1cb..11ef38aedb 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java
@@ -12,8 +12,6 @@ package org.eclipse.emf.spi.cdo;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
-import org.eclipse.emf.cdo.common.id.CDOIDLibraryDescriptor;
-import org.eclipse.emf.cdo.common.id.CDOIDObjectFactory;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta;
@@ -37,8 +35,7 @@ import java.util.Set;
* @author Eike Stepper
* @since 2.0
*/
-public interface InternalCDOSession extends CDOSession, CDOIDObjectFactory, PackageProcessor, PackageLoader,
- RevisionLocker, ILifecycle
+public interface InternalCDOSession extends CDOSession, PackageProcessor, PackageLoader, RevisionLocker, ILifecycle
{
/**
* @since 3.0
@@ -74,11 +71,6 @@ public interface InternalCDOSession extends CDOSession, CDOIDObjectFactory, Pack
/**
* @since 3.0
*/
- public void setLibraryDescriptor(CDOIDLibraryDescriptor libraryDescriptor) throws Exception;
-
- /**
- * @since 3.0
- */
public void setRemoteSessionManager(InternalCDORemoteSessionManager remoteSessionManager);
/**

Back to the top