Java tutorial
/* * * 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 + '}'; } }