From ec10ca212b3ca610d09d8a4630aa9bf8a5d19c98 Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Tue, 11 May 2010 08:12:23 +0000 Subject: [PATCH] LMS-1505 Added methods to QueryAPI to support getting the session token and creating a facade with an existing session token. SVN: 15885 --- .../query/client/api/v1/FacadeFactory.java | 13 ++++++++++++- .../query/client/api/v1/IQueryApiFacade.java | 9 +++++++-- .../query/client/api/v1/QueryApiFacade.java | 16 ++++++++++------ 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/FacadeFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/FacadeFactory.java index 3d4fb9bfb99..df9647dc160 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/FacadeFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/FacadeFactory.java @@ -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); + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/IQueryApiFacade.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/IQueryApiFacade.java index 5ac27c07f93..43ad4e93e24 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/IQueryApiFacade.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/IQueryApiFacade.java @@ -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 diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/QueryApiFacade.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/QueryApiFacade.java index 6a6c2937f31..a4c4786d579 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/QueryApiFacade.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/api/v1/QueryApiFacade.java @@ -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); -- GitLab