001    /**
002     * Copyright 2005-2013 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.opensource.org/licenses/ecl2.php
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.rice.krad.service;
017    
018    /**
019     * This new feedback service was added to refactor
020     * KualiExceptionIncidentService.  Now the KualiExceptionIncidentService
021     * extends this service so that exception reporting is considered to be a type
022     * of feedback.  Both services share the emailReport method which formats and
023     * sends an email to the appropriate list.
024     */
025    public interface KualiFeedbackService {
026    
027            /**
028         * This property must be defined in the base configuration file for specifying
029         * the mailing list for the report to be sent.
030         * <p>Example:
031         * <code>
032         * <param name="KualiFeedbackService.REPORT_MAIL_LIST">a@y,b@z</param>
033         * </code>
034         */
035        public static final String REPORT_MAIL_LIST = String.format("%s.REPORT_MAIL_LIST", KualiFeedbackService.class.getSimpleName());
036    
037            /**
038         * This method send email to the defined mailing list with a specified subject and
039         * message.
040         *
041         * @param subject
042         * @param message
043         * @throws Exception
044         */
045        public void emailReport(String subject, String message) throws Exception;
046    
047        public void sendFeedback(String documentId, String componentName, String description) throws Exception;
048    }