## org.das2.catalog.impl.NodeFactory

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.

## NodeFactory( )

## DAS_ROOT_PATH

## DEFAULT_DATA_PATH

## DEFAULT_TEST_PATH

## getNearestNode

getNearestNode( String sUrl, ProgressMonitor mon, boolean bReload ) → org.das2.catalog.DasNode

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().

### Parameters

sUrl - An autoplot URL
mon - a ProgressMonitor
bReload - a boolean

### Returns:

The nearest loadable DasNode for the path specified.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## getNode

getNode( String sUrl, ProgressMonitor mon, boolean bReload ) → org.das2.catalog.DasNode

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.

### Parameters

sUrl - a String
mon - a ProgressMonitor
bReload - - Reload the node definition from the original source

### Returns:

The node requested, or throws an error
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## getUtf8NodeDef

getUtf8NodeDef( String sUrl, ProgressMonitor mon ) → String

### Parameters

sUrl - a String
mon - a ProgressMonitor

### Returns:

java.lang.String
[search for examples] [view on GitHub] [view on old javadoc] [view source]