public static View create(StaplerRequest req, StaplerResponse rsp, ViewGroup owner) throws FormException, IOException, ServletException { String requestContentType = req.getContentType(); if (requestContentType == null) throw new Failure("No Content-Type header set"); boolean isXmlSubmission = requestContentType.startsWith("application/xml") || requestContentType.startsWith("text/xml"); String name = req.getParameter("name"); checkGoodName(name); if (owner.getView(name) != null) throw new FormException(Messages.Hudson_ViewAlreadyExists(name), "name"); String mode = req.getParameter("mode"); if (mode == null || mode.length() == 0) { if (isXmlSubmission) { View v; v = createViewFromXML(name, req.getInputStream()); v.owner = owner; rsp.setStatus(HttpServletResponse.SC_OK); return v; } else throw new FormException(Messages.View_MissingMode(), "mode"); } // create a view View v = all().findByName(mode).newInstance(req, req.getSubmittedForm()); v.owner = owner; // redirect to the config screen rsp.sendRedirect2(req.getContextPath() + '/' + v.getUrl() + v.getPostConstructLandingPage()); return v; }
/** Renames this view. */ public void rename(String newName) throws Failure, FormException { if (name.equals(newName)) return; // noop checkGoodName(newName); if (owner.getView(newName) != null) throw new FormException(Messages.Hudson_ViewAlreadyExists(newName), "name"); String oldName = name; name = newName; owner.onViewRenamed(this, oldName, newName); }
private static View copy(StaplerRequest req, ViewGroup owner, String name) throws IOException { View v; String from = req.getParameter("from"); View src = src = owner.getView(from); if (src == null) { if (Util.fixEmpty(from) == null) throw new Failure("Specify which view to copy"); else throw new Failure("No such view: " + from); } String xml = Jenkins.XSTREAM.toXML(src); v = createViewFromXML(name, new StringInputStream(xml)); return v; }
public static View create(StaplerRequest req, StaplerResponse rsp, ViewGroup owner) throws FormException, IOException, ServletException { String name = req.getParameter("name"); checkGoodName(name); if (owner.getView(name) != null) throw new FormException(Messages.Hudson_ViewAlreadyExists(name), "name"); String mode = req.getParameter("mode"); if (mode == null || mode.length() == 0) throw new FormException(Messages.View_MissingMode(), "mode"); // create a view View v = all().findByName(mode).newInstance(req, req.getSubmittedForm()); v.owner = owner; // redirect to the config screen rsp.sendRedirect2(req.getContextPath() + '/' + v.getUrl() + v.getPostConstructLandingPage()); return v; }