diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index 2fa391e6b1..d4cbe81e6f 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -364,7 +364,7 @@ public final class PluginManager extends AbstractModelObject { UpdateCenter.Plugin p = Hudson.getInstance().getUpdateCenter().getPlugin(n); if(p==null) throw new Failure("No such plugin: "+n); - p.install(); + p.deploy(); } } rsp.sendRedirect("../updateCenter/"); diff --git a/core/src/main/java/hudson/cli/GroovyCommand.java b/core/src/main/java/hudson/cli/GroovyCommand.java index 32c05da645..8607a3b4bc 100644 --- a/core/src/main/java/hudson/cli/GroovyCommand.java +++ b/core/src/main/java/hudson/cli/GroovyCommand.java @@ -81,7 +81,7 @@ public class GroovyCommand extends CLICommand implements Serializable { */ private String loadScript() throws CmdLineException, IOException, InterruptedException { if(script==null) - throw new CmdLineException("No script is specified"); + throw new CmdLineException(null, "No script is specified"); return channel.call(new Callable() { public String call() throws IOException { if(script.equals("=")) diff --git a/core/src/main/java/hudson/cli/handlers/AbstractProjectOptionHandler.java b/core/src/main/java/hudson/cli/handlers/AbstractProjectOptionHandler.java index f3bde0fb13..e332862a79 100644 --- a/core/src/main/java/hudson/cli/handlers/AbstractProjectOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/AbstractProjectOptionHandler.java @@ -51,7 +51,7 @@ public class AbstractProjectOptionHandler extends OptionHandler AbstractProject s = h.getItemByFullName(src,AbstractProject.class); if (s==null) - throw new CmdLineException("No such job '"+src+"' perhaps you meant "+ AbstractProject.findNearest(src)+"?"); + throw new CmdLineException(owner, "No such job '"+src+"' perhaps you meant "+ AbstractProject.findNearest(src)+"?"); setter.addValue(s); return 1; } diff --git a/core/src/main/java/hudson/cli/handlers/TopLevelItemOptionHandler.java b/core/src/main/java/hudson/cli/handlers/TopLevelItemOptionHandler.java index 9206816e87..2bfbe58199 100644 --- a/core/src/main/java/hudson/cli/handlers/TopLevelItemOptionHandler.java +++ b/core/src/main/java/hudson/cli/handlers/TopLevelItemOptionHandler.java @@ -29,7 +29,7 @@ public class TopLevelItemOptionHandler extends OptionHandler { TopLevelItem s = h.getItem(src); if (s==null) - throw new CmdLineException("No such job '"+src+"' perhaps you meant "+ AbstractProject.findNearest(src)+"?"); + throw new CmdLineException(owner, "No such job '"+src+"' perhaps you meant "+ AbstractProject.findNearest(src)+"?"); setter.addValue(s); return 1; } diff --git a/core/src/main/java/hudson/diagnosis/HudsonHomeDiskUsageMonitor.java b/core/src/main/java/hudson/diagnosis/HudsonHomeDiskUsageMonitor.java index 1e8ae0c4e4..ae1f5ea1b1 100644 --- a/core/src/main/java/hudson/diagnosis/HudsonHomeDiskUsageMonitor.java +++ b/core/src/main/java/hudson/diagnosis/HudsonHomeDiskUsageMonitor.java @@ -30,7 +30,7 @@ import hudson.Extension; import hudson.ExtensionPoint; import hudson.ExtensionList; import org.kohsuke.stapler.HttpResponse; -import org.kohsuke.stapler.HttpRedirect; +import org.kohsuke.stapler.HttpResponses; import org.kohsuke.stapler.QueryParameter; import java.io.IOException; @@ -62,9 +62,9 @@ public final class HudsonHomeDiskUsageMonitor extends AdministrativeMonitor { public HttpResponse doAct(@QueryParameter String no) throws IOException { if(no!=null) { disable(true); - return HttpRedirect.fromContextPath("/manage"); + return HttpResponses.redirectViaContextPath("/manage"); } else { - return new HttpRedirect("."); + return HttpResponses.redirectToDot(); } } diff --git a/core/src/main/java/hudson/model/BuildAuthorizationToken.java b/core/src/main/java/hudson/model/BuildAuthorizationToken.java index ef8f05ef4a..2af173ca7e 100644 --- a/core/src/main/java/hudson/model/BuildAuthorizationToken.java +++ b/core/src/main/java/hudson/model/BuildAuthorizationToken.java @@ -23,7 +23,7 @@ */ package hudson.model; -import com.thoughtworks.xstream.converters.basic.AbstractBasicConverter; +import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter; import hudson.Util; import hudson.security.ACL; import org.kohsuke.stapler.StaplerRequest; @@ -75,17 +75,17 @@ public final class BuildAuthorizationToken { return token; } - public static final class ConverterImpl extends AbstractBasicConverter { + public static final class ConverterImpl extends AbstractSingleValueConverter { public boolean canConvert(Class type) { return type== BuildAuthorizationToken.class; } - protected Object fromString(String str) { + public Object fromString(String str) { return new BuildAuthorizationToken(str); } @Override - protected String toString(Object obj) { + public String toString(Object obj) { return ((BuildAuthorizationToken)obj).token; } } diff --git a/core/src/main/java/hudson/model/Fingerprint.java b/core/src/main/java/hudson/model/Fingerprint.java index fe39383eeb..a91498dd5b 100644 --- a/core/src/main/java/hudson/model/Fingerprint.java +++ b/core/src/main/java/hudson/model/Fingerprint.java @@ -760,7 +760,7 @@ public class Fingerprint implements ModelObject, Saveable { XSTREAM.alias("ranges",RangeSet.class); XSTREAM.registerConverter(new HexBinaryConverter(),10); XSTREAM.registerConverter(new RangeSet.ConverterImpl( - new CollectionConverter(XSTREAM.getClassMapper()) { + new CollectionConverter(XSTREAM.getMapper()) { @Override protected Object createCollection(Class type) { return new ArrayList(); diff --git a/core/src/main/java/hudson/model/Hudson.java b/core/src/main/java/hudson/model/Hudson.java index 386e224fdc..5dd6dd42ba 100644 --- a/core/src/main/java/hudson/model/Hudson.java +++ b/core/src/main/java/hudson/model/Hudson.java @@ -1511,6 +1511,7 @@ public final class Hudson extends Node implements ItemGroup, Stapl return ""; } + @Override public String getSearchUrl() { return ""; } @@ -2118,7 +2119,7 @@ public final class Hudson extends Node implements ItemGroup, Stapl for( Computer c : computers.values() ) { c.interrupt(); c.kill(); - pending.add(c.disconnect()); + pending.add(c.disconnect(null)); } if(udpBroadcastThread!=null) udpBroadcastThread.shutdown(); diff --git a/core/src/main/java/hudson/model/Job.java b/core/src/main/java/hudson/model/Job.java index 9424b9fed3..ff989a6531 100644 --- a/core/src/main/java/hudson/model/Job.java +++ b/core/src/main/java/hudson/model/Job.java @@ -602,10 +602,10 @@ public abstract class Job, RunT extends Run TIMEOUT) { LOGGER.info("Repeated ping attempts failed on "+c.getName()+". Disconnecting"); - c.disconnect(); // TODO: explain the cause + c.disconnect(OfflineCause.create(Messages._ConnectionActivityMonitor_OfflineCause())); } else { // send a ping. if we receive a reply, it will be reflected in the next getLastHeard() call. channel.callAsync(PING_COMMAND); diff --git a/core/src/main/java/hudson/tasks/CommandInterpreter.java b/core/src/main/java/hudson/tasks/CommandInterpreter.java index 38a8bc8cbe..c81cbb706b 100644 --- a/core/src/main/java/hudson/tasks/CommandInterpreter.java +++ b/core/src/main/java/hudson/tasks/CommandInterpreter.java @@ -53,6 +53,7 @@ public abstract class CommandInterpreter extends Builder { return command; } + @Override public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) throws InterruptedException { return perform(build,launcher,(TaskListener)listener); } diff --git a/core/src/main/java/hudson/tasks/Shell.java b/core/src/main/java/hudson/tasks/Shell.java index ed6a8e8a73..66780e5b73 100644 --- a/core/src/main/java/hudson/tasks/Shell.java +++ b/core/src/main/java/hudson/tasks/Shell.java @@ -161,7 +161,8 @@ public class Shell extends CommandInterpreter { return new Shell(data.getString("shell")); } - public boolean configure( StaplerRequest req ) { + @Override + public boolean configure(StaplerRequest req, JSONObject data) { setShell(req.getParameter("shell")); return true; } diff --git a/core/src/main/java/hudson/util/CopyOnWriteList.java b/core/src/main/java/hudson/util/CopyOnWriteList.java index e230e3e27d..745c86669c 100644 --- a/core/src/main/java/hudson/util/CopyOnWriteList.java +++ b/core/src/main/java/hudson/util/CopyOnWriteList.java @@ -23,7 +23,7 @@ */ package hudson.util; -import com.thoughtworks.xstream.alias.CannotResolveClassException; +import com.thoughtworks.xstream.mapper.CannotResolveClassException; import com.thoughtworks.xstream.converters.Converter; import com.thoughtworks.xstream.converters.MarshallingContext; import com.thoughtworks.xstream.converters.UnmarshallingContext; diff --git a/core/src/main/java/hudson/util/RobustCollectionConverter.java b/core/src/main/java/hudson/util/RobustCollectionConverter.java index e847559e32..e0efb7e100 100644 --- a/core/src/main/java/hudson/util/RobustCollectionConverter.java +++ b/core/src/main/java/hudson/util/RobustCollectionConverter.java @@ -23,7 +23,7 @@ */ package hudson.util; -import com.thoughtworks.xstream.alias.CannotResolveClassException; +import com.thoughtworks.xstream.mapper.CannotResolveClassException; import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.converters.collections.CollectionConverter; import com.thoughtworks.xstream.converters.reflection.ReflectionProvider; diff --git a/core/src/main/java/hudson/util/RobustReflectionConverter.java b/core/src/main/java/hudson/util/RobustReflectionConverter.java index d5abb3ae6e..f4829c0a17 100644 --- a/core/src/main/java/hudson/util/RobustReflectionConverter.java +++ b/core/src/main/java/hudson/util/RobustReflectionConverter.java @@ -96,10 +96,9 @@ public class RobustReflectionConverter implements Converter { // Attributes might be preferred to child elements ... reflectionProvider.visitSerializableFields(source, new ReflectionProvider.Visitor() { public void visit(String fieldName, Class type, Class definedIn, Object value) { - SingleValueConverter converter = mapper.getConverterFromItemType(fieldName, type); - if (converter == null) { - converter = mapper.getConverterFromItemType(type); - } + SingleValueConverter converter = mapper.getConverterFromItemType(fieldName, type, definedIn); + if (converter == null) converter = mapper.getConverterFromItemType(fieldName, type); + if (converter == null) converter = mapper.getConverterFromItemType(type); if (converter != null) { if (value != null) { final String str = converter.toString(value); diff --git a/core/src/main/resources/hudson/slaves/Messages.properties b/core/src/main/resources/hudson/slaves/Messages.properties index 5bb0d9ae6e..5aef0430f0 100644 --- a/core/src/main/resources/hudson/slaves/Messages.properties +++ b/core/src/main/resources/hudson/slaves/Messages.properties @@ -28,6 +28,7 @@ JNLPLauncher.displayName=Launch slave agents via JNLP ComputerLauncher.unexpectedError=Unexpected error in launching a slave. This is probably a bug in Hudson ComputerLauncher.abortedLaunch=Launching slave process aborted. CommandLauncher.NoLaunchCommand=No launch command specified +ConnectionActivityMonitor.OfflineCause=Repeated ping attempts failed DumbSlave.displayName=Dumb Slave NodeProvisioner.EmptyString= SimpleScheduledRetentionStrategy.FinishedUpTime=Computer has finished its scheduled uptime