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

30 lines
1.1 KiB
Java
Raw Normal View History

2022-02-17 11:05:17 +01:00
package org.gcube.application.cms.plugins.requests;
2022-03-11 18:11:32 +01:00
import lombok.*;
2022-02-17 11:05:17 +01:00
import org.bson.Document;
2022-03-04 11:30:11 +01:00
import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException;
2022-03-04 14:23:20 +01:00
import org.gcube.application.geoportal.common.model.document.Project;
2022-03-11 18:11:32 +01:00
import org.gcube.application.geoportal.common.model.document.accounting.Context;
import org.gcube.application.geoportal.common.model.document.accounting.User;
2022-03-04 14:23:20 +01:00
import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor;
2022-02-17 11:05:17 +01:00
2022-03-11 18:11:32 +01:00
@Getter
@Setter
@ToString(callSuper = true)
public class BaseExecutionRequest extends BaseRequest{
2022-02-17 11:05:17 +01:00
2022-03-11 18:11:32 +01:00
Project document;
2022-02-17 11:05:17 +01:00
2022-03-11 18:11:32 +01:00
public BaseExecutionRequest(@NonNull UseCaseDescriptor useCaseDescriptor, @NonNull User caller, @NonNull Context context, Project document) {
super(useCaseDescriptor, caller, context);
this.document = document;
2022-02-17 11:05:17 +01:00
}
2022-03-04 11:30:11 +01:00
2022-03-17 17:54:00 +01:00
public BaseExecutionRequest validate() throws InvalidPluginRequestException {
2022-03-11 18:11:32 +01:00
super.validate();
2022-03-04 11:30:11 +01:00
if(document==null) throw new InvalidPluginRequestException("Document cannot be null");
2022-03-17 17:54:00 +01:00
return this;
2022-03-04 11:30:11 +01:00
}
2022-02-17 11:05:17 +01:00
}