Skip to content
Snippets Groups Projects
Commit ec10ca21 authored by cramakri's avatar cramakri
Browse files

LMS-1505 Added methods to QueryAPI to support getting the session token and...

LMS-1505 Added methods to QueryAPI to support getting the session token and creating a facade with an existing session token.

SVN: 15885
parent e725ef0f
No related branches found
No related tags found
No related merge requests found
......@@ -22,7 +22,7 @@ import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.IQueryApiServer;
/**
* Factory of {@link IQueryApiFacade}.
*
*
* @author Franz-Josef Elmer
*/
public class FacadeFactory
......@@ -44,4 +44,15 @@ public class FacadeFactory
}
return new QueryApiFacade(service, sessionToken);
}
/**
* Creates a facade for specified url and sessionToken.
*/
public static IQueryApiFacade create(String serverURL, String sessionToken)
{
IQueryApiServer service =
HttpInvokerUtils.createServiceStub(IQueryApiServer.class, serverURL
+ ResourceNames.QUERY_PLUGIN_SERVER_URL, SERVER_TIMEOUT_MIN);
return new QueryApiFacade(service, sessionToken);
}
}
......@@ -24,11 +24,16 @@ import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.QueryTableModel;
/**
* Facade for openBIS query service.
*
*
* @author Franz-Josef Elmer
*/
public interface IQueryApiFacade
{
/**
* Return the session token for the logged-in user.
*/
public String getSessionToken();
/**
* Lists all queries the user has access rights.
*/
......@@ -43,5 +48,5 @@ public interface IQueryApiFacade
* Logs current user out.
*/
public void logout();
}
\ No newline at end of file
......@@ -24,31 +24,35 @@ import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.QueryDescription;
import ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.dto.QueryTableModel;
/**
*
*
* @author Franz-Josef Elmer
*/
class QueryApiFacade implements IQueryApiFacade
{
private final IQueryApiServer service;
private final String sessionToken;
QueryApiFacade(IQueryApiServer service, String sessionToken)
{
this.service = service;
this.sessionToken = sessionToken;
}
public String getSessionToken()
{
return sessionToken;
}
public void logout()
{
service.logout(sessionToken);
}
public List<QueryDescription> listQueries()
{
return service.listQueries(sessionToken);
}
public QueryTableModel executeQuery(long queryID, Map<String, String> parameterBindings)
{
return service.executeQuery(sessionToken, queryID, parameterBindings);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment