Avoids state changes on cascading command updates
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / commands / Pazpar2Commands.java
1 package com.indexdata.pz2utils4jsf.pazpar2.commands;\r
2 \r
3 import java.io.Serializable;\r
4 \r
5 import javax.annotation.PostConstruct;\r
6 import javax.enterprise.context.SessionScoped;\r
7 import javax.inject.Inject;\r
8 import javax.inject.Named;\r
9 \r
10 import org.apache.log4j.Logger;\r
11 \r
12 import com.indexdata.pz2utils4jsf.pazpar2.state.StateManager;\r
13 import com.indexdata.pz2utils4jsf.utils.Utils;\r
14 \r
15 @Named("pzreq") @SessionScoped\r
16 public class Pazpar2Commands implements Serializable {\r
17 \r
18   private static final long serialVersionUID = -5172466320351302413L;\r
19   private static Logger logger = Logger.getLogger(Pazpar2Commands.class);\r
20 \r
21   public static final String INIT =     "init";\r
22   public static final String PING =     "ping";\r
23   public static final String SETTINGS = "settings";\r
24   public static final String SEARCH =   "search";\r
25   public static final String STAT =     "stat";\r
26   public static final String SHOW =     "show";\r
27   public static final String RECORD =   "record";\r
28   public static final String TERMLIST = "termlist";\r
29   public static final String BYTARGET = "bytarget";\r
30     \r
31   @Inject StateManager stateMgr; \r
32   \r
33   public Pazpar2Commands() {\r
34     logger.info("Initializing Pazpar2Commands [" + Utils.objectId(this) + "]");\r
35   }\r
36   \r
37   @PostConstruct\r
38   public void postConstruct() {\r
39     logger.info("in post-construct stateMgr is " + stateMgr);\r
40   }\r
41     \r
42   public InitCommand getInit() {\r
43     return (InitCommand) (stateMgr.checkOut(INIT));\r
44   }\r
45   \r
46   public PingCommand getPing() {\r
47     return (PingCommand) (stateMgr.checkOut(PING));\r
48   }\r
49   \r
50   public SettingsCommand getSettings() {\r
51     return (SettingsCommand) (stateMgr.checkOut(SETTINGS));\r
52   }\r
53 \r
54   public SearchCommand getSearch() {\r
55     return (SearchCommand) (stateMgr.checkOut(SEARCH));\r
56   }\r
57 \r
58   public StatCommand getStat() {\r
59     return (StatCommand) (stateMgr.checkOut(STAT));\r
60   }\r
61   \r
62   public ShowCommand getShow() {\r
63     return (ShowCommand) (stateMgr.checkOut(SHOW));\r
64   }\r
65   \r
66   public ShowCommand getShowInState () {\r
67     return (ShowCommand) (stateMgr.getCurrentState().getCommand(SHOW));\r
68   }\r
69   \r
70   public RecordCommand getRecord() {\r
71     return (RecordCommand) (stateMgr.checkOut(RECORD));\r
72   }\r
73   \r
74   public RecordCommand getRecordInState() {\r
75     return (RecordCommand)stateMgr.getCurrentState().getCommand(RECORD);\r
76   }\r
77   \r
78   public TermlistCommand getTermlist() {\r
79     return (TermlistCommand) (stateMgr.checkOut(TERMLIST));\r
80   }\r
81   \r
82   public BytargetCommand getBytarget() {\r
83     return (BytargetCommand) (stateMgr.checkOut(BYTARGET));\r
84   }\r
85   \r
86   public Pazpar2Command getCommand(String name) {\r
87     return stateMgr.checkOut(name);\r
88   }\r
89   \r
90   public CommandReadOnly getCommandReadOnly(String name) {\r
91     return stateMgr.getCommand(name);\r
92   }\r
93     \r
94 }\r