\r
import java.io.Serializable;\r
\r
-import javax.annotation.PostConstruct;\r
import javax.enterprise.context.SessionScoped;\r
-import javax.inject.Inject;\r
import javax.inject.Named;\r
\r
import org.apache.log4j.Logger;\r
\r
+import com.indexdata.mkjsf.pazpar2.Pz2Service;\r
import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommands;\r
-import com.indexdata.mkjsf.pazpar2.state.StateManager;\r
import com.indexdata.mkjsf.utils.Utils;\r
\r
-@Named("pzreq") @SessionScoped\r
+/**\r
+ * Pazpar2Commands holds references to all Pazpar2 commands. \r
+ * <p>\r
+ * The Pazpar2Commands object itself is exposed to the UI as <code>pzreq</code>. \r
+ * </p>\r
+ * <p>\r
+ * When the UI request a command it will be retrieved from the current state\r
+ * through the state manager, so that the command can trigger a mutation of \r
+ * the state if the user/UI modifies its parameters. \r
+ * </p>\r
+ * <p>Examples:</p>\r
+ * <ul>\r
+ * <li><code>pzreq.show</code> - will retrieve the show command for editing or execution\r
+ * <li><code>pzreq.sp.auth</code> - will retrieve the Service Proxy extension command 'auth'\r
+ * </ul>\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
+@SessionScoped @Named\r
public class Pazpar2Commands implements Serializable {\r
\r
private static final long serialVersionUID = -5172466320351302413L;\r
public static final String SHOW = "show";\r
public static final String RECORD = "record";\r
public static final String TERMLIST = "termlist";\r
- public static final String BYTARGET = "bytarget";\r
- \r
- private ServiceProxyCommands sp = null;\r
- \r
- @Inject\r
- protected StateManager stateMgr; \r
+ public static final String BYTARGET = "bytarget"; \r
+ private ServiceProxyCommands sp = null; \r
\r
public Pazpar2Commands() {\r
- logger.info("Initializing Pazpar2Commands [" + Utils.objectId(this) + "]");\r
+ logger.info("Initializing Pazpar2Commands [" + Utils.objectId(this) + "]"); \r
}\r
\r
- @PostConstruct\r
- public void postConstruct() {\r
- logger.info("in post-construct stateMgr is " + stateMgr);\r
- }\r
- \r
+ /**\r
+ * init command - referenced from UI as <code>pzreq.init</code>\r
+ * \r
+ * @return init command from current state\r
+ */\r
public InitCommand getInit() {\r
- return (InitCommand) (stateMgr.getCommand(INIT));\r
+ return (InitCommand) (Pz2Service.get().getStateMgr().getCommand(INIT)); \r
}\r
- \r
+ \r
+ /** \r
+ * ping command - referenced from UI as <code>pzreq.ping</code>\r
+ * \r
+ * @return ping command from current state \r
+ */\r
public PingCommand getPing() {\r
- return (PingCommand) (stateMgr.getCommand(PING));\r
+ return (PingCommand) (Pz2Service.get().getStateMgr().getCommand(PING));\r
}\r
\r
+ /**\r
+ * settings command - referenced from UI as <code>pzreq.settings</code>\r
+ * \r
+ * @return settings command from current state\r
+ */\r
public SettingsCommand getSettings() {\r
- return (SettingsCommand) (stateMgr.getCommand(SETTINGS));\r
+ return (SettingsCommand) (Pz2Service.get().getStateMgr().getCommand(SETTINGS));\r
}\r
\r
+ /**\r
+ * \r
+ * @return search command from current state\r
+ */\r
public SearchCommand getSearch() {\r
- return (SearchCommand) (stateMgr.getCommand(SEARCH));\r
+ return (SearchCommand) (Pz2Service.get().getStateMgr().getCommand(SEARCH));\r
}\r
\r
+ /**\r
+ * \r
+ * @return stat command from current state\r
+ */\r
public StatCommand getStat() {\r
- return (StatCommand) (stateMgr.getCommand(STAT));\r
+ return (StatCommand) (Pz2Service.get().getStateMgr().getCommand(STAT));\r
}\r
\r
+ /**\r
+ * \r
+ * @return show command from current state\r
+ */\r
public ShowCommand getShow() {\r
- return (ShowCommand) (stateMgr.getCommand(SHOW));\r
+ return (ShowCommand) (Pz2Service.get().getStateMgr().getCommand(SHOW));\r
}\r
\r
+ /**\r
+ * \r
+ * @return record command from current state\r
+ */\r
public RecordCommand getRecord() {\r
- return (RecordCommand) (stateMgr.getCommand(RECORD));\r
+ return (RecordCommand) (Pz2Service.get().getStateMgr().getCommand(RECORD));\r
}\r
\r
+ /**\r
+ * \r
+ * @return termlist command from current state\r
+ */\r
public TermlistCommand getTermlist() {\r
- return (TermlistCommand) (stateMgr.getCommand(TERMLIST));\r
+ return (TermlistCommand) (Pz2Service.get().getStateMgr().getCommand(TERMLIST));\r
}\r
\r
+ /**\r
+ * \r
+ * @return bytarget command from current state\r
+ */\r
public BytargetCommand getBytarget() {\r
- return (BytargetCommand) (stateMgr.getCommand(BYTARGET));\r
+ return (BytargetCommand) (Pz2Service.get().getStateMgr().getCommand(BYTARGET));\r
}\r
\r
+ /**\r
+ * Generically retrieves any command\r
+ * \r
+ * @param name name of command to retrieve\r
+ * @return command of the given type\r
+ */\r
public Pazpar2Command getCommand(String name) { \r
- return stateMgr.getCommand(name);\r
+ return Pz2Service.get().getStateMgr().getCommand(name);\r
}\r
\r
+ /**\r
+ * Gets the object holding references to Service Proxy-only commands.\r
+ * @return\r
+ */\r
public ServiceProxyCommands getSp() {\r
if (sp == null) {\r
- sp = new ServiceProxyCommands(stateMgr);\r
+ sp = new ServiceProxyCommands(Pz2Service.get().getStateMgr());\r
}\r
return sp;\r
}\r