git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/data-publishing/gCat-Feeder-Suite@178814 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
a078f1026c
commit
e3bf07b1aa
|
@ -4,4 +4,18 @@ public class Constants {
|
||||||
|
|
||||||
public static final String GCAT_TYPE="GCAT";
|
public static final String GCAT_TYPE="GCAT";
|
||||||
|
|
||||||
|
public static final String PLUGIN_ID="DATAMINER_ALGORITHMS_COLLECTOR";
|
||||||
|
|
||||||
|
public static final String ENVIRONMENT_PROPERTIES_BASE=PLUGIN_ID+".";
|
||||||
|
|
||||||
|
|
||||||
|
// ENVIRONMENT EXPECTED PARAMETERS
|
||||||
|
public static final String GUI_BASE_URL=ENVIRONMENT_PROPERTIES_BASE+"GUI_BASE_URL";
|
||||||
|
|
||||||
|
public static final String DEFAULT_AUTHOR=ENVIRONMENT_PROPERTIES_BASE+"DEFAULT_AUTHOR";
|
||||||
|
|
||||||
|
public static final String DEFAULT_MAINTAINER=ENVIRONMENT_PROPERTIES_BASE+"DEFAULT_MAINTAINER";
|
||||||
|
|
||||||
|
public static final String VISIBILITY=ENVIRONMENT_PROPERTIES_BASE+"VISIBILITY";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package org.gcube.data.publishing.gCatFeeder.collectors.dm;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.data.analysis.dataminermanagercl.server.DataMinerService;
|
import org.gcube.data.analysis.dataminermanagercl.server.DataMinerService;
|
||||||
|
@ -11,6 +12,7 @@ import org.gcube.data.analysis.dataminermanagercl.shared.process.OperatorCategor
|
||||||
import org.gcube.data.analysis.dataminermanagercl.shared.process.OperatorsClassification;
|
import org.gcube.data.analysis.dataminermanagercl.shared.process.OperatorsClassification;
|
||||||
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor;
|
||||||
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor.Parameter;
|
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor.Parameter;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.DataCollector;
|
import org.gcube.data.publishing.gCatfeeder.collectors.DataCollector;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.model.faults.CollectorFault;
|
import org.gcube.data.publishing.gCatfeeder.collectors.model.faults.CollectorFault;
|
||||||
|
|
||||||
|
@ -19,6 +21,13 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class DMAlgorithmsInfoCollector implements DataCollector<InternalAlgorithmDescriptor> {
|
public class DMAlgorithmsInfoCollector implements DataCollector<InternalAlgorithmDescriptor> {
|
||||||
|
|
||||||
|
private Map<String,String> env=null;
|
||||||
|
|
||||||
|
|
||||||
|
public void setEnvironmentConfiguration(EnvironmentConfiguration envConfig) {
|
||||||
|
this.env=envConfig.getCurrentConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<InternalAlgorithmDescriptor> collect() throws CollectorFault {
|
public Set<InternalAlgorithmDescriptor> collect() throws CollectorFault {
|
||||||
|
@ -70,8 +79,8 @@ public class DMAlgorithmsInfoCollector implements DataCollector<InternalAlgorith
|
||||||
desc.setId(opID);
|
desc.setId(opID);
|
||||||
desc.setName(operatorName);
|
desc.setName(operatorName);
|
||||||
|
|
||||||
desc.setAuthor(DataMinerCollectorProperties.getProperty(DataMinerCollectorProperties.DEFAULT_AUTHOR));
|
desc.setAuthor(getAuthor(opDescription));
|
||||||
desc.setMaintainer(DataMinerCollectorProperties.getProperty(DataMinerCollectorProperties.DEFAULT_AUTHOR));
|
desc.setMaintainer(desc.getAuthor());
|
||||||
// Parameters info
|
// Parameters info
|
||||||
for(org.gcube.data.analysis.dataminermanagercl.shared.parameters.Parameter param:op.getOperatorParameters()) {
|
for(org.gcube.data.analysis.dataminermanagercl.shared.parameters.Parameter param:op.getOperatorParameters()) {
|
||||||
String paramDescription=param.getDescription();
|
String paramDescription=param.getDescription();
|
||||||
|
@ -87,6 +96,12 @@ public class DMAlgorithmsInfoCollector implements DataCollector<InternalAlgorith
|
||||||
|
|
||||||
desc.getTags().add(categoryName);
|
desc.getTags().add(categoryName);
|
||||||
|
|
||||||
|
desc.setGuiLink(getGUIBasePath()+"?"+
|
||||||
|
DataMinerCollectorProperties.getProperty(DataMinerCollectorProperties.GUI_PARAM_NAME)+"="+opID);
|
||||||
|
|
||||||
|
|
||||||
|
desc.setVisibility(env.get(Constants.VISIBILITY));
|
||||||
|
|
||||||
toReturn.add(desc);
|
toReturn.add(desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,4 +121,27 @@ public class DMAlgorithmsInfoCollector implements DataCollector<InternalAlgorith
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String getGUIBasePath() {
|
||||||
|
return env.get(Constants.GUI_BASE_URL);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getAuthor(String algorithmDescription) {
|
||||||
|
String toReturn=parseDescription(algorithmDescription);
|
||||||
|
if(toReturn==null)
|
||||||
|
toReturn=env.get(Constants.DEFAULT_AUTHOR);
|
||||||
|
if(toReturn==null)
|
||||||
|
toReturn=DataMinerCollectorProperties.getProperty(DataMinerCollectorProperties.DEFAULT_AUTHOR);
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static final String parseDescription(String description) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private final String getWPSBasePath() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,10 @@ import java.util.Properties;
|
||||||
public class DataMinerCollectorProperties {
|
public class DataMinerCollectorProperties {
|
||||||
|
|
||||||
public static final String DEFAULT_AUTHOR="default_author";
|
public static final String DEFAULT_AUTHOR="default_author";
|
||||||
|
public static final String GUI_PARAM_NAME="gui_param_name";
|
||||||
|
public static final String CKAN_RESOURCE_TYPE="DataMiner Process";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static Properties props;
|
private static Properties props;
|
||||||
|
|
|
@ -4,13 +4,13 @@ import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Properties;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor;
|
||||||
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.ckan.GCatModel;
|
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.ckan.GCatModel;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration;
|
import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.CatalogueRetriever;
|
import org.gcube.data.publishing.gCatfeeder.collectors.CatalogueRetriever;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.CollectorPlugin;
|
import org.gcube.data.publishing.gCatfeeder.collectors.CollectorPlugin;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.DataCollector;
|
import org.gcube.data.publishing.gCatfeeder.collectors.DataCollector;
|
||||||
|
@ -29,7 +29,7 @@ public class DataMinerPlugin implements CollectorPlugin<InternalAlgorithmDescrip
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PluginDescriptor getDescriptor() {
|
public PluginDescriptor getDescriptor() {
|
||||||
return new PluginDescriptor("DATA_MINER_ALGORITHMS");
|
return new PluginDescriptor(Constants.PLUGIN_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -83,4 +83,10 @@ public class DataMinerPlugin implements CollectorPlugin<InternalAlgorithmDescrip
|
||||||
return new ControllerConfiguration();
|
return new ControllerConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnvironmentConfiguration(EnvironmentConfiguration env) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,9 +16,9 @@ public class GCATRetriever implements CatalogueRetriever {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CatalogueInstanceDescriptor getInstance() {
|
public CatalogueInstanceDescriptor getInstance() {
|
||||||
throw new RuntimeException("Implement this");
|
// throw new RuntimeException("Implement this");
|
||||||
// GCoreEndpoint ep=ISUtils.queryForGCoreEndpoint("NO", "NO");
|
// GCoreEndpoint ep=ISUtils.queryForGCoreEndpoint("NO", "NO");
|
||||||
// return null;
|
return new CatalogueInstanceDescriptor();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,10 @@ public class InternalAlgorithmDescriptor implements CustomData {
|
||||||
|
|
||||||
private Set<Parameter> parameters=new HashSet<>();
|
private Set<Parameter> parameters=new HashSet<>();
|
||||||
|
|
||||||
|
private String guiLink;
|
||||||
|
private String wpsLink;
|
||||||
|
|
||||||
|
private String visibility;
|
||||||
|
|
||||||
|
|
||||||
private List<String> tags=new ArrayList<>();
|
private List<String> tags=new ArrayList<>();
|
||||||
|
|
|
@ -2,6 +2,9 @@ package org.gcube.data.publishing.gCatFeeder.collectors.dm.model.ckan;
|
||||||
|
|
||||||
public class CkanResource {
|
public class CkanResource {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
private String description;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package org.gcube.data.publishing.gCatFeeder.collectors.dm.model.ckan;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.collectors.dm.DataMinerCollectorProperties;
|
||||||
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor;
|
||||||
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor.Parameter;
|
import org.gcube.data.publishing.gCatFeeder.collectors.dm.model.InternalAlgorithmDescriptor.Parameter;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
||||||
|
@ -40,7 +41,9 @@ public class GCatModel implements CatalogueFormatData {
|
||||||
for(String tag:desc.getTags()) {
|
for(String tag:desc.getTags()) {
|
||||||
item.getTags().add(fixTag(tag));
|
item.getTags().add(fixTag(tag));
|
||||||
}
|
}
|
||||||
item.getExtras().add(new CKanExtraField("system", "Algorithm"));
|
item.getExtras().add(new CKanExtraField("system", DataMinerCollectorProperties.getProperty(DataMinerCollectorProperties.CKAN_RESOURCE_TYPE)));
|
||||||
|
|
||||||
|
item.setVisibility(desc.getVisibility());
|
||||||
|
|
||||||
// TODO ADD PARAMETERS
|
// TODO ADD PARAMETERS
|
||||||
for(Parameter param: desc.getParameters())
|
for(Parameter param: desc.getParameters())
|
||||||
|
@ -50,7 +53,6 @@ public class GCatModel implements CatalogueFormatData {
|
||||||
((param.getValue()!=null&&!param.getValue().isEmpty())?"default : "+param.getValue():""),
|
((param.getValue()!=null&&!param.getValue().isEmpty())?"default : "+param.getValue():""),
|
||||||
param.getDescription())));
|
param.getDescription())));
|
||||||
|
|
||||||
|
|
||||||
// TODO ADD RESOURCES
|
// TODO ADD RESOURCES
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
default_author=gianpaolo.coro
|
default_author=gianpaolo.coro
|
||||||
|
gui_param_name=OperatorId
|
|
@ -1,8 +1,14 @@
|
||||||
<metadataformat type="Algorithm">
|
<metadataformat type="DataMiner Process">
|
||||||
<metadatafield>
|
<metadatafield>
|
||||||
<fieldName>Input Parameter</fieldName>
|
<fieldName>Input Parameter</fieldName>
|
||||||
<dataType>String</dataType>
|
<dataType>String</dataType>
|
||||||
<mandatory>false</mandatory>
|
<mandatory>false</mandatory>
|
||||||
<note>Input parameter expected for the execution of the algorithm</note>
|
<note>Input parameter expected for the execution of the process</note>
|
||||||
</metadatafield>
|
</metadatafield>
|
||||||
|
<metadatafield>
|
||||||
|
<fieldName>Output Parameter</fieldName>
|
||||||
|
<dataType>String</dataType>
|
||||||
|
<mandatory>false</mandatory>
|
||||||
|
<note>Output parameter expected from the execution of the process</note>
|
||||||
|
</metadatafield>
|
||||||
</metadataformat>
|
</metadataformat>
|
|
@ -3,6 +3,7 @@ package org.gcube.data.publishing.gCatFeeder.catalogues;
|
||||||
import org.gcube.data.publishing.gCatFeeder.catalogues.model.CataloguePluginDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.catalogues.model.CataloguePluginDescriptor;
|
||||||
import org.gcube.data.publishing.gCatFeeder.catalogues.model.faults.ControllerInstantiationFault;
|
import org.gcube.data.publishing.gCatFeeder.catalogues.model.faults.ControllerInstantiationFault;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
|
|
||||||
public interface CataloguePlugin {
|
public interface CataloguePlugin {
|
||||||
|
|
||||||
|
@ -14,4 +15,7 @@ public interface CataloguePlugin {
|
||||||
public void init() throws Exception;
|
public void init() throws Exception;
|
||||||
|
|
||||||
public void initInScope() throws Exception;
|
public void initInScope() throws Exception;
|
||||||
|
|
||||||
|
public void setEnvironmentConfiguration(EnvironmentConfiguration env);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration;
|
import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.model.CustomData;
|
import org.gcube.data.publishing.gCatfeeder.collectors.model.CustomData;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.model.PluginDescriptor;
|
import org.gcube.data.publishing.gCatfeeder.collectors.model.PluginDescriptor;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.model.faults.CatalogueNotSupportedException;
|
import org.gcube.data.publishing.gCatfeeder.collectors.model.faults.CatalogueNotSupportedException;
|
||||||
|
@ -26,4 +27,7 @@ public interface CollectorPlugin<E extends CustomData>{
|
||||||
public void init() throws Exception;
|
public void init() throws Exception;
|
||||||
|
|
||||||
public void initInScope() throws Exception;
|
public void initInScope() throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
public void setEnvironmentConfiguration(EnvironmentConfiguration env);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
package org.gcube.data.publishing.gCatFeeder.model;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface EnvironmentConfiguration {
|
||||||
|
|
||||||
|
public Map<String,String> getCurrentConfiguration();
|
||||||
|
|
||||||
|
}
|
|
@ -6,6 +6,7 @@ import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.gcube.common.resources.gcore.GCoreEndpoint;
|
import org.gcube.common.resources.gcore.GCoreEndpoint;
|
||||||
|
import org.gcube.common.resources.gcore.GenericResource;
|
||||||
import org.gcube.common.resources.gcore.ServiceEndpoint;
|
import org.gcube.common.resources.gcore.ServiceEndpoint;
|
||||||
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
||||||
import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
|
import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
|
||||||
|
@ -45,4 +46,18 @@ public class ISUtils {
|
||||||
return client.submit(query);
|
return client.submit(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static List<GenericResource> queryForGenericResources(String name,String secondaryType) {
|
||||||
|
log.debug("Querying for Generic Resource [Name : {} , SecondaryType : {}, currentScope : {} ]",secondaryType,name,ContextUtils.getCurrentScope());
|
||||||
|
|
||||||
|
|
||||||
|
SimpleQuery query =queryFor(GenericResource.class);
|
||||||
|
query.addCondition("$resource/Profile/SecondaryType/text() eq '"+secondaryType+"'")
|
||||||
|
.addCondition("$resource/Profile/Name/text() eq '"+name+"'");
|
||||||
|
// .setResult("$resource/Profile/AccessPoint");
|
||||||
|
|
||||||
|
DiscoveryClient<GenericResource> client = clientFor(GenericResource.class);
|
||||||
|
return client.submit(query);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import org.gcube.data.publishing.gCatFeeder.catalogues.CataloguePlugin;
|
||||||
import org.gcube.data.publishing.gCatFeeder.catalogues.model.CataloguePluginDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.catalogues.model.CataloguePluginDescriptor;
|
||||||
import org.gcube.data.publishing.gCatFeeder.catalogues.model.faults.ControllerInstantiationFault;
|
import org.gcube.data.publishing.gCatFeeder.catalogues.model.faults.ControllerInstantiationFault;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
|
|
||||||
public class GCatPlugin implements CataloguePlugin {
|
public class GCatPlugin implements CataloguePlugin {
|
||||||
|
|
||||||
|
@ -31,4 +32,10 @@ public class GCatPlugin implements CataloguePlugin {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnvironmentConfiguration(EnvironmentConfiguration env) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,6 +71,12 @@ public class Interactions extends BaseCataloguePluginTest{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDM() throws CatalogueInteractionException, WrongObjectFormatException, PublicationException, InternalConversionException, ControllerInstantiationFault {
|
||||||
|
Assume.assumeTrue(isTestInfrastructureEnabled());
|
||||||
|
publish(getController(),"full-algorithm.json");
|
||||||
|
}
|
||||||
|
|
||||||
@Test(expected=WrongObjectFormatException.class)
|
@Test(expected=WrongObjectFormatException.class)
|
||||||
public void empties() throws CatalogueInteractionException, WrongObjectFormatException, PublicationException, ControllerInstantiationFault, InternalConversionException {
|
public void empties() throws CatalogueInteractionException, WrongObjectFormatException, PublicationException, ControllerInstantiationFault, InternalConversionException {
|
||||||
Assume.assumeTrue(isTestInfrastructureEnabled());
|
Assume.assumeTrue(isTestInfrastructureEnabled());
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#Generated by Maven Integration for Eclipse
|
#Generated by Maven Integration for Eclipse
|
||||||
#Mon Apr 01 15:14:16 CEST 2019
|
#Tue Apr 02 17:12:53 CEST 2019
|
||||||
version=1.0.0-SNAPSHOT
|
version=1.0.0-SNAPSHOT
|
||||||
groupId=org.gcube.data-publishing.gCat-Feeder
|
groupId=org.gcube.data-publishing.gCat-Feeder
|
||||||
m2e.projectName=gCat-Controller
|
m2e.projectName=gCat-Controller
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -3,6 +3,7 @@ package org.gcube.data.publishing.gCatFeeder.service;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import javax.ws.rs.ApplicationPath;
|
import javax.ws.rs.ApplicationPath;
|
||||||
|
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.CatalogueControllersManager;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.CatalogueControllersManager;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.CollectorsManager;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.CollectorsManager;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.ConnectionManager;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.ConnectionManager;
|
||||||
|
@ -17,6 +18,7 @@ import org.gcube.data.publishing.gCatFeeder.service.engine.impl.CollectorsManage
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.ExecutionManagerImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.ExecutionManagerImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.FeederEngineImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.FeederEngineImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.InfrastructureUtilsImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.InfrastructureUtilsImpl;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.LiveEnvironmentConfiguration;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.LocalConfigurationImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.LocalConfigurationImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.ConnectionManagerImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.ConnectionManagerImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.PersistenceManagerImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.PersistenceManagerImpl;
|
||||||
|
@ -44,6 +46,8 @@ public class GCatFeeder extends ResourceConfig{
|
||||||
bind(PersistenceManagerImpl.class).to(PersistenceManager.class);
|
bind(PersistenceManagerImpl.class).to(PersistenceManager.class);
|
||||||
bind(ConnectionManagerImpl.class).to(ConnectionManager.class).in(Singleton.class);
|
bind(ConnectionManagerImpl.class).to(ConnectionManager.class).in(Singleton.class);
|
||||||
bind(LocalConfigurationImpl.class).to(LocalConfiguration.class).in(Singleton.class);
|
bind(LocalConfigurationImpl.class).to(LocalConfiguration.class).in(Singleton.class);
|
||||||
|
bind(LiveEnvironmentConfiguration.class).to(EnvironmentConfiguration.class);
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
register(binder);
|
register(binder);
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.gcube.data.publishing.gCatFeeder.service.engine;
|
package org.gcube.data.publishing.gCatFeeder.service.engine;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.DatabaseConnectionDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.DatabaseConnectionDescriptor;
|
||||||
|
|
||||||
public interface Infrastructure {
|
public interface Infrastructure {
|
||||||
|
@ -19,4 +21,7 @@ public interface Infrastructure {
|
||||||
//
|
//
|
||||||
|
|
||||||
public DatabaseConnectionDescriptor queryForDatabase(String category,String name) throws InternalError;
|
public DatabaseConnectionDescriptor queryForDatabase(String category,String name) throws InternalError;
|
||||||
|
|
||||||
|
|
||||||
|
public Map<String,String> getEnvironmentConfigurationParameters();
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ import org.gcube.data.publishing.gCatFeeder.catalogues.model.faults.PublicationE
|
||||||
import org.gcube.data.publishing.gCatFeeder.catalogues.model.faults.WrongObjectFormatException;
|
import org.gcube.data.publishing.gCatFeeder.catalogues.model.faults.WrongObjectFormatException;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.InternalConversionException;
|
import org.gcube.data.publishing.gCatFeeder.model.InternalConversionException;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.CatalogueControllersManager;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.CatalogueControllersManager;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.CollectorsManager;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.CollectorsManager;
|
||||||
|
@ -51,6 +52,9 @@ public class ExecutionTask implements Runnable {
|
||||||
|
|
||||||
private Storage storage;
|
private Storage storage;
|
||||||
|
|
||||||
|
|
||||||
|
private EnvironmentConfiguration environmentConfiguration;
|
||||||
|
|
||||||
public ExecutionTask(ExecutionDescriptor desc) {
|
public ExecutionTask(ExecutionDescriptor desc) {
|
||||||
super();
|
super();
|
||||||
this.request=desc;
|
this.request=desc;
|
||||||
|
@ -110,6 +114,10 @@ public class ExecutionTask implements Runnable {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setEnvironmentConfiguration(EnvironmentConfiguration environmentConfiguration) {
|
||||||
|
this.environmentConfiguration = environmentConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
|
@ -186,6 +194,7 @@ public class ExecutionTask implements Runnable {
|
||||||
log.debug("Looking for catalogue instance ..");
|
log.debug("Looking for catalogue instance ..");
|
||||||
CatalogueRetriever retriever=collectorPlugin.getRetrieverByCatalogueType(cataloguePluginId);
|
CatalogueRetriever retriever=collectorPlugin.getRetrieverByCatalogueType(cataloguePluginId);
|
||||||
CatalogueInstanceDescriptor instanceDescriptor=retriever.getInstance();
|
CatalogueInstanceDescriptor instanceDescriptor=retriever.getInstance();
|
||||||
|
cataloguePlugin.setEnvironmentConfiguration(environmentConfiguration);
|
||||||
CatalogueController controller=cataloguePlugin.instantiateController(instanceDescriptor);
|
CatalogueController controller=cataloguePlugin.instantiateController(instanceDescriptor);
|
||||||
|
|
||||||
controller.configure(collectorPlugin.getPublisherControllerConfiguration(cataloguePluginId));
|
controller.configure(collectorPlugin.getPublisherControllerConfiguration(cataloguePluginId));
|
||||||
|
@ -252,6 +261,7 @@ public class ExecutionTask implements Runnable {
|
||||||
// * COLLECT DATA
|
// * COLLECT DATA
|
||||||
log.info("Starting collector {} ",collectorId);
|
log.info("Starting collector {} ",collectorId);
|
||||||
CollectorPlugin collectorPlugin=collectors.getPluginById(collectorId);
|
CollectorPlugin collectorPlugin=collectors.getPluginById(collectorId);
|
||||||
|
collectorPlugin.setEnvironmentConfiguration(environmentConfiguration);
|
||||||
DataCollector collector=collectorPlugin.getCollector();
|
DataCollector collector=collectorPlugin.getCollector();
|
||||||
log.info("Collecting data..");
|
log.info("Collecting data..");
|
||||||
Set collectedData=collector.collect();
|
Set collectedData=collector.collect();
|
||||||
|
|
|
@ -3,8 +3,17 @@ package org.gcube.data.publishing.gCatFeeder.service.engine.impl;
|
||||||
import static org.gcube.resources.discovery.icclient.ICFactory.clientFor;
|
import static org.gcube.resources.discovery.icclient.ICFactory.clientFor;
|
||||||
import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
|
import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.xml.parsers.ParserConfigurationException;
|
||||||
|
import javax.xml.xpath.XPath;
|
||||||
|
import javax.xml.xpath.XPathExpression;
|
||||||
|
import javax.xml.xpath.XPathExpressionException;
|
||||||
|
import javax.xml.xpath.XPathFactory;
|
||||||
|
|
||||||
import org.gcube.common.resources.gcore.ServiceEndpoint;
|
import org.gcube.common.resources.gcore.ServiceEndpoint;
|
||||||
import org.gcube.common.resources.gcore.ServiceEndpoint.AccessPoint;
|
import org.gcube.common.resources.gcore.ServiceEndpoint.AccessPoint;
|
||||||
|
@ -12,16 +21,47 @@ import org.gcube.data.publishing.gCatFeeder.service.engine.Infrastructure;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.DatabaseConnectionDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.DatabaseConnectionDescriptor;
|
||||||
import org.gcube.data.publishing.gCatFeeder.utils.CommonUtils;
|
import org.gcube.data.publishing.gCatFeeder.utils.CommonUtils;
|
||||||
import org.gcube.data.publishing.gCatFeeder.utils.ContextUtils;
|
import org.gcube.data.publishing.gCatFeeder.utils.ContextUtils;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.utils.ISUtils;
|
||||||
import org.gcube.data.publishing.gCatFeeder.utils.TokenUtils;
|
import org.gcube.data.publishing.gCatFeeder.utils.TokenUtils;
|
||||||
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
||||||
import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
|
import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
public class InfrastructureUtilsImpl implements Infrastructure {
|
public class InfrastructureUtilsImpl implements Infrastructure {
|
||||||
|
|
||||||
private static final Logger log= LoggerFactory.getLogger(InfrastructureUtilsImpl.class);
|
private static final Logger log= LoggerFactory.getLogger(InfrastructureUtilsImpl.class);
|
||||||
|
|
||||||
|
private static DocumentBuilder builder;
|
||||||
|
private static DocumentBuilderFactory factory;
|
||||||
|
private static XPathFactory xPathfactory;
|
||||||
|
private static XPath xpath;
|
||||||
|
private static XPathExpression expr;
|
||||||
|
|
||||||
|
|
||||||
|
static {
|
||||||
|
|
||||||
|
factory= DocumentBuilderFactory.newInstance();
|
||||||
|
xPathfactory = XPathFactory.newInstance();
|
||||||
|
xpath = xPathfactory.newXPath();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
builder= factory.newDocumentBuilder();
|
||||||
|
expr= xpath.compile("string(/bookstore/book/title/@lang)");
|
||||||
|
} catch (ParserConfigurationException | XPathExpressionException e) {
|
||||||
|
throw new RuntimeException("Unable to initialize Controller");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getCurrentToken() {
|
public String getCurrentToken() {
|
||||||
return TokenUtils.getCurrentToken();
|
return TokenUtils.getCurrentToken();
|
||||||
|
@ -91,4 +131,17 @@ public class InfrastructureUtilsImpl implements Infrastructure {
|
||||||
|
|
||||||
return toReturn;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, String> getEnvironmentConfigurationParameters() {
|
||||||
|
HashMap<String,String> toReturn=new HashMap<>();
|
||||||
|
Element root=(Element) ISUtils.queryForGenericResources("gcat-feeder", "configuration").get(0).profile().body().getChildNodes().item(0);
|
||||||
|
NodeList parameters=root.getChildNodes();
|
||||||
|
for(int i=0;i<parameters.getLength();i++) {
|
||||||
|
String value=parameters.item(i).getTextContent();
|
||||||
|
String key=parameters.item(i).getNodeName();
|
||||||
|
toReturn.put(key, value);
|
||||||
|
}
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
package org.gcube.data.publishing.gCatFeeder.service.engine.impl;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.service.engine.Infrastructure;
|
||||||
|
|
||||||
|
public class LiveEnvironmentConfiguration implements EnvironmentConfiguration {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private Infrastructure infra;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, String> getCurrentConfiguration() {
|
||||||
|
return infra.getEnvironmentConfigurationParameters();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -22,13 +22,11 @@ import org.gcube.data.publishing.gCatFeeder.service.engine.impl.CatalogueControl
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.CollectorsManagerImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.CollectorsManagerImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.ExecutionManagerImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.ExecutionManagerImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.FeederEngineImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.FeederEngineImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.InfrastructureUtilsImpl;
|
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.LocalConfigurationImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.LocalConfigurationImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.ConnectionManagerImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.ConnectionManagerImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.PersistenceManagerImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.PersistenceManagerImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.StorageImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.persistence.StorageImpl;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.mockups.InfrastructureMockup;
|
import org.gcube.data.publishing.gCatFeeder.service.mockups.InfrastructureMockup;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.mockups.PersistenceManagerMock;
|
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.mockups.StorageMockup;
|
import org.gcube.data.publishing.gCatFeeder.service.mockups.StorageMockup;
|
||||||
import org.glassfish.hk2.utilities.binding.AbstractBinder;
|
import org.glassfish.hk2.utilities.binding.AbstractBinder;
|
||||||
import org.glassfish.jersey.test.JerseyTest;
|
import org.glassfish.jersey.test.JerseyTest;
|
||||||
|
|
|
@ -11,6 +11,7 @@ import org.gcube.data.publishing.gCatFeeder.catalogues.model.faults.WrongObjectF
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration;
|
import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.TestCommon;
|
import org.gcube.data.publishing.gCatFeeder.service.TestCommon;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -68,4 +69,10 @@ public class FakeCataloguePlugin implements CataloguePlugin {
|
||||||
}catch(InterruptedException e) {}
|
}catch(InterruptedException e) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnvironmentConfiguration(EnvironmentConfiguration env) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import java.util.Set;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor;
|
||||||
import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration;
|
import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration;
|
||||||
|
import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.TestCommon;
|
import org.gcube.data.publishing.gCatFeeder.service.TestCommon;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.CatalogueRetriever;
|
import org.gcube.data.publishing.gCatfeeder.collectors.CatalogueRetriever;
|
||||||
import org.gcube.data.publishing.gCatfeeder.collectors.CollectorPlugin;
|
import org.gcube.data.publishing.gCatfeeder.collectors.CollectorPlugin;
|
||||||
|
@ -109,4 +110,10 @@ public class FakeCollectorPlugin implements CollectorPlugin<FakeCustomData> {
|
||||||
}catch(InterruptedException e) {}
|
}catch(InterruptedException e) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnvironmentConfiguration(EnvironmentConfiguration env) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package org.gcube.data.publishing.gCatFeeder.service.mockups;
|
package org.gcube.data.publishing.gCatFeeder.service.mockups;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.BaseTest;
|
import org.gcube.data.publishing.gCatFeeder.service.BaseTest;
|
||||||
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.InfrastructureUtilsImpl;
|
import org.gcube.data.publishing.gCatFeeder.service.engine.impl.InfrastructureUtilsImpl;
|
||||||
|
@ -81,6 +83,13 @@ public class InfrastructureMockup extends InfrastructureUtilsImpl {
|
||||||
return toEncrypt;
|
return toEncrypt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, String> getEnvironmentConfigurationParameters() {
|
||||||
|
if(BaseTest.isTestInfrastructureEnabled())
|
||||||
|
return super.getEnvironmentConfigurationParameters();
|
||||||
|
else return Collections.emptyMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DatabaseConnectionDescriptor queryForDatabase(String category, String name) throws InternalError {
|
public DatabaseConnectionDescriptor queryForDatabase(String category, String name) throws InternalError {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#Generated by Maven Integration for Eclipse
|
#Generated by Maven Integration for Eclipse
|
||||||
#Mon Apr 01 15:14:17 CEST 2019
|
#Tue Apr 02 17:12:52 CEST 2019
|
||||||
version=1.0.0-SNAPSHOT
|
version=1.0.0-SNAPSHOT
|
||||||
groupId=org.gcube.data-publishing.gCat-Feeder
|
groupId=org.gcube.data-publishing.gCat-Feeder
|
||||||
m2e.projectName=test-commons
|
m2e.projectName=test-commons
|
||||||
|
|
Loading…
Reference in New Issue