提交 f234c7bd 编写于 作者: K Kohsuke Kawaguchi

Merge branch 'pull-877'

Conflicts:
	core/src/main/java/hudson/slaves/SlaveComputer.java
......@@ -34,6 +34,7 @@ import java.util.Collection;
import hudson.model.Descriptor.FormException;
import hudson.Extension;
import org.kohsuke.stapler.interceptor.RequirePOST;
/**
* {@link View} that contains everything.
......@@ -62,6 +63,7 @@ public class AllView extends View {
return true;
}
@RequirePOST
@Override
public Item doCreateItem(StaplerRequest req, StaplerResponse rsp)
throws IOException, ServletException {
......
......@@ -1084,6 +1084,7 @@ public /*transient*/ abstract class Computer extends Actionable implements Acces
runs.newBuilds(), Run.FEED_ADAPTER, req, rsp );
}
@RequirePOST
public HttpResponse doToggleOffline(@QueryParameter String offlineMessage) throws IOException, ServletException {
if(!temporarilyOffline) {
checkPermission(DISCONNECT);
......@@ -1097,6 +1098,7 @@ public /*transient*/ abstract class Computer extends Actionable implements Acces
return HttpResponses.redirectToDot();
}
@RequirePOST
public HttpResponse doChangeOfflineCause(@QueryParameter String offlineMessage) throws IOException, ServletException {
checkPermission(DISCONNECT);
offlineMessage = Util.fixEmptyAndTrim(offlineMessage);
......@@ -1240,6 +1242,7 @@ public /*transient*/ abstract class Computer extends Actionable implements Acces
* Really deletes the slave.
*/
@CLIMethod(name="delete-node")
@RequirePOST
public HttpResponse doDoDelete() throws IOException {
checkPermission(DELETE);
Node node = getNode();
......
......@@ -266,6 +266,7 @@ public class ListView extends View implements Saveable {
return statusFilter;
}
@RequirePOST
public Item doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
ItemGroup<? extends TopLevelItem> ig = getOwnerItemGroup();
if (ig instanceof ModifiableItemGroup) {
......
......@@ -37,6 +37,7 @@ import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.DataBoundConstructor;
import hudson.model.Descriptor.FormException;
import hudson.Extension;
import org.kohsuke.stapler.interceptor.RequirePOST;
/**
* {@link View} that only contains projects for which the current user has access to.
......@@ -60,6 +61,7 @@ public class MyView extends View {
return item.hasPermission(Item.CONFIGURE);
}
@RequirePOST
@Override
public TopLevelItem doCreateItem(StaplerRequest req, StaplerResponse rsp)
throws IOException, ServletException {
......
......@@ -38,6 +38,7 @@ import org.kohsuke.stapler.Stapler;
import org.kohsuke.stapler.StaplerFallback;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.interceptor.RequirePOST;
/**
* A view that delegates to another.
......@@ -98,6 +99,7 @@ public class ProxyView extends View implements StaplerFallback {
this.proxiedViewName = proxiedViewName;
}
@RequirePOST
@Override
public Item doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
return getProxiedView().doCreateItem(req, rsp);
......
......@@ -41,6 +41,7 @@ import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.concurrent.CopyOnWriteArrayList;
import org.kohsuke.stapler.interceptor.RequirePOST;
/**
*
......@@ -106,6 +107,7 @@ public class TreeView extends View implements ViewGroup {
// return jobNames.contains(item.getName());
}
@RequirePOST
public TopLevelItem doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
ItemGroup<? extends TopLevelItem> ig = getOwnerItemGroup();
if (ig instanceof ModifiableItemGroup) {
......
......@@ -935,6 +935,7 @@ public abstract class View extends AbstractModelObject implements AccessControll
/**
* Accepts the new description.
*/
@RequirePOST
public synchronized void doSubmitDescription( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException {
checkPermission(CONFIGURE);
......
......@@ -59,6 +59,7 @@ import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.WebMethod;
import org.kohsuke.stapler.interceptor.RequirePOST;
import javax.servlet.ServletException;
import java.io.File;
......@@ -518,6 +519,7 @@ public class SlaveComputer extends Computer {
return channel.call(new SlaveLogFetcher());
}
@RequirePOST
public HttpResponse doDoDisconnect(@QueryParameter String offlineMessage) throws IOException, ServletException {
if (channel!=null) {
//does nothing in case computer is already disconnected
......@@ -542,6 +544,7 @@ public class SlaveComputer extends Computer {
});
}
@RequirePOST
public void doLaunchSlaveAgent(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
if(channel!=null) {
req.getView(this,"already-launched.jelly").forward(req, rsp);
......
......@@ -2837,6 +2837,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
/**
* Accepts submission from the node configuration page.
*/
@RequirePOST
public synchronized void doConfigExecutorsSubmit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
checkPermission(ADMINISTER);
......@@ -2861,10 +2862,12 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
/**
* Accepts the new description.
*/
@RequirePOST
public synchronized void doSubmitDescription( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException {
getPrimaryView().doSubmitDescription(req, rsp);
}
@RequirePOST // TODO does not seem to work on _either_ overload!
public synchronized HttpRedirect doQuietDown() throws IOException {
try {
return doQuietDown(false,0);
......@@ -2874,6 +2877,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
}
@CLIMethod(name="quiet-down")
@RequirePOST
public HttpRedirect doQuietDown(
@Option(name="-block",usage="Block until the system really quiets down and no builds are running") @QueryParameter boolean block,
@Option(name="-timeout",usage="If non-zero, only block up to the specified number of milliseconds") @QueryParameter int timeout) throws InterruptedException, IOException {
......@@ -2893,6 +2897,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
}
@CLIMethod(name="cancel-quiet-down")
@RequirePOST // TODO the cancel link needs to be updated accordingly
public synchronized HttpRedirect doCancelQuietDown() {
checkPermission(ADMINISTER);
isQuietingDown = false;
......@@ -2956,6 +2961,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
return r;
}
@RequirePOST
public synchronized TopLevelItem doCreateItem( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException {
return itemGroupMixIn.createTopLevelItem(req, rsp);
}
......@@ -2979,6 +2985,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
return (T)copy((TopLevelItem)src,name);
}
@RequirePOST
public synchronized void doCreateView( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
checkPermission(View.CREATE);
addView(View.create(req,rsp, this));
......@@ -3166,6 +3173,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
* For debugging. Expose URL to perform GC.
*/
@edu.umd.cs.findbugs.annotations.SuppressWarnings("DM_GC")
@RequirePOST
public void doGc(StaplerResponse rsp) throws IOException {
checkPermission(Jenkins.ADMINISTER);
System.gc();
......@@ -3212,6 +3220,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
* Simulates OutOfMemoryError.
* Useful to make sure OutOfMemoryHeapDump setting.
*/
@RequirePOST
public void doSimulateOutOfMemory() throws IOException {
checkPermission(ADMINISTER);
......@@ -3340,6 +3349,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
* @since 1.161
*/
@CLIMethod(name="shutdown")
@RequirePOST
public void doExit( StaplerRequest req, StaplerResponse rsp ) throws IOException {
checkPermission(ADMINISTER);
LOGGER.severe(String.format("Shutting down VM as requested by %s from %s",
......@@ -3361,6 +3371,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
* @since 1.332
*/
@CLIMethod(name="safe-shutdown")
@RequirePOST
public HttpResponse doSafeExit(StaplerRequest req) throws IOException {
checkPermission(ADMINISTER);
isQuietingDown = true;
......@@ -3485,6 +3496,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
rsp.sendRedirect2(ref);
}
@RequirePOST
public void doFingerprintCleanup(StaplerResponse rsp) throws IOException {
FingerprintCleanupThread.invoke();
rsp.setStatus(HttpServletResponse.SC_OK);
......@@ -3492,6 +3504,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
rsp.getWriter().println("Invoked");
}
@RequirePOST
public void doWorkspaceCleanup(StaplerResponse rsp) throws IOException {
WorkspaceCleanupThread.invoke();
rsp.setStatus(HttpServletResponse.SC_OK);
......@@ -3910,6 +3923,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
return logRecords;
}
@RequirePOST
public void doLaunchSlaveAgent(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
// this computer never returns null from channel, so
// this method shall never be invoked.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册