geoportal-data-viewer-app/src/test/java/org/gcube/portlets/user/geoportaldataviewer/GeoportalViewer_Tests.java

138 lines
4.9 KiB
Java
Raw Normal View History

package org.gcube.portlets.user.geoportaldataviewer;
2022-10-18 14:17:41 +02:00
import java.util.List;
import org.gcube.application.geoportal.common.model.document.Project;
import org.gcube.application.geoportalcommon.ConvertToDataValueObjectModel;
import org.gcube.application.geoportalcommon.ProjectDVBuilder;
import org.gcube.application.geoportalcommon.geoportal.GeoportalClientCaller;
import org.gcube.application.geoportalcommon.geoportal.ProjectsCaller;
import org.gcube.application.geoportalcommon.geoportal.UseCaseDescriptorCaller;
2022-10-18 14:17:41 +02:00
import org.gcube.application.geoportalcommon.shared.geoportal.materialization.GCubeSDIViewerLayerDV;
2022-10-19 17:51:13 +02:00
import org.gcube.application.geoportalcommon.shared.geoportal.materialization.innerobject.FilesetDV;
import org.gcube.application.geoportalcommon.shared.geoportal.materialization.innerobject.PayloadDV;
import org.gcube.application.geoportalcommon.shared.geoportal.project.ProjectDV;
import org.gcube.application.geoportalcommon.shared.geoportal.view.ProjectView;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
2022-10-14 15:31:32 +02:00
import org.gcube.portlets.user.geoportaldataviewer.server.Geoportal_JSON_Mapper;
import org.junit.Before;
import org.junit.Test;
/**
* The Class GeoportalViewer_Tests.
*
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
*
* Sep 9, 2022
*/
public class GeoportalViewer_Tests {
private UseCaseDescriptorCaller clientUCD;
private ProjectsCaller clientProjects;
// private static String CONTEXT = "/pred4s/preprod/preVRE";
// private static String TOKEN = ""; //preVRE
private static String CONTEXT = "/gcube/devsec/devVRE";
2022-10-14 15:31:32 +02:00
private static String TOKEN = "c41a00c0-7897-48d2-a67a-05190d6ce5e6-98187548"; // devVRE
private static String PROFILE_ID = "profiledConcessioni";
2022-10-19 17:51:13 +02:00
private static String PROJECT_ID = "634fc41ecd343e6571ed3db0";
2022-10-18 14:17:41 +02:00
private static String USERNAME = "francesco.mangiacrapa";
/**
* Gets the client.
*
* @return the client
*/
@Before
public void getClient() {
// assumeTrue(GCubeTest.isTestInfrastructureEnabled());
ScopeProvider.instance.set(CONTEXT);
SecurityTokenProvider.instance.set(TOKEN);
clientUCD = GeoportalClientCaller.useCaseDescriptors();
clientProjects = GeoportalClientCaller.projects();
}
2022-10-19 17:51:13 +02:00
// @Test
2022-10-14 15:31:32 +02:00
public void getProjectViewForID() {
try {
ScopeProvider.instance.set(CONTEXT);
SecurityTokenProvider.instance.set(TOKEN);
Project project = clientProjects.getProjectByID(PROFILE_ID, PROJECT_ID);
ProjectDVBuilder projectBuilder = ProjectDVBuilder.newBuilder().fullDocumentMap(true);
ProjectDV projectDV = ConvertToDataValueObjectModel.toProjectDV(project, projectBuilder);
2022-10-18 14:17:41 +02:00
ScopeProvider.instance.set(CONTEXT);
SecurityTokenProvider.instance.set(TOKEN);
2022-10-14 15:31:32 +02:00
ProjectView projectView = Geoportal_JSON_Mapper.loadProjectView(projectDV, CONTEXT, USERNAME);
2022-10-14 17:19:40 +02:00
Geoportal_JSON_Mapper.prettyPrintProjectView(projectView);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2022-10-19 17:51:13 +02:00
// @Test
2022-10-18 14:17:41 +02:00
public void getLayersForId() {
System.out.println("getLayersForId [profileID: " + PROFILE_ID + ", projectID: " + PROJECT_ID + "] called");
List<GCubeSDIViewerLayerDV> listLayers = null;
try {
ScopeProvider.instance.set(CONTEXT);
SecurityTokenProvider.instance.set(TOKEN);
Project project = clientProjects.getProjectByID(PROFILE_ID, PROJECT_ID);
String jsonDocument = project.getTheDocument().toJson();
System.out.println("JSON Project is: " + jsonDocument);
String materializationParentJSONPath = String.format("%s..%s", Geoportal_JSON_Mapper.JSON_$_POINTER,
Geoportal_JSON_Mapper.FILESET);
2022-10-19 17:51:13 +02:00
listLayers = Geoportal_JSON_Mapper.readGcubeSDILayersForFileset(materializationParentJSONPath,
jsonDocument);
2022-10-18 14:17:41 +02:00
listLayers.stream().forEach(s -> System.out.println(s));
} catch (Exception e) {
String erroMsg = "Layers are not available for profileID " + PROFILE_ID + " with projectID " + PROJECT_ID;
System.out.println(erroMsg);
e.printStackTrace();
}
}
2022-10-19 17:51:13 +02:00
//@Test
public void getImagesForId() {
System.out.println("getImagesForId [profileID: " + PROFILE_ID + ", projectID: " + PROJECT_ID + "] called");
List<PayloadDV> listImages = null;
try {
ScopeProvider.instance.set(CONTEXT);
SecurityTokenProvider.instance.set(TOKEN);
Project project = clientProjects.getProjectByID(PROFILE_ID, PROJECT_ID);
String jsonDocument = project.getTheDocument().toJson();
System.out.println("JSON Project is: " + jsonDocument);
String filesetJSONPath = String.format("%s..%s", Geoportal_JSON_Mapper.JSON_$_POINTER, Geoportal_JSON_Mapper.FILESET);
listImages = Geoportal_JSON_Mapper.readImagesForFileset(filesetJSONPath, jsonDocument);
listImages.stream().forEach(s -> System.out.println("Image: " + s));
} catch (Exception e) {
String erroMsg = "Images are not available for profileID " + PROFILE_ID + " with projectID " + PROJECT_ID;
System.out.println(erroMsg);
e.printStackTrace();
}
}
}