gcube-cms-suite/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/Report.java

32 lines
827 B
Java

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<String> 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 ");
}
}