1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.fatwire.gst.foundation.controller.action.support;
18
19 import org.apache.commons.logging.Log;
20 import org.apache.commons.logging.LogFactory;
21
22 import COM.FutureTense.Interfaces.ICS;
23
24 import com.fatwire.gst.foundation.controller.action.Action;
25 import com.fatwire.gst.foundation.controller.action.ActionLocator;
26 import com.fatwire.gst.foundation.controller.action.Factory;
27 import com.fatwire.gst.foundation.controller.action.Injector;
28 import com.fatwire.gst.foundation.controller.action.RenderPage;
29
30
31
32
33
34
35
36
37
38
39
40 public abstract class BaseActionLocator extends AbstractActionLocator {
41
42 protected static final Log LOG = LogFactory.getLog(BaseActionLocator.class.getPackage().getName());
43
44 private ReflectionFactoryProducer f = new ReflectionFactoryProducer();
45 private Injector i;
46
47 public BaseActionLocator() {
48 super();
49 this.setFallbackActionLocator(new ActionLocator() {
50
51 public Action getAction(final ICS ics, final String name) {
52 Action action = new RenderPage();
53 injectDependencies(ics, action);
54 return action;
55 }
56
57 });
58 i = new DefaultAnnotationInjector(f);
59 this.setInjector(i);
60 }
61
62
63
64
65 public void setFactoryClassname(final String factoryClassname) {
66 f.setFactoryClassname(factoryClassname);
67 }
68 }