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

31 lines
1.2 KiB
Java
Raw Normal View History

2022-02-17 11:05:17 +01:00
package org.gcube.application.cms.plugins.requests;
import lombok.Data;
import org.bson.Document;
2022-03-04 11:30:11 +01:00
import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException;
2022-02-17 11:05:17 +01:00
import org.gcube.application.geoportal.common.faults.InvalidRequestException;
import org.gcube.application.geoportal.common.model.document.ProfiledDocument;
import org.gcube.application.geoportal.common.model.profile.Profile;
@Data
public class BaseExecutionRequest {
Profile profile;
ProfiledDocument document;
Document callParameters;
2022-03-04 11:30:11 +01:00
public final String getMandatory(String param) throws InvalidPluginRequestException {
2022-02-17 11:05:17 +01:00
return getMandatory(param,callParameters);
}
2022-03-04 11:30:11 +01:00
public static final String getMandatory(String param,Document params) throws InvalidPluginRequestException {
if(!params.containsKey(param)) throw new InvalidPluginRequestException("Missing mandatory parameter "+param);
2022-02-17 11:05:17 +01:00
return params.getString(param);
}
2022-03-04 11:30:11 +01:00
public void validate() throws InvalidPluginRequestException {
if(profile==null)throw new InvalidPluginRequestException("Profile cannot be null ");
if(document==null) throw new InvalidPluginRequestException("Document cannot be null");
}
2022-02-17 11:05:17 +01:00
}