You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.8 KiB
Java
58 lines
1.8 KiB
Java
package org.gcube.spatial.data.sdi.rest;
|
|
|
|
import java.io.InputStream;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
|
|
import javax.inject.Inject;
|
|
import javax.ws.rs.Consumes;
|
|
import javax.ws.rs.DefaultValue;
|
|
import javax.ws.rs.GET;
|
|
import javax.ws.rs.POST;
|
|
import javax.ws.rs.Path;
|
|
import javax.ws.rs.Produces;
|
|
import javax.ws.rs.QueryParam;
|
|
import javax.ws.rs.core.MediaType;
|
|
|
|
import org.gcube.spatial.data.sdi.engine.MetadataTemplateManager;
|
|
import org.gcube.spatial.data.sdi.model.ServiceConstants;
|
|
import org.gcube.spatial.data.sdi.model.metadata.MetadataReport;
|
|
import org.gcube.spatial.data.sdi.model.metadata.TemplateDescriptor;
|
|
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
|
|
import org.glassfish.jersey.media.multipart.FormDataParam;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
@Slf4j
|
|
@Path(ServiceConstants.Metadata.INTERFACE)
|
|
public class Metadata {
|
|
|
|
@Inject
|
|
MetadataTemplateManager templateManager;
|
|
|
|
|
|
@POST
|
|
@Path("/{gnCategory}")
|
|
@Consumes(MediaType.WILDCARD)
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public MetadataReport pushMetadata(@QueryParam(ServiceConstants.Metadata.VALIDATE_PARAMETER) @DefaultValue("true") Boolean validate,
|
|
@QueryParam(ServiceConstants.Metadata.PUBLIC_PARAMETER) @DefaultValue("false") Boolean makePublic,
|
|
|
|
@FormDataParam(ServiceConstants.Metadata.UPLOADED_FILE_PARAMETER) InputStream uploadedMeta,
|
|
@FormDataParam(ServiceConstants.Metadata.UPLOADED_FILE_PARAMETER) FormDataContentDisposition uploadedMetaDetails,
|
|
@FormDataParam(ServiceConstants.Metadata.METADATA_ENRICHMENTS_PARAMETER) Set<String> metadataEnrichments){
|
|
|
|
//Receive metadata
|
|
//Optionally enrich it
|
|
//Publish it NB : validate & make public
|
|
return null;
|
|
}
|
|
|
|
@GET
|
|
@Path("/list")
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public Set<TemplateDescriptor> getList(){
|
|
return templateManager.getAvailableTemplates();
|
|
}
|
|
}
|