001    // License: GPL. Copyright 2007 by Dave Hansen and others
002    package org.openstreetmap.josm.data.osm;
003    
004    import java.util.Set;
005    import java.util.TreeSet;
006    
007    /**
008     * A simple class to keep helper functions for merging TIGER data
009     *
010     * @author daveh
011     *
012     */
013    public class TigerUtils {
014    
015        public static boolean isTigerTag(String tag)
016        {
017            if (tag.indexOf("tiger:") == -1)
018                return false;
019            return true;
020        }
021    
022        public static boolean tagIsInt(String name) {
023            if (name.equals("tiger:tlid"))
024                return true;
025            return false;
026        }
027    
028        public static Object tagObj(String name) {
029            if (tagIsInt(name))
030                return new Integer(name);
031            return name;
032        }
033    
034        public static String combineTags(String name, Set<String> values) {
035            TreeSet<Object> resultSet = new TreeSet<Object>();
036            for (String value: values) {
037                for (String part: value.split(":")) {
038                   resultSet.add(tagObj(part));
039                }
040            }
041            String combined = "";
042            for (Object part : resultSet) {
043                if (combined.length() > 0)
044                    combined += ":";
045                combined += part;
046            }
047            return combined;
048        }
049    
050        public static String combineTags(String name, String t1, String t2) {
051            Set<String> set = new TreeSet<String>();
052            set.add(t1);
053            set.add(t2);
054            return TigerUtils.combineTags(name, set);
055        }
056    }