com.mtvi.plateng.hudson.regex.PluginImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of regexemail Show documentation
Show all versions of regexemail Show documentation
Hudson plugin that resolves email addresses based on a regular expression.
The newest version!
/**
* Copyright (c) 2008, MTV Networks
*/
package com.mtvi.plateng.hudson.regex;
import hudson.Plugin;
import hudson.XmlFile;
import hudson.model.Hudson;
import hudson.tasks.MailAddressResolver;
import java.io.File;
import java.io.IOException;
/**
* Entry point of for the Regex Email plugin. Loads configuration from
* com.mtvi.plateng.hudson.ldap.RegexMailAddressResolver.xml and adds an
* instance of RegexMailAddressResolver to the MailAddressResolver list.
*
* @author justinedelson
*/
public class PluginImpl extends Plugin {
/**
* Plugin lifecycle method. Loads configuration and adds configured instance
* of RegexMailAddressResolver to MailAddressResolver list.
*
* @see hudson.Plugin#start()
* @throws Exception
* if something goes wrong
*/
@Override
public void start() throws Exception {
IConfiguration config = loadConfiguration();
MailAddressResolver.all().add(new RegexMailAddressResolver(config));
}
/**
* Loads confiugration file from
* com.mtvi.plateng.hudson.regex.RegexMailAddressResolver.xml.
*
* @return a Configuration object, populated from the file, if it exists
* @throws IOException
* if the file can't be read.
*/
protected static IConfiguration loadConfiguration() throws IOException {
Hudson hudson = Hudson.getInstance();
File rootDirectory = hudson.getRootDir();
String fileName = RegexMailAddressResolver.class.getName() + ".xml";
XmlFile xmlFile = new XmlFile(Hudson.XSTREAM, new File(rootDirectory, fileName));
IConfiguration config = null;
if (xmlFile.exists()) {
config = (IConfiguration) xmlFile.read();
} else {
config = new Configuration();
}
return config;
}
}