Skip to content

Commit

Permalink
Bug 473405 - DefaultESOrgUnitResolverService compares unequal types
Browse files Browse the repository at this point in the history
  • Loading branch information
edgarmueller authored and jfaltermeier committed Jul 24, 2015
1 parent d5452f9 commit 544c0c2
Showing 1 changed file with 19 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
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.internal.server.model.impl.api.ESGroupImpl;
import org.eclipse.emf.emfstore.internal.server.model.impl.api.ESOrgUnitIdImpl;
import org.eclipse.emf.emfstore.internal.server.model.impl.api.ESOrgUnitImpl;
import org.eclipse.emf.emfstore.internal.server.model.impl.api.ESUserImpl;
import org.eclipse.emf.emfstore.server.auth.ESOrgUnitResolver;
Expand All @@ -35,6 +36,8 @@
import org.eclipse.emf.emfstore.server.model.ESRole;
import org.eclipse.emf.emfstore.server.model.ESUser;

import com.google.common.base.Preconditions;

/**
* Default implementation of an {@link ESOrgUnitResolver}.
*
Expand All @@ -45,6 +48,12 @@ public class DefaultESOrgUnitResolverService implements ESOrgUnitResolver {

private ESOrgUnitProvider orgUnitProvider;

/**
*
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.server.auth.ESOrgUnitResolver#getRolesFromGroups(org.eclipse.emf.emfstore.server.model.ESOrgUnit)
*/
public List<ESRole> getRolesFromGroups(ESOrgUnit orgUnit) {
final ArrayList<ESRole> roles = new ArrayList<ESRole>();
for (final ESGroup group : getGroups(orgUnit)) {
Expand All @@ -63,7 +72,12 @@ public ESUser resolveRoles(ESAuthenticationInformation authInfo) throws AccessCo
return copyAndResolveUser(authInfo.getUser());
}

// TODO: rename
/**
*
* {@inheritDoc}
*
* @see org.eclipse.emf.emfstore.server.auth.ESOrgUnitResolver#copyAndResolveUser(org.eclipse.emf.emfstore.server.model.ESUser)
*/
public ESUser copyAndResolveUser(ESUser esUser) {
final ACUser tmpUser = (ACUser) ESUserImpl.class.cast(esUser).toInternalAPI();
final ACUser user = ModelUtil.clone(tmpUser);
Expand Down Expand Up @@ -95,13 +109,14 @@ public ESUser copyAndResolveUser(ESUser esUser) {
* @see org.eclipse.emf.emfstore.server.auth.ESOrgUnitResolver#resolveUser(org.eclipse.emf.emfstore.server.model.ESOrgUnitId)
*/
public ESUser resolveUser(ESOrgUnitId orgUnitId) throws AccessControlException {
// private ACUser resolveUser(String username) throws AccessControlException {

Preconditions.checkNotNull(orgUnitId);

synchronized (MonitorProvider.getInstance().getMonitor()) {
final Set<ESUser> users = orgUnitProvider.getUsers();
final Set<ACUser> internal = APIUtil.toInternal(users);
for (final ACUser user : internal) {
if (user.getId().equals(orgUnitId)) {
if (user.getId().equals(ESOrgUnitIdImpl.class.cast(orgUnitId).toInternalAPI())) {
return user.toAPI();
}
}
Expand All @@ -122,7 +137,7 @@ public List<ESGroup> getGroups(ESOrgUnitId orgUnitId) {
/**
*
* {@inheritDoc}
*
*
* @see org.eclipse.emf.emfstore.server.auth.ESOrgUnitResolver#getGroups(org.eclipse.emf.emfstore.server.model.ESOrgUnit)
*/
public List<ESGroup> getGroups(ESOrgUnit esOrgUnit) {
Expand Down

0 comments on commit 544c0c2

Please sign in to comment.