// License: GPL. For details, see LICENSE file. package relcontext; import org.openstreetmap.josm.data.osm.INode; import org.openstreetmap.josm.data.osm.IRelation; import org.openstreetmap.josm.data.osm.IWay; import org.openstreetmap.josm.gui.NameFormatterHook; /** * Formatter hook for some tags that Dirk does not want to support. * * @author Zverik */ public class ExtraNameFormatHook implements NameFormatterHook { @Override public String checkRelationTypeName(IRelation relation, String defaultName) { return null; } @Override public String checkFormat(INode node, String defaultName) { return null; } @Override public String checkFormat(IWay way, String defaultName) { if (way.get("place") != null && way.get("name") == null && way.get("place_name") != null) return way.get("place_name") + " " + defaultName; return null; } @Override public String checkFormat(IRelation relation, String defaultName) { String type = relation.get("type"); if (type != null) { String name = relation.get("destination"); if (type.equals("destination_sign") && name != null) { if (relation.get("distance") != null) { name += " " + relation.get("distance"); } if (defaultName.indexOf('"') < 0) return '"' + name + "\" " + defaultName; else return defaultName.replaceFirst("\".?+\"", '"'+name+'"'); } } return null; } }