1 /***
2 * @(#)OSWorkFlowServiceImpl.java
3 *
4 * JFoxSOAF, Service-Oriented Application Framework
5 *
6 * Copyright(c) JFoxSOAF Team
7 *
8 * Licensed under the GNU LGPL, Version 2.1 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.gnu.org/copyleft/lesser.html
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 *
20 * For more information, please visit:
21 * http://www.jfox.cn/confluence/display/JFoxSOAF/Home
22 * http://www.huihoo.org/jfox/jfoxsoaf
23 */
24
25 package org.huihoo.jfox.soaf.services.workflow;
26
27 import org.apache.commons.logging.Log;
28 import org.apache.commons.logging.LogFactory;
29 import org.huihoo.jfox.soaf.util.resource.ResourceHelper;
30 import org.picocontainer.Startable;
31
32 import com.opensymphony.workflow.Workflow;
33 import com.opensymphony.workflow.basic.BasicWorkflow;
34 import com.opensymphony.workflow.config.Configuration;
35 import com.opensymphony.workflow.config.DefaultConfiguration;
36
37 /***
38 * <p>
39 * OSWorkFlowService Implementation.
40 * </p>
41 *
42 * @author <a href="mailto:founder_chen@yahoo.com.cn">Peter Cheng </a>
43 * @version $Revision: 1.0 $ $Date: 2005/07/31 14:42:12 $
44 * @version Revision: 1.0
45 */
46
47 public class OSWorkFlowServiceImpl implements OSWorkFlowService, Startable {
48
49 private static final String OSWORKFLOW_CONFIG = "osworkflow.xml";
50
51 private Configuration config;
52
53 private Workflow workflow;
54
55 private final Log logger = LogFactory.getLog(getClass());
56
57 /***
58 *
59 */
60 public OSWorkFlowServiceImpl() {
61 }
62
63 /***
64 * Start OSWorkFlow Service.
65 *
66 * @see org.picocontainer.Startable#start()
67 */
68 public void start() {
69 config = new DefaultConfiguration();
70 try {
71 config.load(ResourceHelper.getResourceURL(OSWORKFLOW_CONFIG));
72 workflow = new BasicWorkflow("OSWorkFlow");
73 workflow.setConfiguration(config);
74 } catch (Exception e) {
75 logger.error("Failed to start osworkflow service " + e.getMessage());
76 }
77 logger.info("Start osworkflow service successful.");
78 }
79
80 /***
81 * @see org.picocontainer.Startable#stop()
82 */
83 public void stop() {
84 }
85
86 /***
87 * Return workflow instantce.
88 */
89 public Workflow getWorkflow() {
90 return this.workflow;
91 }
92 }