<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_265) on Tue Aug 25 19:30:52 UTC 2020 --> <title>MetacatUtil (MetaCat API)</title> <meta name="date" content="2020-08-25"> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../../../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="MetacatUtil (MetaCat API)"; } } catch(err) { } //--> var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9}; var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/MetacatUtil.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../../index-all.html">Index</a></li> <li><a href="../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatPopulator.html" title="class in edu.ucsb.nceas.metacat.util"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../edu/ucsb/nceas/metacat/util/OrganizationUtil.html" title="class in edu.ucsb.nceas.metacat.util"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/util/MetacatUtil.html" target="_top">Frames</a></li> <li><a href="MetacatUtil.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">edu.ucsb.nceas.metacat.util</div> <h2 title="Class MetacatUtil" class="title">Class MetacatUtil</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>edu.ucsb.nceas.metacat.util.MetacatUtil</li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <br> <pre>public class <span class="typeNameLabel">MetacatUtil</span> extends java.lang.Object</pre> <div class="block">A suite of utility classes for the metadata catalog server</div> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field.summary"> <!-- --> </a> <h3>Field Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> <caption><span>Fields</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Field and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>static <a href="../../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#dbAdapter">dbAdapter</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#XMLFORMAT">XMLFORMAT</a></span></code> </td> </tr> </table> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#MetacatUtil--">MetacatUtil</a></span>()</code> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#copyFile-java.lang.String-java.lang.String-">copyFile</a></span>(java.lang.String sourceName, java.lang.String destName)</code> <div class="block">Copy a file between two locations specified as strings.</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#getLocalReplicationServerName--">getLocalReplicationServerName</a></span>()</code> <div class="block">Method to get the name of local replication server</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>static java.util.Vector<java.lang.String></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#getOptionList-java.lang.String-">getOptionList</a></span>(java.lang.String optiontext)</code> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#normalize-java.lang.String-">normalize</a></span>(java.lang.String s)</code> <div class="block">Normalizes a string read from DB.</div> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>static java.util.Hashtable<java.lang.String,java.lang.String></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#parseQuery-java.lang.String-">parseQuery</a></span>(java.lang.String query)</code> <div class="block">Utility method to parse the query part of a URL into parameters.</div> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#replaceWhiteSpaceForURL-java.lang.String-">replaceWhiteSpaceForURL</a></span>(java.lang.String urlHasWhiteSpace)</code> <div class="block">A method to replace whitespace in url</div> </td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#writeDebugToDelimiteredFile-java.lang.String-boolean-">writeDebugToDelimiteredFile</a></span>(java.lang.String debugInfo, boolean newLine)</code> <div class="block">Writes debug information into a file in delimitered format</div> </td> </tr> <tr id="i7" class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#writeDebugToFile-java.lang.String-">writeDebugToFile</a></span>(java.lang.String debugInfo)</code> <div class="block">Writes debug information into a file.</div> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>static java.io.File</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatUtil.html#writeTempUploadFile-org.apache.commons.fileupload.FileItem-java.lang.String-">writeTempUploadFile</a></span>(org.apache.commons.fileupload.FileItem fi, java.lang.String fileName)</code> <div class="block">Write the uploaded file to disk for temporary storage before moving it to its final Metacat location.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.Object</h3> <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ============ FIELD DETAIL =========== --> <ul class="blockList"> <li class="blockList"><a name="field.detail"> <!-- --> </a> <h3>Field Detail</h3> <a name="XMLFORMAT"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>XMLFORMAT</h4> <pre>public static final java.lang.String XMLFORMAT</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.util.MetacatUtil.XMLFORMAT">Constant Field Values</a></dd> </dl> </li> </ul> <a name="dbAdapter"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>dbAdapter</h4> <pre>public static <a href="../../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a> dbAdapter</pre> </li> </ul> </li> </ul> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="MetacatUtil--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>MetacatUtil</h4> <pre>public MetacatUtil()</pre> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="parseQuery-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>parseQuery</h4> <pre>public static java.util.Hashtable<java.lang.String,java.lang.String> parseQuery(java.lang.String query) throws java.net.MalformedURLException</pre> <div class="block">Utility method to parse the query part of a URL into parameters. This method assumes the format of the query part of the url is an ampersand separated list of name/value pairs, with equal signs separating the name from the value (e.g., name=tom&zip=99801 ). Returns a has of the name value pairs, hashed on name.</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.MalformedURLException</code></dd> </dl> </li> </ul> <a name="getOptionList-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getOptionList</h4> <pre>public static java.util.Vector<java.lang.String> getOptionList(java.lang.String optiontext)</pre> </li> </ul> <a name="normalize-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>normalize</h4> <pre>public static java.lang.String normalize(java.lang.String s)</pre> <div class="block">Normalizes a string read from DB. So it will be compatible to HTML</div> </li> </ul> <a name="getLocalReplicationServerName--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getLocalReplicationServerName</h4> <pre>public static java.lang.String getLocalReplicationServerName()</pre> <div class="block">Method to get the name of local replication server</div> </li> </ul> <a name="replaceWhiteSpaceForURL-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>replaceWhiteSpaceForURL</h4> <pre>public static java.lang.String replaceWhiteSpaceForURL(java.lang.String urlHasWhiteSpace)</pre> <div class="block">A method to replace whitespace in url</div> </li> </ul> <a name="writeDebugToFile-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>writeDebugToFile</h4> <pre>public static void writeDebugToFile(java.lang.String debugInfo)</pre> <div class="block">Writes debug information into a file. In metacat.properties, if property application.writeDebugToFile is set to true, the debug information will be written to debug file, which value is the property application.debugOutputFile in metacat.properties.</div> </li> </ul> <a name="writeDebugToDelimiteredFile-java.lang.String-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>writeDebugToDelimiteredFile</h4> <pre>public static void writeDebugToDelimiteredFile(java.lang.String debugInfo, boolean newLine)</pre> <div class="block">Writes debug information into a file in delimitered format</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>debugInfo</code> - the debug information</dd> <dd><code>newLine</code> - append the debug info to a line or not</dd> </dl> </li> </ul> <a name="writeTempUploadFile-org.apache.commons.fileupload.FileItem-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>writeTempUploadFile</h4> <pre>public static java.io.File writeTempUploadFile(org.apache.commons.fileupload.FileItem fi, java.lang.String fileName) throws java.lang.Exception</pre> <div class="block">Write the uploaded file to disk for temporary storage before moving it to its final Metacat location.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>filePart</code> - the FilePart object containing the file form element</dd> <dd><code>fileName</code> - the name of the file to be written to disk</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>tempFilePath a String containing location of temporary file</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> <a name="copyFile-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>copyFile</h4> <pre>public static void copyFile(java.lang.String sourceName, java.lang.String destName) throws java.io.IOException</pre> <div class="block">Copy a file between two locations specified as strings. Fails if either path cannot be created. Based on the public domain FileCopy class in _Java in a Nutshell_.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>sourceName</code> - the source file to read from disk</dd> <dd><code>destName</code> - the destination file on disk</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.io.IOException</code></dd> </dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/MetacatUtil.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../../index-all.html">Index</a></li> <li><a href="../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../../edu/ucsb/nceas/metacat/util/MetacatPopulator.html" title="class in edu.ucsb.nceas.metacat.util"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../edu/ucsb/nceas/metacat/util/OrganizationUtil.html" title="class in edu.ucsb.nceas.metacat.util"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/util/MetacatUtil.html" target="_top">Frames</a></li> <li><a href="MetacatUtil.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small><i>Copyright © 2020 Regents of the University of California. All Rights Reserved.</i></small></p> </body> </html>