Java tutorial
/* * Copyright 2015 Shazam Entertainment Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific * language governing permissions and limitations under the License */ package com.shazam.dataengineering.pipelinebuilder; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * Deployment Data Transfer Object. Converts to and from a JSON entry. * * @see com.shazam.dataengineering.pipelinebuilder.DeploymentLog */ public class Deployment { private String username; private boolean status; private Date date; private String pipelineId; private List<String> messages; private static final DateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'"); public Deployment(String username, boolean status, String pipelineId, Date date, List<String> messages) { this.username = username; this.status = status; this.date = date; this.messages = messages; this.pipelineId = pipelineId; } public Deployment(JSONObject obj) { this.username = (String) obj.get("username"); this.status = (Boolean) obj.get("status"); this.pipelineId = (String) obj.get("pipelineId"); this.date = new Date((Long) obj.get("date")); JSONArray messageArray = (JSONArray) obj.get("messages"); this.messages = new ArrayList<String>(); for (int i = 0; i < messageArray.size(); i++) { this.messages.add((String) messageArray.get(i)); } } public JSONObject toJSON() { JSONArray messageArray = new JSONArray(); for (String message : messages) { messageArray.add(message); } JSONObject deployment = new JSONObject(); deployment.put("username", username); deployment.put("status", status); deployment.put("pipelineId", pipelineId); deployment.put("date", date.getTime()); deployment.put("messages", messageArray); return deployment; } public boolean isSuccess() { return status; } public boolean getStatus() { return status; } public String getUsername() { return username; } public Date getDate() { return date; } public String getISODate() { return isoFormat.format(date); } public String getPipelineId() { return pipelineId; } public List<String> getMessages() { return messages; } }