ProxyPz2ResponseHandler handler = new ProxyPz2ResponseHandler();\r
private HttpClient client;\r
private ServiceProxyUser user;\r
+ private Pazpar2Command checkAuth = null;\r
+\r
\r
public ServiceProxyClient () {\r
SchemeRegistry schemeRegistry = new SchemeRegistry();\r
schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));\r
ClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry);\r
- client = new DefaultHttpClient(cm); \r
+ client = new DefaultHttpClient(cm); \r
}\r
\r
@Override\r
try {\r
config = configReader.getConfiguration(this); \r
serviceUrl = config.getMandatory(SERVICE_PROXY_URL); \r
- this.initDocPaths = getMultiProperty(config.get(SP_INIT_DOC_PATHS)); \r
+ this.initDocPaths = getMultiProperty(config.get(SP_INIT_DOC_PATHS));\r
+ checkAuth = new Pazpar2Command("auth",null);\r
+ checkAuth.setParameterInState(new CommandParameter("action","=","check"));\r
} catch (ConfigurationException c) {\r
c.printStackTrace();\r
} catch (MissingMandatoryParameterException mmp) {\r
public boolean authenticate (AuthenticationEntity user) {\r
try { \r
logger.info("Authenticating [" + user.getProperty("name") + "]");\r
- this.user = (ServiceProxyUser) user;\r
+ this.user = (ServiceProxyUser) user; \r
Pazpar2Command auth = new Pazpar2Command("auth",null);\r
auth.setParametersInState(new CommandParameter("action","=","login"), \r
new CommandParameter("username","=",user.getProperty("name")), \r
- new CommandParameter("password","=",user.getProperty("password")));\r
+ new CommandParameter("password","=",user.getProperty("password"))); \r
byte[] response = send(auth);\r
String responseStr = new String(response,"UTF-8");\r
logger.info(responseStr); \r
if (responseStr.contains("FAIL")) {\r
+ this.user.isAuthenticated(false);\r
return false;\r
} else {\r
+ this.user.isAuthenticated(true);\r
return true;\r
} \r
} catch (ClientProtocolException e) {\r
} \r
}\r
\r
- public boolean checkAuthentication () {\r
+ public boolean checkAuthentication () { \r
try {\r
- Pazpar2Command check = new Pazpar2Command("auth",null);\r
- check.setParameter(new CommandParameter("action","=","check"));\r
- byte[] response = send(check);\r
+ byte[] response = send(checkAuth);\r
logger.info(new String(response,"UTF-8"));\r
+ String responseStr = new String(response,"UTF-8"); \r
+ if (responseStr.contains("FAIL")) {\r
+ this.user.isAuthenticated(false);\r
+ return false;\r
+ } else {\r
+ this.user.isAuthenticated(true);\r
+ return true;\r
+ } \r
} catch (ClientProtocolException e) {\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
// TODO Auto-generated catch block\r
e.printStackTrace();\r
return false;\r
- } \r
- return true;\r
- \r
+ } \r
}\r
\r
public boolean isAuthenticatingClient () {\r
return response;\r
}\r
\r
+ private byte[] send (String queryString) throws ClientProtocolException, IOException {\r
+ String url = serviceUrl + "?" + queryString; \r
+ logger.info("Sending request "+url); \r
+ HttpGet httpget = new HttpGet(url); \r
+ byte[] response = client.execute(httpget, handler); \r
+ return response;\r
+ \r
+ }\r
+ \r
public class ProxyPz2ResponseHandler implements ResponseHandler<byte[]> {\r
private StatusLine statusLine = null;\r
public byte[] handleResponse(HttpResponse response) throws ClientProtocolException, IOException {\r