1 /** 2 * Copyright 2005-2014 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.rice.krad.exception; 17 18 import org.kuali.rice.core.api.util.RiceKeyConstants; 19 20 import java.util.Collections; 21 import java.util.Map; 22 23 /** 24 * Represents an exception that is thrown when a given user is not authorized to take a given action on the given 25 * document type 26 * 27 * @author Kuali Rice Team (rice.collab@kuali.org) 28 */ 29 public class DocumentAuthorizationException extends AuthorizationException { 30 31 /** 32 * Constructs a DocumentAuthorizationException for a specific document rather than a documentType. 33 * 34 * @param userId 35 * @param action 36 * @param documentId 37 */ 38 public DocumentAuthorizationException(String userId, String action, String documentId) { 39 this(userId, action, documentId, Collections.<String, Object>emptyMap()); 40 } 41 42 public DocumentAuthorizationException(String userId, String action, String documentId, 43 Map<String, Object> requestAuthDetails) { 44 super(userId, action, documentId, 45 "user '" + userId + "' is not authorized to " + action + " document '" + documentId + "'", 46 requestAuthDetails); 47 } 48 49 /** 50 * @see AuthorizationException#getErrorMessageKey() 51 */ 52 public String getErrorMessageKey() { 53 return RiceKeyConstants.AUTHORIZATION_ERROR_DOCUMENT; 54 } 55 56 }