com.serena.rlc.provider.jenkins.domain.JobParameter.java Source code

Java tutorial

Introduction

Here is the source code for com.serena.rlc.provider.jenkins.domain.JobParameter.java

Source

/*
 *
 * Copyright (c) 2015 SERENA Software, Inc. All Rights Reserved.
 *
 * This software is proprietary information of SERENA Software, Inc.
 * Use is subject to license terms.
 *
 */
package com.serena.rlc.provider.jenkins.domain;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author rcook
 */
public class JobParameter {

    private static final long serialVersionUID = 1L;

    private final static Logger logger = LoggerFactory.getLogger(JobParameter.class);

    private String name;
    private String type;
    private String defaultValue;

    public JobParameter() {
    }

    public JobParameter(String name) {
        this.name = name;
    }

    public JobParameter(String name, String type) {
        this.name = name;
        this.type = type;
    }

    public JobParameter(String name, String type, String defaultValue) {
        this.name = name;
        this.type = type;
        this.defaultValue = defaultValue;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    /*
     public static JobParameter parseSingle(String options) {
     JSONParser parser = new JSONParser();
     try {
     Object parsedObject = parser.parse(options);
     JSONObject jsonObject = (JSONObject) parsedObject;
     JobParameter job = parseSingle(jsonObject);
     return job;
     } catch (ParseException e) {
     logger.error("Error while parsing input JSON - " + options, e);
     }
     return null;
     }
     */
    public static List<JobParameter> parse(String options) {
        List<JobParameter> list = new ArrayList<>();
        JSONParser parser = new JSONParser();
        try {
            Object parsedObject = parser.parse(options);
            JSONArray array = (JSONArray) ((JSONObject) parsedObject).get("actions");
            for (Object action : array) {
                JSONArray paramDefs = (JSONArray) ((JSONObject) action).get("parameterDefinitions");

                if (paramDefs != null && paramDefs.size() > 0) {
                    for (Object param : paramDefs) {
                        JobParameter obj = new JobParameter();
                        JSONObject jsonObject = (JSONObject) param;

                        obj.setName((String) jsonObject.get("name"));
                        obj.setType((String) jsonObject.get("type"));

                        try {
                            JSONObject deafultValueJsonObject = (JSONObject) jsonObject
                                    .get("defaultParameterValue");
                            obj.setDefaultValue((String) deafultValueJsonObject.get("value"));
                        } catch (Exception ex) {
                        }

                        list.add(obj);
                    }
                }
            }
        } catch (ParseException e) {
            logger.error("Error while parsing input JSON - " + options, e);
        }

        return list;
    }
    /*
     public static JobParameter parseSingle(JSONObject jsonObject) {
     JobParameter obj = new JobParameter();
     if (jsonObject != null) {
     obj.setName((String) jsonObject.get("name"));
     obj.setType((String) jsonObject.get("displayName"));
     }
     return obj;
     }
     */

    @Override
    public String toString() {
        return "JobParameter{" + "name=" + name + ", type=" + type + ", defaultValue=" + defaultValue + '}';
    }
}