Static generator functions for das2 federated catalog node objects. One of the main purposes of this class is to maintain the root node registry. Since many formally constant responses (such as completions) are now dynamic, something has to keep track of the catalog nodes or they would be re-loaded all the time. Furthermore some of the catalog nodes (namely SPASE) can be loaded from locations that require query parameters in the URLs, so we don't want to use the http filesystem objects because they (AFAIK) would not map URLs like this: http://spase-group.org/registry/resolver?t=yes&i=spase://ASWS to a file object on disk due to the '?' character in the URL. The das2 catalog is supposed to paper over all kinds of weird URLs, so directly downloading and caching items seems like the best bet.
Kind of like traceroute, try to resolve successively longer paths until you get to one that fails. For filesystem type URLS (http:, file:, etc.) this is the same as getNode().
Get a node from the global node map by URL. This function tries to load and return the node for the given URL. If the file portion of the node is a recognized filesystem type then that exact URL is attempted. For example: https://space.physics.uiowa.edu/juno/test/random_source.data would trigger a filesystem type lookup that expects an exact match. While a URL such as: tag:das2.org,2012:test:/uiowa/juno/random_collection/das2 For space savings, tag:das2.org,2012: may be left off of the given URLs. If nothing can be matched, null is return. The resulting parsed node is saved in a cache to avoid repeated network traffic.