gcube-cms-suite/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/requests/BaseExecutionRequest.java

32 lines
1.1 KiB
Java

package org.gcube.application.cms.plugins.requests;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
import lombok.ToString;
import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException;
import org.gcube.application.geoportal.common.model.document.Project;
import org.gcube.application.geoportal.common.model.document.accounting.Context;
import org.gcube.application.geoportal.common.model.document.accounting.User;
import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor;
@Getter
@Setter
@ToString(callSuper = true)
public class BaseExecutionRequest extends BaseRequest{
Project document;
public BaseExecutionRequest(@NonNull UseCaseDescriptor useCaseDescriptor, @NonNull User caller, @NonNull Context context, Project document) {
super(useCaseDescriptor, caller, context);
this.document = document;
}
public BaseExecutionRequest validate() throws InvalidPluginRequestException {
super.validate();
if(document==null) throw new InvalidPluginRequestException("Document cannot be null");
return this;
}
}