01: /*
02: * ChainBuilder ESB
03: * Visual Enterprise Integration
04: *
05: * Copyright (C) 2006 Bostech Corporation
06: *
07: * This program is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU General Public License as published by the
09: * Free Software Foundation; either version 2 of the License, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15: * for more details.
16: *
17: * You should have received a copy of the GNU General Public License along with
18: * this program; if not, write to the Free Software Foundation, Inc.,
19: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: *
22: * $Id$
23: */
24:
25: package com.bostechcorp.cbesb.common.sa.component;
26:
27: import java.util.List;
28: import java.util.Vector;
29:
30: import com.bostechcorp.cbesb.common.sa.service.AutoRetryScheduleRecord;
31: import com.bostechcorp.cbesb.common.sa.service.StandardScheduleRecord;
32: import com.bostechcorp.cbesb.common.util.generators.ComponentScheduleXMLGenerator;
33:
34: public abstract class CanScheduleComponent extends AbstractComponent {
35:
36: List<StandardScheduleRecord> standardSchedules = new Vector<StandardScheduleRecord>();
37: List<AutoRetryScheduleRecord> autoRetrySchedules = new Vector<AutoRetryScheduleRecord>();
38:
39: public CanScheduleComponent() {
40: super ();
41: }
42:
43: public void deploy(String suPath, String saName) throws Exception {
44: String path = suPath + "/" + saName + "_" + this .name;
45: super .deploy(suPath, saName);
46: this .generateScheduleXML(path, saName);
47: }
48:
49: public void generateScheduleXML(String path, String saName) {
50: if (standardSchedules.size() > 0
51: || autoRetrySchedules.size() > 0) {
52: ComponentScheduleXMLGenerator schedulerGenerator = new ComponentScheduleXMLGenerator(
53: path, saName, this .getName());
54: schedulerGenerator.setSchedulues(standardSchedules,
55: autoRetrySchedules);
56: schedulerGenerator.write();
57: }
58: }
59:
60: public List<AutoRetryScheduleRecord> getAutoRetrySchedules() {
61: return autoRetrySchedules;
62: }
63:
64: public void addAutoRetrySchedule(
65: AutoRetryScheduleRecord autoRetrySchedule) {
66: this .autoRetrySchedules.add(autoRetrySchedule);
67: }
68:
69: public List<StandardScheduleRecord> getStandardSchedules() {
70: return standardSchedules;
71: }
72:
73: public void addStandardSchedule(
74: StandardScheduleRecord standardSchedule) {
75: this.standardSchedules.add(standardSchedule);
76: }
77:
78: }
|