package org.gcube.application.cms.plugins.reports; import lombok.Data; import org.gcube.application.cms.plugins.faults.PluginExecutionException; import java.util.ArrayList; import java.util.List; @Data public class Report { public static enum Status { ERROR,WARNING,OK } private Status status; private List messages; public Report putMessage(String msg){ if(messages==null)messages=new ArrayList<>(); messages.add(msg); return this; } public void validate()throws PluginExecutionException { if(status == null) throw new PluginExecutionException("Status is null"); if(!status.equals(Status.OK)) if(messages==null || messages.isEmpty()) throw new PluginExecutionException("Messages are mandatory for status != OK "); } }