31 lines
1.2 KiB
Java
31 lines
1.2 KiB
Java
package org.gcube.application.cms.plugins.requests;
|
|
|
|
import lombok.Data;
|
|
import org.bson.Document;
|
|
import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException;
|
|
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;
|
|
|
|
public final String getMandatory(String param) throws InvalidPluginRequestException {
|
|
return getMandatory(param,callParameters);
|
|
}
|
|
|
|
public static final String getMandatory(String param,Document params) throws InvalidPluginRequestException {
|
|
if(!params.containsKey(param)) throw new InvalidPluginRequestException("Missing mandatory parameter "+param);
|
|
return params.getString(param);
|
|
}
|
|
|
|
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");
|
|
}
|
|
}
|