blob: e6c8d71c557e8c9d56a7472093154be2b521c9ce [file] [log] [blame]
/*
* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
* Copyright 1998-2014 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted only as authorized by the OpenLDAP
* Public License.
*
* A copy of this license is available in the file LICENSE in the
* top-level directory of the distribution or, alternatively, at
* <http://www.OpenLDAP.org/license.html>.
*/
package org.openldap.enmasse;
import org.openldap.fortress.DelReviewMgr;
import org.openldap.fortress.DelReviewMgrFactory;
import org.openldap.fortress.SecurityException;
import org.openldap.fortress.rbac.AdminRole;
import org.openldap.fortress.rbac.OrgUnit;
import org.openldap.fortress.rbac.UserAdminRole;
import org.openldap.fortress.rbac.User;
import org.openldap.fortress.rest.FortRequest;
import org.openldap.fortress.rest.FortResponse;
import org.apache.log4j.Logger;
import java.util.List;
/**
* Utility for EnMasse Server. This class is thread safe.
*
* @author Shawn McKinney
*/
class DelegatedReviewMgrImpl
{
private static final String CLS_NM = DelegatedReviewMgrImpl.class.getName();
private static final Logger log = Logger.getLogger(CLS_NM);
/**
* ************************************************************************************************************************************
* BEGIN DELEGATEDREVIEWMGR
* **************************************************************************************************************************************
*/
FortResponse readAdminRole(FortRequest request)
{
FortResponse response = new FortResponse();
try
{
AdminRole inRole = (AdminRole) request.getEntity();
DelReviewMgr delegatedReviewMgr = DelReviewMgrFactory.createInstance(request.getContextId());
AdminRole outRole = delegatedReviewMgr.readRole(inRole);
response.setEntity(outRole);
response.setErrorCode(0);
}
catch (org.openldap.fortress.SecurityException se)
{
log.info(CLS_NM + " caught " + se);
response.setErrorCode(se.getErrorId());
response.setErrorMessage(se.getMessage());
}
return response;
}
FortResponse findAdminRoles(FortRequest request)
{
FortResponse response = new FortResponse();
try
{
String searchVal = request.getValue();
DelReviewMgr delegatedReviewMgr = DelReviewMgrFactory.createInstance(request.getContextId());
delegatedReviewMgr.setAdmin(request.getSession());
List<AdminRole> outRoles = delegatedReviewMgr.findRoles(searchVal);
response.setEntities(outRoles);
response.setErrorCode(0);
}
catch (SecurityException se)
{
log.info(CLS_NM + " caught " + se);
response.setErrorCode(se.getErrorId());
response.setErrorMessage(se.getMessage());
}
return response;
}
FortResponse assignedAdminRoles(FortRequest request)
{
FortResponse response = new FortResponse();
try
{
User inUser = (User)request.getEntity();
DelReviewMgr delegatedReviewMgr = DelReviewMgrFactory.createInstance(request.getContextId());
delegatedReviewMgr.setAdmin(request.getSession());
List<UserAdminRole> uRoles = delegatedReviewMgr.assignedRoles(inUser);
response.setEntities(uRoles);
response.setErrorCode(0);
}
catch (SecurityException se)
{
log.info(CLS_NM + " caught " + se);
response.setErrorCode(se.getErrorId());
response.setErrorMessage(se.getMessage());
}
return response;
}
FortResponse assignedAdminUsers(FortRequest request)
{
FortResponse response = new FortResponse();
try
{
AdminRole inRole = (AdminRole) request.getEntity();
DelReviewMgr delegatedReviewMgr = DelReviewMgrFactory.createInstance(request.getContextId());
delegatedReviewMgr.setAdmin(request.getSession());
List<User> users = delegatedReviewMgr.assignedUsers(inRole);
response.setEntities(users);
response.setErrorCode(0);
}
catch (SecurityException se)
{
log.info(CLS_NM + " caught " + se);
response.setErrorCode(se.getErrorId());
response.setErrorMessage(se.getMessage());
}
return response;
}
FortResponse readOrg(FortRequest request)
{
FortResponse response = new FortResponse();
try
{
OrgUnit inOrg = (OrgUnit) request.getEntity();
DelReviewMgr delegatedReviewMgr = DelReviewMgrFactory.createInstance(request.getContextId());
delegatedReviewMgr.setAdmin(request.getSession());
OrgUnit returnOrg = delegatedReviewMgr.read(inOrg);
response.setEntity(returnOrg);
response.setErrorCode(0);
}
catch (SecurityException se)
{
log.info(CLS_NM + " caught " + se);
response.setErrorCode(se.getErrorId());
response.setErrorMessage(se.getMessage());
}
return response;
}
FortResponse searchOrg(FortRequest request)
{
FortResponse response = new FortResponse();
try
{
OrgUnit inOrg = (OrgUnit) request.getEntity();
DelReviewMgr delegatedReviewMgr = DelReviewMgrFactory.createInstance(request.getContextId());
delegatedReviewMgr.setAdmin(request.getSession());
List<OrgUnit> orgs = delegatedReviewMgr.search(inOrg.getType(), inOrg.getName());
response.setEntities(orgs);
response.setErrorCode(0);
}
catch (SecurityException se)
{
log.info(CLS_NM + " caught " + se);
response.setErrorCode(se.getErrorId());
response.setErrorMessage(se.getMessage());
}
return response;
}
}