<!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:51 UTC 2020 -->
<title>DBAdmin (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="DBAdmin (MetaCat API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance 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/DBAdmin.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/admin/D1Admin.html" title="class in edu.ucsb.nceas.metacat.admin"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../edu/ucsb/nceas/metacat/admin/EZIDAdmin.html" title="class in edu.ucsb.nceas.metacat.admin"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/admin/DBAdmin.html" target="_top">Frames</a></li>
<li><a href="DBAdmin.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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.admin</div>
<h2 title="Class DBAdmin" class="title">Class DBAdmin</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../edu/ucsb/nceas/metacat/admin/MetacatAdmin.html" title="class in edu.ucsb.nceas.metacat.admin">edu.ucsb.nceas.metacat.admin.MetacatAdmin</a></li>
<li>
<ul class="inheritance">
<li>edu.ucsb.nceas.metacat.admin.DBAdmin</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">DBAdmin</span>
extends <a href="../../../../../edu/ucsb/nceas/metacat/admin/MetacatAdmin.html" title="class in edu.ucsb.nceas.metacat.admin">MetacatAdmin</a></pre>
<div class="block">Control the display of the database configuration page and the processing
 of the configuration values.</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">&nbsp;</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 int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#DB_DOES_NOT_EXIST">DB_DOES_NOT_EXIST</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#TABLES_DO_NOT_EXIST">TABLES_DO_NOT_EXIST</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#TABLES_EXIST">TABLES_EXIST</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#VERSION_ACTIVE">VERSION_ACTIVE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#VERSION_INACTIVE">VERSION_INACTIVE</a></span></code>&nbsp;</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">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#configureDatabase-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">configureDatabase</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request,
                 javax.servlet.http.HttpServletResponse&nbsp;response)</code>
<div class="block">Handle configuration of the database the first time that Metacat starts
 or when it is explicitly called.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#getDBStatus--">getDBStatus</a></span>()</code>
<div class="block">Performs a status check on the database.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../edu/ucsb/nceas/metacat/database/DBVersion.html" title="class in edu.ucsb.nceas.metacat.database">DBVersion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#getDBVersion--">getDBVersion</a></span>()</code>
<div class="block">Get the version of the database as a string</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html" title="class in edu.ucsb.nceas.metacat.admin">DBAdmin</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#getInstance--">getInstance</a></span>()</code>
<div class="block">Get the single instance of DBAdmin.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../edu/ucsb/nceas/metacat/database/DBVersion.html" title="class in edu.ucsb.nceas.metacat.database">DBVersion</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#getUnRegisteredDBVersion--">getUnRegisteredDBVersion</a></span>()</code>
<div class="block">Finds the version of the database for a database that does not have a
 dbVersion table yet.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.Vector&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#getUpdateClasses--">getUpdateClasses</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.util.Vector&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#getUpdateScripts--">getUpdateScripts</a></span>()</code>
<div class="block">Creates a list of database update script names by looking at the database
 version and the metacat version and then getting any script that is
 inbetween the two (inclusive of metacat version).</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.Vector&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#loadSQLFromFile-java.lang.String-">loadSQLFromFile</a></span>(java.lang.String&nbsp;sqlFileName)</code>
<div class="block">Very basic utility to read sql from a file and return a vector of the
 individual sql statements.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#runSQLFile-java.lang.String-">runSQLFile</a></span>(java.lang.String&nbsp;sqlFileName)</code>
<div class="block">Runs the commands in a sql script.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#updateDBVersion--">updateDBVersion</a></span>()</code>
<div class="block">Updates the version of the database.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#upgradeDatabase--">upgradeDatabase</a></span>()</code>
<div class="block">Iterates through the list of scripts that need to be run to upgrade
 the database and calls runSQLFile on each.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#validateDBConnectivity-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">validateDBConnectivity</a></span>(java.lang.String&nbsp;dbDriver,
                      java.lang.String&nbsp;connection,
                      java.lang.String&nbsp;user,
                      java.lang.String&nbsp;password)</code>
