Merge pull request '1.0.14' (#12) from 1.0.14 into master
This commit is contained in:
commit
108a61730a
|
@ -2,6 +2,10 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
||||||
|
|
||||||
# Changelog for org.gcube.application.geoportal-logic
|
# Changelog for org.gcube.application.geoportal-logic
|
||||||
|
|
||||||
|
## [v1.0.14] - 2020-12-11
|
||||||
|
Fixes "no transaction" issue
|
||||||
|
|
||||||
|
|
||||||
## [v1.0.13] - 2020-12-11
|
## [v1.0.13] - 2020-12-11
|
||||||
Geoserver filename clash
|
Geoserver filename clash
|
||||||
Updated model concessioni
|
Updated model concessioni
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -4,7 +4,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.gcube.application</groupId>
|
<groupId>org.gcube.application</groupId>
|
||||||
<artifactId>geoportal-logic</artifactId>
|
<artifactId>geoportal-logic</artifactId>
|
||||||
<version>1.0.13</version>
|
<version>1.0.14</version>
|
||||||
<name>Geoportal Logic</name>
|
<name>Geoportal Logic</name>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -198,8 +198,8 @@ public abstract class AbstractRecordManager<T extends Record> {
|
||||||
|
|
||||||
private void commit() {
|
private void commit() {
|
||||||
log.debug("Successufully committing "+theRecord);
|
log.debug("Successufully committing "+theRecord);
|
||||||
entityManager.flush();
|
// entityManager.flush();
|
||||||
entityManager.clear();
|
// entityManager.clear();
|
||||||
transaction.commit();
|
transaction.commit();
|
||||||
log.debug("Calling postCommit");
|
log.debug("Calling postCommit");
|
||||||
postcommit();
|
postcommit();
|
||||||
|
@ -228,18 +228,20 @@ public abstract class AbstractRecordManager<T extends Record> {
|
||||||
toReturn.addChild(contentHandler.storeChanges());
|
toReturn.addChild(contentHandler.storeChanges());
|
||||||
|
|
||||||
commit();
|
commit();
|
||||||
transaction.begin();
|
|
||||||
|
|
||||||
if(publish) {
|
if(publish) {
|
||||||
|
transaction.begin();
|
||||||
toReturn.addChild(contentHandler.publish());
|
toReturn.addChild(contentHandler.publish());
|
||||||
commit();
|
commit();
|
||||||
|
|
||||||
log.debug("Registering centroid of "+theRecord);
|
log.debug("Registering centroid of "+theRecord);
|
||||||
|
transaction.begin();
|
||||||
registerCentroid();
|
registerCentroid();
|
||||||
toReturn.addMessage(ValidationStatus.PASSED, "Inserito centroide per record "+theRecord.getId());
|
toReturn.addMessage(ValidationStatus.PASSED, "Inserito centroide per record "+theRecord.getId());
|
||||||
|
commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
log.debug("Committing session for "+theRecord);
|
|
||||||
commit();
|
|
||||||
} catch (PersistenceException e) {
|
} catch (PersistenceException e) {
|
||||||
toReturn.addChild(e.getReport());
|
toReturn.addChild(e.getReport());
|
||||||
log.warn("Unexpected internal exception ",e);
|
log.warn("Unexpected internal exception ",e);
|
||||||
|
|
|
@ -18,10 +18,10 @@ public class ShapeFilesTest {
|
||||||
System.out.println("File "+shp.getAbsolutePath()+" : "+shp.getTotalSpace()+"b");
|
System.out.println("File "+shp.getAbsolutePath()+" : "+shp.getTotalSpace()+"b");
|
||||||
// DataStoreFinder.scanForPlugins();
|
// DataStoreFinder.scanForPlugins();
|
||||||
System.out.println("Factories are");
|
System.out.println("Factories are");
|
||||||
DataStoreFinder.getAllFactories(null).forEach((DataStoreFactory f)->{
|
// DataStoreFinder.getAllFactories(null).forEach((DataStoreFactory f)->{
|
||||||
System.out.println(f.getDisplayName()+"\t"+f.getDescription());
|
// System.out.println(f.getDisplayName()+"\t"+f.getDescription());
|
||||||
});
|
// });
|
||||||
System.out.println();
|
System.out.println("Opening : "+shp.toURI().toURL());
|
||||||
DataStore inputDataStore = DataStoreFinder.open(
|
DataStore inputDataStore = DataStoreFinder.open(
|
||||||
Collections.singletonMap("url", shp.toURI().toURL()));
|
Collections.singletonMap("url", shp.toURI().toURL()));
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ public class TestModel {
|
||||||
|
|
||||||
// Piante fine scavo
|
// Piante fine scavo
|
||||||
ArrayList<LayerConcessione> piante=new ArrayList<LayerConcessione>();
|
ArrayList<LayerConcessione> piante=new ArrayList<LayerConcessione>();
|
||||||
for(int i=0;i<2;i++) {
|
for(int i=0;i<5;i++) {
|
||||||
LayerConcessione pianta=new LayerConcessione();
|
LayerConcessione pianta=new LayerConcessione();
|
||||||
pianta.setValutazioneQualita("Secondo me si");
|
pianta.setValutazioneQualita("Secondo me si");
|
||||||
pianta.setMetodoRaccoltaDati("Fattobbene");
|
pianta.setMetodoRaccoltaDati("Fattobbene");
|
||||||
|
|
|
@ -3,6 +3,7 @@ package org.gcube.application.geoportal;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.application.geoportal.managers.AbstractRecordManager;
|
import org.gcube.application.geoportal.managers.AbstractRecordManager;
|
||||||
import org.gcube.application.geoportal.managers.ConcessioneManager;
|
import org.gcube.application.geoportal.managers.ConcessioneManager;
|
||||||
|
@ -35,7 +36,7 @@ public class UseCases {
|
||||||
|
|
||||||
|
|
||||||
//CREATE NEW
|
//CREATE NEW
|
||||||
int numConcessioni=1;
|
int numConcessioni=3 ;
|
||||||
Concessione registered=null;
|
Concessione registered=null;
|
||||||
System.out.println("Try to create.. "+numConcessioni);
|
System.out.println("Try to create.. "+numConcessioni);
|
||||||
for(int i=0;i<numConcessioni;i++)
|
for(int i=0;i<numConcessioni;i++)
|
||||||
|
@ -117,15 +118,17 @@ public class UseCases {
|
||||||
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.shp")),"pos.shp"),
|
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.shp")),"pos.shp"),
|
||||||
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.shx")),"pos.shx"));
|
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.shx")),"pos.shx"));
|
||||||
|
|
||||||
for(LayerConcessione layer:TestModel.prepareConcessione().getPianteFineScavo())
|
List<LayerConcessione> ls=TestModel.prepareConcessione().getPianteFineScavo();
|
||||||
|
for(int i=0;i<ls.size();i++) {
|
||||||
|
LayerConcessione layer=ls.get(i);
|
||||||
//Istruisco il manager per gestire il/i payload del layer, specificando i nomi dei file originali
|
//Istruisco il manager per gestire il/i payload del layer, specificando i nomi dei file originali
|
||||||
manager.addPiantaFineScavo(layer,
|
manager.addPiantaFineScavo(layer,
|
||||||
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.dbf")),"qualche Pianta.dbf"),
|
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.dbf")),"qualche Pianta "+i+".dbf"),
|
||||||
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.prj")),"qualche Pianta.prj"),
|
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.prj")),"qualche Pianta "+i+".prj"),
|
||||||
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.qpj")),"qualche Pianta.qpj"),
|
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.qpj")),"qualche Pianta "+i+".qpj"),
|
||||||
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.shp")),"qualche Pianta.shp"),
|
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.shp")),"qualche Pianta "+i+".shp"),
|
||||||
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.shx")),"qualche Pianta.shx"));
|
new InputStreamDescriptor(new FileInputStream(Files.getFileFromResources("concessioni/pos.shx")),"qualche Pianta "+i+".shx"));
|
||||||
|
}
|
||||||
|
|
||||||
//If true -> data are published into the SDI
|
//If true -> data are published into the SDI
|
||||||
Boolean publish=true;
|
Boolean publish=true;
|
||||||
|
@ -146,8 +149,8 @@ public class UseCases {
|
||||||
*scrittura sul DB di applicazione sia dei meta che dei vari link */
|
*scrittura sul DB di applicazione sia dei meta che dei vari link */
|
||||||
|
|
||||||
//Metodo con eccezioni
|
//Metodo con eccezioni
|
||||||
Concessione registered=manager.commit(publish);
|
// Concessione registered=manager.commit(publish);
|
||||||
|
manager.commitSafely(true);
|
||||||
|
|
||||||
//Metodo con report
|
//Metodo con report
|
||||||
// PublicationReport pubReport=manager.commitSafely(publish);
|
// PublicationReport pubReport=manager.commitSafely(publish);
|
||||||
|
@ -158,8 +161,8 @@ public class UseCases {
|
||||||
// System.out.println("Report is "+pubReport.prettyPrint());
|
// System.out.println("Report is "+pubReport.prettyPrint());
|
||||||
// Assert.assertFalse(pubReport.getStatus().equals(ValidationStatus.ERROR));
|
// Assert.assertFalse(pubReport.getStatus().equals(ValidationStatus.ERROR));
|
||||||
|
|
||||||
manager.close();
|
// manager.close();
|
||||||
return registered;
|
return manager.getRecord();
|
||||||
//--- FINALLY --/
|
//--- FINALLY --/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
package org.gcube.application.geoportal;
|
package org.gcube.application.geoportal;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.application.geoportal.utils.Workspace;
|
import org.gcube.application.geoportal.utils.Workspace;
|
||||||
import org.gcube.common.storagehub.client.dsl.FileContainer;
|
import org.gcube.common.storagehub.client.dsl.ContainerType;
|
||||||
|
import org.gcube.common.storagehub.client.dsl.FolderContainer;
|
||||||
import org.gcube.common.storagehub.client.dsl.ItemContainer;
|
import org.gcube.common.storagehub.client.dsl.ItemContainer;
|
||||||
import org.gcube.common.storagehub.client.dsl.ListResolver;
|
import org.gcube.common.storagehub.client.dsl.ListResolver;
|
||||||
|
import org.gcube.common.storagehub.client.dsl.ListResolverTyped;
|
||||||
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
|
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
|
||||||
import org.gcube.common.storagehub.model.exceptions.StorageHubException;
|
import org.gcube.common.storagehub.model.exceptions.StorageHubException;
|
||||||
import org.gcube.common.storagehub.model.items.Item;
|
import org.gcube.common.storagehub.model.items.Item;
|
||||||
|
@ -11,22 +15,32 @@ import org.gcube.common.storagehub.model.items.Item;
|
||||||
public class WSTests {
|
public class WSTests {
|
||||||
|
|
||||||
public static void main(String[] args) throws StorageHubException {
|
public static void main(String[] args) throws StorageHubException {
|
||||||
TokenSetter.set("/gcube/devNext/NextNext");
|
TokenSetter.set("/gcube/devsec/devVRE");
|
||||||
|
|
||||||
StorageHubClient client=Workspace.getClient();
|
StorageHubClient client=Workspace.getClient();
|
||||||
String id="9e397c1f-0b52-4b59-b247-e5ef301978ed";
|
String id="f835cd8a-0a92-4266-8c33-0b05e202ed94";
|
||||||
|
|
||||||
ItemContainer item=client.open(id).asItem();
|
// FolderContainer item=client.open(id).asFolder();
|
||||||
|
|
||||||
|
FolderContainer item=client.openVREFolder().openByRelativePath(".GNA_RECORDS").asFolder();
|
||||||
System.out.println(item.get().getPath());
|
System.out.println(item.get().getPath());
|
||||||
// switch(item.getType()) {
|
// switch(item.getType()) {
|
||||||
// case FILE :
|
// case FILE :
|
||||||
// FileContainer file=(FileContainer) item;
|
// FileContainer file=(FileContainer) item;
|
||||||
// file.getAnchestors();
|
// file.getAnchestors();
|
||||||
|
// case FOLDER :
|
||||||
// }
|
// }
|
||||||
System.out.println(path(item));
|
// System.out.println(path(item));
|
||||||
|
//
|
||||||
|
// System.out.println("TREE : ");
|
||||||
|
|
||||||
|
boolean showHidden=true;
|
||||||
|
printTree("", item,showHidden);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static String path(ItemContainer item) throws StorageHubException {
|
public static String path(ItemContainer item) throws StorageHubException {
|
||||||
StringBuilder builder=new StringBuilder();
|
StringBuilder builder=new StringBuilder();
|
||||||
ListResolver resolver=item.getAnchestors();
|
ListResolver resolver=item.getAnchestors();
|
||||||
|
@ -36,4 +50,22 @@ public class WSTests {
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static void printTree(String padding,ItemContainer item,boolean showHidden){
|
||||||
|
System.out.println(padding + "" +item.get().getName() +" [ID : "+item.getId()+", hidden = "+item.get().isHidden()+"]" );
|
||||||
|
if(item.getType().equals(ContainerType.FOLDER)) {
|
||||||
|
FolderContainer c =((FolderContainer)item);
|
||||||
|
String newPadding=padding+"\t";
|
||||||
|
List<? extends ItemContainer> l;
|
||||||
|
try {
|
||||||
|
ListResolverTyped lt=c.list();
|
||||||
|
if(showHidden)lt.includeHidden();
|
||||||
|
l = lt.getContainers();
|
||||||
|
} catch (StorageHubException e) {
|
||||||
|
throw new RuntimeException("Errore",e);
|
||||||
|
}
|
||||||
|
l.forEach((ItemContainer i)->{printTree(newPadding, i,showHidden);});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
log4j.rootLogger=WARN, stdout
|
log4j.rootLogger=ERROR, stdout
|
||||||
|
|
||||||
log4j.logger.org.gcube.application=DEBUG, stdout
|
log4j.logger.org.gcube.application=DEBUG, stdout
|
||||||
#CONSOLE
|
#CONSOLE
|
||||||
|
|
Loading…
Reference in New Issue