<h2>org.autoplot.datasource.DataSourceUtil</h2><p>DataSource utilities.</p>
<hr>
<a name="DEFAULT_TIME_RANGE"></a>
<h2>DEFAULT_TIME_RANGE</h2>
<p>used in Autoplot's Application object and in the DataSetSelector.</p>

<hr>
<a name="addMakeAggregationForScheme"></a>
<h2>addMakeAggregationForScheme</h2>
addMakeAggregationForScheme( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> scheme, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/DataSourceUtil/URIMap.html'>org.autoplot.datasource.DataSourceUtil.URIMap</a> map ) &rarr; void

<p>register a map which might modify a URI so that it uses aggregation. 
 This was introduced for "vap+inline" URIs which must be taken apart and
 then each of the getDataSet calls is aggregated.</p>

<h3>Parameters</h3>
scheme - the scheme where this should be used, e.g. "vap+inline"
<br>
map - the map, which might return the input URI or an aggregated one.

<h3>Returns:</h3>
void (returns nothing)

<br><br>
<a href="https://github.com/autoplot/dev/search?q=addMakeAggregationForScheme&unscoped_q=addMakeAggregationForScheme">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#addMakeAggregationForScheme">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l543">[view source]</a>
<br>
<br>
<hr>
<a name="findAggregations"></a>
<h2>findAggregations</h2>
findAggregations( <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a> files, boolean remove ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a>

<p>return the aggregations we can find.
 If remove is true, then the input list will have all items
 removed that are not part of an aggregation.</p>

<h3>Parameters</h3>
files - a java.util.List
<br>
remove - remove the files that are accounted for by the aggregation.

<h3>Returns:</h3>
list of aggregations found.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=findAggregations&unscoped_q=findAggregations">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#findAggregations">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l199">[view source]</a>
<br>
<br>
findAggregations( <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a> files, boolean remove, boolean loose ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a><br>
<hr>
<a name="getMessage"></a>
<h2>getMessage</h2>
getMessage( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html'>java.lang.Exception</a> ex ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>return a one-line string representation of the exception.  This was introduced
 when a NullPointerException was represented as "null", and it was somewhat
 unclear about what was going on.</p>

<h3>Parameters</h3>
ex - an exception

<h3>Returns:</h3>
a 1-line string representation of the error, for the end user.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getMessage&unscoped_q=getMessage">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#getMessage">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1253">[view source]</a>
<br>
<br>
<hr>
<a name="getTimeSeriesBrowse"></a>
<h2>getTimeSeriesBrowse</h2>
getTimeSeriesBrowse( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/DataSource.html'>org.autoplot.datasource.DataSource</a> dss ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/capability/TimeSeriesBrowse.html'>org.autoplot.datasource.capability.TimeSeriesBrowse</a>

<p>for IDL, where I can't look up a class</p>

<h3>Parameters</h3>
dss - a DataSource

<h3>Returns:</h3>
an org.autoplot.datasource.capability.TimeSeriesBrowse

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getTimeSeriesBrowse&unscoped_q=getTimeSeriesBrowse">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#getTimeSeriesBrowse">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1114">[view source]</a>
<br>
<br>
<hr>
<a name="getXPathFactory"></a>
<h2>getXPathFactory</h2>
getXPathFactory(  ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/javax/xml/xpath/XPathFactory.html'>javax.xml.xpath.XPathFactory</a>

<p>Matlab uses net.sf.saxon.xpath.XPathEvaluator by default, so we explicitly look for the Java 6 one.</p>

<h3>Returns:</h3>
com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl, probably.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getXPathFactory&unscoped_q=getXPathFactory">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#getXPathFactory">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1293">[view source]</a>
<br>
<br>
<hr>
<a name="guessNameFor"></a>
<h2>guessNameFor</h2>
guessNameFor( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> uri ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>returns a variable name generated from the URI.  This was written for Jython scripting.  A future
 version of this might attempt to load the resource, and use the name from the result.</p>

<h3>Parameters</h3>
uri - a String

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=guessNameFor&unscoped_q=guessNameFor">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#guessNameFor">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1195">[view source]</a>
<br>
<br>
guessNameFor( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> uri, <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a> otherURIs, <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a> otherNames ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a><br>
<hr>
<a name="guessRenderType"></a>
<h2>guessRenderType</h2>
guessRenderType( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> fillds ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p></p>

<h3>Parameters</h3>
fillds - a QDataSet

<h3>Returns:</h3>
a String

<h3>See Also:</h3>
<a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/Autoplot org/autoplot/AutoplotUtil/guessRenderType/.html'>Autoplot org.autoplot.AutoplotUtil.guessRenderType.</a> org.autoplot.AutoplotUtil.guessRenderType.<br>
<br><br>
<a href="https://github.com/autoplot/dev/search?q=guessRenderType&unscoped_q=guessRenderType">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#guessRenderType">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l967">[view source]</a>
<br>
<br>
<hr>
<a name="isConstant"></a>
<h2>isConstant</h2>
isConstant( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a> others, int st, int en ) &rarr; boolean

<p>return true if the characters in the range st to en do not change.</p>

<h3>Parameters</h3>
others - a java.lang.String[]
<br>
st - an int
<br>
en - an int

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isConstant&unscoped_q=isConstant">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#isConstant">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l366">[view source]</a>
<br>
<br>
<hr>
<a name="isHtmlStream"></a>
<h2>isHtmlStream</h2>
isHtmlStream( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> text ) &rarr; boolean

<p>returns true if the text appears to be html.  Right now the test is
 for "<htm" "<HTM" or "<!doc" "<!DOC".</p>

<h3>Parameters</h3>
text - the text.

<h3>Returns:</h3>
true if the stream appears to be html.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=isHtmlStream&unscoped_q=isHtmlStream">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#isHtmlStream">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1105">[view source]</a>
<br>
<br>
<hr>
<a name="isJavaDouble"></a>
<h2>isJavaDouble</h2>
isJavaDouble( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> myString ) &rarr; boolean

<p>from java.lang.Double javadoc, this tests if a number is a double.</p>

<h3>Parameters</h3>
myString - a String

<h3>Returns:</h3>
true if the number is a double.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=isJavaDouble&unscoped_q=isJavaDouble">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#isJavaDouble">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l735">[view source]</a>
<br>
<br>
<hr>
<a name="isJavaIdentifier"></a>
<h2>isJavaIdentifier</h2>
isJavaIdentifier( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> label ) &rarr; boolean

<p>return true if the string is a java identifier.</p>

<h3>Parameters</h3>
label - a String

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isJavaIdentifier&unscoped_q=isJavaIdentifier">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#isJavaIdentifier">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l720">[view source]</a>
<br>
<br>
<hr>
<a name="main"></a>
<h2>main</h2>
main( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a> args ) &rarr; void

<p></p>

<h3>Parameters</h3>
args - a java.lang.String[]

<h3>Returns:</h3>
void (returns nothing)

<br><br>
<a href="https://github.com/autoplot/dev/search?q=main&unscoped_q=main">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#main">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1270">[view source]</a>
<br>
<br>
<hr>
<a name="makeAggregation"></a>
<h2>makeAggregation</h2>
makeAggregation( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a> surls ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>attempt to make an aggregation from the URLs.  If one cannot be created
 (for example if the filenames are not consistent), then the original
 URI is returned.</p>

<h3>Parameters</h3>
surl - a String
<br>
surls - a java.lang.String[]

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=makeAggregation&unscoped_q=makeAggregation">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#makeAggregation">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l322">[view source]</a>
<br>
<br>
makeAggregation( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a><br>
<hr>
<a name="makeAggregationForGroup"></a>
<h2>makeAggregationForGroup</h2>
makeAggregationForGroup( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a> others ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>attempt to create a String that uses an aggregation template
 instead of the particular time.  This also return null when things 
 go wrong.  For example, 
 file:/tmp/20091102.dat -> file:/tmp/$Y$m$d.dat?timerange=20091102
 Also, look for version numbers.  If multiple periods are found, then use 
 $(v,sep) otherwise use numeric $v.
<blockquote><pre><small>
ss= [ "1991_095/1993/19930303.dat","1991_095/1993/19930304.dat","1991_095/1991/19930305.dat" ]
y= makeAggregationForGroup("1991_095/1993/19930303.dat",ss)       // 1991_095/$Y/$Y$m$d.dat?timerange=2009-11-02
</small></pre></blockquote></p>

<h3>Parameters</h3>
surl - the URI.
<br>
others - other URIs in the group, used to reject solutions which would not produce unique results.

<h3>Returns:</h3>
null or the string with aggregations ($Y.dat) instead of filename (1999.dat), or the original filename.
<h3>See Also:</h3>
<a href='https://github.com/autoplot/dev/blob/master/bugs/sf/0484/makeAggregationForGroup_001.jy'>https://github.com/autoplot/dev/blob/master/bugs/sf/0484/makeAggregationForGroup_001.jy</a> <br>
<br><br>
<a href="https://github.com/autoplot/dev/search?q=makeAggregationForGroup&unscoped_q=makeAggregationForGroup">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#makeAggregationForGroup">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l584">[view source]</a>
<br>
<br>
<hr>
<a name="newURL"></a>
<h2>newURL</h2>
newURL( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> context, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> spec ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a>

<p>interprets spec within the context of URL context.</p>

<h3>Parameters</h3>
context - the context for the spec.  null may be used to
    indicate no context.
<br>
spec - if spec is a fully specified URL, then it is used, otherwise
    it is appended to context.  If spec refers to the name of a file,
    but doesn't start with "file:/", "file:/" is appended.

<h3>Returns:</h3>
the URL.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=newURL&unscoped_q=newURL">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#newURL">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l128">[view source]</a>
<br>
<br>
<hr>
<a name="openBrowser"></a>
<h2>openBrowser</h2>
openBrowser( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> url ) &rarr; void

<p>open the URL in a browser.   Borrowed from http://www.centerkey.com/java/browser/.  
 See also openBrowser in Autoplot,
 which this replaces.
 
 Java 6 introduced standard code for doing this.  The old code is still 
 used in case there's a problem.</p>

<h3>Parameters</h3>
url - the URL

<h3>Returns:</h3>
void (returns nothing)

<br><br>
<a href="https://github.com/autoplot/dev/search?q=openBrowser&unscoped_q=openBrowser">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#openBrowser">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1050">[view source]</a>
<br>
<br>
<hr>
<a name="parseConstraint"></a>
<h2>parseConstraint</h2>
parseConstraint( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> constraint, long[] qubeDims ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Map.html'>java.util.Map</a>

<p>returns the [ start, stop, stride ] or [ start, -1, -1 ] for slice, but also
 supports slice notations like [:,1]. This is
 provided to reduce code and for uniform behavior.
 
 Examples:
 <ul>
 <li>[::1,:] -> { 0:[0,l0,1], 1:[1,l1,1] }
 <li>[:,2]   -> { 0:[0,l0,1], 1:[2,-1,-1] } //TODO: verify
 </ul>
 
 This returns a map from dimension (0,1,...,rank-1) to [ start, stop, stride ].</p>

<h3>Parameters</h3>
constraint - a String
<br>
qubeDims - the dimension of the data.

<h3>Returns:</h3>
the [startRecord,stopRecordExclusive,stride] for each index.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=parseConstraint&unscoped_q=parseConstraint">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#parseConstraint">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l900">[view source]</a>
<br>
<br>
parseConstraint( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> constraint, long recCount ) &rarr; long[]<br>
<hr>
<a name="setTimeRange"></a>
<h2>setTimeRange</h2>
setTimeRange( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> uri, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/DatumRange.html'>DatumRange</a> timeRange, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/util/monitor/ProgressMonitor.html'>ProgressMonitor</a> mon ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>With the URI, establish if it has time series browse and set the timerange
 to the given timerange if it does.  For example, modify the bookmark so that the
 timerange is the current axis timerange before using it.</p>

<h3>Parameters</h3>
uri - An Autoplot URI, which must resolve to a DataSource.
<br>
timeRange - the timerange to use.  If this is null or a non-timerange, then the URI is returned unchanged.
<br>
mon - the monitor

<h3>Returns:</h3>
A URI that would yield data from the same dataset but for a different time.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=setTimeRange&unscoped_q=setTimeRange">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#setTimeRange">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1165">[view source]</a>
<br>
<br>
<hr>
<a name="showMessageDialog"></a>
<h2>showMessageDialog</h2>
showMessageDialog( <a href='https://docs.oracle.com/javase/8/docs/api/java/awt/Component.html'>java.awt.Component</a> parent, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> msg, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> title, int messageType, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html'>java.lang.Exception</a> causeBy ) &rarr; void

<p>this will make the exception available.  (Someday. TODO: where is this used?)</p>

<h3>Parameters</h3>
parent - a Component
<br>
msg - a String
<br>
title - a String
<br>
messageType - an int
<br>
causeBy - an Exception

<h3>Returns:</h3>
void (returns nothing)

<br><br>
<a href="https://github.com/autoplot/dev/search?q=showMessageDialog&unscoped_q=showMessageDialog">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#showMessageDialog">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1285">[view source]</a>
<br>
<br>
<hr>
<a name="strjoin"></a>
<h2>strjoin</h2>
strjoin( <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html'>java.util.Collection</a> c, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> delim ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p></p>

<h3>Parameters</h3>
c - a java.util.Collection
<br>
delim - a String

<h3>Returns:</h3>
java.lang.String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=strjoin&unscoped_q=strjoin">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#strjoin">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l781">[view source]</a>
<br>
<br>
strjoin( long[] dims, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> delim ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a><br>
strjoin( int[] dims, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> delim ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a><br>
<hr>
<a name="toJavaIdentifier"></a>
<h2>toJavaIdentifier</h2>
toJavaIdentifier( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> label ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>make a valid Java identifier from the label.  Data sources may wish
 to allow labels to be used to identify data sources, and this contains
 the standard logic.  Strings are replaced with underscores, invalid
 chars removed, etc.</p>

<h3>Parameters</h3>
label - a String

<h3>Returns:</h3>
valid Java identifier.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=toJavaIdentifier&unscoped_q=toJavaIdentifier">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#toJavaIdentifier">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l702">[view source]</a>
<br>
<br>
<hr>
<a name="transfer"></a>
<h2>transfer</h2>
transfer( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html'>java.nio.channels.ReadableByteChannel</a> src, <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/WritableByteChannel.html'>java.nio.channels.WritableByteChannel</a> dest ) &rarr; void

<p>transfers the data from one channel to another.  src and dest are
 closed after the operation is complete.</p>

<h3>Parameters</h3>
src - a ReadableByteChannel
<br>
dest - a WritableByteChannel

<h3>Returns:</h3>
void (returns nothing)

<br><br>
<a href="https://github.com/autoplot/dev/search?q=transfer&unscoped_q=transfer">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#transfer">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l821">[view source]</a>
<br>
<br>
transfer( <a href='https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html'>java.io.InputStream</a> src, <a href='https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html'>java.io.OutputStream</a> dest ) &rarr; void<br>
transfer( <a href='https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html'>java.io.InputStream</a> src, <a href='https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html'>java.io.OutputStream</a> dest, boolean close ) &rarr; void<br>
<hr>
<a name="trimScatterToTimeRange"></a>
<h2>trimScatterToTimeRange</h2>
trimScatterToTimeRange( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> tsbData, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/DatumRange.html'>DatumRange</a> timeRange ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>We've loaded the data, but it needs to be trimmed to exactly what the TSB requests, because a time axis
 is not visible.  This was introduced to support where TSB returns data that needs to be trimmed.</p>

<h3>Parameters</h3>
tsbData - a QDataSet
<br>
timeRange - the range where the data was requested.

<h3>Returns:</h3>
the trimmed data
<h3>See Also:</h3>
<a href='https://sourceforge.net/p/autoplot/bugs/1559/'>https://sourceforge.net/p/autoplot/bugs/1559/</a> <br>
<br><br>
<a href="https://github.com/autoplot/dev/search?q=trimScatterToTimeRange&unscoped_q=trimScatterToTimeRange">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#trimScatterToTimeRange">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l1126">[view source]</a>
<br>
<br>
<hr>
<a name="unescape"></a>
<h2>unescape</h2>
unescape( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> s ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>remove escape sequences like %20 to create a human-editable string
 This contains a kludge that looks for single spaces that are the result of
 cut-n-pasting on Linux.  If there is a space and a "%3A", then single spaces
 are removed.
 <code>&amp;amp;</code> is replaced with <code>&</code>.</p>

<h3>Parameters</h3>
s - a String

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=unescape&unscoped_q=unescape">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#unescape">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l73">[view source]</a>
<br>
<br>
<hr>
<a name="unescapeParam"></a>
<h2>unescapeParam</h2>
unescapeParam( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> s ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>Carefully remove pluses from URIs that mean to interpret pluses
 as spaces.  Note this is not done automatically because some data sources
 need the pluses, like vap+inline:ripples(20)+linspace(0.,10.,20).
 This should be done carefully, because we realize that some pluses may
 intentionally exist in URIs, such as &where=energy.gt(1e+3).  While this
 is discouraged, it will inevitably happen.  
 
 <table>
 <tr><td>&where=energy.gt(1e+3)</td><td>&where=energy.gt(1e+3)</td><tr>
 <tr><td>&where=energy.within(1e+3+to+1e+5)</td><td>&where=energy.gt(1e+3 to 1e+5)</td><tr>
 </table></p>

<h3>Parameters</h3>
s - the parameter string, such as

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=unescapeParam&unscoped_q=unescapeParam">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#unescapeParam">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l105">[view source]</a>
<br>
<br>
<hr>
<a name="unquote"></a>
<h2>unquote</h2>
unquote( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> s ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>remove quotes from string, which pops up a lot in metadata</p>

<h3>Parameters</h3>
s - the string.

<h3>Returns:</h3>
the string without quotes.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=unquote&unscoped_q=unquote">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#unquote">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l164">[view source]</a>
<br>
<br>
<hr>
<a name="urlWithinContext"></a>
<h2>urlWithinContext</h2>
urlWithinContext( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> context, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> url ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>presents the spec for the url within a context.</p>

<h3>Parameters</h3>
context - the context.
<br>
url - the URL.

<h3>Returns:</h3>
the part made relative, if possible, to context.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=urlWithinContext&unscoped_q=urlWithinContext">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/DataSourceUtil.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/DataSourceUtil.html#urlWithinContext">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/DataSourceUtil.java#l149">[view source]</a>
<br>
<br>