From aa6d43e8b28ff73d69a920e9b3a7b284cfce00c3 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:51 -0500 Subject: [PATCH] Extract SessionManager from GitBlit singleton --- src/main/java/com/gitblit/RedmineUserService.java | 34 +++++++++++++++++++++++++--------- 1 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gitblit/RedmineUserService.java b/src/main/java/com/gitblit/RedmineUserService.java index 2728e00..7c38ef2 100644 --- a/src/main/java/com/gitblit/RedmineUserService.java +++ b/src/main/java/com/gitblit/RedmineUserService.java @@ -1,3 +1,18 @@ +/* + * Copyright 2012 gitblit.com. + * + * 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 com.gitblit; import java.io.File; @@ -10,6 +25,7 @@ import org.slf4j.LoggerFactory; import com.gitblit.Constants.AccountType; +import com.gitblit.manager.IRuntimeManager; import com.gitblit.models.UserModel; import com.gitblit.utils.ArrayUtils; import com.gitblit.utils.ConnectionUtils; @@ -44,11 +60,11 @@ } @Override - public void setup(IStoredSettings settings) { - this.settings = settings; + public void setup(IRuntimeManager runtimeManager) { + this.settings = runtimeManager.getSettings(); String file = settings.getString(Keys.realm.redmine.backingUserService, "${baseFolder}/users.conf"); - File realmFile = GitBlit.getFileOrFolder(file); + File realmFile = runtimeManager.getFileOrFolder(file); serviceImpl = createUserService(realmFile); logger.info("Redmine User Service backed by " + serviceImpl.toString()); @@ -73,9 +89,9 @@ public boolean supportsTeamMembershipChanges() { return false; } - + @Override - protected AccountType getAccountType() { + public AccountType getAccountType() { return AccountType.REDMINE; } @@ -101,12 +117,12 @@ return null; } } - + if (StringUtils.isEmpty(jsonString)) { logger.error("Received empty authentication response from Redmine"); return null; } - + RedmineCurrent current = null; try { current = new Gson().fromJson(jsonString, RedmineCurrent.class); @@ -135,7 +151,7 @@ user.accountType = getAccountType(); user.displayName = current.user.firstname + " " + current.user.lastname; user.emailAddress = current.user.mail; - user.password = ExternalAccount; + user.password = Constants.EXTERNAL_ACCOUNT; if (!StringUtils.isEmpty(current.user.login)) { // only admin users can get login name // evidently this is an undocumented behavior of Redmine @@ -176,7 +192,7 @@ InputStreamReader reader = new InputStreamReader(http.getInputStream()); return IOUtils.toString(reader); } - + /** * set json response. do NOT invoke from production code. * @param json json -- Gitblit v1.9.1