Package org.hudsonci.model.project.property

Examples of org.hudsonci.model.project.property.CopyOnWriteListProjectProperty


        project.initProjectProperties();
        assertNull(project.getProperty(Job.PARAMETERS_DEFINITION_JOB_PROPERTY_PROPERTY_NAME));
        project.convertJobProperties();
        //Properties should be initialized
        assertNotNull(project.properties);
        CopyOnWriteListProjectProperty property = (CopyOnWriteListProjectProperty) project.getProperty(
            Job.PARAMETERS_DEFINITION_JOB_PROPERTY_PROPERTY_NAME);
        assertNotNull(property);
        CopyOnWriteList<ParametersDefinitionProperty> propertyValue = property.getValue();
        assertFalse(propertyValue.isEmpty());
        assertEquals(1, propertyValue.size());
        ParametersDefinitionProperty pdp = propertyValue.get(0);
        List<ParameterDefinition> parameterDefinitions = pdp.getParameterDefinitions();
        assertNotNull(parameterDefinitions);
View Full Code Here


     */
    @SuppressWarnings("unchecked")
    public static void setParameterDefinitionProperties(Job job,
                                                        String key,
                                                        CopyOnWriteList<ParametersDefinitionProperty> parameterDefinitionProperties) {
        CopyOnWriteListProjectProperty projectProperty = getCopyOnWriteListProjectProperty(job, key);
        CopyOnWriteList<ParametersDefinitionProperty> pdProperties
            = new CopyOnWriteList<ParametersDefinitionProperty>();
        //Create new instance for each parameter in order to set owner and use in cascading children.
        for (ParametersDefinitionProperty pdp : parameterDefinitionProperties) {
            ParametersDefinitionProperty copiedDefinitionProperty = new ParametersDefinitionProperty(
                new ArrayList<ParameterDefinition>(pdp.getParameterDefinitions()));
            copiedDefinitionProperty.setOwner((AbstractProject) job);
            pdProperties.add(copiedDefinitionProperty);
        }
        projectProperty.setValue(pdProperties);
        Set<String> cascadingChildrenNames = job.getCascadingChildrenNames();
        //Iterate through cascading children and recursively update property for each child.
        if (null != cascadingChildrenNames) {
            for (String childName : cascadingChildrenNames) {
                Job childJob = (Job) Hudson.getInstance().getItem(childName);
                //Check only direct children in order to avoid deep checking for properties overridden properties.
                if (null != childJob && StringUtils.equals(job.getName(), childJob.getCascadingProjectName())) {
                    CopyOnWriteListProjectProperty childProperty = getCopyOnWriteListProjectProperty(childJob, key);
                    //If child value is equal to parent - mark this value as unmodified.
                    if (!childProperty.allowOverrideValue(childProperty.getValue(), pdProperties)) {
                        childProperty.setOverridden(false);
                    } else if (!childProperty.isOverridden()) {
                        //If child property was not overridden, update this property and cascading children if any.
                        setParameterDefinitionProperties(childJob, key, parameterDefinitionProperties);
                    }
                }
            }
View Full Code Here

TOP

Related Classes of org.hudsonci.model.project.property.CopyOnWriteListProjectProperty

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.