/** * Rebuilds the list by creating a fresh instances from the submitted form. * * <p> * This version works with the {@code <f:hetero-list>} UI tag, where the user * is allowed to create multiple instances of the same descriptor. Order is also * significant. */ public void rebuildHetero(StaplerRequest req, JSONObject formData, Collection<? extends Descriptor<T>> descriptors, String key) throws FormException, IOException { replaceBy(Descriptor.newInstancesFromHeteroList(req,formData,key,descriptors)); }
/** * Used to build {@link Describable} instance list from {@code <f:hetero-list>} tag. * * @param req * Request that represents the form submission. * @param formData * Structured form data that represents the contains data for the list of describables. * @param key * The JSON property name for 'formData' that represents the data for the list of describables. * @param descriptors * List of descriptors to create instances from. * @return * Can be empty but never null. */ public static <T extends Describable<T>> List<T> newInstancesFromHeteroList(StaplerRequest req, JSONObject formData, String key, Collection<? extends Descriptor<T>> descriptors) throws FormException { return newInstancesFromHeteroList(req,formData.get(key),descriptors); }
/** * Rebuilds the list by creating a fresh instances from the submitted form. * * <p> * This version works with the {@code <f:hetero-list>} UI tag, where the user * is allowed to create multiple instances of the same descriptor. Order is also * significant. */ public void rebuildHetero(StaplerRequest req, JSONObject formData, Collection<? extends Descriptor<T>> descriptors, String key) throws FormException, IOException { replaceBy(Descriptor.newInstancesFromHeteroList(req,formData,key,descriptors)); }
@Override public BuildWrapper newInstance(StaplerRequest req, JSONObject formData) throws FormException { List<PortType> ports = Descriptor.newInstancesFromHeteroList( req, formData, "ports", PortTypeDescriptor.LIST); return new PortAllocator(ports.toArray(new PortType[ports.size()])); } }
@Override public BuildWrapper newInstance(StaplerRequest req, JSONObject formData) throws FormException { List<PortType> ports = Descriptor.newInstancesFromHeteroList( req, formData, "ports", PortTypeDescriptor.LIST); HashSet<String> portNames = new HashSet<String>(); for (PortType p : ports) { if (!portNames.add(p.name)) { throw new FormException("Cannot add multiple port allocators with the same name!", "name"); } } return new PortAllocator(ports.toArray(new PortType[ports.size()])); }
/** * Used to build {@link Describable} instance list from <f:hetero-list> * tag. * * @param req Request that represents the form submission. * @param formData Structured form data that represents the contains data * for the list of describables. * @param key The JSON property name for 'formData' that represents the data * for the list of describables. * @param descriptors List of descriptors to create instances from. * @return Can be empty but never null. */ public static <T extends Describable<T>> List<T> newInstancesFromHeteroList(StaplerRequest req, JSONObject formData, String key, Collection<? extends Descriptor<T>> descriptors) throws FormException { return newInstancesFromHeteroList(req, formData.get(key), descriptors); }
/** * Rebuilds the list by creating a fresh instances from the submitted form. * <p/> * This version works with the the <f:hetero-list> UI tag, where the user * is allowed to create multiple instances of the same descriptor. Order is also * significant. * * @deprecated as of 2.2.0, * use {@link DescribableListUtil#buildFromHetero(hudson.model.Saveable, org.kohsuke.stapler.StaplerRequest, net.sf.json.JSONObject, String, java.util.Collection)} * or {@link Descriptor#newInstancesFromHeteroList(org.kohsuke.stapler.StaplerRequest, net.sf.json.JSONObject, String, java.util.Collection)} */ public void rebuildHetero(StaplerRequest req, JSONObject formData, Collection<? extends Descriptor<T>> descriptors, String key) throws FormException, IOException { replaceBy(Descriptor.newInstancesFromHeteroList(req, formData, key, descriptors)); }
/** * Rebuilds the list by creating a fresh instances from the submitted form. * <p/> * This version works with the the <f:hetero-list> UI tag, where the user * is allowed to create multiple instances of the same descriptor. Order is also * significant. * * @deprecated as of 2.2.0, * use {@link DescribableListUtil#buildFromHetero(hudson.model.Saveable, org.kohsuke.stapler.StaplerRequest, net.sf.json.JSONObject, String, java.util.Collection)} * or {@link Descriptor#newInstancesFromHeteroList(org.kohsuke.stapler.StaplerRequest, net.sf.json.JSONObject, String, java.util.Collection)} */ public void rebuildHetero(StaplerRequest req, JSONObject formData, Collection<? extends Descriptor<T>> descriptors, String key) throws FormException, IOException { replaceBy(Descriptor.newInstancesFromHeteroList(req, formData, key, descriptors)); }
/** * Rebuilds the list by creating a fresh instances from the submitted form. * <p/> * This version works with the the <f:hetero-list> UI tag, where the user * is allowed to create multiple instances of the same descriptor. Order is also * significant. * * @deprecated as of 2.2.0, * use {@link DescribableListUtil#buildFromHetero(hudson.model.Saveable, org.kohsuke.stapler.StaplerRequest, net.sf.json.JSONObject, String, java.util.Collection)} * or {@link Descriptor#newInstancesFromHeteroList(org.kohsuke.stapler.StaplerRequest, net.sf.json.JSONObject, String, java.util.Collection)} */ public void rebuildHetero(StaplerRequest req, JSONObject formData, Collection<? extends Descriptor<T>> descriptors, String key) throws FormException, IOException { replaceBy(Descriptor.newInstancesFromHeteroList(req, formData, key, descriptors)); }
/** * Rebuilds the list by creating a fresh instances from the submitted form. * <p/> * This version works with the the <f:hetero-list> UI tag, where the user * is allowed to create multiple instances of the same descriptor. Order is * also significant. * * @deprecated as of 2.2.0, use * {@link DescribableListUtil#buildFromHetero(hudson.model.Saveable, org.kohsuke.stapler.StaplerRequest, net.sf.json.JSONObject, String, java.util.Collection)} * or * {@link Descriptor#newInstancesFromHeteroList(org.kohsuke.stapler.StaplerRequest, net.sf.json.JSONObject, String, java.util.Collection)} */ public void rebuildHetero(StaplerRequest req, JSONObject formData, Collection<? extends Descriptor<T>> descriptors, String key) throws FormException, IOException { replaceBy(Descriptor.newInstancesFromHeteroList(req, formData, key, descriptors)); }
/** * Used to build {@link Describable} instance list from <f:hetero-list> tag. * * @param req * Request that represents the form submission. * @param formData * Structured form data that represents the contains data for the list of describables. * @param key * The JSON property name for 'formData' that represents the data for the list of describables. * @param descriptors * List of descriptors to create instances from. * @return * Can be empty but never null. */ public static <T extends Describable<T>> List<T> newInstancesFromHeteroList(StaplerRequest req, JSONObject formData, String key, Collection<? extends Descriptor<T>> descriptors) throws FormException { return newInstancesFromHeteroList(req,formData.get(key),descriptors); }
@Override public Publisher newInstance(StaplerRequest req, JSONObject formData) throws FormException { List<TestType> types = Descriptor.newInstancesFromHeteroList( req, formData, "tools", getListXUnitTypeDescriptors()); return new XUnitPublisher(types.toArray(new TestType[types.size()])); } }
@Override public Publisher newInstance(StaplerRequest req, JSONObject formData) throws FormException { List<TestType> types = Descriptor.newInstancesFromHeteroList( req, formData, "tools", getListXUnitTypeDescriptors()); return new XUnitPublisher(types.toArray(new TestType[types.size()])); } }
@Override public BuildWrapper newInstance(StaplerRequest req, JSONObject formData) throws FormException { M2ExtraStepsWrapper instance = req.bindJSON(M2ExtraStepsWrapper.class, formData); instance.preBuildSteps = Descriptor.newInstancesFromHeteroList(req, formData, "preBuildSteps", Builder.all()); instance.postBuildSteps = Descriptor.newInstancesFromHeteroList(req, formData, "postBuildSteps", Builder.all()); return instance; }
@Override public ManualCondition newInstance(StaplerRequest req, JSONObject formData) throws FormException { ManualCondition instance = new ManualCondition(); instance.users = formData.getString("users"); instance.parameterDefinitions = Descriptor.newInstancesFromHeteroList(req, formData, "parameters", ParameterDefinition.all()); return instance; } }
@Override public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException { if (formData.isNullObject()) { return null; } JSONObject parameterized = formData.getJSONObject("parameterized"); if (parameterized.isNullObject()) { return null; } List<ParameterDefinition> parameterDefinitions = Descriptor.newInstancesFromHeteroList( req, parameterized, "parameter", ParameterDefinition.all()); if(parameterDefinitions.isEmpty()) return null; return new ParametersDefinitionProperty(parameterDefinitions); }
@Override public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException { if (formData.isNullObject()) { return null; } JSONObject parameterized = formData.getJSONObject("parameterized"); if (parameterized.isNullObject()) { return null; } List<ParameterDefinition> parameterDefinitions = Descriptor.newInstancesFromHeteroList( req, parameterized, "parameter", ParameterDefinition.all()); if(parameterDefinitions.isEmpty()) return null; return new ParametersDefinitionProperty(parameterDefinitions); }
@Override public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException { if (formData.isNullObject()) { return null; } JSONObject parameterized = formData.getJSONObject("parameterized"); if (parameterized.isNullObject()) { return null; } List<ParameterDefinition> parameterDefinitions = Descriptor.newInstancesFromHeteroList( req, parameterized, "parameter", ParameterDefinition.all()); if (parameterDefinitions.isEmpty()) { return null; } return new ParametersDefinitionProperty(parameterDefinitions); }
@Override public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException { if (formData.isNullObject()) { return null; } JSONObject parameterized = formData.getJSONObject("parameterized"); if (parameterized.isNullObject()) { return null; } List<ParameterDefinition> parameterDefinitions = Descriptor.newInstancesFromHeteroList( req, parameterized, "parameter", ParameterDefinition.all()); if(parameterDefinitions.isEmpty()) return null; return new ParametersDefinitionProperty(parameterDefinitions); }
/*package*/ void configure(StaplerRequest req, JSONObject c) throws Descriptor.FormException, IOException { // apply configuration conditions.rebuild(req,c.optJSONObject("conditions"), PromotionCondition.all()); buildSteps = (List)Descriptor.newInstancesFromHeteroList( req, c, "buildStep", (List) PromotionProcess.getAll()); icon = c.getString("icon"); if (c.optBoolean("hasAssignedLabel")) { assignedLabel = Util.fixEmptyAndTrim(c.optString("assignedLabelString")); } else { assignedLabel = null; } isVisible = c.getString("isVisible"); save(); }