1 /* 2 * Copyright 2007-2008 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.ken.service.impl; 17 18 import org.kuali.rice.ken.bo.NotificationResponse; 19 import org.kuali.rice.ken.service.NotificationService; 20 import org.kuali.rice.kew.exception.WorkflowRuntimeException; 21 import org.kuali.rice.ksb.messaging.service.KSBXMLService; 22 23 24 /** 25 * This class allows the NotificationService.sendNotification(XML) service 26 * to be invoked as a web service generically from the bus. 27 * @author Kuali Rice Team (rice.collab@kuali.org) 28 */ 29 public class SendNotificationServiceKewXmlImpl implements KSBXMLService { 30 private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger 31 .getLogger(SendNotificationServiceKewXmlImpl.class); 32 33 private NotificationService notificationService; 34 35 /** 36 * Constructs a SendNotificationServiceKewXmlImpl instance. 37 * @param notificationService 38 */ 39 public SendNotificationServiceKewXmlImpl(NotificationService notificationService) { 40 this.notificationService = notificationService; 41 } 42 43 /** 44 * Actually invokes the sendNotification() service method. The KSB calls 45 * this. 46 * @see org.kuali.rice.ksb.messaging.service.KSBXMLService#invoke(java.lang.String) 47 */ 48 public void invoke(String xml) { 49 try { 50 NotificationResponse response = notificationService.sendNotification(xml); 51 LOG.info(response.getMessage()); 52 } catch (Exception e) { 53 throw new WorkflowRuntimeException(e); 54 } 55 } 56 }