X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2Fcommands%2FPazpar2Commands.java;h=c9dc4c0b6885c0a171a4c857fa27e1540f1cbef6;hb=7df6b1590eb285bca094652950a23edc3da95f70;hp=9e04d6e13ea4878249ccf41a7063b8f812be3772;hpb=ccb28ae8d5d46d29c40bd8b1637522c212b80636;p=mkjsf-moved-to-github.git
diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Commands.java b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Commands.java
index 9e04d6e..c9dc4c0 100644
--- a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Commands.java
+++ b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/Pazpar2Commands.java
@@ -2,22 +2,40 @@ package com.indexdata.mkjsf.pazpar2.commands;
import java.io.Serializable;
-import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
-import javax.inject.Inject;
import javax.inject.Named;
import org.apache.log4j.Logger;
-import com.indexdata.mkjsf.pazpar2.state.StateManager;
+import com.indexdata.mkjsf.pazpar2.Pz2Service;
+import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommands;
import com.indexdata.mkjsf.utils.Utils;
-@Named("pzreq") @SessionScoped
+/**
+ * Pazpar2Commands holds references to all Pazpar2 commands.
+ *
+ * The Pazpar2Commands object itself is exposed to the UI as 'pzreq'.
+ *
+ *
+ * When the UI request a command it will be retrieved from the current state
+ * through the state manager, so that the command can trigger a mutation of
+ * the state if the user/UI modifies its parameters.
+ *
+ * Examples:
+ *
+ * - pzreq.show - will retrieve the show command for editing or execution
+ *
- pzreq.sp.auth - will retrieve the Service Proxy extension command 'auth'
+ *
+ *
+ * @author Niels Erik
+ *
+ */
+@SessionScoped @Named
public class Pazpar2Commands implements Serializable {
private static final long serialVersionUID = -5172466320351302413L;
private static Logger logger = Logger.getLogger(Pazpar2Commands.class);
-
+
public static final String INIT = "init";
public static final String PING = "ping";
public static final String SETTINGS = "settings";
@@ -26,57 +44,104 @@ public class Pazpar2Commands implements Serializable {
public static final String SHOW = "show";
public static final String RECORD = "record";
public static final String TERMLIST = "termlist";
- public static final String BYTARGET = "bytarget";
-
- @Inject StateManager stateMgr;
+ public static final String BYTARGET = "bytarget";
+ private ServiceProxyCommands sp = null;
public Pazpar2Commands() {
- logger.info("Initializing Pazpar2Commands [" + Utils.objectId(this) + "]");
+ logger.info("Initializing Pazpar2Commands [" + Utils.objectId(this) + "]");
}
- @PostConstruct
- public void postConstruct() {
- logger.info("in post-construct stateMgr is " + stateMgr);
- }
-
+ /**
+ *
+ * @return init command from current state
+ */
public InitCommand getInit() {
- return (InitCommand) (stateMgr.getCommand(INIT));
+ return (InitCommand) (Pz2Service.get().getStateMgr().getCommand(INIT));
}
-
+
+ /**
+ *
+ * @return ping command from current state
+ */
public PingCommand getPing() {
- return (PingCommand) (stateMgr.getCommand(PING));
+ return (PingCommand) (Pz2Service.get().getStateMgr().getCommand(PING));
}
+ /**
+ *
+ * @return settings command from current state
+ */
public SettingsCommand getSettings() {
- return (SettingsCommand) (stateMgr.getCommand(SETTINGS));
+ return (SettingsCommand) (Pz2Service.get().getStateMgr().getCommand(SETTINGS));
}
+ /**
+ *
+ * @return search command from current state
+ */
public SearchCommand getSearch() {
- return (SearchCommand) (stateMgr.getCommand(SEARCH));
+ return (SearchCommand) (Pz2Service.get().getStateMgr().getCommand(SEARCH));
}
+ /**
+ *
+ * @return stat command from current state
+ */
public StatCommand getStat() {
- return (StatCommand) (stateMgr.getCommand(STAT));
+ return (StatCommand) (Pz2Service.get().getStateMgr().getCommand(STAT));
}
+ /**
+ *
+ * @return show command from current state
+ */
public ShowCommand getShow() {
- return (ShowCommand) (stateMgr.getCommand(SHOW));
+ return (ShowCommand) (Pz2Service.get().getStateMgr().getCommand(SHOW));
}
+ /**
+ *
+ * @return record command from current state
+ */
public RecordCommand getRecord() {
- return (RecordCommand) (stateMgr.getCommand(RECORD));
+ return (RecordCommand) (Pz2Service.get().getStateMgr().getCommand(RECORD));
}
+ /**
+ *
+ * @return termlist command from current state
+ */
public TermlistCommand getTermlist() {
- return (TermlistCommand) (stateMgr.getCommand(TERMLIST));
+ return (TermlistCommand) (Pz2Service.get().getStateMgr().getCommand(TERMLIST));
}
+ /**
+ *
+ * @return bytarget command from current state
+ */
public BytargetCommand getBytarget() {
- return (BytargetCommand) (stateMgr.getCommand(BYTARGET));
+ return (BytargetCommand) (Pz2Service.get().getStateMgr().getCommand(BYTARGET));
+ }
+
+ /**
+ * Generically retrieves any command
+ *
+ * @param name name of command to retrieve
+ * @return command of the given type
+ */
+ public Pazpar2Command getCommand(String name) {
+ return Pz2Service.get().getStateMgr().getCommand(name);
}
- public Pazpar2Command getCommand(String name) {
- return stateMgr.getCommand(name);
+ /**
+ * Gets the object holding references to Service Proxy-only commands.
+ * @return
+ */
+ public ServiceProxyCommands getSp() {
+ if (sp == null) {
+ sp = new ServiceProxyCommands(Pz2Service.get().getStateMgr());
+ }
+ return sp;
}
}