- protected Class<DefaultExecutionFlow> getBeanClass(Element element) {
- return DefaultExecutionFlow.class;
+ protected Class<? extends ExecutionFlow> getBeanClass(Element element) {
+ String clss = element.getAttribute("class");
+ if (StringUtils.hasText(clss))
+ // TODO: check that it actually works
+ try {
+ return (Class<? extends ExecutionFlow>) getClass()
+ .getClassLoader().loadClass(clss);
+ } catch (ClassNotFoundException e) {
+ try {
+ return (Class<? extends ExecutionFlow>) Thread
+ .currentThread().getContextClassLoader()
+ .loadClass(clss);
+ } catch (ClassNotFoundException e1) {
+ throw new SlcException("Cannot load class " + clss, e);
+ }
+ }
+ else
+ return DefaultExecutionFlow.class;