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 3d4fb9bfb9901ead060aae500e9586604bb189fd..df9647dc160db6cb28ac59029cbdc6eb85954fea 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 5ac27c07f9389f55fef22593c905d975e639ac12..43ad4e93e2434ee8dc012844a8dcffc18d0a612d 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 6a6c2937f3194149950c2ef2b48a06af284bebf4..a4c4786d579044af053b9b66aa09546431dd1d0f 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);