001/*
002 * The Kuali Financial System, a comprehensive financial management system for higher education.
003 * 
004 * Copyright 2005-2014 The Kuali Foundation
005 * 
006 * This program is free software: you can redistribute it and/or modify
007 * it under the terms of the GNU Affero General Public License as
008 * published by the Free Software Foundation, either version 3 of the
009 * License, or (at your option) any later version.
010 * 
011 * This program is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014 * GNU Affero General Public License for more details.
015 * 
016 * You should have received a copy of the GNU Affero General Public License
017 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
018 */
019package org.kuali.rice.kim.service.impl;
020
021import java.util.HashMap;
022import java.util.Map;
023
024import org.apache.log4j.Logger;
025import org.kuali.rice.kim.api.identity.IdentityService;
026import org.kuali.rice.kim.api.identity.entity.Entity;
027import org.kuali.rice.kim.api.identity.entity.EntityDefault;
028import org.kuali.rice.kim.api.identity.principal.Principal;
029import org.kuali.rice.kim.api.permission.PermissionService;
030import org.kuali.rice.kim.api.services.IdentityManagementService;
031import org.kuali.rice.kim.api.services.KimApiServiceLocator;
032
033@Deprecated
034public class IdentityManagementServiceImpl implements IdentityManagementService {
035        private static final Logger LOG = Logger.getLogger( IdentityManagementServiceImpl.class );
036
037        protected PermissionService permissionService;
038        protected IdentityService identityService;
039
040    // AUTHORIZATION SERVICE
041    @Override
042    public boolean hasPermission(String principalId, String namespaceCode, String permissionName) {
043        return getPermissionService().hasPermission(principalId, namespaceCode, permissionName );
044    }
045
046    @Override
047    public boolean isAuthorized(String principalId, String namespaceCode, String permissionName, Map<String, String> qualification ) {
048        if ( qualification == null || qualification.isEmpty() ) {
049                return hasPermission( principalId, namespaceCode, permissionName );
050        }
051        return getPermissionService().isAuthorized(principalId, namespaceCode, permissionName, qualification);
052    }
053
054    @Override
055    public boolean hasPermissionByTemplateName(String principalId, String namespaceCode, String permissionTemplateName, Map<String, String> permissionDetails) {
056                return getPermissionService().hasPermissionByTemplate(principalId, namespaceCode, permissionTemplateName, permissionDetails);
057    }
058
059    @Override
060    public boolean isAuthorizedByTemplateName(String principalId, String namespaceCode, String permissionTemplateName, Map<String, String> permissionDetails, Map<String, String> qualification ) {
061        if ( qualification == null || qualification.isEmpty() ) {
062                return hasPermissionByTemplateName( principalId, namespaceCode, permissionTemplateName, new HashMap<String, String>(permissionDetails) );
063        }
064        return getPermissionService().isAuthorizedByTemplate( principalId, namespaceCode, permissionTemplateName, new HashMap<String, String>(permissionDetails), new HashMap<String, String>(qualification) );
065    }
066
067    // IDENTITY SERVICE
068    @Override
069        public Principal getPrincipal(String principalId) {
070                return getIdentityService().getPrincipal(principalId);
071        }
072
073    @Override
074    public Principal getPrincipalByPrincipalName(String principalName) {
075                return getIdentityService().getPrincipalByPrincipalName(principalName);
076    }
077
078    @Override
079    public EntityDefault getEntityDefaultInfo(String entityId) {
080                return getIdentityService().getEntityDefault(entityId);
081    }
082
083    @Override
084    public EntityDefault getEntityDefaultInfoByPrincipalId(
085                String principalId) {
086        return getIdentityService().getEntityDefaultByPrincipalId(principalId);
087    }
088
089    @Override
090    public EntityDefault getEntityDefaultInfoByPrincipalName(
091                String principalName) {
092        return getIdentityService().getEntityDefaultByPrincipalName(principalName);
093    }
094
095    @Override
096    public Entity getEntityByPrincipalId(String principalId) {
097        return getIdentityService().getEntityByPrincipalId(principalId);
098    }
099
100        // OTHER METHODS
101
102        public IdentityService getIdentityService() {
103                if ( identityService == null ) {
104                        identityService = KimApiServiceLocator.getIdentityService();
105                }
106                return identityService;
107        }
108
109        public PermissionService getPermissionService() {
110                if ( permissionService == null ) {
111                        permissionService = KimApiServiceLocator.getPermissionService();
112                }
113                return permissionService;
114        }
115}