Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2018-01-30 10:01:30 +0000
committerEike Stepper2018-01-30 10:01:30 +0000
commit9b7e1ea8eca9d6b766ac880ab43c5c1814821e93 (patch)
treef67740b5910cf29459152a4c5ef45caf6e82284f /plugins/org.eclipse.emf.cdo.server.security
parent4ab5ee15ed9887866f87862c81c1e914768ed9c3 (diff)
downloadcdo-9b7e1ea8eca9d6b766ac880ab43c5c1814821e93.tar.gz
cdo-9b7e1ea8eca9d6b766ac880ab43c5c1814821e93.tar.xz
cdo-9b7e1ea8eca9d6b766ac880ab43c5c1814821e93.zip
[530495] Return the commit info of ISecurityManager.modify(RealmOperation) to the caller
https://bugs.eclipse.org/bugs/show_bug.cgi?id=530495
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.security')
-rw-r--r--plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF10
-rw-r--r--plugins/org.eclipse.emf.cdo.server.security/pom.xml2
-rw-r--r--plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java11
-rw-r--r--plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/security/ISecurityManager.java6
4 files changed, 21 insertions, 8 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF
index c465b83b26..83888ecd98 100644
--- a/plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.server.security/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.emf.cdo.server.security;singleton:=true
Bundle-Name: %pluginName
-Bundle-Version: 4.3.400.qualifier
+Bundle-Version: 4.4.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -12,16 +12,16 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.cdo.security;bundle-version="[4.1.0,5.0.0)",
org.eclipse.emf.cdo.net4j;bundle-version="[4.1.0,5.0.0)",
org.eclipse.net4j.jvm;bundle-version="[4.1.0,5.0.0)"
-Export-Package: org.eclipse.emf.cdo.server.internal.security;version="4.3.400";
+Export-Package: org.eclipse.emf.cdo.server.internal.security;version="4.4.0";
x-friends:="org.eclipse.emf.cdo.tests,
org.eclipse.emf.cdo.tests.db,
org.eclipse.emf.cdo.tests.db4o,
org.eclipse.emf.cdo.tests.hibernate,
org.eclipse.emf.cdo.tests.mongodb,
org.eclipse.emf.cdo.tests.objectivity",
- org.eclipse.emf.cdo.server.internal.security.bundle;version="4.3.400";x-internal:=true,
- org.eclipse.emf.cdo.server.security;version="4.3.400",
- org.eclipse.emf.cdo.server.spi.security;version="4.3.400"
+ org.eclipse.emf.cdo.server.internal.security.bundle;version="4.4.0";x-internal:=true,
+ org.eclipse.emf.cdo.server.security;version="4.4.0",
+ org.eclipse.emf.cdo.server.spi.security;version="4.4.0"
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.eclipse.emf.cdo.server.internal.security.bundle.OM$Activator
Automatic-Module-Name: org.eclipse.emf.cdo.server.security
diff --git a/plugins/org.eclipse.emf.cdo.server.security/pom.xml b/plugins/org.eclipse.emf.cdo.server.security/pom.xml
index 48594352ed..31604392a6 100644
--- a/plugins/org.eclipse.emf.cdo.server.security/pom.xml
+++ b/plugins/org.eclipse.emf.cdo.server.security/pom.xml
@@ -25,7 +25,7 @@
<groupId>org.eclipse.emf.cdo</groupId>
<artifactId>org.eclipse.emf.cdo.server.security</artifactId>
- <version>4.3.400-SNAPSHOT</version>
+ <version>4.4.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java b/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java
index 740bad797a..f713396b01 100644
--- a/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java
+++ b/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/internal/security/SecurityManager.java
@@ -398,6 +398,11 @@ public class SecurityManager extends Lifecycle implements InternalSecurityManage
public void modify(RealmOperation operation, boolean waitUntilReadable)
{
+ modifyWithInfo(operation, waitUntilReadable);
+ }
+
+ public CDOCommitInfo modifyWithInfo(RealmOperation operation, boolean waitUntilReadable)
+ {
checkReady();
CDOTransaction transaction = systemSession.openTransaction();
@@ -405,15 +410,17 @@ public class SecurityManager extends Lifecycle implements InternalSecurityManage
{
Realm transactionRealm = transaction.getObject(realm);
operation.execute(transactionRealm);
- CDOCommitInfo commit = transaction.commit();
+ CDOCommitInfo info = transaction.commit();
if (waitUntilReadable)
{
- if (!systemView.waitForUpdate(commit.getTimeStamp(), 10000))
+ if (!systemView.waitForUpdate(info.getTimeStamp(), 10000))
{
throw new TimeoutRuntimeException();
}
}
+
+ return info;
}
catch (CommitException ex)
{
diff --git a/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/security/ISecurityManager.java b/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/security/ISecurityManager.java
index 9add04c176..106478a393 100644
--- a/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/security/ISecurityManager.java
+++ b/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/security/ISecurityManager.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.emf.cdo.server.security;
+import org.eclipse.emf.cdo.common.commit.CDOCommitInfo;
import org.eclipse.emf.cdo.security.Realm;
import org.eclipse.emf.cdo.security.SecurityItemContainer;
import org.eclipse.emf.cdo.server.IRepository;
@@ -46,6 +47,11 @@ public interface ISecurityManager extends SecurityItemContainer
public void modify(RealmOperation operation, boolean waitUntilReadable);
/**
+ * @since 4.4
+ */
+ public CDOCommitInfo modifyWithInfo(RealmOperation operation, boolean waitUntilReadable);
+
+ /**
* Modifies a security {@link Realm realm} in a safe transaction.
*
* @author Eike Stepper

Back to the top