Skip to content

Commit

Permalink
Fix JENKINS-28402
Browse files Browse the repository at this point in the history
Removed Mailer stuff from readResolve.
  • Loading branch information
Alex Earl committed May 15, 2015
1 parent 2b0a93e commit 970c7e1
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 25 deletions.
Expand Up @@ -4,7 +4,6 @@
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
import groovy.lang.Binding;
import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyShell;
import hudson.EnvVars;
import hudson.FilePath;
Expand All @@ -24,7 +23,6 @@
import hudson.plugins.emailext.watching.EmailExtWatchJobProperty;
import hudson.tasks.BuildStepMonitor;
import hudson.tasks.MailMessageIdAction;
import hudson.tasks.Mailer;
import hudson.tasks.Notifier;
import hudson.tasks.Publisher;
import java.io.IOException;
Expand All @@ -49,9 +47,7 @@
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import jenkins.model.Jenkins;
import jenkins.model.JenkinsLocationConfiguration;
import org.apache.commons.lang.StringUtils;
import org.codehaus.groovy.control.CompilerConfiguration;
import org.codehaus.groovy.control.customizers.ImportCustomizer;
Expand Down Expand Up @@ -521,6 +517,11 @@ private void expandClasspath(ExtendedEmailPublisherContext context, CompilerConf

private MimeMessage createMail(ExtendedEmailPublisherContext context) throws MessagingException, IOException, InterruptedException {
ExtendedEmailPublisherDescriptor descriptor = getDescriptor();

if (!descriptor.getOverrideGlobalSettings()) {
descriptor.upgradeFromMailer();
}

String charset = descriptor.getCharset();

Session session = descriptor.createSession();
Expand Down
Expand Up @@ -293,9 +293,9 @@ public String getExcludedCommitters() {
}

public boolean getOverrideGlobalSettings() {
return true;
return overrideGlobalSettings;
}

public String getListId() {
return listId;
}
Expand Down Expand Up @@ -354,8 +354,6 @@ public ExtendedEmailPublisherDescriptor() {
public boolean configure(StaplerRequest req, JSONObject formData)
throws FormException {

overrideGlobalSettings = true;

// Configure the smtp server
smtpHost = nullify(req.getParameter("ext_mailer_smtp_server"));
defaultSuffix = nullify(req.getParameter("ext_mailer_default_suffix"));
Expand Down Expand Up @@ -436,6 +434,10 @@ public boolean configure(StaplerRequest req, JSONObject formData)
}
}
}

if(!overrideGlobalSettings) {
upgradeFromMailer();
}

save();
return super.configure(req, formData);
Expand All @@ -449,32 +451,31 @@ private String nullify(String v) {
}

public Object readResolve() {
if (!this.overrideGlobalSettings) {
// need to get the plugin info from Mailer
this.defaultSuffix = Mailer.descriptor().getDefaultSuffix();
this.defaultReplyTo = Mailer.descriptor().getReplyToAddress();
this.useSsl = Mailer.descriptor().getUseSsl();
if (StringUtils.isNotBlank(Mailer.descriptor().getSmtpAuthUserName())) {
this.smtpAuthPassword = Secret.fromString(Mailer.descriptor().getSmtpAuthPassword());
this.smtpAuthUsername = Mailer.descriptor().getSmtpAuthUserName();
}
this.smtpPort = Mailer.descriptor().getSmtpPort();
this.smtpHost = Mailer.descriptor().getSmtpServer();
this.charset = Mailer.descriptor().getCharset();
this.overrideGlobalSettings = true;
}

if(!this.defaultTriggers.isEmpty()) {
defaultTriggerIds.clear();
for(EmailTriggerDescriptor t : this.defaultTriggers) {
if(!defaultTriggerIds.contains(t.getId())) {
defaultTriggerIds.add(t.getId());
}
}
}

}
return this;
}

void upgradeFromMailer() {
// get the data from Mailer and then set override to true
this.defaultSuffix = Mailer.descriptor().getDefaultSuffix();
this.defaultReplyTo = Mailer.descriptor().getReplyToAddress();
this.useSsl = Mailer.descriptor().getUseSsl();
if (StringUtils.isNotBlank(Mailer.descriptor().getSmtpAuthUserName())) {
this.smtpAuthPassword = Secret.fromString(Mailer.descriptor().getSmtpAuthPassword());
this.smtpAuthUsername = Mailer.descriptor().getSmtpAuthUserName();
}
this.smtpPort = Mailer.descriptor().getSmtpPort();
this.smtpHost = Mailer.descriptor().getSmtpServer();
this.charset = Mailer.descriptor().getCharset();
this.overrideGlobalSettings = true;
}

@Override
public String getHelpFile() {
Expand Down

0 comments on commit 970c7e1

Please sign in to comment.