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.java32
1 files changed, 20 insertions, 12 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 70cb7ba82a..1a3fe4a71b 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
@@ -2308,18 +2308,7 @@ public class Repository extends Container<Object> implements InternalRepository,
try
{
- Collection<InternalCDOPackageUnit> packageUnits = reader.readPackageUnits();
- for (InternalCDOPackageUnit packageUnit : packageUnits)
- {
- packageRegistry.putPackageUnit(packageUnit);
-
- // Bug 521029: Initialize EPackages early from the main thread to avoid multi-threading issues.
- // This could be made optional at some point.
- for (InternalCDOPackageInfo packageInfo : packageUnit.getPackageInfos())
- {
- packageInfo.getEPackage(true); // Trigger initialization.
- }
- }
+ readPackageUnits(reader, packageRegistry);
}
finally
{
@@ -2327,6 +2316,25 @@ public class Repository extends Container<Object> implements InternalRepository,
}
}
+ public static void readPackageUnits(IStoreAccessor reader, InternalCDOPackageRegistry packageRegistry)
+ {
+ Collection<InternalCDOPackageUnit> packageUnits = reader.readPackageUnits();
+ for (InternalCDOPackageUnit packageUnit : packageUnits)
+ {
+ packageRegistry.putPackageUnit(packageUnit);
+ }
+
+ // Bug 521029: Initialize EPackages early from the main thread to avoid multi-threading issues.
+ // This could be made optional at some point.
+ for (InternalCDOPackageUnit packageUnit : packageUnits)
+ {
+ for (InternalCDOPackageInfo packageInfo : packageUnit.getPackageInfos())
+ {
+ packageInfo.getEPackage(true); // Trigger initialization.
+ }
+ }
+ }
+
protected void setPostActivateState()
{
setState(State.ONLINE);

Back to the top