32 lines
827 B
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 ");
|
|
}
|
|
|
|
}
|