<div class="block">Validate connectivity to the database.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected java.util.Vector&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html#validateOptions-javax.servlet.http.HttpServletRequest-">validateOptions</a></span>(javax.servlet.http.HttpServletRequest&nbsp;request)</code>
<div class="block">Validate the most important configuration options submitted by the user.</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&nbsp;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="DB_DOES_NOT_EXIST">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DB_DOES_NOT_EXIST</h4>
<pre>public static final&nbsp;int DB_DOES_NOT_EXIST</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.admin.DBAdmin.DB_DOES_NOT_EXIST">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TABLES_DO_NOT_EXIST">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TABLES_DO_NOT_EXIST</h4>
<pre>public static final&nbsp;int TABLES_DO_NOT_EXIST</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.admin.DBAdmin.TABLES_DO_NOT_EXIST">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TABLES_EXIST">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TABLES_EXIST</h4>
<pre>public static final&nbsp;int TABLES_EXIST</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.admin.DBAdmin.TABLES_EXIST">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="VERSION_INACTIVE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VERSION_INACTIVE</h4>
<pre>public static final&nbsp;int VERSION_INACTIVE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.admin.DBAdmin.VERSION_INACTIVE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="VERSION_ACTIVE">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>VERSION_ACTIVE</h4>
<pre>public static final&nbsp;int VERSION_ACTIVE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.admin.DBAdmin.VERSION_ACTIVE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getInstance--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public static&nbsp;<a href="../../../../../edu/ucsb/nceas/metacat/admin/DBAdmin.html" title="class in edu.ucsb.nceas.metacat.admin">DBAdmin</a>&nbsp;getInstance()
                           throws <a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></pre>
<div class="block">Get the single instance of DBAdmin.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the single instance of DBAdmin</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></code></dd>
</dl>
</li>
</ul>
<a name="configureDatabase-javax.servlet.http.HttpServletRequest-javax.servlet.http.HttpServletResponse-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configureDatabase</h4>
<pre>public&nbsp;void&nbsp;configureDatabase(javax.servlet.http.HttpServletRequest&nbsp;request,
                              javax.servlet.http.HttpServletResponse&nbsp;response)
                       throws <a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></pre>
<div class="block">Handle configuration of the database the first time that Metacat starts
 or when it is explicitly called. Collect necessary update information
 from the administrator.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - the http request information</dd>
<dd><code>response</code> - the http response to be sent back to the client</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></code></dd>
</dl>
</li>
</ul>
<a name="getDBStatus--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDBStatus</h4>
<pre>public&nbsp;int&nbsp;getDBStatus()
                throws java.sql.SQLException,
                       edu.ucsb.nceas.utilities.PropertyNotFoundException</pre>
<div class="block">Performs a status check on the database.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
<dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</code></dd>
</dl>
</li>
</ul>
<a name="getDBVersion--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDBVersion</h4>
<pre>public&nbsp;<a href="../../../../../edu/ucsb/nceas/metacat/database/DBVersion.html" title="class in edu.ucsb.nceas.metacat.database">DBVersion</a>&nbsp;getDBVersion()
                       throws <a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></pre>
<div class="block">Get the version of the database as a string</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></code></dd>
</dl>
</li>
</ul>
<a name="getUnRegisteredDBVersion--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnRegisteredDBVersion</h4>
<pre>public&nbsp;<a href="../../../../../edu/ucsb/nceas/metacat/database/DBVersion.html" title="class in edu.ucsb.nceas.metacat.database">DBVersion</a>&nbsp;getUnRegisteredDBVersion()
                                   throws <a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a>,
                                          java.sql.SQLException</pre>
<div class="block">Finds the version of the database for a database that does not have a
 dbVersion table yet. Work backwards with various clues found in update
 scripts to find the version.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></code></dd>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="updateDBVersion--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateDBVersion</h4>
<pre>public&nbsp;void&nbsp;updateDBVersion()
                     throws java.sql.SQLException</pre>
<div class="block">Updates the version of the database. Typically this is done in the update
 scripts that get run when we upgrade the application. This method can be
 used if you are automating a patch on the database internally.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="validateDBConnectivity-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateDBConnectivity</h4>
