/* * Copyright 2015-2016 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.opencb.opencga.app.cli; import java.time.Instant; import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by imedina on 13/07/15. */ public class CliSession { private String userId; private String sessionId; private String login; private String logout; private long timestamp; private Map<String, List<String>> projectsAndStudies; public CliSession() { } public CliSession(String userId, String sessionId) { this(userId, sessionId, LocalDateTime.now().toString(), null, Instant.now().toEpochMilli(), new HashMap<>()); } public CliSession(String userId, String sessionId, Map<String, List<String>> projectsAndStudies) { this(userId, sessionId, LocalDateTime.now().toString(), null, Instant.now().toEpochMilli(), projectsAndStudies); } public CliSession(String userId, String sessionId, String login, String logout, long timestamp, Map<String, List<String>> projectsAndStudies) { this.userId = userId; this.sessionId = sessionId; this.login = login; this.logout = logout; this.timestamp = timestamp; this.projectsAndStudies = projectsAndStudies; } @Override public String toString() { final StringBuilder sb = new StringBuilder("CliSession{"); sb.append("userId='").append(userId).append('\''); sb.append(", sessionId='").append(sessionId).append('\''); sb.append(", login='").append(login).append('\''); sb.append(", logout='").append(logout).append('\''); sb.append(", timestamp=").append(timestamp); sb.append(", projects=").append(projectsAndStudies); sb.append('}'); return sb.toString(); } public String getUserId() { return userId; } public CliSession setUserId(String userId) { this.userId = userId; return this; } public String getSessionId() { return sessionId; } public CliSession setSessionId(String sessionId) { this.sessionId = sessionId; return this; } public String getLogin() { return login; } public CliSession setLogin(String login) { this.login = login; return this; } public String getLogout() { return logout; } public CliSession setLogout(String logout) { this.logout = logout; return this; } public long getTimestamp() { return timestamp; } public CliSession setTimestamp(long timestamp) { this.timestamp = timestamp; return this; } public Map<String, List<String>> getProjectsAndStudies() { return projectsAndStudies; } public CliSession setProjectsAndStudies(Map<String, List<String>> projectsAndStudies) { this.projectsAndStudies = projectsAndStudies; return this; } }