Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2021-03-08 17:49:35 +0000
committerEike Stepper2021-03-08 17:49:35 +0000
commitaceb772316af947c580f547d8f136fca5b3cfeec (patch)
tree3eea8b671d6b4a7955013e580eb96d3d48ed94e2 /plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf
parent9cd74670d7a52045472c97e4ca46cfab2b64286a (diff)
downloadcdo-aceb772316af947c580f547d8f136fca5b3cfeec.tar.gz
cdo-aceb772316af947c580f547d8f136fca5b3cfeec.tar.xz
cdo-aceb772316af947c580f547d8f136fca5b3cfeec.zip
[571768] Make SecurityManager multitenant
https://bugs.eclipse.org/bugs/show_bug.cgi?id=571768
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf')
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/CDOCommonSession.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java30
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitInfoImpl.java1
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageRegistryImpl.java1
4 files changed, 37 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/CDOCommonSession.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/CDOCommonSession.java
index 14405a183b..2681b72141 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/CDOCommonSession.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/CDOCommonSession.java
@@ -31,6 +31,11 @@ public interface CDOCommonSession extends IAdaptable, IUserAware, IOptionsContai
{
public int getSessionID();
+ /**
+ * @since 4.13
+ */
+ public long getOpeningTime();
+
public CDOCommonView[] getViews();
public CDOCommonView getView(int viewID);
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
index 5d3a523ddf..a8e27a2aa7 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
@@ -14,6 +14,7 @@
package org.eclipse.emf.cdo.common.model;
import org.eclipse.emf.cdo.common.id.CDOID;
+import org.eclipse.emf.cdo.common.model.CDOPackageUnit.State;
import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.common.util.CDOException;
import org.eclipse.emf.cdo.internal.common.bundle.OM;
@@ -23,6 +24,7 @@ import org.eclipse.emf.cdo.internal.common.model.CDOPackageInfoImpl;
import org.eclipse.emf.cdo.internal.common.model.CDOPackageRegistryImpl;
import org.eclipse.emf.cdo.internal.common.model.CDOPackageUnitImpl;
import org.eclipse.emf.cdo.internal.common.model.CDOTypeImpl;
+import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageInfo;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageUnit;
import org.eclipse.net4j.util.io.ExtendedDataInput;
@@ -589,6 +591,34 @@ public final class CDOModelUtil implements CDOModelConstants
}
/**
+ * @since 4.13
+ */
+ public static CDOPackageUnit copyPackageUnit(CDOPackageUnit packageUnit)
+ {
+ InternalCDOPackageUnit newPackageUnit = (InternalCDOPackageUnit)CDOModelUtil.createPackageUnit();
+ newPackageUnit.setOriginalType(packageUnit.getOriginalType());
+ newPackageUnit.setTimeStamp(packageUnit.getTimeStamp());
+ newPackageUnit.setState(State.LOADED);
+
+ InternalCDOPackageInfo[] packageInfos = (InternalCDOPackageInfo[])packageUnit.getPackageInfos();
+ InternalCDOPackageInfo[] newPackageInfos = new InternalCDOPackageInfo[packageInfos.length];
+
+ for (int i = 0; i < packageInfos.length; i++)
+ {
+ InternalCDOPackageInfo packageInfo = packageInfos[i];
+
+ newPackageInfos[i] = (InternalCDOPackageInfo)CDOModelUtil.createPackageInfo();
+ newPackageInfos[i].setPackageUnit(newPackageUnit);
+ newPackageInfos[i].setEPackage(packageInfo.getEPackage());
+ newPackageInfos[i].setPackageURI(packageInfo.getPackageURI());
+ newPackageInfos[i].setParentURI(packageInfo.getParentURI());
+ }
+
+ newPackageUnit.setPackageInfos(newPackageInfos);
+ return newPackageUnit;
+ }
+
+ /**
* @since 2.0
*/
public static CDOPackageUnit createPackageUnit()
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitInfoImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitInfoImpl.java
index ae07d13592..05233b373e 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitInfoImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitInfoImpl.java
@@ -145,6 +145,7 @@ public class CDOCommitInfoImpl extends CDOBranchPointImpl implements CDOCommitIn
@Override
public boolean isInitialCommit()
{
+ int xxx;
return CDOCommonUtil.SYSTEM_USER_ID.equals(userID);
}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageRegistryImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageRegistryImpl.java
index da71cc2c08..b3156c3abc 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageRegistryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageRegistryImpl.java
@@ -261,6 +261,7 @@ public class CDOPackageRegistryImpl extends EPackageRegistryImpl implements Inte
{
LifecycleUtil.checkActive(this);
packageUnit.setPackageRegistry(this);
+
for (InternalCDOPackageInfo packageInfo : packageUnit.getPackageInfos())
{
EPackage ePackage = packageInfo.getEPackage(false);

Back to the top