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

Java tutorial

Introduction

Here is the source code for com.serena.rlc.provider.jenkins.domain.Job.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 Job {
    private static final long serialVersionUID = 1L;

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

    private String name;
    private String displayName;
    private List<Job> jobs;

    public Job() {
    }

    public Job(String name, String displayName) {
        this.name = name;
        this.displayName = displayName;
    }

    public String getName() {
        return name;
    }

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

    public String getDisplayName() {
        return displayName;
    }

    public void setDisplayName(String displayName) {
        this.displayName = displayName;
    }

    public List<Job> getJobs() {
        return jobs;
    }

    public void setJobs(List<Job> jobs) {
        this.jobs = jobs;
    }

    public static Job parseSingle(String options) {
        JSONParser parser = new JSONParser();
        try {
            Object parsedObject = parser.parse(options);
            JSONObject jsonObject = (JSONObject) parsedObject;
            Job job = parseSingle(jsonObject);
            return job;
        } catch (ParseException e) {
            logger.error("Error while parsing input JSON - " + options, e);
        }
        return null;
    }

    public static List<Job> parse(String options) {
        List<Job> list = new ArrayList<>();
        JSONParser parser = new JSONParser();
        try {
            Object parsedObject = parser.parse(options);
            JSONArray array = (JSONArray) ((JSONObject) parsedObject).get("jobs");
            for (Object object : array) {
                Job obj = new Job();
                JSONObject jsonObject = (JSONObject) object;

                // JSONObject nameObject = (JSONObject)jsonObject.get("name");
                // JSONObject displayNameObject = (JSONObject)jsonObject.get("displayName");

                obj.setName((String) jsonObject.get("name"));
                obj.setDisplayName((String) jsonObject.get("displayName"));

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

        return list;
    }

    public static Job parseSingle(JSONObject jsonObject) {
        Job obj = new Job();
        if (jsonObject != null) {
            obj.setName((String) jsonObject.get("name"));
            obj.setDisplayName((String) jsonObject.get("displayName"));
        }
        return obj;
    }

    @Override
    public String toString() {
        return "Job{" + "name=" + name + ", displayName=" + displayName + '}';
    }

}