// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.opendata.modules.fr.lemans.datasets;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.openstreetmap.josm.data.osm.Tag;
import org.openstreetmap.josm.plugins.opendata.core.datasets.fr.FrenchDataSetHandler;
import org.openstreetmap.josm.plugins.opendata.core.licenses.License;
import org.openstreetmap.josm.plugins.opendata.modules.fr.lemans.LeMansConstants;
import org.openstreetmap.josm.tools.Pair;
public abstract class LeMansDataSetHandler extends FrenchDataSetHandler implements LeMansConstants {
private String kmzUuid;
private String shpUuid;
public LeMansDataSetHandler(String uuid) {
init(uuid);
}
public LeMansDataSetHandler(String uuid, String relevantTag) {
super(relevantTag);
init(uuid);
}
public LeMansDataSetHandler(String uuid, boolean relevantUnion, String ... relevantTags) {
super(relevantUnion, relevantTags);
init(uuid);
}
public LeMansDataSetHandler(String uuid, String ... relevantTags) {
this(uuid, false, relevantTags);
}
public LeMansDataSetHandler(String uuid, boolean relevantUnion, Tag ... relevantTags) {
super(relevantUnion, relevantTags);
init(uuid);
}
private void init(String uuid) {
try {
setLicense(License.ODbL);
if (uuid != null && !uuid.isEmpty()) {
setLocalPortalURL(PORTAL + "page.do?t=2&uuid=" + uuid);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
protected final void setKmzShpUuid(String kmzUuid, String shpUuid) {
this.kmzUuid = kmzUuid;
this.shpUuid = shpUuid;
}
@Override
public String getSource() {
return SOURCE_LE_MANS;
}
/*@Override
public URL getLicenseURL() {
try {
return new URL(PORTAL + "download.do?uuid=3E907F53-550EA533-5AE8381B-44AE9F93");
} catch (MalformedURLException e) {
e.printStackTrace();
}
return null;
}*/
@Override
public List<Pair<String, URL>> getDataURLs() {
List<Pair<String, URL>> result = new ArrayList<>();
try {
if (kmzUuid != null && !kmzUuid.isEmpty())
result.add(new Pair<>(getName() + " (KMZ)", new URL(PORTAL + "download.do?uuid=" + kmzUuid)));
if (shpUuid != null && !shpUuid.isEmpty())
result.add(new Pair<>(getName() + " (SHP)", new URL(PORTAL + "download.do?uuid=" + shpUuid)));
} catch (MalformedURLException e) {
e.printStackTrace();
}
return result;
}
}