diff options
author | Eike Stepper | 2018-01-30 10:01:30 +0000 |
---|---|---|
committer | Eike Stepper | 2018-01-30 10:01:30 +0000 |
commit | 9b7e1ea8eca9d6b766ac880ab43c5c1814821e93 (patch) | |
tree | f67740b5910cf29459152a4c5ef45caf6e82284f /plugins/org.eclipse.emf.cdo.server.security | |
parent | 4ab5ee15ed9887866f87862c81c1e914768ed9c3 (diff) | |
download | cdo-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')
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 |