gcube-cms-suite/geoportal-client/src/test/java/org/gcube/application/geoportal/clients/GenericUseCases.java

56 lines
2.0 KiB
Java

package org.gcube.application.geoportal.clients;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.bson.Document;
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniModel;
import org.gcube.application.geoportal.client.DefaultProfiledDocumentsClient;
import org.gcube.application.geoportal.client.utils.Serialization;
import org.gcube.application.geoportal.common.model.document.Project;
import org.gcube.application.geoportal.common.model.rest.RegisterFileSetRequest;
import org.gcube.application.geoportal.common.rest.Projects;
import org.gcube.application.geoportal.common.utils.FileSets;
import org.gcube.application.geoportal.common.utils.Files;
import org.gcube.application.geoportal.common.utils.StorageUtils;
import java.io.File;
import java.io.FileNotFoundException;
import java.rmi.RemoteException;
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.profiledModel;
public class GenericUseCases {
public Projects<Project> getClient(String profileID){
return profiledModel(profileID, Project.class, DefaultProfiledDocumentsClient.class).build();
}
public void createNew () throws RemoteException, FileNotFoundException, JsonProcessingException {
String profileID=null;
String myJSON=null;
Document myDocument = Document.parse(myJSON);
Projects<Project> client = getClient(profileID);
// Create project
Project project = client.createNew(myDocument);
String parentPath = "";
String fieldName = "";
String fieldDefinition = "";
// Prepare request
RegisterFileSetRequest fsRequest = FileSets.
prepareRequest(new StorageUtils(),
parentPath,fieldName,fieldDefinition, new File(TestConcessioniModel.getBaseFolder(),"pos.shp"));
project = client.registerFileSet(project.getId(),fsRequest);
System.out.println("Resulting Project : "+project);
System.out.println("JSON Reprepsentation : "+ Serialization.write(project));
}
}