2014-10-10 14:53:39 +02:00
|
|
|
package org.gcube.datatransfer.resolver.gis;
|
|
|
|
|
|
|
|
import org.gcube.datatransfer.resolver.gis.entity.ServerParameters;
|
2014-10-14 18:36:13 +02:00
|
|
|
import org.gcube.datatransfer.resolver.gis.exception.GeonetworkInstanceException;
|
2014-10-10 14:53:39 +02:00
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
/**
|
2016-04-26 17:23:38 +02:00
|
|
|
*
|
2014-10-10 14:53:39 +02:00
|
|
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
|
|
|
* @Apr 29, 2013
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
public class GeonetowrkAccessParameter implements GeonetworkServiceInterface{
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
|
|
|
|
protected static Logger logger = LoggerFactory.getLogger(GeonetowrkAccessParameter.class);
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
protected GeonetworkInstance geonetworkInstance;
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
protected String scope;
|
|
|
|
|
|
|
|
protected ServerParameters serverParam;
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @param serverParam
|
|
|
|
*/
|
|
|
|
public GeonetowrkAccessParameter(String scope, ServerParameters serverParam) {
|
|
|
|
this.scope = scope;
|
|
|
|
this.serverParam = serverParam;
|
|
|
|
}
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
/**
|
2016-04-26 17:23:38 +02:00
|
|
|
* @param geonetworkInstance
|
2014-10-10 14:53:39 +02:00
|
|
|
* @return
|
|
|
|
*/
|
2014-10-14 18:36:13 +02:00
|
|
|
public GeonetworkInstance getGeonetworkInstance(boolean authenticate) throws GeonetworkInstanceException {
|
2014-10-10 14:53:39 +02:00
|
|
|
return instanceGeonetwork(authenticate);
|
|
|
|
}
|
|
|
|
|
2014-10-14 18:36:13 +02:00
|
|
|
private GeonetworkInstance instanceGeonetwork(boolean authenticate) throws GeonetworkInstanceException{
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
if(scope == null || scope.isEmpty())
|
2014-10-14 18:36:13 +02:00
|
|
|
throw new GeonetworkInstanceException("Scope is null");
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
if(serverParam.getUrl() == null || serverParam.getUrl().isEmpty())
|
2014-10-14 18:36:13 +02:00
|
|
|
throw new GeonetworkInstanceException("Geonetwork url is null or empty");
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
if(geonetworkInstance==null)
|
|
|
|
geonetworkInstance = new GeonetworkInstance(scope, serverParam.getUrl(), serverParam.getUser(), serverParam.getPassword(), authenticate);
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
return geonetworkInstance;
|
|
|
|
|
2016-04-26 17:23:38 +02:00
|
|
|
|
2014-10-10 14:53:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public String getScope() {
|
|
|
|
return scope;
|
|
|
|
}
|
|
|
|
}
|