<pre>public&nbsp;java.lang.String&nbsp;validateDBConnectivity(java.lang.String&nbsp;dbDriver,
                                               java.lang.String&nbsp;connection,
                                               java.lang.String&nbsp;user,
                                               java.lang.String&nbsp;password)</pre>
<div class="block">Validate connectivity to the database. Validation methods return a string
 error message if there is an issue. This allows the calling code to run
 several validations and compile the errors into a list that can be
 displayed on a web page if desired.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dbDriver</code> - the database driver</dd>
<dd><code>connection</code> - the jdbc connection string</dd>
<dd><code>user</code> - the user name</dd>
<dd><code>password</code> - the login password</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string holding error message if validation fails.</dd>
</dl>
</li>
</ul>
<a name="getUpdateScripts--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdateScripts</h4>
<pre>public&nbsp;java.util.Vector&lt;java.lang.String&gt;&nbsp;getUpdateScripts()
                                                    throws <a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></pre>
<div class="block">Creates a list of database update script names by looking at the database
 version and the metacat version and then getting any script that is
 inbetween the two (inclusive of metacat version).</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></code></dd>
</dl>
</li>
</ul>
<a name="getUpdateClasses--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdateClasses</h4>
<pre>public&nbsp;java.util.Vector&lt;java.lang.String&gt;&nbsp;getUpdateClasses()
                                                    throws <a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></code></dd>
</dl>
</li>
</ul>
<a name="upgradeDatabase--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>upgradeDatabase</h4>
<pre>public&nbsp;void&nbsp;upgradeDatabase()
                     throws <a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></pre>
<div class="block">Iterates through the list of scripts that need to be run to upgrade
 the database and calls runSQLFile on each.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></code></dd>
</dl>
</li>
</ul>
<a name="runSQLFile-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>runSQLFile</h4>
<pre>public&nbsp;void&nbsp;runSQLFile(java.lang.String&nbsp;sqlFileName)
                throws <a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a>,
                       java.sql.SQLException</pre>
<div class="block">Runs the commands in a sql script. Individual commands are loaded into a
 string vector and run one at a time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sqlFileName</code> - the name of the file holding the sql statements that need to
            get run.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/AdminException.html" title="class in edu.ucsb.nceas.metacat.admin">AdminException</a></code></dd>
<dd><code>java.sql.SQLException</code></dd>
</dl>
</li>
</ul>
<a name="loadSQLFromFile-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadSQLFromFile</h4>
<pre>public&nbsp;java.util.Vector&lt;java.lang.String&gt;&nbsp;loadSQLFromFile(java.lang.String&nbsp;sqlFileName)
                                                   throws java.io.IOException</pre>
<div class="block">Very basic utility to read sql from a file and return a vector of the
 individual sql statements. This ignores any line that starts with /* or *.
 It strips anything following --. Sql is parsed by looking for lines that
 start with one of the following identifiers: INSERT, UPDATE, ALTER,
 CREATE, DROP, BEGIN and COMMIT. It then assumes that everything until the
 line that ends with ; is part of the sql, excluding comments.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sqlFileName</code> - the name of the file to read.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a vector holding the individual sql statements.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="validateOptions-javax.servlet.http.HttpServletRequest-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>validateOptions</h4>
<pre>protected&nbsp;java.util.Vector&lt;java.lang.String&gt;&nbsp;validateOptions(javax.servlet.http.HttpServletRequest&nbsp;request)</pre>
<div class="block">Validate the most important configuration options submitted by the user.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../edu/ucsb/nceas/metacat/admin/MetacatAdmin.html#validateOptions-javax.servlet.http.HttpServletRequest-">validateOptions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../edu/ucsb/nceas/metacat/admin/MetacatAdmin.html" title="class in edu.ucsb.nceas.metacat.admin">MetacatAdmin</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a vector holding error message for any fields that fail
         validation.</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/DBAdmin.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/admin/D1Admin.html" title="class in edu.ucsb.nceas.metacat.admin"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../edu/ucsb/nceas/metacat/admin/EZIDAdmin.html" title="class in edu.ucsb.nceas.metacat.admin"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/admin/DBAdmin.html" target="_top">Frames</a></li>
<li><a href="DBAdmin.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</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>