@Override public synchronized void initialize() { astroSources.clear(); Log.d("RLP", "RLP this is initialization in Abstract source layer"); initializeAstroSources(astroSources); for (AstronomicalSource astroSource : astroSources) { Sources sources = astroSource.initialize(); textSources.addAll(sources.getLabels()); imageSources.addAll(sources.getImages()); pointSources.addAll(sources.getPoints()); lineSources.addAll(sources.getLines()); List<String> names = astroSource.getNames(); if (!names.isEmpty()) { GeocentricCoordinates searchLoc = astroSource.getSearchLocation(); for (String name : names) { searchIndex.put(name.toLowerCase(), new SearchResult(name, searchLoc)); prefixStore.add(name.toLowerCase()); } } } // update the renderer updateLayerForControllerChange(); }
@Override public Set<String> getObjectNamesMatchingPrefix(String prefix) { Log.d(TAG, "Searching planets layer for prefix " + prefix); Set<String> results = prefixStore.queryByPrefix(prefix); Log.d(TAG, "Got " + results.size() + " results for prefix " + prefix + " in " + getLayerName()); return results; }