--- /dev/null
+package com.indexdata.mkjsf.pazpar2;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Command;\r
+import com.indexdata.mkjsf.pazpar2.data.Responses;\r
+\r
+/**\r
+ * Helper class for running multiple concurrent Pazpar2 commands. Basically \r
+ * used for updating display data (show,stat,bytarget,termlist) together.\r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
+public class CommandThread extends Thread {\r
+\r
+ private static Logger logger = Logger.getLogger(CommandThread.class);\r
+ Pazpar2Command command;\r
+ SearchClient client;\r
+ Responses pzresp;\r
+ HttpResponseWrapper commandResponse = null; \r
+ \r
+ public CommandThread (Pazpar2Command command, SearchClient client, Responses pzresp) {\r
+ this.command = command;\r
+ this.client = client;\r
+ this.pzresp = pzresp;\r
+ }\r
+ \r
+ /**\r
+ * Executes the specified command using the specified Pazpar2 client\r
+ */\r
+ public void run() { \r
+ logger.debug(command.getCommandName() + " executing asynchronously");\r
+ command.run(client,pzresp);\r
+ }\r
+ \r
+ /**\r
+ * \r
+ * @return Pazpar2 response as an XML string, possibly a generated error XML\r
+ */\r
+ public HttpResponseWrapper getCommandResponse () {\r
+ return commandResponse;\r
+ }\r
+ \r
+ public Pazpar2Command getCommand() {\r
+ return command;\r
+ }\r
+\r
+}\r