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 import COM.FutureTense.Util.ftErrors;
24
25 import com.fatwire.gst.foundation.CSRuntimeException;
26 import com.fatwire.gst.foundation.controller.action.Action;
27 import com.fatwire.gst.foundation.controller.action.ActionLocator;
28
29
30
31
32
33
34
35
36 final class AttributeActionLocator implements ActionLocator {
37 protected static final Log LOG = LogFactory.getLog(AttributeActionLocator.class.getPackage().getName());
38 public static final String GST_ACTION_ATTR_NAME = "gstaction";
39 public static final String ACTION_TYPE_SPRING_BEAN_PREFIX = "spring-bean:";
40
41 public Action getAction(final ICS ics) {
42 final String attribute = getAttribute(ics);
43 final Action action = getAction(ics, attribute);
44 if (action == null) {
45 throw new CSRuntimeException("No action configured for attribute: " + attribute, ftErrors.badparams);
46 }
47 return action;
48
49 }
50
51 public Action getAction(final ICS ics, final String name) {
52 final Action result = getAction(name);
53
54 return result;
55 }
56
57 private String getAttribute(final ICS ics) {
58 return null;
59
60 }
61
62 private Action getAction(final String attribute) {
63 return null;
64 }
65 }