Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java231
1 files changed, 231 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java
index 4cc483d451..4aebd8608d 100644
--- a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java
@@ -11,11 +11,13 @@
package org.eclipse.emf.cdo.security.impl;
import org.eclipse.emf.cdo.security.Access;
+import org.eclipse.emf.cdo.security.Directory;
import org.eclipse.emf.cdo.security.Group;
import org.eclipse.emf.cdo.security.Permission;
import org.eclipse.emf.cdo.security.Realm;
import org.eclipse.emf.cdo.security.RealmUtil;
import org.eclipse.emf.cdo.security.Role;
+import org.eclipse.emf.cdo.security.SecurityFactory;
import org.eclipse.emf.cdo.security.SecurityItem;
import org.eclipse.emf.cdo.security.SecurityPackage;
import org.eclipse.emf.cdo.security.User;
@@ -39,6 +41,9 @@ import org.eclipse.emf.ecore.InternalEObject;
* <li>{@link org.eclipse.emf.cdo.security.impl.RealmImpl#getAllPermissions <em>All Permissions</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.impl.RealmImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.emf.cdo.security.impl.RealmImpl#getDefaultAccess <em>Default Access</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.RealmImpl#getDefaultUserDirectory <em>Default User Directory</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.RealmImpl#getDefaultGroupDirectory <em>Default Group Directory</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.RealmImpl#getDefaultRoleDirectory <em>Default Role Directory</em>}</li>
* </ul>
* </p>
*
@@ -246,6 +251,232 @@ public class RealmImpl extends SecurityElementImpl implements Realm
eSet(SecurityPackage.Literals.REALM__DEFAULT_ACCESS, newDefaultAccess);
}
+ /**
+ * <!-- begin-user-doc -->
+ * @since 4.2
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Directory getDefaultUserDirectory()
+ {
+ return (Directory)eGet(SecurityPackage.Literals.REALM__DEFAULT_USER_DIRECTORY, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * @since 4.2
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultUserDirectory(Directory newDefaultUserDirectory)
+ {
+ eSet(SecurityPackage.Literals.REALM__DEFAULT_USER_DIRECTORY, newDefaultUserDirectory);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * @since 4.2
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Directory getDefaultGroupDirectory()
+ {
+ return (Directory)eGet(SecurityPackage.Literals.REALM__DEFAULT_GROUP_DIRECTORY, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * @since 4.2
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultGroupDirectory(Directory newDefaultGroupDirectory)
+ {
+ eSet(SecurityPackage.Literals.REALM__DEFAULT_GROUP_DIRECTORY, newDefaultGroupDirectory);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * @since 4.2
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Directory getDefaultRoleDirectory()
+ {
+ return (Directory)eGet(SecurityPackage.Literals.REALM__DEFAULT_ROLE_DIRECTORY, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * @since 4.2
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultRoleDirectory(Directory newDefaultRoleDirectory)
+ {
+ eSet(SecurityPackage.Literals.REALM__DEFAULT_ROLE_DIRECTORY, newDefaultRoleDirectory);
+ }
+
+ /**
+ * @since 4.2
+ */
+ public Role getRole(String id)
+ {
+ return RealmUtil.findRole(getItems(), id);
+ }
+
+ /**
+ * @since 4.2
+ */
+ public Group getGroup(String id)
+ {
+ return RealmUtil.findGroup(getItems(), id);
+ }
+
+ /**
+ * @since 4.2
+ */
+ public User getUser(String id)
+ {
+ return RealmUtil.findUser(getItems(), id);
+ }
+
+ /**
+ * @since 4.2
+ */
+ protected EList<SecurityItem> getRoleItems()
+ {
+ Directory directory = getDefaultRoleDirectory();
+ return directory != null ? directory.getItems() : getItems();
+ }
+
+ /**
+ * @since 4.2
+ */
+ protected EList<SecurityItem> getGroupItems()
+ {
+ Directory directory = getDefaultGroupDirectory();
+ return directory != null ? directory.getItems() : getItems();
+ }
+
+ /**
+ * @since 4.2
+ */
+ protected EList<SecurityItem> getUserItems()
+ {
+ Directory directory = getDefaultUserDirectory();
+ return directory != null ? directory.getItems() : getItems();
+ }
+
+ /**
+ * @since 4.2
+ */
+ public Role addRole(String id)
+ {
+ Role role = SecurityFactory.eINSTANCE.createRole(id);
+
+ EList<SecurityItem> items = getRoleItems();
+ items.add(role);
+ return role;
+ }
+
+ /**
+ * @since 4.2
+ */
+ public Group addGroup(String id)
+ {
+ Group group = SecurityFactory.eINSTANCE.createGroup(id);
+
+ EList<SecurityItem> items = getGroupItems();
+ items.add(group);
+ return group;
+ }
+
+ /**
+ * @since 4.2
+ */
+ public User addUser(String id)
+ {
+ User user = SecurityFactory.eINSTANCE.createUser(id);
+ return addUser(user);
+ }
+
+ /**
+ * @since 4.2
+ */
+ public User addUser(String id, String password)
+ {
+ User user = SecurityFactory.eINSTANCE.createUser(id, password);
+ return addUser(user);
+ }
+
+ /**
+ * @since 4.2
+ */
+ protected User addUser(User user)
+ {
+ EList<SecurityItem> items = getUserItems();
+ items.add(user);
+ return user;
+ }
+
+ /**
+ * @since 4.2
+ */
+ public Role removeRole(String id)
+ {
+ EList<SecurityItem> items = getRoleItems();
+ Role role = RealmUtil.removeRole(items, id);
+ if (role == null)
+ {
+ EList<SecurityItem> realmItems = getItems();
+ if (items != realmItems)
+ {
+ role = RealmUtil.removeRole(realmItems, id);
+ }
+ }
+
+ return role;
+ }
+
+ /**
+ * @since 4.2
+ */
+ public Group removeGroup(String id)
+ {
+ EList<SecurityItem> items = getGroupItems();
+ Group group = RealmUtil.removeGroup(items, id);
+ if (group == null)
+ {
+ EList<SecurityItem> realmItems = getItems();
+ if (items != realmItems)
+ {
+ group = RealmUtil.removeGroup(realmItems, id);
+ }
+ }
+
+ return group;
+ }
+
+ /**
+ * @since 4.2
+ */
+ public User removeUser(String id)
+ {
+ EList<SecurityItem> items = getUserItems();
+ User user = RealmUtil.removeUser(items, id);
+ if (user == null)
+ {
+ EList<SecurityItem> realmItems = getItems();
+ if (items != realmItems)
+ {
+ user = RealmUtil.removeUser(realmItems, id);
+ }
+ }
+
+ return user;
+ }
+
@Override
public Realm getRealm()
{

Back to the top