Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2020-06-30 05:12:02 +0000
committerEike Stepper2020-06-30 05:12:02 +0000
commit729a21108038d2b81ce422486059e59a98fb1511 (patch)
tree7fd6b9f68a5e864b111a07d2d8ad774035a4cded
parentd9c60321acbeaf75046d95d5fb0e7ee93a55419e (diff)
downloadcdo-729a21108038d2b81ce422486059e59a98fb1511.tar.gz
cdo-729a21108038d2b81ce422486059e59a98fb1511.tar.xz
cdo-729a21108038d2b81ce422486059e59a98fb1511.zip
[564757] Provide a way to unfreeze revisions
https://bugs.eclipse.org/bugs/show_bug.cgi?id=564757
-rw-r--r--plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF68
-rw-r--r--plugins/org.eclipse.emf.cdo.common/pom.xml2
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDOListImpl.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java26
4 files changed, 66 insertions, 35 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF
index da2e9962f7..cecc034fb4 100644
--- a/plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.common/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.emf.cdo.common;singleton:=true
-Bundle-Version: 4.10.1.qualifier
+Bundle-Version: 4.11.0.qualifier
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -15,21 +15,21 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)";visibili
org.eclipse.emf.ecore.change;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)";visibility:=reexport
-Export-Package: org.eclipse.emf.cdo.common;version="4.10.1",
- org.eclipse.emf.cdo.common.admin;version="4.10.1",
- org.eclipse.emf.cdo.common.branch;version="4.10.1",
- org.eclipse.emf.cdo.common.commit;version="4.10.1",
- org.eclipse.emf.cdo.common.commit.handler;version="4.10.1",
- org.eclipse.emf.cdo.common.id;version="4.10.1",
- org.eclipse.emf.cdo.common.lob;version="4.10.1",
- org.eclipse.emf.cdo.common.lock;version="4.10.1",
- org.eclipse.emf.cdo.common.model;version="4.10.1",
- org.eclipse.emf.cdo.common.protocol;version="4.10.1",
- org.eclipse.emf.cdo.common.revision;version="4.10.1",
- org.eclipse.emf.cdo.common.revision.delta;version="4.10.1",
- org.eclipse.emf.cdo.common.security;version="4.10.1",
- org.eclipse.emf.cdo.common.util;version="4.10.1",
- org.eclipse.emf.cdo.internal.common;version="4.10.1";
+Export-Package: org.eclipse.emf.cdo.common;version="4.11.0",
+ org.eclipse.emf.cdo.common.admin;version="4.11.0",
+ org.eclipse.emf.cdo.common.branch;version="4.11.0",
+ org.eclipse.emf.cdo.common.commit;version="4.11.0",
+ org.eclipse.emf.cdo.common.commit.handler;version="4.11.0",
+ org.eclipse.emf.cdo.common.id;version="4.11.0",
+ org.eclipse.emf.cdo.common.lob;version="4.11.0",
+ org.eclipse.emf.cdo.common.lock;version="4.11.0",
+ org.eclipse.emf.cdo.common.model;version="4.11.0",
+ org.eclipse.emf.cdo.common.protocol;version="4.11.0",
+ org.eclipse.emf.cdo.common.revision;version="4.11.0",
+ org.eclipse.emf.cdo.common.revision.delta;version="4.11.0",
+ org.eclipse.emf.cdo.common.security;version="4.11.0",
+ org.eclipse.emf.cdo.common.util;version="4.11.0",
+ org.eclipse.emf.cdo.internal.common;version="4.11.0";
x-friends:="org.eclipse.emf.cdo.common,
org.eclipse.emf.cdo.common.db,
org.eclipse.emf.cdo,
@@ -38,10 +38,10 @@ Export-Package: org.eclipse.emf.cdo.common;version="4.10.1",
org.eclipse.emf.cdo.server.net4j,
org.eclipse.emf.cdo.ui,
org.eclipse.emf.cdo.tests",
- org.eclipse.emf.cdo.internal.common.branch;version="4.10.1";
+ org.eclipse.emf.cdo.internal.common.branch;version="4.11.0";
x-friends:="org.eclipse.emf.cdo.tests",
- org.eclipse.emf.cdo.internal.common.bundle;version="4.10.1";x-internal:=true,
- org.eclipse.emf.cdo.internal.common.commit;version="4.10.1";
+ org.eclipse.emf.cdo.internal.common.bundle;version="4.11.0";x-internal:=true,
+ org.eclipse.emf.cdo.internal.common.commit;version="4.11.0";
x-friends:="org.eclipse.emf.cdo.common,
org.eclipse.emf.cdo.common.db,
org.eclipse.emf.cdo,
@@ -50,7 +50,7 @@ Export-Package: org.eclipse.emf.cdo.common;version="4.10.1",
org.eclipse.emf.cdo.server.net4j,
org.eclipse.emf.cdo.ui,
org.eclipse.emf.cdo.tests",
- org.eclipse.emf.cdo.internal.common.id;version="4.10.1";
+ org.eclipse.emf.cdo.internal.common.id;version="4.11.0";
x-friends:="org.eclipse.emf.cdo.common,
org.eclipse.emf.cdo.common.db,
org.eclipse.emf.cdo,
@@ -61,9 +61,9 @@ Export-Package: org.eclipse.emf.cdo.common;version="4.10.1",
org.eclipse.emf.cdo.tests,
org.eclipse.emf.cdo.admin,
org.eclipse.emf.cdo.server.admin",
- org.eclipse.emf.cdo.internal.common.lock;version="4.10.1";x-internal:=true,
- org.eclipse.emf.cdo.internal.common.messages;version="4.10.1";x-internal:=true,
- org.eclipse.emf.cdo.internal.common.model;version="4.10.1";
+ org.eclipse.emf.cdo.internal.common.lock;version="4.11.0";x-internal:=true,
+ org.eclipse.emf.cdo.internal.common.messages;version="4.11.0";x-internal:=true,
+ org.eclipse.emf.cdo.internal.common.model;version="4.11.0";
x-friends:="org.eclipse.emf.cdo.common,
org.eclipse.emf.cdo.common.db,
org.eclipse.emf.cdo,
@@ -72,7 +72,7 @@ Export-Package: org.eclipse.emf.cdo.common;version="4.10.1",
org.eclipse.emf.cdo.server.net4j,
org.eclipse.emf.cdo.ui,
org.eclipse.emf.cdo.tests",
- org.eclipse.emf.cdo.internal.common.revision;version="4.10.1";
+ org.eclipse.emf.cdo.internal.common.revision;version="4.11.0";
x-friends:="org.eclipse.emf.cdo.common,
org.eclipse.emf.cdo.common.db,
org.eclipse.emf.cdo,
@@ -81,7 +81,7 @@ Export-Package: org.eclipse.emf.cdo.common;version="4.10.1",
org.eclipse.emf.cdo.server.net4j,
org.eclipse.emf.cdo.ui,
org.eclipse.emf.cdo.tests",
- org.eclipse.emf.cdo.internal.common.revision.delta;version="4.10.1";
+ org.eclipse.emf.cdo.internal.common.revision.delta;version="4.11.0";
x-friends:="org.eclipse.emf.cdo.common,
org.eclipse.emf.cdo.common.db,
org.eclipse.emf.cdo,
@@ -90,14 +90,14 @@ Export-Package: org.eclipse.emf.cdo.common;version="4.10.1",
org.eclipse.emf.cdo.server.net4j,
org.eclipse.emf.cdo.ui,
org.eclipse.emf.cdo.tests",
- org.eclipse.emf.cdo.spi.common;version="4.10.1",
- org.eclipse.emf.cdo.spi.common.admin;version="4.10.1",
- org.eclipse.emf.cdo.spi.common.branch;version="4.10.1",
- org.eclipse.emf.cdo.spi.common.commit;version="4.10.1",
- org.eclipse.emf.cdo.spi.common.id;version="4.10.1",
- org.eclipse.emf.cdo.spi.common.lock;version="4.10.1",
- org.eclipse.emf.cdo.spi.common.model;version="4.10.1",
- org.eclipse.emf.cdo.spi.common.protocol;version="4.10.1",
- org.eclipse.emf.cdo.spi.common.revision;version="4.10.1"
+ org.eclipse.emf.cdo.spi.common;version="4.11.0",
+ org.eclipse.emf.cdo.spi.common.admin;version="4.11.0",
+ org.eclipse.emf.cdo.spi.common.branch;version="4.11.0",
+ org.eclipse.emf.cdo.spi.common.commit;version="4.11.0",
+ org.eclipse.emf.cdo.spi.common.id;version="4.11.0",
+ org.eclipse.emf.cdo.spi.common.lock;version="4.11.0",
+ org.eclipse.emf.cdo.spi.common.model;version="4.11.0",
+ org.eclipse.emf.cdo.spi.common.protocol;version="4.11.0",
+ org.eclipse.emf.cdo.spi.common.revision;version="4.11.0"
Automatic-Module-Name: org.eclipse.emf.cdo.common
Eclipse-RegisterBuddy: org.eclipse.net4j.util
diff --git a/plugins/org.eclipse.emf.cdo.common/pom.xml b/plugins/org.eclipse.emf.cdo.common/pom.xml
index 816af48323..2498e23264 100644
--- a/plugins/org.eclipse.emf.cdo.common/pom.xml
+++ b/plugins/org.eclipse.emf.cdo.common/pom.xml
@@ -25,7 +25,7 @@
<groupId>org.eclipse.emf.cdo</groupId>
<artifactId>org.eclipse.emf.cdo.common</artifactId>
- <version>4.10.1-SNAPSHOT</version>
+ <version>4.11.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDOListImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDOListImpl.java
index 246a2e4dee..09dd763359 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDOListImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDOListImpl.java
@@ -110,6 +110,11 @@ public class CDOListImpl extends BasicEList<Object> implements InternalCDOList.C
flags |= FROZEN_FLAG;
}
+ public void unfreeze()
+ {
+ flags &= ~FROZEN_FLAG;
+ }
+
private void checkFrozen()
{
if ((flags & FROZEN_FLAG) != 0)
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java
index c38cae2d52..0120906074 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java
@@ -1099,6 +1099,32 @@ public abstract class BaseCDORevision extends AbstractCDORevision
}
/**
+ * @since 4.11
+ */
+ public void unfreeze()
+ {
+ flags &= ~FROZEN_FLAG;
+
+ if (isReadable())
+ {
+ EStructuralFeature[] features = getAllPersistentFeatures();
+ for (int i = 0; i < features.length; i++)
+ {
+ EStructuralFeature feature = features[i];
+ if (feature.isMany())
+ {
+ Object value = doGetValue(i);
+ if (value instanceof CDOListImpl)
+ {
+ CDOListImpl list = (CDOListImpl)value;
+ list.unfreeze();
+ }
+ }
+ }
+ }
+ }
+
+ /**
* @since 4.2
*/
@Override

Back to the top