2020-11-11 18:17:06 +01:00
|
|
|
package org.gcube.application.geoportal.service.legacy;
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.UncheckedIOException;
|
|
|
|
import java.net.URL;
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.Collections;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Properties;
|
|
|
|
|
|
|
|
import javax.persistence.EntityManagerFactory;
|
|
|
|
import javax.persistence.SharedCacheMode;
|
|
|
|
import javax.persistence.ValidationMode;
|
|
|
|
import javax.persistence.spi.ClassTransformer;
|
|
|
|
import javax.persistence.spi.PersistenceUnitInfo;
|
|
|
|
import javax.persistence.spi.PersistenceUnitTransactionType;
|
|
|
|
import javax.sql.DataSource;
|
2020-11-19 17:38:56 +01:00
|
|
|
import javax.ws.rs.client.Entity;
|
2020-11-11 18:17:06 +01:00
|
|
|
import javax.ws.rs.client.WebTarget;
|
|
|
|
import javax.ws.rs.core.Application;
|
|
|
|
import javax.ws.rs.core.MediaType;
|
2020-11-19 17:38:56 +01:00
|
|
|
import javax.ws.rs.core.Response;
|
2020-11-11 18:17:06 +01:00
|
|
|
|
|
|
|
import org.gcube.application.geoportal.common.rest.InterfaceConstants;
|
|
|
|
import org.gcube.application.geoportal.managers.AbstractRecordManager;
|
2020-11-16 18:21:07 +01:00
|
|
|
import org.gcube.application.geoportal.managers.DefatulEMFProvider;
|
2020-11-17 17:34:42 +01:00
|
|
|
import org.gcube.application.geoportal.model.concessioni.Concessione;
|
2020-11-19 17:38:56 +01:00
|
|
|
import org.gcube.application.geoportal.model.fault.ConfigurationException;
|
2020-11-11 18:17:06 +01:00
|
|
|
import org.gcube.application.geoportal.service.GeoportalService;
|
2020-11-19 17:38:56 +01:00
|
|
|
import org.gcube.application.geoportal.service.engine.ImplementationProvider;
|
|
|
|
import org.gcube.application.geoportal.service.engine.StorageClientProvider;
|
|
|
|
import org.gcube.application.geoportal.service.utils.Serialization;
|
2020-11-17 17:34:42 +01:00
|
|
|
import org.gcube.com.fasterxml.jackson.core.JsonProcessingException;
|
2020-11-19 17:38:56 +01:00
|
|
|
import org.gcube.contentmanagement.blobstorage.service.IClient;
|
2020-11-11 18:17:06 +01:00
|
|
|
import org.glassfish.jersey.test.JerseyTest;
|
|
|
|
import org.junit.BeforeClass;
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
public class Concessioni extends JerseyTest {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected Application configure() {
|
|
|
|
return new GeoportalService();
|
|
|
|
}
|
|
|
|
|
|
|
|
@BeforeClass
|
|
|
|
public static void init() {
|
2020-11-19 17:38:56 +01:00
|
|
|
String scope="/gcube/devNext/NextNext";
|
2020-11-16 18:21:07 +01:00
|
|
|
AbstractRecordManager.setDefaultProvider(new DefatulEMFProvider(){
|
2020-11-11 18:17:06 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public EntityManagerFactory getFactory() {
|
2020-11-19 17:38:56 +01:00
|
|
|
// System.err.println("***********************SETTING DEBUG CONTEXT******************");
|
|
|
|
TokenSetter.set(scope);
|
2020-11-16 18:21:07 +01:00
|
|
|
return super.getFactory();
|
2020-11-11 18:17:06 +01:00
|
|
|
}
|
2020-11-19 17:38:56 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
ImplementationProvider.get().setStorageProvider(new StorageClientProvider() {
|
|
|
|
@Override
|
|
|
|
public IClient getObject() throws ConfigurationException {
|
|
|
|
TokenSetter.set(scope);
|
|
|
|
return super.getObject();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2020-11-11 18:17:06 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
2020-11-17 17:34:42 +01:00
|
|
|
public void list() throws JsonProcessingException, IOException{
|
2020-11-11 18:17:06 +01:00
|
|
|
WebTarget target=target(InterfaceConstants.Methods.CONCESSIONI);
|
2020-11-17 17:34:42 +01:00
|
|
|
System.err.println(target.getUri());
|
|
|
|
|
|
|
|
Collection coll=target.request(MediaType.APPLICATION_JSON).get(Collection.class);
|
|
|
|
System.out.println("Size of collection is "+coll.size());
|
|
|
|
System.out.println("Iterating through objects.. ");
|
|
|
|
for(Object o:coll) {
|
|
|
|
System.out.println("Object class is "+o.getClass());
|
2020-11-19 17:38:56 +01:00
|
|
|
Concessione c=Serialization.read(o.toString(), Concessione.class);
|
2020-11-18 15:16:08 +01:00
|
|
|
System.out.println("Concessione is : "+c.asJson());
|
2020-11-17 17:34:42 +01:00
|
|
|
}
|
|
|
|
|
2020-11-11 18:17:06 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
2020-11-19 17:38:56 +01:00
|
|
|
public void createNew() throws IOException {
|
|
|
|
Concessione toCreate=TestModel.prepareEmptyConcessione();
|
|
|
|
WebTarget target=target(InterfaceConstants.Methods.CONCESSIONI);
|
|
|
|
Response resp=target.request(MediaType.APPLICATION_JSON).put(Entity.entity(toCreate.asJson(), MediaType.APPLICATION_JSON));
|
|
|
|
String resString=resp.readEntity(String.class);
|
|
|
|
System.out.println("Resp String is "+resString);
|
|
|
|
Concessione registered=Serialization.read(resString, Concessione.class);
|
|
|
|
System.out.println("Registered concessione at : "+registered);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@Test
|
|
|
|
public void publishNew() throws IOException {
|
|
|
|
Concessione toCreate=TestModel.prepareEmptyConcessione();
|
2020-11-11 18:17:06 +01:00
|
|
|
WebTarget target=target(InterfaceConstants.Methods.CONCESSIONI);
|
2020-11-19 17:38:56 +01:00
|
|
|
Response resp=target.request(MediaType.APPLICATION_JSON).put(Entity.entity(toCreate.asJson(), MediaType.APPLICATION_JSON));
|
|
|
|
String resString=resp.readEntity(String.class);
|
|
|
|
System.out.println("Resp String is "+resString);
|
|
|
|
Concessione registered=Serialization.read(resString, Concessione.class);
|
|
|
|
System.out.println("Registered concessione at : "+registered);
|
|
|
|
|
|
|
|
|
2020-11-11 18:17:06 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static PersistenceUnitInfo archiverPersistenceUnitInfo() {
|
|
|
|
|
|
|
|
final List<String> MANAGED_CLASSES=Arrays.asList(new String[] {
|
|
|
|
"org.gcube.application.geoportal.model.Record",
|
|
|
|
"org.gcube.application.geoportal.model.concessioni.Concessione",
|
|
|
|
"org.gcube.application.geoportal.model.concessioni.LayerConcessione",
|
|
|
|
"org.gcube.application.geoportal.model.concessioni.RelazioneScavo",
|
|
|
|
|
|
|
|
"org.gcube.application.geoportal.model.content.AssociatedContent",
|
|
|
|
"org.gcube.application.geoportal.model.content.GeoServerContent",
|
|
|
|
"org.gcube.application.geoportal.model.content.OtherContent",
|
|
|
|
"org.gcube.application.geoportal.model.content.PersistedContent",
|
|
|
|
"org.gcube.application.geoportal.model.content.UploadedImage",
|
|
|
|
"org.gcube.application.geoportal.model.content.WorkspaceContent",
|
|
|
|
|
|
|
|
"org.gcube.application.geoportal.model.gis.ShapeFileLayerDescriptor",
|
|
|
|
"org.gcube.application.geoportal.model.gis.SDILayerDescriptor"});
|
|
|
|
|
|
|
|
|
|
|
|
return new PersistenceUnitInfo() {
|
|
|
|
@Override
|
|
|
|
public String getPersistenceUnitName() {
|
|
|
|
return "ApplicationPersistenceUnit";
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getPersistenceProviderClassName() {
|
|
|
|
return "org.hibernate.jpa.HibernatePersistenceProvider";
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public PersistenceUnitTransactionType getTransactionType() {
|
|
|
|
return PersistenceUnitTransactionType.RESOURCE_LOCAL;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public DataSource getJtaDataSource() {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public DataSource getNonJtaDataSource() {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<String> getMappingFileNames() {
|
|
|
|
return Collections.emptyList();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<URL> getJarFileUrls() {
|
|
|
|
try {
|
|
|
|
return Collections.list(this.getClass()
|
|
|
|
.getClassLoader()
|
|
|
|
.getResources(""));
|
|
|
|
} catch (IOException e) {
|
|
|
|
throw new UncheckedIOException(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public URL getPersistenceUnitRootUrl() {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<String> getManagedClassNames() {
|
|
|
|
return MANAGED_CLASSES;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean excludeUnlistedClasses() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public SharedCacheMode getSharedCacheMode() {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ValidationMode getValidationMode() {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Properties getProperties() {
|
|
|
|
return new Properties();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getPersistenceXMLSchemaVersion() {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ClassLoader getClassLoader() {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void addTransformer(ClassTransformer transformer) {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ClassLoader getNewTempClassLoader() {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|