blob: 30a9c365645b3942f5383e019d88464cdcceaafb [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008-2011 Chair for Applied Software Engineering,
* Technische Universitaet Muenchen.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Otto von Wesendonk, Maximilian Koegel - initial API and implementation
******************************************************************************/
package org.eclipse.emf.emfstore.internal.client.model.impl;
import java.util.List;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.emfstore.internal.client.model.AdminBroker;
import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
import org.eclipse.emf.emfstore.internal.client.model.ServerInfo;
import org.eclipse.emf.emfstore.internal.server.exceptions.ConnectionException;
import org.eclipse.emf.emfstore.internal.server.model.ProjectId;
import org.eclipse.emf.emfstore.internal.server.model.ProjectInfo;
import org.eclipse.emf.emfstore.internal.server.model.SessionId;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACGroup;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACUser;
import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles.Role;
import org.eclipse.emf.emfstore.server.exceptions.ESException;
/**
* Implementation of the AdminBroker.
*
* @author wesendon
* @author koegel
*/
public class AdminBrokerImpl implements AdminBroker {
private final SessionId sessionId;
/**
* Constructor.
*
* @param serverInfo server info
* @param sessionId session id, must be an admin session
* @throws ConnectionException if connection init fails
*/
public AdminBrokerImpl(ServerInfo serverInfo, SessionId sessionId) throws ConnectionException {
this.sessionId = sessionId;
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().initConnection(serverInfo, sessionId);
}
/**
*
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#addParticipant(org.eclipse.emf.emfstore.internal.server.model.ProjectId,
* org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public void addParticipant(ProjectId projectId, ACOrgUnitId participant) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager()
.addParticipant(getSessionId(), projectId, participant);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#changeRole(org.eclipse.emf.emfstore.internal.server.model.ProjectId,
* org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId, org.eclipse.emf.ecore.EClass)
*/
public void changeRole(ProjectId projectId, ACOrgUnitId orgUnit, EClass role) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager()
.changeRole(getSessionId(), projectId, orgUnit, role);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getGroups()
*/
public List<ACGroup> getGroups() throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().getGroups(getSessionId());
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getGroups(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public List<ACGroup> getGroups(ACOrgUnitId user) throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().getGroups(getSessionId(), user);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getOrgUnits()
*/
public List<ACOrgUnit> getOrgUnits() throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().getOrgUnits(getSessionId());
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getParticipants(org.eclipse.emf.emfstore.internal.server.model.ProjectId)
*/
public List<ACOrgUnit> getParticipants(ProjectId projectId) throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager()
.getParticipants(getSessionId(), projectId);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getMembers(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public List<ACOrgUnit> getMembers(ACOrgUnitId groupId) throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().getMembers(getSessionId(), groupId);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getProjectInfos()
*/
public List<ProjectInfo> getProjectInfos() throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().getProjectInfos(getSessionId());
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getRole(org.eclipse.emf.emfstore.internal.server.model.ProjectId,
* org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public Role getRole(ProjectId projectId, ACOrgUnitId orgUnit) throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager()
.getRole(getSessionId(), projectId, orgUnit);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getUsers()
*/
public List<ACUser> getUsers() throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().getUsers(getSessionId());
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#removeGroup(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId,
* org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public void removeGroup(ACOrgUnitId user, ACOrgUnitId group) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().removeGroup(getSessionId(), user, group);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#removeParticipant(org.eclipse.emf.emfstore.internal.server.model.ProjectId,
* org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public void removeParticipant(ProjectId projectId, ACOrgUnitId participant) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager()
.removeParticipant(getSessionId(), projectId, participant);
}
private SessionId getSessionId() {
return sessionId;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#createGroup(java.lang.String)
*/
public ACOrgUnitId createGroup(String name) throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().createGroup(getSessionId(), name);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#createUser(java.lang.String)
*/
public ACOrgUnitId createUser(String name) throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().createUser(getSessionId(), name);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#deleteGroup(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public void deleteGroup(ACOrgUnitId group) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().deleteGroup(getSessionId(), group);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#deleteUser(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public void deleteUser(ACOrgUnitId user) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().deleteUser(getSessionId(), user);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#addMember(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId,
* org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public void addMember(ACOrgUnitId group, ACOrgUnitId member) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().addMember(getSessionId(), group, member);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#removeMember(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId,
* org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public void removeMember(ACOrgUnitId group, ACOrgUnitId member) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().removeMember(getSessionId(), group, member);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#changeOrgUnit(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId,
* java.lang.String, java.lang.String)
*/
public void changeOrgUnit(ACOrgUnitId orgUnitId, String name, String description) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager()
.changeOrgUnit(getSessionId(), orgUnitId, name, description);
}
/**
*
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#changeUser(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId,
* java.lang.String, java.lang.String)
*/
public void changeUser(ACOrgUnitId userId, String name, String password) throws ESException {
ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager()
.changeUser(getSessionId(), userId, name, password);
}
/**
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.internal.client.model.AdminBroker#getOrgUnit(org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId)
*/
public ACOrgUnit getOrgUnit(ACOrgUnitId orgUnitId) throws ESException {
return ESWorkspaceProviderImpl.getInstance().getAdminConnectionManager().getOrgUnit(sessionId, orgUnitId);
}
}