package org.gcube.datatransfer.resolver.gis; import org.gcube.datatransfer.resolver.gis.entity.ServerParameters; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * @Apr 29, 2013 * */ public class GeonetowrkAccessParameter implements GeonetworkServiceInterface{ protected static Logger logger = LoggerFactory.getLogger(GeonetowrkAccessParameter.class); protected GeonetworkInstance geonetworkInstance; protected String scope; protected ServerParameters serverParam; /** * @param serverParam */ public GeonetowrkAccessParameter(String scope, ServerParameters serverParam) { this.scope = scope; this.serverParam = serverParam; } /** * @param geonetworkInstance * @return */ public GeonetworkInstance getGeonetworkInstance(boolean authenticate) throws Exception { return instanceGeonetwork(authenticate); } private GeonetworkInstance instanceGeonetwork(boolean authenticate) throws Exception{ if(scope == null || scope.isEmpty()) throw new Exception("Scope is null"); if(serverParam.getUrl() == null || serverParam.getUrl().isEmpty()) throw new Exception("Geonetwork url is null or empty"); if(geonetworkInstance==null) geonetworkInstance = new GeonetworkInstance(scope, serverParam.getUrl(), serverParam.getUser(), serverParam.getPassword(), authenticate); return geonetworkInstance; } public String getScope() { return scope; } }