KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > api > engine > scheduling > SchedulingReportDeleteListener


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21 package com.jaspersoft.jasperserver.api.engine.scheduling;
22
23 import org.springframework.beans.BeansException;
24 import org.springframework.beans.factory.InitializingBean;
25 import org.springframework.context.ApplicationContext;
26 import org.springframework.context.ApplicationContextAware;
27
28 import com.jaspersoft.jasperserver.api.metadata.common.service.RepositoryEventListener;
29 import com.jaspersoft.jasperserver.api.metadata.common.service.RepositoryEventListenerRegistry;
30 import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit;
31
32 /**
33  * @author Lucian Chirita (lucianc@users.sourceforge.net)
34  * @version $Id: SchedulingReportDeleteListener.java 3804 2006-06-22 12:49:51Z lucian $
35  */

36 public class SchedulingReportDeleteListener implements RepositoryEventListener, ApplicationContextAware, InitializingBean {
37
38     private String JavaDoc schedulingInternalServiceBeanName;
39     private RepositoryEventListenerRegistry registry;
40     private ApplicationContext applicationContext;
41
42     public String JavaDoc getSchedulingInternalServiceBeanName() {
43         return schedulingInternalServiceBeanName;
44     }
45
46     public void setSchedulingInternalServiceBeanName(String JavaDoc schedulingServiceBeanName) {
47         this.schedulingInternalServiceBeanName = schedulingServiceBeanName;
48     }
49
50     public RepositoryEventListenerRegistry getRegistry() {
51         return registry;
52     }
53
54     public void setRegistry(RepositoryEventListenerRegistry registry) {
55         this.registry = registry;
56     }
57     
58     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
59         this.applicationContext = applicationContext;
60     }
61
62     public void afterPropertiesSet() {
63         getRegistry().registerListener(this);
64     }
65     
66     public void onResourceDelete(Class JavaDoc resourceItf, String JavaDoc resourceURI) {
67         if (ReportUnit.class.isAssignableFrom(resourceItf)) {
68             ReportSchedulingInternalService schedulingService = (ReportSchedulingInternalService) applicationContext.getBean(getSchedulingInternalServiceBeanName());
69             schedulingService.removeReportUnitJobs(resourceURI);
70         }
71     }
72
73 }
74
Popular Tags