1 package com.indexdata.mkjsf.pazpar2.commands.sp;
\r
3 import org.apache.log4j.Logger;
\r
5 import com.indexdata.mkjsf.pazpar2.ClientCommandResponse;
\r
6 import com.indexdata.mkjsf.pazpar2.Pz2Bean;
\r
7 import com.indexdata.mkjsf.pazpar2.commands.CommandParameter;
\r
8 import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Command;
\r
9 import com.indexdata.mkjsf.pazpar2.data.ResponseParser;
\r
10 import com.indexdata.mkjsf.pazpar2.data.sp.SpResponseDataObject;
\r
12 public class AuthCommand extends Pazpar2Command implements ServiceProxyCommand {
\r
14 private static final long serialVersionUID = 5487611235664162578L;
\r
15 private static Logger logger = Logger.getLogger(AuthCommand.class);
\r
17 public AuthCommand() {
\r
21 public SpResponseDataObject run() {
\r
22 ClientCommandResponse response = (ClientCommandResponse) Pz2Bean.get().getSearchClient().executeCommand(this);
\r
23 String renamedResponse = renameResponseElement(response.getResponseString(), "auth");
\r
24 response.setResponseToParse(renamedResponse);
\r
25 SpResponseDataObject responseObject = (SpResponseDataObject) ResponseParser.getParser().getDataObject(response);
\r
26 if (ResponseParser.docTypes.contains(responseObject.getType())) {
\r
27 Pz2Bean.get().getPzresp().put(getCommandName(), responseObject);
\r
29 if (responseObject.unsupportedCommand()) {
\r
30 logger.error("auth command does not seem to be supported by this Service Proxy");
\r
32 return responseObject;
\r
35 private String renameResponseElement(String responseString, String newName) {
\r
36 responseString = responseString.replace("<response>", "<" + newName + ">");
\r
37 responseString = responseString.replace("</response>", "</" + newName + ">");
\r
38 return responseString;
\r
42 public void setAction (String action) {
\r
43 setParameterInState(new CommandParameter("action","=",action));
\r
46 public String getAction () {
\r
47 return getParameterValue("action");
\r
50 public void setUsername(String username) {
\r
51 setParameterInState(new CommandParameter("username","=",username));
\r
54 public String getUsername () {
\r
55 return getParameterValue("username");
\r
58 public void setPassword (String password) {
\r
59 setParameterInState(new CommandParameter("password","=",password));
\r
62 public String getPassword () {
\r
63 return getParameterValue("password");
\r
66 public AuthCommand copy () {
\r
67 AuthCommand newCommand = new AuthCommand();
\r
68 for (String parameterName : parameters.keySet()) {
\r
69 newCommand.setParameterInState(parameters.get(parameterName).copy());
\r
75 public ServiceProxyCommand getSp() {
\r
80 public boolean spOnly() {
\r