From a50c4afdde37845b94b3545029ed9aac5796fdf7 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 19 Dec 2011 09:15:08 -0500
Subject: [PATCH] More sendemail.groovy fixes
---
src/com/gitblit/GitBlit.java | 73 ++++++++++--------------------------
1 files changed, 20 insertions(+), 53 deletions(-)
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index 11454f3..8afa6df 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -731,6 +731,8 @@
"gitblit", null, "preReceiveScript")));
model.postReceiveScripts = new ArrayList<String>(Arrays.asList(config.getStringList(
"gitblit", null, "postReceiveScript")));
+ model.mailRecipients = new ArrayList<String>(Arrays.asList(config.getStringList(
+ "gitblit", null, "mailRecipient")));
}
r.close();
return model;
@@ -950,8 +952,16 @@
config.setString("gitblit", null, "federationStrategy",
repository.federationStrategy.name());
config.setBoolean("gitblit", null, "isFederated", repository.isFederated);
- config.setStringList("gitblit", null, "preReceiveScript", repository.preReceiveScripts);
- config.setStringList("gitblit", null, "postReceiveScript", repository.postReceiveScripts);
+ if (repository.preReceiveScripts != null) {
+ config.setStringList("gitblit", null, "preReceiveScript", repository.preReceiveScripts);
+ }
+ if (repository.postReceiveScripts != null) {
+ config.setStringList("gitblit", null, "postReceiveScript",
+ repository.postReceiveScripts);
+ }
+ if (repository.mailRecipients != null) {
+ config.setStringList("gitblit", null, "mailRecipient", repository.mailRecipients);
+ }
try {
config.save();
} catch (IOException e) {
@@ -1421,7 +1431,7 @@
* @param subject
* @param message
*/
- public void notifyAdministrators(String subject, String message) {
+ public void sendEmailToAdministrators(String subject, String message) {
try {
Message mail = mailExecutor.createMessageForAdministrators();
if (mail != null) {
@@ -1441,8 +1451,8 @@
* @param message
* @param toAddresses
*/
- public void notifyUsers(String subject, String message, ArrayList<String> toAddresses) {
- this.notifyUsers(subject, message, toAddresses.toArray(new String[0]));
+ public void sendEmail(String subject, String message, ArrayList<String> toAddresses) {
+ this.sendEmail(subject, message, toAddresses.toArray(new String[0]));
}
/**
@@ -1452,7 +1462,7 @@
* @param message
* @param toAddresses
*/
- public void notifyUsers(String subject, String message, String... toAddresses) {
+ public void sendEmail(String subject, String message, String... toAddresses) {
try {
Message mail = mailExecutor.createMessage(toAddresses);
if (mail != null) {
@@ -1553,7 +1563,6 @@
*
* @param settings
*/
- @SuppressWarnings("deprecation")
public void configureContext(IStoredSettings settings, boolean startFederation) {
logger.info("Reading configuration from " + settings.toString());
this.settings = settings;
@@ -1570,53 +1579,11 @@
loginService = (IUserService) realmClass.newInstance();
}
} catch (Throwable t) {
- // not a login service class or class could not be instantiated.
- // try to use default file login service
- File realmFile = getFileOrFolder(Keys.realm.userService, "users.conf");
- if (realmFile.exists()) {
- // load the existing realm file
- if (realmFile.getName().toLowerCase().endsWith(".properties")) {
- // load the v0.5.0 - v0.7.0 properties-based realm file
- loginService = new FileUserService(realmFile);
-
- // automatically create a users.conf realm file from the
- // original users.properties file
- File usersConfig = new File(realmFile.getParentFile(), "users.conf");
- if (!usersConfig.exists()) {
- logger.info(MessageFormat.format("Automatically creating {0} based on {1}",
- usersConfig.getAbsolutePath(), realmFile.getAbsolutePath()));
- ConfigUserService configService = new ConfigUserService(usersConfig);
- for (String username : loginService.getAllUsernames()) {
- UserModel userModel = loginService.getUserModel(username);
- configService.updateUserModel(userModel);
- }
- }
-
- // issue suggestion about switching to users.conf
- logger.warn("Please consider using \"users.conf\" instead of the deprecated \"users.properties\" file");
- } else if (realmFile.getName().toLowerCase().endsWith(".conf")) {
- // load the config-based realm file
- loginService = new ConfigUserService(realmFile);
+ loginService = new UserServiceWrapper() {
+ @Override
+ public void setupService(IStoredSettings settings) {
}
- } else {
- // Create a new realm file and add the default admin
- // account. This is necessary for bootstrapping a dynamic
- // environment like running on a cloud service.
- // As of v0.8.0 the default realm file is ConfigUserService.
- try {
- realmFile = getFileOrFolder(Keys.realm.userService, "users.conf");
- realmFile.createNewFile();
- loginService = new ConfigUserService(realmFile);
- UserModel admin = new UserModel("admin");
- admin.password = "admin";
- admin.canAdmin = true;
- admin.excludeFromFederation = true;
- loginService.updateUserModel(admin);
- } catch (IOException x) {
- logger.error(
- MessageFormat.format("COULD NOT CREATE REALM FILE {0}!", realmFile), x);
- }
- }
+ };
}
setUserService(loginService);
mailExecutor = new MailExecutor(settings);
--
Gitblit v1.9.1